1 Commits

Author SHA1 Message Date
f90aaf9925 README: update email
Signed-off-by: Enrico Butera <ebutera@users.sourceforge.net>
2014-07-26 14:31:37 +02:00
314 changed files with 36077 additions and 253620 deletions

View File

@ -1,88 +1,12 @@
meta-sunxi
meta-allwinner
==============
Official sunxi OpenEmbedded layer for Allwinner-based boards.
UNOFFICIAL OE-core layer for Allwinner A10 boards
This layer depends on the additional layers:
Author: Enrico Butera <ebutera@users.sourceforge.net>
* [meta-openembedded/meta-oe](http://git.openembedded.org/meta-openembedded/tree/meta-oe)
* [meta-arm](https://git.yoctoproject.org/meta-arm)
Tested with core-image-base.
Maintainers:
* Nicolas Aguirre <aguirre.nicolas@gmail.com>
* Enrico Butera <ebutera@users.sourceforge.net>
* Sergey Lapin <slapin@ossfans.org>
* Marek Belisko <marek.belisko@gmail.com>
Community
===========
You can reach community + ask your question on gitter: https://matrix.to/#/#meta-sunxi:gitter.im
Kernel / U-Boot Version
===========
Most Allwinner devices and hardware are supported in mainline kernel and U-Boot, so this layer builds mainline by default.
Legacy sunxi Kernel / U-Boot
-----------
There is a custom U-Boot and Kernel version for sunxi devices which includes some special drivers not mainlined.
These versions are rather old (3.4 for kernel and 2014.04 for U-Boot), but may support more functions and devices than current mainline.
If you want to switch back to sunxi versions for some reasons (no device tree available, unsupported hardware), either:
- change the file conf/machine/include/sunxi.inc to include the following block
- edit your conf/local.conf to add the following block
PREFERRED_PROVIDER_u-boot="u-boot-sunxi"
PREFERRED_PROVIDER_virtual/bootloader="u-boot-sunxi"
PREFERRED_PROVIDER_virtual/kernel="linux-sunxi"
KERNEL_DEVICETREE = ""
If you already have built the mainline versions it might be necessary to reset the build directories with:
bitbake -c clean virtual/kernel virtual/bootloader
Mainline Kernel / U-Boot
-----------
For mainline kernel we have now support for latest LTS and stable.
By default we use latest LTS. If you would like to change version please update ```PREFERRED_VERSION_linux-mainline``` in:
* [conf/machine/include/sunxi.inc](https://github.com/linux-sunxi/meta-sunxi/blob/fa0846c0eb23e3424b89acb4d5a327e921f73497/conf/machine/include/sunxi.inc#L16)
When using mainline kernel ≥ 5.2 it is now possible to use the mainline graphics drivers *lima* and *panfrost*, instead of the *mali* driver provided by ARM. To enable open source mainline graphics support add the following line in your `local.conf`:
MACHINEOVERRIDES .= ":use-mailine-graphics"
Performance
===========
The default machine settings are meant to be the lowest common denominator, maximizing generality.
Significantly better performance (2x-3x) can be achieved with the following settings:
**_Allwinner A20_**
For Allwinner A20 (Cubieboard2/CubieTruck), the following tuning options are recommended:
_Enable hardfloat, thumb2 and neon capabilities_
DEFAULTTUNE = "cortexa7hf-neon-vfpv4"
This tuning profile takes advantage of the Allwinner A20 hardfloat, neon and vfpv4 capabilities.
_Change CPU governor to ondemand, and tune settings_
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 336000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 912000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#More aggressive
#echo 1008000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 40 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 200000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
This code changes the default CPU governor from _fantasy_ to _ondemand_, and tunes its settings, as recommended at http://linux-sunxi.org/Cpufreq
For additional discussion, see https://github.com/linux-sunxi/meta-sunxi/issues/25
This layer depends on the additional layer:
meta-openembedded: git://git.openembedded.org/meta-openembedded
Build tested with core-image-base.

View File

@ -0,0 +1,85 @@
inherit image_types
#
# Create an image that can by written onto a SD card using dd.
# Originally written for rasberrypi adapt for the needs of allwinner a10 based boards
#
# The disk layout used is:
#
# 0 -> 8*1024 - reserverd
# 8*1024 -> 32*1024 -
# 32*1024 -> 2048*1024 -
# 2048*1024 -> BOOT_SPACE - bootloader and kernel
#
#
# Boot partition volume id
BOOTDD_VOLUME_ID ?= "${MACHINE}"
# Boot partition size [in KiB]
BOOT_SPACE ?= "20480"
# First partition begin at sector 2048 : 2048*1024 = 2097152
IMAGE_ROOTFS_ALIGNMENT = "2048"
# Use an uncompressed ext3 by default as rootfs
SDIMG_ROOTFS_TYPE ?= "ext3"
SDIMG_ROOTFS = "${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
IMAGE_DEPENDS_a10-sdimg = " \
parted-native \
mtools-native \
dosfstools-native \
virtual/kernel \
virtual/bootloader \
"
# SD card image name
SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.a10-sdimg"
IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}"
IMAGE_CMD_a10-sdimg () {
# Align partitions
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
# Initialize sdcard image file
dd if=/dev/zero of=${SDIMG} bs=1 count=0 seek=$(expr 1024 \* ${SDIMG_SIZE})
# Create partition table
parted -s ${SDIMG} mklabel msdos
# Create boot partition and mark it as bootable
parted -s ${SDIMG} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT})
parted -s ${SDIMG} set 1 boot on
# Create rootfs partition
parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT} \+ ${ROOTFS_SIZE})
parted ${SDIMG} print
# Create a vfat image with boot files
BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }')
mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::uImage
# Add stamp file
echo "${IMAGE_NAME}-${IMAGEDATESTAMP}" > ${WORKDIR}/image-version-info
mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}//image-version-info ::
# Burn Partitions
dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
# If SDIMG_ROOTFS_TYPE is a .xz file use xzcat
if [[ "$SDIMG_ROOTFS_TYPE" == *.xz ]]
then
xzcat ${SDIMG_ROOTFS} | dd of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
else
dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
fi
#write u-boot-spl.bin and u-boot
dd if=${DEPLOY_DIR_IMAGE}/sunxi-spl.bin of=${SDIMG} bs=1024 seek=8 conv=notrunc
dd if=${DEPLOY_DIR_IMAGE}/u-boot.bin of=${SDIMG} bs=1024 seek=32 conv=notrunc
}

View File

@ -4,14 +4,6 @@ BBPATH .= ":${LAYERDIR}"
# We have a recipes directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
BBFILE_COLLECTIONS += "sunxi"
BBFILE_PATTERN_sunxi := "^${LAYERDIR}/"
BBFILE_PRIORITY_sunxi = "10"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_sunxi = "1"
LAYERDEPENDS_sunxi = "core meta-python meta-arm"
LAYERSERIES_COMPAT_sunxi = "styhead"
BBFILE_COLLECTIONS += "meta-allwinner"
BBFILE_PATTERN_meta-allwinner := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-allwinner = "10"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: bananapi-m2-berry
#@DESCRIPTION: Machine configuration for the Banana Pi M2 Berry, based on Allwinner V40 CPU
require conf/machine/include/sun8i.inc
require conf/machine/include/hardware/ap6212a.inc
KERNEL_DEVICETREE = "allwinner/sun8i-v40-bananapi-m2-berry.dtb"
UBOOT_MACHINE = "bananapi_m2_berry_defconfig"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: bananapi-m2-zero
#@DESCRIPTION: Machine configuration for the Banana Pi M2 Zero, base on Allwinner H3 CPU
require conf/machine/include/sun8i.inc
require conf/machine/include/hardware/ap6212a.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h2-plus-bananapi-m2-zero.dtb"
UBOOT_MACHINE = "bananapi_m2_zero_defconfig"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: bananapi-m2m
#@DESCRIPTION: Machine configuration for the Banana Pi M2M, base on Allwinner H8 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-r16-bananapi-m2m.dtb"
UBOOT_MACHINE = "Bananapi_m2m_defconfig"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: bananapi-m2plus
#@DESCRIPTION: Machine configuration for the Banana Pi M2+, base on Allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h3-bananapi-m2-plus.dtb"
UBOOT_MACHINE = "bananapi_m2_plus_h3_defconfig"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: pine64-plus
#@DESCRIPTION: Machine configuration for the pine64-plus, based on Allwinner A64 CPU
require conf/machine/include/sun50i.inc
KERNEL_DEVICETREE = "allwinner/sun50i-a64-bananapi-m64.dtb"
UBOOT_MACHINE = "bananapi_m64_defconfig"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: Bananapi
#@DESCRIPTION: Machine configuration for the bananapi, based on allwinner A20 CPU http://bananapi.org/
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "allwinner/sun7i-a20-bananapi.dtb"
UBOOT_MACHINE = "Bananapi_config"
SUNXI_FEX_FILE = "sys_config/a20/Bananapi.fex"

View File

@ -2,8 +2,33 @@
#@NAME: CubieBoard
#@DESCRIPTION: Machine configuration for the cubieboard, based on allwinner a10 CPU http://cubieboard.org/
require conf/machine/include/sun4i.inc
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-input-keyboard"
KERNEL_DEVICETREE = "allwinner/sun4i-a10-cubieboard.dtb"
UBOOT_MACHINE = "Cubieboard_config"
SUNXI_FEX_FILE = "sys_config/a10/cubieboard.fex"
# Only has DVI connector for external screen
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/tune-cortexa8.inc
PREFERRED_PROVIDER_virtual/kernel = "linux"
PREFERRED_VERSION_linux-libc-headers = "3.0.8"
KERNEL_IMAGETYPE = "uImage"
UBOOT_MACHINE = "cubieboard"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SPL_BINARY = "sunxi-spl.bin"
IMAGE_CLASSES += "sdcard_image-a10"
IMAGE_FSTYPES += "ext3 a10-sdimg"
# Guesswork
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: CubieBoard2
#@DESCRIPTION: Machine configuration for the cubieboard2, based on allwinner A20 CPU http://cubieboard.org/
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "allwinner/sun7i-a20-cubieboard2.dtb"
UBOOT_MACHINE = "Cubieboard2_config"
SUNXI_FEX_FILE = "sys_config/a20/cubieboard2.fex"

View File

@ -1,11 +0,0 @@
#@TYPE: Machine
#@NAME: CubieBoard4
#@DESCRIPTION: Machine configuration for the cubieboard4, based on allwinner A80 CPU http://cubieboard.org/
require conf/machine/include/sun9i.inc
require conf/machine/include/hardware/ap6330.inc
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "allwinner/sun9i-a80-cubieboard4.dtb"
UBOOT_MACHINE = "Cubieboard4_defconfig"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: Cubietruck
#@DESCRIPTION: Machine configuration for the Cubietruck, based on allwinner A20 CPU http://cubieboard.org/
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "allwinner/sun7i-a20-cubietruck.dtb"
UBOOT_MACHINE = "Cubietruck_config"
SUNXI_FEX_FILE = "sys_config/a20/cubietruck.fex"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: Forfun Q88DB
#@DESCRIPTION: Machine configuration for the Forfun Q88DB Tablet with A13 CPU
#http://linux-sunxi.org/Forfun_Q88DB
require conf/machine/include/sun5i.inc
UBOOT_MACHINE = "forfun_q88db_defconfig"
SUNXI_FEX_FILE = "sys_config/a13/forfun_q88db.fex"

View File

@ -1,9 +0,0 @@
# Include for boards with AMPAK 6212A Wifi / Bluetooth module
# https://linux-sunxi.org/Wifi#Ampak
MACHINE_EXTRA_RRECOMMENDS:append = " kernel-module-brcmfmac kernel-module-hci-uart"
MACHINE_EXTRA_RDEPENDS:append = " linux-firmware-bcm43430 armbian-firmware-ap6212"
MACHINE_FEATURES:append = " bluetooth wifi"
KERNEL_FEATURES:append = " features/ap6212/ap6212.scc"

View File

@ -1,7 +0,0 @@
# Include for boards with AMPAK AP6330 Wifi / Bluetooth module
# https://linux-sunxi.org/Wifi#Ampak
MACHINE_EXTRA_RRECOMMENDS:append = " kernel-module-brcmfmac"
MACHINE_EXTRA_RDEPENDS:append = " linux-firmware-bcm4330"
MACHINE_FEATURES:append = " bluetooth wifi"

View File

@ -1,5 +0,0 @@
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/arm/armv7a/tune-cortexa8.inc
SOC_FAMILY = "sun4i"

View File

@ -1,8 +0,0 @@
require conf/machine/include/sunxi64.inc
DEFAULTTUNE ?= "cortexa53-crypto"
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
MACHINEOVERRIDES =. "sun50i:"
SOC_FAMILY = "sun50i-h6"

View File

@ -1,8 +0,0 @@
require conf/machine/include/sunxi64.inc
DEFAULTTUNE ?= "cortexa53-crypto"
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
MACHINEOVERRIDES =. "sun50i:"
SOC_FAMILY = "sun50i-h616"

View File

@ -1,6 +0,0 @@
require conf/machine/include/sunxi64.inc
DEFAULTTUNE ?= "cortexa53-crypto"
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
SOC_FAMILY = "sun50i"

View File

@ -1,5 +0,0 @@
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/arm/armv7a/tune-cortexa8.inc
SOC_FAMILY = "sun5i"

View File

@ -1,5 +0,0 @@
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/arm/armv7a/tune-cortexa7.inc
SOC_FAMILY = "sun7i"

View File

@ -1,5 +0,0 @@
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/arm/armv7a/tune-cortexa7.inc
SOC_FAMILY = "sun8i"

View File

@ -1,5 +0,0 @@
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/arm/armv7a/tune-cortexa15.inc
SOC_FAMILY = "sun9i"

View File

@ -1,15 +0,0 @@
PREFERRED_PROVIDER_virtual/mesa ?= "mesa-gl"
PREFERRED_PROVIDER_virtual/libgl ?= "mesa-gl"
PREFERRED_PROVIDER_virtual/libgles1 ?= "sunxi-mali"
PREFERRED_PROVIDER_virtual/libgles2 ?= "sunxi-mali"
PREFERRED_PROVIDER_virtual/egl ?= "sunxi-mali"
PACKAGECONFIG:remove:pn-xserver-xorg = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glamor', '', d)}"
XSERVER += "sunxi-mali \
sunxi-mali-dev"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "\
kernel-module-mali \
kernel-module-mali-drm \
"

View File

@ -1,5 +0,0 @@
# The "sunxi-mailine-graphics-drivers.inc" doesn't exist, but it can be created
# in the future if needed. Using include directive ensures build doesn't fail
# if .inc file doesn't exist:
# https://www.yoctoproject.org/pipermail/yocto/2019-August/046484.html
include ${@'sunxi-mali-driver.inc' if 'use-mailine-graphics' not in d.getVar("MACHINEOVERRIDES").split(":") else 'sunxi-mailine-graphics-drivers.inc' }

View File

@ -1,47 +0,0 @@
SOC_FAMILY ??= ""
include conf/machine/include/soc-family.inc
MACHINEOVERRIDES =. "sunxi:"
# Sub-architecture support
MACHINE_SOCARCH_SUFFIX ?= ""
MACHINE_SOCARCH_SUFFIX_sun4i = "-sun4i"
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-input-keyboard"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
PREFERRED_VERSION_linux-mainline ?= "6.6.%"
PREFERRED_PROVIDER_u-boot ?= "u-boot"
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
KERNEL_IMAGETYPE ?= "uImage"
IMAGE_FSTYPES += "ext3 tar.gz wic.gz wic.bmap"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
UBOOT_LOCALVERSION = "-g${@d.getVar('SRCPV', True).partition('+')[2][0:7]}"
UBOOT_ENTRYPOINT ?= "0x40008000"
SPL_BINARY ?= "u-boot-sunxi-with-spl.bin"
SERIAL_CONSOLES ?= "115200;ttyS0"
MACHINE_FEATURES ?= "alsa apm keyboard rtc serial screen usbgadget usbhost vfat"
# Mimic the sdcard_image-sunxi.bbclass
# image-version-info file was also generated and installed to boot partition,
# but it is missing here - can be added somehow (how?) if required
SUNXI_FEX_FILE ?= " "
SUNXI_BOOT_SPACE ?= "40"
IMAGE_BOOT_FILES ?= "${KERNEL_IMAGETYPE} boot.scr"
# ship fex file for sunxi kernel, devicetree file for mainline kernel
IMAGE_BOOT_FILES += "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/kernel', 'linux-sunxi', '${SUNXI_FEX_FILE}', d.getVar('KERNEL_DEVICETREE', '').split('/')[-1], d)}"
WKS_FILES ?= "sunxi-sdcard-image.wks.in"
WKS_FILE_DEPENDS ?= "virtual/kernel u-boot"
# in case of sunxi kernel, sunxi-board-fex must be built prior wic image assembly
WKS_FILE_DEPENDS += " ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/kernel', 'linux-sunxi', 'sunxi-board-fex', '', d)}"

View File

@ -1,32 +0,0 @@
SOC_FAMILY ??= ""
include conf/machine/include/soc-family.inc
MACHINEOVERRIDES =. "sunxi:sunxi64:"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
PREFERRED_VERSION_linux-mainline ?= "6.6.%"
PREFERRED_PROVIDER_u-boot ?= "u-boot"
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
KERNEL_IMAGETYPE ?= "Image"
IMAGE_FSTYPES += "ext4 tar.gz wic.gz wic.bmap"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
UBOOT_LOCALVERSION = "-g${@d.getVar('SRCPV', True).partition('+')[2][0:7]}"
UBOOT_ENTRYPOINT ?= "0x40008000"
UBOOT_LOADADDRESS ?= "0x40008000"
#UBOOT_BINARY ?= "u-boot.itb"
SPL_BINARY ?= "u-boot-sunxi-with-spl.bin"
SERIAL_CONSOLES ?= "115200;ttyS0"
MACHINE_FEATURES ?= "alsa apm keyboard rtc serial screen usbgadget usbhost vfat"
SUNXI_BOOT_SPACE ?= "40"
IMAGE_BOOT_FILES ?= "${KERNEL_IMAGETYPE} boot.scr ${@d.getVar('KERNEL_DEVICETREE', '').split('/')[-1]}"
WKS_FILES ?= "sunxi-sdcard-image.wks.in"
WKS_FILE_DEPENDS ?= "virtual/kernel u-boot"

View File

@ -1,10 +0,0 @@
#@TYPE: Machine
#@NAME: Lamobo R1
#@DESCRIPTION: Machine configuration for the lamobo r1, based on allwinner A20 CPU http://bananapi.org/
require conf/machine/include/sun7i.inc
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
KERNEL_DEVICETREE = "allwinner/sun7i-a20-lamobo-r1.dtb"
UBOOT_MACHINE = "Lamobo_R1_config"
SUNXI_FEX_FILE = "sys_config/a20/lamobo-r1.fex"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: licheepi-zero
#@DESCRIPTION: Machine configuration for the licheepi-zero, based on allwinner V3s CPU
require conf/machine/include/sun8i.inc
UBOOT_MACHINE = "LicheePi_Zero_defconfig"
KERNEL_DEVICETREE = "allwinner/sun8i-v3s-licheepi-zero.dtb"

View File

@ -1,10 +0,0 @@
#@TYPE: Machine
#@NAME: MangoPi MQ-R T113-S3
#@DESCRIPTION: Machine configuration for the MangoPi MQ-R, based on the Allwinner T113-S3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-t113s-mangopi-mq-r-t113.dtb"
KERNEL_IMAGETYPE = "zImage"
UBOOT_MACHINE = "mangopi_mq_r_defconfig"

View File

@ -1,10 +0,0 @@
#@TYPE: Machine
#@NAME: HAOYU Electronics MarsBoard A10
#@DESCRIPTION: Machine configuration for the HAOYU Electronics MarsBoard A10, based on Allwinner A10 CPU
#https://linux-sunxi.org/MarsBoard_A10
require conf/machine/include/sun4i.inc
KERNEL_DEVICETREE = "allwinner/sun4i-a10-marsboard.dtb"
UBOOT_MACHINE = "Marsboard_A10_config"
SUNXI_FEX_FILE = "sys_config/a10/marsboard_a10.fex"

View File

@ -2,8 +2,32 @@
#@NAME: Mele a1000/a2000
#@DESCRIPTION: Machine configuration for the Mele a1000 and a2000, base on allwinner a10 CPU
require conf/machine/include/sun4i.inc
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-input-keyboard"
KERNEL_DEVICETREE = "allwinner/sun4i-a10-a1000.dtb"
UBOOT_MACHINE = "Mele_A1000_config"
SUNXI_FEX_FILE = "sys_config/a10/mele_a1000.fex"
# Only has DVI connector for external screen
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/tune-cortexa8.inc
PREFERRED_PROVIDER_virtual/kernel = "linux"
PREFERRED_VERSION_linux-libc-headers = "3.0.8"
KERNEL_IMAGETYPE = "uImage"
UBOOT_MACHINE = "cubieboard"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SPL_BINARY = "sunxi-spl.bin"
IMAGE_CLASSES += "sdcard_image-a10"
IMAGE_FSTYPES += "ext3 a10-sdimg"
# Guesswork
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: Mele a1000g/a2000g
#@DESCRIPTION: Machine configuration for the Mele a1000g and a2000g, base on allwinner a10 CPU
require conf/machine/include/sun4i.inc
UBOOT_MACHINE = "Mele_A1000G_quad_config"
SUNXI_FEX_FILE = "sys_config/a10/mele_a1000g.fex"

View File

@ -1,11 +0,0 @@
#@TYPE: Machine
#@NAME: Merrii A80 Optimus
#@DESCRIPTION: Machine configuration for the Merrii A80 Optimus, based on Allwinner A80 CPU https://linux-sunxi.org/Merrii_A80_Optimus_Board
require conf/machine/include/sun9i.inc
require conf/machine/include/hardware/ap6330.inc
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "allwinner/sun9i-a80-optimus.dtb"
UBOOT_MACHINE = "Merrii_A80_Optimus_defconfig"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: nanopi M1 Plus
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Neo, based on the Allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h3-nanopi-m1-plus.dtb"
UBOOT_MACHINE = "nanopi_m1_plus_defconfig"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: NanoPi M1
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Neo, based on #the Allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h3-nanopi-m1.dtb"
UBOOT_MACHINE = "nanopi_m1_defconfig"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: nanopi-neo-air
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Neo Air, based
# on the Allwinner H3 CPU.
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h3-nanopi-neo-air.dtb"
UBOOT_MACHINE = "nanopi_neo_air_defconfig"

View File

@ -1,10 +0,0 @@
#@TYPE: Machine
#@NAME: nanopi-neo-plus2
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Neo Plus2, based
# on the Allwinner H5 SoC.
require conf/machine/include/sun50i.inc
require conf/machine/include/hardware/ap6212a.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h5-nanopi-neo-plus2.dtb"
UBOOT_MACHINE = "nanopi_neo_plus2_defconfig"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: nanopi-neo
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Neo, based on the Allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h3-nanopi-neo.dtb"
UBOOT_MACHINE = "nanopi_neo_defconfig"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: nanopi-neo2
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Neo 2, based on
# the Allwinner H5 SoC.
require conf/machine/include/sun50i.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h5-nanopi-neo2.dtb"
UBOOT_MACHINE = "nanopi_neo2_defconfig"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: NanoPi R1
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi R1, based on #the Allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h3-nanopi-r1.dtb"
UBOOT_MACHINE = "nanopi_r1_defconfig"

View File

@ -1,10 +0,0 @@
#@TYPE: Machine
#@NAME: Olimex A10-OLinuXino Lime (4GB) Board
#@DESCRIPTION: Machine configuration for the Olimex A10-OLinuXino Lime Board, based on Allwinner A10 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun4i.inc
KERNEL_DEVICETREE = "allwinner/sun4i-a10-olinuxino-lime.dtb"
UBOOT_MACHINE = "A10-OLinuXino-Lime_config"
SUNXI_FEX_FILE = "sys_config/a10/a10-olinuxino-lime.fex"

View File

@ -1,10 +0,0 @@
#@TYPE: Machine
#@NAME: Olimex A10S-OLinuXino-MICRO Board
#@DESCRIPTION: Machine configuration for Olimex A10S-OLinuXino-MICRO Board, based on Allwinner A10s CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun5i.inc
KERNEL_DEVICETREE = "allwinner/sun5i-a10s-olinuxino-micro.dtb"
UBOOT_MACHINE = "A10s-OLinuXino-M_config"
SUNXI_FEX_FILE = "sys_config/a10s/a10s-olinuxino-m.fex"

View File

@ -3,8 +3,36 @@
#@DESCRIPTION: Machine configuration for the Olime A13-OLinuXino Board, base on allwinner a13 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun5i.inc
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
xf86-input-tslib \
tslib-calibrate \
tslib-tests \
xf86-input-evdev \
xf86-input-mouse \
xf86-input-keyboard \
xf86-video-fbdev \
"
KERNEL_DEVICETREE = "allwinner/sun5i-a13-olinuxino.dtb"
UBOOT_MACHINE = "A13-OLinuXino_config"
SUNXI_FEX_FILE = "sys_config/a13/a13-olinuxino.fex"
# Only has DVI connector for external screen
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/tune-cortexa8.inc
PREFERRED_PROVIDER_virtual/kernel = "linux"
PREFERRED_VERSION_linux-libc-headers = "3.0.8"
KERNEL_IMAGETYPE = "uImage"
UBOOT_MACHINE = "a13_olinuxino"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SPL_BINARY = "sunxi-spl.bin"
IMAGE_FSTYPES += "tar.bz2 squashfs a10-sdimg"
# Guesswork
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: Olimex A13-SOM
#@DESCRIPTION: Machine configuration for the Olimex A13-SOM Evaluation Board, based on Allwinner A13 CPU
#https://github.com/OLIMEX/SOM
require conf/machine/include/sun5i.inc
UBOOT_MACHINE = "OLIMEX-A13-SOM_config"
SUNXI_FEX_FILE = "sys_config/a13/olimex_a13_som.fex"

View File

@ -1,10 +0,0 @@
#@TYPE: Machine
#@NAME: Olimex A20-OLinuXino Board
#@DESCRIPTION: Machine configuration for the Olimex A20-OLinuXino Board, based on Allwinner A20 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "allwinner/sun7i-a20-olinuxino-micro.dtb"
UBOOT_MACHINE = "A20-OLinuXino_MICRO_config"
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_micro.fex"

View File

@ -1,10 +0,0 @@
#@TYPE: Machine
#@NAME: Olimex A20-OLinuXino Lime (4GB) Board
#@DESCRIPTION: Machine configuration for the Olimex A20-OLinuXino Lime Board, based on Allwinner A20 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "allwinner/sun7i-a20-olinuxino-lime.dtb"
UBOOT_MACHINE = "A20-OLinuXino-Lime_config"
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime.fex"

View File

@ -1,10 +0,0 @@
#@TYPE: Machine
#@NAME: Olimex A20-OLinuXino Lime2 Board with 4GB eMMC
#@DESCRIPTION: Machine configuration for the Olimex A20-OLinuXino Lime2 Board with 4GB eMMC, based on Allwinner A20 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "allwinner/sun7i-a20-olinuxino-lime2-emmc.dtb"
UBOOT_MACHINE = "A20-OLinuXino-Lime2-eMMC_config"
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime2.fex"

View File

@ -1,10 +0,0 @@
#@TYPE: Machine
#@NAME: Olimex A20-OLinuXino Lime2 (4GB) Board
#@DESCRIPTION: Machine configuration for the Olimex A20-OLinuXino Lime2 Board, based on Allwinner A20 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "allwinner/sun7i-a20-olinuxino-lime2.dtb"
UBOOT_MACHINE = "A20-OLinuXino-Lime2_config"
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime2.fex"

View File

@ -1,10 +0,0 @@
#@TYPE: Machine
#@NAME: Olimex A20-SOM
#@DESCRIPTION: Machine configuration for the Olimex A20-SOM Evaluation Board, based on Allwinner A20 CPU
#https://github.com/OLIMEX/SOM
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "allwinner/sun7i-a20-olimex-som-evb.dtb"
UBOOT_MACHINE = "A20-Olimex-SOM-EVB_config"
SUNXI_FEX_FILE = "sys_config/a20/olimex_a20_som.fex"

View File

@ -1,13 +0,0 @@
#@TYPE: Machine
#@NAME: Olimex A64-OLinuXino Board
#@DESCRIPTION: Machine configuration for the Olimex A64-OLinuXino Board, based on Allwinner A64 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun50i.inc
PREFFERED_VERSION_u-boot = "v2018.09%"
MACHINE_EXTRA_RRECOMMENDS += " linux-firmware-rtl8723"
KERNEL_DEVICETREE = "allwinner/sun50i-a64-olinuxino.dtb"
UBOOT_MACHINE = "a64-olinuxino_defconfig"

View File

@ -1,28 +0,0 @@
#@TYPE: Machine
#@NAME: orange-pi-3lts
#@DESCRIPTION: Machine configuration for the Orange Pi 3 LTS , based on Allwinner H6 CPU
# Note: Some boards have faulty RTC a fix is included by default
# a workarround in the dts ins include by default but in can removed adding
# KERNEL_FEATURES:remove = " bsp/orange-pi-3lts/fix-rtc.scc" to local.conf
require conf/machine/include/sun50i-h6.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h6-orangepi-3-lts.dtb"
UBOOT_MACHINE = "orangepi_3_lts_defconfig"
SPL_BINARY = "u-boot-sunxi-with-spl.bin"
# as for now neither graphics nor audio is supported
MACHINE_FEATURES:remove = " x11 alsa rtc"
MACHINE_FEATURES:append = " bluetooth wifi"
# fiwrware needed for wifi + bt
MACHINE_EXTRA_RRECOMMENDS += " uwe5622-firmware"
# Load modules for wifi & bt
# Note: fo wifi a custom hci attach userspace sofware is needed that is not included in the layer
KERNEL_MODULE_AUTOLOAD += " sprdwl_ng sprdbt_tty "

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: orange-pi-lite
#@DESCRIPTION: Machine configuration for the orange-pi-lite, based on Allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h3-orangepi-lite.dtb"
UBOOT_MACHINE = "orangepi_lite_defconfig"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: orange-pi-one-plus
#@DESCRIPTION: Machine configuration for the Orange Pi One Plus, based on Allwinner H6 CPU
require conf/machine/include/sun50i-h6.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h6-orangepi-one-plus.dtb"
UBOOT_MACHINE = "orangepi_one_plus_defconfig"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: orange-pi-one
#@DESCRIPTION: Machine configuration for the orange-pi-one, base on allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h3-orangepi-one.dtb"
UBOOT_MACHINE = "orangepi_one_defconfig"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: orange-pi-pc-plus
#@DESCRIPTION: Machine configuration for the orange-pi-pc-plus, base on allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h3-orangepi-pc-plus.dtb"
UBOOT_MACHINE = "orangepi_pc_plus_defconfig"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: orange-pi-one
#@DESCRIPTION: Machine configuration for the orange-pi-one, base on allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h3-orangepi-pc.dtb"
UBOOT_MACHINE = "orangepi_pc_defconfig"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: orangepi-pc2
#@DESCRIPTION: Machine configuration for the orangepi-pc2, based on Allwinner A64 CPU
require conf/machine/include/sun50i.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h5-orangepi-pc2.dtb"
UBOOT_MACHINE = "orangepi_pc2_defconfig"

View File

@ -1,11 +0,0 @@
#@TYPE: Machine
#@NAME: orange-pi-prime
#@DESCRIPTION: Machine configuration for the orange-pi-prime, base on Allwinner H5 CPU
require conf/machine/include/sun50i.inc
require conf/machine/include/hardware/ap6212a.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h5-orangepi-prime.dtb"
UBOOT_MACHINE = "orangepi_prime_defconfig"
MACHINE_EXTRA_RRECOMMENDS:append = " linux-firmware-rtl8723"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: orange-pi-r1
#@DESCRIPTION: Machine configuration for the orange-pi-r1, base on allwinner H2+ CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h2-plus-orangepi-r1.dtb"
UBOOT_MACHINE = "orangepi_r1_defconfig"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: orange-pi-zero-plus2-h3
#@DESCRIPTION: Machine configuration for the orange-pi-zero-plus2, based on Allwinner H3 CPU
require conf/machine/include/sun8i.inc
require conf/machine/include/hardware/ap6212a.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h3-orangepi-zero-plus2.dtb"
UBOOT_MACHINE = "orangepi_zero_plus2_h3_defconfig"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: orange-pi-zero-plus2
#@DESCRIPTION: Machine configuration for the orange-pi-zero-plus2, base on Allwinner H5 CPU
require conf/machine/include/sun50i.inc
require conf/machine/include/hardware/ap6212a.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h5-orangepi-zero-plus2.dtb"
UBOOT_MACHINE = "orangepi_zero_plus2_defconfig"

View File

@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: orange-pi-zero
#@DESCRIPTION: Machine configuration for the orange-pi-zero, based on Allwinner H2 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "allwinner/sun8i-h2-plus-orangepi-zero.dtb"
UBOOT_MACHINE = "orangepi_zero_defconfig"

View File

@ -1,21 +0,0 @@
#@TYPE: Machine
#@NAME: orange-pi-zero-2
#@DESCRIPTION: Machine configuration for the orange-pi-zero-2, based on Allwinner H616 CPU
require conf/machine/include/sun50i-h616.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h616-orangepi-zero2.dtb"
UBOOT_MACHINE = "orangepi_zero2_defconfig"
SPL_BINARY = "u-boot-sunxi-with-spl.bin"
# as for now neither graphics nor audio is supported
MACHINE_FEATURES:remove = "alsa x11"
MACHINE_FEATURES:append = "bluetooth wifi"
MACHINE_EXTRA_RRECOMMENDS = "uwe5622-firmware"
# Load modules for wifi & bt
# Note: fo wifi a custom hci attach userspace sofware is needed that is not included in the layer
KERNEL_MODULE_AUTOLOAD += " sprdwl_ng sprdbt_tty "

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: pcduino-lite-wifi
#@DESCRIPTION: Machine configuration for the pcDuino-Lite-Wifi, base on allwinner a10 CPU
require conf/machine/include/sun4i.inc
KERNEL_DEVICETREE = "allwinner/sun4i-a10-pcduino.dtb"
UBOOT_MACHINE = "Linksprite_pcDuino_defconfig"
SUNXI_FEX_FILE = "sys_config/a10/pcduino.fex"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: Linksprite A20-pcduino3 Board
#@DESCRIPTION: Machine configuration for the pcDuino 3, based on Allwinner A20 CPU
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "allwinner/sun7i-a20-pcduino3.dtb"
UBOOT_MACHINE = "Linksprite_pcDuino3_defconfig"
SUNXI_FEX_FILE = "sys_config/a20/linksprite_pcduino3.fex"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: pine64-plus
#@DESCRIPTION: Machine configuration for the pine64-plus, based on Allwinner A64 CPU
require conf/machine/include/sun50i.inc
KERNEL_DEVICETREE = "allwinner/sun50i-a64-pine64-plus.dtb"
UBOOT_MACHINE = "pine64_plus_defconfig"

View File

@ -1,47 +0,0 @@
# Copyright (C) 2013 Tomas Novotny <novotny@rehivetech.com>
# Released under BSD-2-Clause or MIT license
DESCRIPTION = "Handler for Allwinner's FEX files"
LICENSE = "CC0-1.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/${LICENSE};md5=0ceb3372c9595f0a8067e55da801e4a1"
DEPENDS = "sunxi-tools-native"
PV = "1.1+git${SRCPV}"
PR = "r0"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
SRC_URI = "git://github.com/linux-sunxi/sunxi-boards.git;protocol=https;branch=master"
# Increase PV with SRCREV change
SRCREV = "af5f938ea14a3614d35ad3d9ab51a5d392117444"
S = "${WORKDIR}/git"
SUNXI_FEX_BIN_IMAGE = "fex-${MACHINE}-${PV}-${PR}.bin"
SUNXI_FEX_BIN_IMAGE_SYMLINK = "fex-${MACHINE}.bin"
SUNXI_FEX_BIN_IMAGE_SYMLINK_SIMPLE = "fex.bin"
inherit deploy
do_compile() {
fex2bin "${S}/${SUNXI_FEX_FILE}" > "${B}/${SUNXI_FEX_BIN_IMAGE}"
}
do_deploy() {
install -m 0644 ${B}/${SUNXI_FEX_BIN_IMAGE} ${DEPLOYDIR}/
cd ${DEPLOYDIR}
ln -sf ${SUNXI_FEX_BIN_IMAGE} ${SUNXI_FEX_BIN_IMAGE_SYMLINK}
ln -sf ${SUNXI_FEX_BIN_IMAGE} ${SUNXI_FEX_BIN_IMAGE_SYMLINK_SIMPLE}
}
addtask deploy before do_build after do_compile
PACKAGES = ""
PACKAGE_ARCH = "${MACHINE_ARCH}"
do_install[noexec] = "1"
do_package[noexec] = "1"
do_packagedata[noexec] = "1"
do_package_write[noexec] = "1"
do_package_write_ipk[noexec] = "1"
do_package_write_rpm[noexec] = "1"
do_package_write_deb[noexec] = "1"
do_populate_sysroot[noexec] = "1"

View File

@ -1,7 +0,0 @@
COMPATIBLE_MACHINE:sunxi = "(sun50i|sun50i-h616|sun50i-h6)"
TFA_PLATFORM:sun50i = "sun50i_a64"
TFA_PLATFORM:sun50i-h6 = "sun50i_h6"
TFA_PLATFORM:sun50i-h616 = "sun50i_h616"
TFA_BUILD_TARGET:sunxi = "bl31"

View File

@ -1,21 +0,0 @@
From 6a64d90ca4d976c16a2e102dbad0848e4d29776c Mon Sep 17 00:00:00 2001
From: Florin Sarbu <florin@resin.io>
Date: Wed, 12 Sep 2018 14:22:49 +0200
Subject: [PATCH] nanopi_neo_air_defconfig: Enable eMMC support
Upstream-Status: Pending
Signed-off-by: Florin Sarbu <florin@resin.io>
---
configs/nanopi_neo_air_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/configs/nanopi_neo_air_defconfig b/configs/nanopi_neo_air_defconfig
index 806d95c1cc..8899cc3a15 100644
--- a/configs/nanopi_neo_air_defconfig
+++ b/configs/nanopi_neo_air_defconfig
@@ -9,3 +9,4 @@ CONFIG_DRAM_CLK=408
CONFIG_CONSOLE_MUX=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2

View File

@ -1,41 +0,0 @@
From f4dde09fa41eb538b743ee2104c1e2e10cc7e13f Mon Sep 17 00:00:00 2001
From: Leon Anavi <leon.anavi@konsulko.com>
Date: Sat, 14 Dec 2024 10:59:09 +0000
Subject: [PATCH] sunxi: board: Fix early PMIC setup conditions
Patch provided by Andre Przywara through the U-Boot mailing list:
https://lists.denx.de/pipermail/u-boot/2024-December/575050.html
Upstream-Status: Pending
Suggested-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
---
board/sunxi/board.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index 961cdcde74..d6759fe853 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -577,7 +577,6 @@ void sunxi_board_init(void)
#ifdef CONFIG_AXP_DCDC1_VOLT
power_failed |= axp_set_dcdc1(CONFIG_AXP_DCDC1_VOLT);
- power_failed |= axp_set_dcdc5(CONFIG_AXP_DCDC5_VOLT);
#endif
#ifdef CONFIG_AXP_DCDC2_VOLT
power_failed |= axp_set_dcdc2(CONFIG_AXP_DCDC2_VOLT);
@@ -586,6 +585,9 @@ void sunxi_board_init(void)
#ifdef CONFIG_AXP_DCDC4_VOLT
power_failed |= axp_set_dcdc4(CONFIG_AXP_DCDC4_VOLT);
#endif
+#ifdef CONFIG_AXP_DCDC5_VOLT
+ power_failed |= axp_set_dcdc5(CONFIG_AXP_DCDC5_VOLT);
+#endif
#ifdef CONFIG_AXP_ALDO1_VOLT
power_failed |= axp_set_aldo1(CONFIG_AXP_ALDO1_VOLT);
--
2.47.1

View File

@ -1,42 +0,0 @@
From 767a05572ef5b93c2e157749b1754cbe261ee43d Mon Sep 17 00:00:00 2001
From: Marek Belisko <marek.belisko@open-nandra.com>
Date: Fri, 8 Apr 2022 11:33:53 +0200
Subject: [PATCH] Added nanopi-r1 board support
Patch taken from : https://github.com/armbian/build/blob/master/patch/u-boot/u-boot-sunxi/add-nanopi-r1-and-duo2.patch
Upstream-Status: Pending
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
---
diff --git a/configs/nanopi_r1_defconfig b/configs/nanopi_r1_defconfig
new file mode 100644
index 0000000..e028b41
--- /dev/null
+++ b/configs/nanopi_r1_defconfig
@@ -0,0 +1,22 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_SPL=y
+CONFIG_MACH_SUN8I_H3=y
+CONFIG_DRAM_CLK=408
+CONFIG_DRAM_ZQ=3881979
+CONFIG_DRAM_ODT_EN=y
+CONFIG_MACPWR="PD6"
+# CONFIG_VIDEO_DE2 is not set
+CONFIG_NR_DRAM_BANKS=1
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_CONSOLE_MUX=y
+CONFIG_SYS_CLK_FREQ=480000000
+# CONFIG_CMD_FLASH is not set
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-r1"
+CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
--
2.7.4

View File

@ -1,58 +0,0 @@
From: Anne Macedo <retpolanne@posteo.net>
Date: Tue, 11 Jul 2023 00:39:58 +0000
Subject: [PATCH] sunxi: H6: Enable Ethernet on Orange Pi One Plus
Enable Ethernet on Orange Pi One Plus by using the correct phy for
Realtek RTL8211E instead of the Generic One. Also use CONFIG_MACPWR to
turn on ethernet on startup.
After this patch is applied, a few issues can be seen:
- there's still a PHY reset timed out error that doesn't seem to cause
any impacts to the overall connection
- sometimes the emac driver times out after reset (yellow LED turns on
and never blinks)
For future patches: for now, CONFIG_MACPWR is the only way to enable
Ethernet on boot. There's already code on the dts for using the 3v3-gmac
regulator. However, it is not probed on boot, so it only starts after a
"regulator status" command is issued.
More details about the troubleshooting on [1].
Upstream-Status: Submitted
[1] https://lore.kernel.org/u-boot/4wsvwgy56e2xfgtvioru2tf2ofkqprlts36qggivxogww6pn5j@4jk63zxhzhag/
Signed-off-by: Anne Macedo <retpolanne@posteo.net>
---
arch/arm/dts/sun50i-h6-orangepi-one-plus.dts | 2 +-
configs/orangepi_one_plus_defconfig | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts b/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts
index 29a081e72a..6427c58f8a 100644
--- a/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts
+++ b/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts
@@ -37,7 +37,7 @@
&mdio {
ext_rgmii_phy: ethernet-phy@1 {
- compatible = "ethernet-phy-ieee802.3-c22";
+ compatible = "ethernet-phy-id001c.c915", "ethernet-phy-ieee802.3-c22" ;
reg = <1>;
};
};
diff --git a/configs/orangepi_one_plus_defconfig b/configs/orangepi_one_plus_defconfig
index aa5f540eb1..a1835492db 100644
--- a/configs/orangepi_one_plus_defconfig
+++ b/configs/orangepi_one_plus_defconfig
@@ -8,3 +8,7 @@ CONFIG_SUNXI_DRAM_H6_LPDDR3=y
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y
+CONFIG_SUN8I_EMAC=y
+CONFIG_PHY_REALTEK=y
+CONFIG_PHY_ETHERNET_ID=y
+CONFIG_MACPWR="PD6"

View File

@ -1,421 +0,0 @@
From 9966dda20246285abf8b417bd251d5a4bea3e423 Mon Sep 17 00:00:00 2001
From: Juliano Dorigão <jdorigao@gmail.com>
Date: Fri, 3 Mar 2023 16:11:30 -0400
Subject: [PATCH] OrangePi 3 LTS support
Upstream-Status: Pending
---
arch/arm/dts/Makefile | 1 +
arch/arm/dts/sun50i-h6-orangepi-3-lts.dts | 361 ++++++++++++++++++++++
configs/orangepi_3_lts_defconfig | 19 ++
3 files changed, 381 insertions(+)
create mode 100644 arch/arm/dts/sun50i-h6-orangepi-3-lts.dts
create mode 100644 configs/orangepi_3_lts_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 43951a77..8dbbb6f4 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -710,6 +710,7 @@ dtb-$(CONFIG_MACH_SUN50I_H5) += \
dtb-$(CONFIG_MACH_SUN50I_H6) += \
sun50i-h6-beelink-gs1.dtb \
sun50i-h6-orangepi-3.dtb \
+ sun50i-h6-orangepi-3-lts.dtb \
sun50i-h6-orangepi-lite2.dtb \
sun50i-h6-orangepi-one-plus.dtb \
sun50i-h6-pine-h64.dtb \
diff --git a/arch/arm/dts/sun50i-h6-orangepi-3-lts.dts b/arch/arm/dts/sun50i-h6-orangepi-3-lts.dts
new file mode 100644
index 00000000..67f38b8a
--- /dev/null
+++ b/arch/arm/dts/sun50i-h6-orangepi-3-lts.dts
@@ -0,0 +1,361 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+// Copyright (C) 2023 Jernej Skrabec <jernej.skrabec@gmail.com>
+// Based on sun50i-h6-orangepi-3.dts, which is:
+// Copyright (C) 2019 Ondřej Jirman <megous@megous.com>
+
+/dts-v1/;
+
+#include "sun50i-h6.dtsi"
+#include "sun50i-h6-cpu-opp.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ model = "OrangePi 3 LTS";
+ compatible = "xunlong,orangepi-3-lts", "allwinner,sun50i-h6";
+
+ aliases {
+ ethernet0 = &emac;
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ connector {
+ compatible = "hdmi-connector";
+ ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
+ type = "a";
+
+ port {
+ hdmi_con_in: endpoint {
+ remote-endpoint = <&hdmi_out_con>;
+ };
+ };
+ };
+
+ ext_osc32k: ext_osc32k_clk {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <32768>;
+ clock-output-names = "ext_osc32k";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-0 {
+ label = "orangepi:red:power";
+ gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
+ };
+
+ led-1 {
+ label = "orangepi:green:status";
+ gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
+ default-state = "on";
+ };
+ };
+
+ reg_vcc5v: vcc5v {
+ /* board wide 5V supply directly from the DC jack */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc-5v";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ };
+
+ reg_gmac_3v3: gmac-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "gmac-3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ startup-delay-us = <150000>;
+ enable-active-high;
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */
+ };
+
+ reg_vcc33_wifi: vcc33-wifi {
+ /* Always on 3.3V regulator for WiFi and BT */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc33-wifi";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ enable-active-high;
+ gpio = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
+ };
+
+ reg_vcc_wifi_io: vcc-wifi-io {
+ /* Always on 1.8V/300mA regulator for WiFi and BT IO */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc-wifi-io";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ vin-supply = <&reg_vcc33_wifi>;
+ };
+
+ wifi_pwrseq: wifi-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ clocks = <&rtc 1>;
+ clock-names = "ext_clock";
+ reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
+ post-power-on-delay-ms = <200>;
+ };
+};
+
+&cpu0 {
+ cpu-supply = <&reg_dcdca>;
+};
+
+&de {
+ status = "okay";
+};
+
+&dwc3 {
+ status = "okay";
+};
+
+&ehci0 {
+ status = "okay";
+};
+
+&ehci3 {
+ status = "okay";
+};
+
+&emac {
+ pinctrl-names = "default";
+ pinctrl-0 = <&ext_rgmii_pins>;
+ phy-mode = "rgmii";
+ phy-handle = <&ext_rgmii_phy>;
+ phy-supply = <&reg_gmac_3v3>;
+ allwinner,rx-delay-ps = <1500>;
+ allwinner,tx-delay-ps = <700>;
+ status = "okay";
+};
+
+&gpu {
+ mali-supply = <&reg_dcdcc>;
+ status = "okay";
+};
+
+&hdmi {
+ hvcc-supply = <&reg_bldo2>;
+ status = "okay";
+};
+
+&hdmi_out {
+ hdmi_out_con: endpoint {
+ remote-endpoint = <&hdmi_con_in>;
+ };
+};
+
+&mdio {
+ ext_rgmii_phy: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+
+ reset-gpios = <&pio 3 14 GPIO_ACTIVE_LOW>; /* PD14 */
+ reset-assert-us = <15000>;
+ reset-deassert-us = <40000>;
+ };
+};
+
+&mmc0 {
+ vmmc-supply = <&reg_cldo1>;
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
+ bus-width = <4>;
+ status = "okay";
+};
+
+&mmc1 {
+ vmmc-supply = <&reg_vcc33_wifi>;
+ vqmmc-supply = <&reg_vcc_wifi_io>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+};
+
+&mmc2 {
+ vmmc-supply = <&reg_cldo1>;
+ vqmmc-supply = <&reg_bldo2>;
+ cap-mmc-hw-reset;
+ non-removable;
+ bus-width = <8>;
+ status = "okay";
+};
+
+&ohci0 {
+ status = "okay";
+};
+
+&ohci3 {
+ status = "okay";
+};
+
+&pio {
+ vcc-pc-supply = <&reg_bldo2>;
+ vcc-pd-supply = <&reg_cldo1>;
+ vcc-pg-supply = <&reg_bldo3>;
+};
+
+&r_ir {
+ status = "okay";
+};
+
+&r_rsb {
+ clock-frequency = <100000>;
+ status = "okay";
+
+ axp805: pmic@745 {
+ compatible = "x-powers,axp805", "x-powers,axp806";
+ reg = <0x745>;
+ interrupt-parent = <&r_intc>;
+ interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ x-powers,self-working-mode;
+ vina-supply = <&reg_vcc5v>;
+ vinb-supply = <&reg_vcc5v>;
+ vinc-supply = <&reg_vcc5v>;
+ vind-supply = <&reg_vcc5v>;
+ vine-supply = <&reg_vcc5v>;
+ aldoin-supply = <&reg_vcc5v>;
+ bldoin-supply = <&reg_vcc5v>;
+ cldoin-supply = <&reg_vcc5v>;
+
+ regulators {
+ reg_aldo1: aldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-pl-led-ir";
+ };
+
+ reg_aldo2: aldo2 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc33-audio-tv-ephy-mac";
+ };
+
+ /* ALDO3 is shorted to CLDO1 */
+ reg_aldo3: aldo3 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-1";
+ };
+
+ reg_bldo1: bldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc18-dram-bias-pll";
+ };
+
+ reg_bldo2: bldo2 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-efuse-pcie-hdmi-pc";
+ };
+
+ reg_bldo3: bldo3 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-pm-pg-dcxoio-wifi";
+ };
+
+ bldo4 {
+ /* unused */
+ };
+
+ reg_cldo1: cldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-2";
+ };
+
+ cldo2 {
+ /* unused */
+ };
+
+ cldo3 {
+ /* unused */
+ };
+
+ reg_dcdca: dcdca {
+ regulator-always-on;
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1160000>;
+ regulator-ramp-delay = <2500>;
+ regulator-name = "vdd-cpu";
+ };
+
+ reg_dcdcc: dcdcc {
+ regulator-enable-ramp-delay = <32000>;
+ regulator-min-microvolt = <810000>;
+ regulator-max-microvolt = <1080000>;
+ regulator-ramp-delay = <2500>;
+ regulator-name = "vdd-gpu";
+ };
+
+ reg_dcdcd: dcdcd {
+ regulator-always-on;
+ regulator-min-microvolt = <980000>;
+ regulator-max-microvolt = <980000>;
+ regulator-name = "vdd-sys";
+ };
+
+ reg_dcdce: dcdce {
+ regulator-always-on;
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-name = "vcc-dram";
+ };
+
+ sw {
+ /* unused */
+ };
+ };
+ };
+};
+
+&pwm {
+ status = "okay";
+};
+
+&r_ir {
+ status = "okay";
+};
+
+&rtc {
+ clocks = <&ext_osc32k>;
+};
+
+/delete-node/ &spi0;
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_ph_pins>;
+ status = "okay";
+};
+
+&usb2otg {
+ dr_mode = "host";
+ status = "okay";
+};
+
+&usb2phy {
+ usb0_id_det-gpios = <&pio 2 15 GPIO_ACTIVE_HIGH>; /* PC15 */
+ usb0_vbus-supply = <&reg_vcc5v>;
+ usb3_vbus-supply = <&reg_vcc5v>;
+ status = "okay";
+};
+
+&usb3phy {
+ status = "okay";
+};
diff --git a/configs/orangepi_3_lts_defconfig b/configs/orangepi_3_lts_defconfig
new file mode 100644
index 00000000..41a9af4e
--- /dev/null
+++ b/configs/orangepi_3_lts_defconfig
@@ -0,0 +1,19 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-orangepi-3-lts"
+CONFIG_SPL=y
+CONFIG_MACH_SUN50I_H6=y
+CONFIG_SUNXI_DRAM_H6_LPDDR3=y
+CONFIG_MMC0_CD_PIN="PF6"
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL_STACK=0x118000
+CONFIG_SYS_PBSIZE=1024
+CONFIG_SYS_BOOTM_LEN=0x2000000
+CONFIG_PHY_SUN50I_USB3=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_DWC3=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_DWC3=y
+# CONFIG_USB_DWC3_GADGET is not set
--
2.39.2

View File

@ -1,30 +0,0 @@
From bf813915bf480154c707e0be14016cef94adbd95 Mon Sep 17 00:00:00 2001
From: Marek Belisko <marek.belisko@gmail.com>
Date: Tue, 7 May 2024 11:27:08 +0200
Subject: [PATCH] mangopi-mq-r-t113: Fix serial console
Serial console is on uart3 not on uart0.
Upstream-Status: Inappropriate (for this board only)
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
---
include/configs/sunxi-common.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index b8ca77d031..4e4808d2c1 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -324,7 +324,7 @@
MEM_LAYOUT_ENV_EXTRA_SETTINGS \
DFU_ALT_INFO_RAM \
"fdtfile=" FDTFILE "\0" \
- "console=ttyS0,115200\0" \
+ "console=ttyS3,115200\0" \
"uuid_gpt_esp=" UUID_GPT_ESP "\0" \
"uuid_gpt_system=" UUID_GPT_SYSTEM "\0" \
"partitions=" PARTS_DEFAULT "\0" \
--
2.25.1

View File

@ -1,11 +0,0 @@
# Default to (primary) SD
rootdev=mmcblk0p2
if itest.b *0x28 == 0x02 ; then
# U-Boot loaded from eMMC or secondary SD so use it for rootfs too
echo "U-boot loaded from eMMC or secondary SD"
rootdev=mmcblk1p2
fi
setenv bootargs console=${console} console=tty1 root=/dev/${rootdev} rootwait panic=10 ${extra}
load mmc 0:1 ${fdt_addr_r} ${fdtfile}
load mmc 0:1 ${kernel_addr_r} Image
booti ${kernel_addr_r} - ${fdt_addr_r}

View File

@ -1,11 +0,0 @@
# Default to (primary) SD
rootdev=mmcblk0p2
if itest.b *0x28 == 0x02 ; then
# U-Boot loaded from eMMC or secondary SD so use it for rootfs too
echo "U-boot loaded from eMMC or secondary SD"
rootdev=mmcblk1p2
fi
setenv bootargs console=${console} console=tty1 root=/dev/${rootdev} rootwait panic=10 ${extra}
load mmc 0:1 ${fdt_addr_r} ${fdtfile} || load mmc 0:1 ${fdt_addr_r} boot/allwinner/${fdtfile}
load mmc 0:1 ${kernel_addr_r} zImage || load mmc 0:1 ${kernel_addr_r} boot/zImage || load mmc 0:1 ${kernel_addr_r} uImage || load mmc 0:1 ${kernel_addr_r} boot/uImage
bootz ${kernel_addr_r} - ${fdt_addr_r} || bootm ${kernel_addr_r} - ${fdt_addr_r}

View File

@ -1,11 +0,0 @@
# Default to (primary) SD
rootdev=mmcblk0p2
if itest.b *0x28 == 0x02 ; then
# U-Boot loaded from eMMC or secondary SD so use it for rootfs too
echo "U-boot loaded from eMMC or secondary SD"
rootdev=mmcblk2p2
fi
setenv bootargs console=${console} console=tty1 root=/dev/${rootdev} rootwait panic=10 ${extra}
load mmc 0:1 ${fdt_addr_r} ${fdtfile}
load mmc 0:1 ${kernel_addr_r} Image
booti ${kernel_addr_r} - ${fdt_addr_r}

View File

@ -1,42 +0,0 @@
DESCRIPTION = "U-Boot port for sunxi"
require recipes-bsp/u-boot/u-boot.inc
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
# No patches for other machines yet
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
DEFAULT_PREFERENCE_sun4i="1"
DEFAULT_PREFERENCE_sun5i="1"
DEFAULT_PREFERENCE_sun7i="1"
# Sunxi U-Boot uses different names for some boards
UBOOT_MACHINE_olinuxino-a20 = "A20-OLinuXino-Micro_config"
UBOOT_MACHINE_olinuxino-a10s = "A10s-OLinuXino-Micro_config"
UBOOT_MACHINE_meleg = "Mele_A1000G_config"
SRC_URI = " \
git://github.com/linux-sunxi/u-boot-sunxi.git;protocol=https;branch=sunxi \
file://0001-gcc5-fixes.patch \
file://0002-gcc6-fixes.patch \
file://0003-No-gcc-version-specific-includes.patch \
"
PE = "1"
PV = "v2014.04+git${SRCPV}"
# Corresponds 2014.04 in Makefile
SRCREV = "ea1ac32bf76eb60baef474c2516fc431b381d952"
S = "${WORKDIR}/git"
PACKAGE_ARCH = "${MACHINE_ARCH}"
SPL_BINARY="u-boot-sunxi-with-spl.bin"
do_configure () {
oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
}

View File

@ -1,197 +0,0 @@
From a5e50d6fd7321d0bc60fda2db938c170d09f9dee Mon Sep 17 00:00:00 2001
From: Trevor Woerner <twoerner@gmail.com>
Date: Thu, 24 Sep 2015 22:36:02 -0400
Subject: [PATCH] gcc5 fixes
gcc5 is pickier about inline functions defined in headers.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
arch/arm/include/asm/io.h | 12 ++++----
common/board_f.c | 18 ++++++------
common/main.c | 2 +-
include/linux/compiler-gcc5.h | 65 +++++++++++++++++++++++++++++++++++++++++++
4 files changed, 81 insertions(+), 16 deletions(-)
create mode 100644 include/linux/compiler-gcc5.h
diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
index 6a1f05a..2f6925b 100644
--- a/arch/arm/include/asm/io.h
+++ b/arch/arm/include/asm/io.h
@@ -75,7 +75,7 @@ static inline phys_addr_t virt_to_phys(void * vaddr)
#define __arch_putw(v,a) (*(volatile unsigned short *)(a) = (v))
#define __arch_putl(v,a) (*(volatile unsigned int *)(a) = (v))
-extern inline void __raw_writesb(unsigned long addr, const void *data,
+static inline void __raw_writesb(unsigned long addr, const void *data,
int bytelen)
{
uint8_t *buf = (uint8_t *)data;
@@ -83,7 +83,7 @@ extern inline void __raw_writesb(unsigned long addr, const void *data,
__arch_putb(*buf++, addr);
}
-extern inline void __raw_writesw(unsigned long addr, const void *data,
+static inline void __raw_writesw(unsigned long addr, const void *data,
int wordlen)
{
uint16_t *buf = (uint16_t *)data;
@@ -91,7 +91,7 @@ extern inline void __raw_writesw(unsigned long addr, const void *data,
__arch_putw(*buf++, addr);
}
-extern inline void __raw_writesl(unsigned long addr, const void *data,
+static inline void __raw_writesl(unsigned long addr, const void *data,
int longlen)
{
uint32_t *buf = (uint32_t *)data;
@@ -99,21 +99,21 @@ extern inline void __raw_writesl(unsigned long addr, const void *data,
__arch_putl(*buf++, addr);
}
-extern inline void __raw_readsb(unsigned long addr, void *data, int bytelen)
+static inline void __raw_readsb(unsigned long addr, void *data, int bytelen)
{
uint8_t *buf = (uint8_t *)data;
while(bytelen--)
*buf++ = __arch_getb(addr);
}
-extern inline void __raw_readsw(unsigned long addr, void *data, int wordlen)
+static inline void __raw_readsw(unsigned long addr, void *data, int wordlen)
{
uint16_t *buf = (uint16_t *)data;
while(wordlen--)
*buf++ = __arch_getw(addr);
}
-extern inline void __raw_readsl(unsigned long addr, void *data, int longlen)
+static inline void __raw_readsl(unsigned long addr, void *data, int longlen)
{
uint32_t *buf = (uint32_t *)data;
while(longlen--)
diff --git a/common/board_f.c b/common/board_f.c
index f285bad..72b421c 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -78,24 +78,24 @@ DECLARE_GLOBAL_DATA_PTR;
************************************************************************
* May be supplied by boards if desired
*/
-inline void __coloured_LED_init(void) {}
+void __coloured_LED_init(void) {}
void coloured_LED_init(void)
__attribute__((weak, alias("__coloured_LED_init")));
-inline void __red_led_on(void) {}
+void __red_led_on(void) {}
void red_led_on(void) __attribute__((weak, alias("__red_led_on")));
-inline void __red_led_off(void) {}
+void __red_led_off(void) {}
void red_led_off(void) __attribute__((weak, alias("__red_led_off")));
-inline void __green_led_on(void) {}
+void __green_led_on(void) {}
void green_led_on(void) __attribute__((weak, alias("__green_led_on")));
-inline void __green_led_off(void) {}
+void __green_led_off(void) {}
void green_led_off(void) __attribute__((weak, alias("__green_led_off")));
-inline void __yellow_led_on(void) {}
+void __yellow_led_on(void) {}
void yellow_led_on(void) __attribute__((weak, alias("__yellow_led_on")));
-inline void __yellow_led_off(void) {}
+void __yellow_led_off(void) {}
void yellow_led_off(void) __attribute__((weak, alias("__yellow_led_off")));
-inline void __blue_led_on(void) {}
+void __blue_led_on(void) {}
void blue_led_on(void) __attribute__((weak, alias("__blue_led_on")));
-inline void __blue_led_off(void) {}
+void __blue_led_off(void) {}
void blue_led_off(void) __attribute__((weak, alias("__blue_led_off")));
/*
diff --git a/common/main.c b/common/main.c
index 8b6f274..3312b90 100644
--- a/common/main.c
+++ b/common/main.c
@@ -27,7 +27,7 @@ DECLARE_GLOBAL_DATA_PTR;
/*
* Board-specific Platform code can reimplement show_boot_progress () if needed
*/
-void inline __show_boot_progress (int val) {}
+void __show_boot_progress (int val) {}
void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress")));
#define MAX_DELAY_STOP_STR 32
diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h
new file mode 100644
index 0000000..c8c5659
--- /dev/null
+++ b/include/linux/compiler-gcc5.h
@@ -0,0 +1,65 @@
+#ifndef __LINUX_COMPILER_H
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
+#endif
+
+#define __used __attribute__((__used__))
+#define __must_check __attribute__((warn_unused_result))
+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
+
+/* Mark functions as cold. gcc will assume any path leading to a call
+ to them will be unlikely. This means a lot of manual unlikely()s
+ are unnecessary now for any paths leading to the usual suspects
+ like BUG(), printk(), panic() etc. [but let's keep them for now for
+ older compilers]
+
+ Early snapshots of gcc 4.3 don't support this and we can't detect this
+ in the preprocessor, but we can live with this because they're unreleased.
+ Maketime probing would be overkill here.
+
+ gcc also has a __attribute__((__hot__)) to move hot functions into
+ a special section, but I don't see any sense in this right now in
+ the kernel context */
+#define __cold __attribute__((__cold__))
+
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
+
+#ifndef __CHECKER__
+# define __compiletime_warning(message) __attribute__((warning(message)))
+# define __compiletime_error(message) __attribute__((error(message)))
+#endif /* __CHECKER__ */
+
+/*
+ * Mark a position in code as unreachable. This can be used to
+ * suppress control flow warnings after asm blocks that transfer
+ * control elsewhere.
+ *
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
+ * this in the preprocessor, but we can live with this because they're
+ * unreleased. Really, we need to have autoconf for the kernel.
+ */
+#define unreachable() __builtin_unreachable()
+
+/* Mark a function definition as prohibited from being cloned. */
+#define __noclone __attribute__((__noclone__))
+
+/*
+ * Tell the optimizer that something else uses this function or variable.
+ */
+#define __visible __attribute__((externally_visible))
+
+/*
+ * GCC 'asm goto' miscompiles certain code sequences:
+ *
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
+ *
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
+ *
+ * (asm goto is automatically volatile - the naming reflects this.)
+ */
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
+
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
+#define __HAVE_BUILTIN_BSWAP32__
+#define __HAVE_BUILTIN_BSWAP64__
+#define __HAVE_BUILTIN_BSWAP16__
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
--
2.6.0.rc3

View File

@ -1,69 +0,0 @@
diff -urN git-ORIG/include/linux/compiler-gcc6.h git/include/linux/compiler-gcc6.h
--- git-ORIG/include/linux/compiler-gcc6.h 1969-12-31 19:00:00.000000000 -0500
+++ git/include/linux/compiler-gcc6.h 2017-04-09 19:50:16.920945874 -0400
@@ -0,0 +1,65 @@
+#ifndef __LINUX_COMPILER_H
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
+#endif
+
+#define __used __attribute__((__used__))
+#define __must_check __attribute__((warn_unused_result))
+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
+
+/* Mark functions as cold. gcc will assume any path leading to a call
+ to them will be unlikely. This means a lot of manual unlikely()s
+ are unnecessary now for any paths leading to the usual suspects
+ like BUG(), printk(), panic() etc. [but let's keep them for now for
+ older compilers]
+
+ Early snapshots of gcc 4.3 don't support this and we can't detect this
+ in the preprocessor, but we can live with this because they're unreleased.
+ Maketime probing would be overkill here.
+
+ gcc also has a __attribute__((__hot__)) to move hot functions into
+ a special section, but I don't see any sense in this right now in
+ the kernel context */
+#define __cold __attribute__((__cold__))
+
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
+
+#ifndef __CHECKER__
+# define __compiletime_warning(message) __attribute__((warning(message)))
+# define __compiletime_error(message) __attribute__((error(message)))
+#endif /* __CHECKER__ */
+
+/*
+ * Mark a position in code as unreachable. This can be used to
+ * suppress control flow warnings after asm blocks that transfer
+ * control elsewhere.
+ *
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
+ * this in the preprocessor, but we can live with this because they're
+ * unreleased. Really, we need to have autoconf for the kernel.
+ */
+#define unreachable() __builtin_unreachable()
+
+/* Mark a function definition as prohibited from being cloned. */
+#define __noclone __attribute__((__noclone__))
+
+/*
+ * Tell the optimizer that something else uses this function or variable.
+ */
+#define __visible __attribute__((externally_visible))
+
+/*
+ * GCC 'asm goto' miscompiles certain code sequences:
+ *
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
+ *
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
+ *
+ * (asm goto is automatically volatile - the naming reflects this.)
+ */
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
+
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
+#define __HAVE_BUILTIN_BSWAP32__
+#define __HAVE_BUILTIN_BSWAP64__
+#define __HAVE_BUILTIN_BSWAP16__
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */

View File

@ -1,24 +0,0 @@
From bc4aa5814cbedbfaa1c79dfe7ea2571fee7f2d51 Mon Sep 17 00:00:00 2001
From: Andrey Lebedev <andrey@lebedev.lt>
Date: Wed, 22 Jan 2020 20:00:11 +0200
Subject: [PATCH] No gcc version-specific includes
In order to support gcc-5 and above. Fixes compilation errors like
linux/compiler-gcc9.h: No such file or directory
---
include/linux/compiler-gcc.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index 9896e547b9..5f0bd65f3a 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -90,4 +90,3 @@
#define __gcc_header(x) #x
#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
#define gcc_header(x) _gcc_header(x)
-#include gcc_header(__GNUC__)
--
2.20.1

View File

@ -1,39 +0,0 @@
FILESEXTRAPATHS:prepend:sunxi := "${THISDIR}/files:"
DEPENDS:append:sunxi = " bc-native dtc-native swig-native python3-native flex-native bison-native "
DEPENDS:append:sun50i = " trusted-firmware-a"
COMPATIBLE_MACHINE:sunxi = "(sun4i|sun5i|sun7i|sun8i|sun9i|sun50i)"
DEFAULT_PREFERENCE:sun4i = "1"
DEFAULT_PREFERENCE:sun5i = "1"
DEFAULT_PREFERENCE:sun7i = "1"
DEFAULT_PREFERENCE:sun8i = "1"
DEFAULT_PREFERENCE:sun50i = "1"
SRC_URI:append:sunxi = " \
file://0001-nanopi_neo_air_defconfig-Enable-eMMC-support.patch \
file://0002-Added-nanopi-r1-board-support.patch \
file://0003-sunxi-H6-Enable-Ethernet-on-Orange-Pi-One-Plus.patch \
file://0004-OrangePi-3-LTS-support.patch \
file://boot.cmd \
"
SRC_URI:append:sun9i = " \
file://0001-sunxi-board-Fix-early-PMIC-setup-conditions.patch \
"
SRC_URI:append:mangopi-mq-t-t113 = " \
file://0004-mangopi-mq-r-t113-Fix-serial-console.patch \
"
UBOOT_ENV_SUFFIX:sunxi = "scr"
UBOOT_ENV:sunxi = "boot"
EXTRA_OEMAKE:append:sunxi = ' HOSTLDSHARED="${BUILD_CC} -shared ${BUILD_LDFLAGS} ${BUILD_CFLAGS}" '
EXTRA_OEMAKE:append:sun50i = " BL31=${DEPLOY_DIR_IMAGE}/bl31.bin SCP=/dev/null"
do_compile:sun50i[depends] += "trusted-firmware-a:do_deploy"
do_compile:append:sunxi() {
${B}/tools/mkimage -C none -A arm -T script -d ${UNPACKDIR}/boot.cmd ${UNPACKDIR}/${UBOOT_ENV_BINARY}
}

View File

@ -0,0 +1,23 @@
require recipes-bsp/u-boot/u-boot.inc
LICENSE = "GPL"
# No patches for other machines yet
COMPATIBLE_MACHINE = "(mele|olinuxino-a13|cubieboard)"
DEFAULT_PREFERENCE_mele= "1"
DEFAULT_PREFERENCE_olinuxino-a13= "1"
DEFAULT_PREFERENCE_cubieboard="1"
SRC_URI = "git://github.com/linux-sunxi/u-boot-sunxi.git;protocol=git;branch=sunxi"
SRCREV = "7aa9f04f571247a6bb999c168b49e09f05b86465"
PR = "r5"
LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb"
S = "${WORKDIR}/git"
do_install_prepend() {
cp ${S}/spl/sunxi-spl.bin ${S}
}

View File

@ -1,221 +0,0 @@
/*
*
* This file is part of pyA10Lime.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA10Lime is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD16", SUNXI_GPD(16), 5 },
{ "PD17", SUNXI_GPD(17), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD8", SUNXI_GPD(8), 13 },
{ "PD9", SUNXI_GPD(9), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD0", SUNXI_GPD(0), 21 },
{ "PD1", SUNXI_GPD(1), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PH8", SUNXI_GPH(8), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio1",
{
{ "PG0", SUNXI_GPG(0), 5 },
{ "PG1", SUNXI_GPG(1), 7 },
{ "PG2", SUNXI_GPG(2), 9 },
{ "PG3", SUNXI_GPG(3), 11 },
{ "PG4", SUNXI_GPG(4), 13 },
{ "PG5", SUNXI_GPG(5), 15 },
{ "PG6", SUNXI_GPG(6), 17 },
{ "PG7", SUNXI_GPG(7), 19 },
{ "PG8", SUNXI_GPG(8), 21 },
{ "PG9", SUNXI_GPG(9), 23 },
{ "PG10", SUNXI_GPG(10), 25 },
{ "PG11", SUNXI_GPG(11), 27 },
{ "PC3", SUNXI_GPC(3), 29 },
{ "PC18", SUNXI_GPC(18), 31 },
{ "PC19", SUNXI_GPC(19), 33 },
{ "PC20", SUNXI_GPC(20), 35 },
{ "PC21", SUNXI_GPC(21), 37 },
{ "PC22", SUNXI_GPC(22), 39 },
{ "PC23", SUNXI_GPC(23), 40 },
{ "PC24", SUNXI_GPC(24), 38 },
{ "PB18", SUNXI_GPB(18), 36 },
{ "PB19", SUNXI_GPB(19), 34 },
{ "PB20", SUNXI_GPB(20), 32 },
{ "PB21", SUNXI_GPB(21), 30 },
{
{ 0, 0, 0}
},
}
},
{"gpio2",
{
{ "PI0", SUNXI_GPI(0), 9 },
{ "PI1", SUNXI_GPI(1), 11 },
{ "PI2", SUNXI_GPI(2), 13 },
{ "PI3", SUNXI_GPI(3), 15 },
{ "PI4", SUNXI_GPI(4), 17 },
{ "PI5", SUNXI_GPI(5), 19 },
{ "PI6", SUNXI_GPI(6), 21 },
{ "PI7", SUNXI_GPI(7), 23 },
{ "PI8", SUNXI_GPI(8), 25 },
{ "PI9", SUNXI_GPI(9), 27 },
{ "PI10", SUNXI_GPI(10), 29 },
{ "PI11", SUNXI_GPI(11), 31 },
{ "PI12", SUNXI_GPI(12), 33 },
{ "PI13", SUNXI_GPI(13), 35 },
{ "PI14", SUNXI_GPI(14), 37 },
{ "PI15", SUNXI_GPI(15), 39 },
{ "PI16", SUNXI_GPI(16), 40 },
{ "PI17", SUNXI_GPI(17), 38 },
{ "PI18", SUNXI_GPI(18), 36 },
{ "PI19", SUNXI_GPI(19), 34 },
{ "PI20", SUNXI_GPI(20), 32 },
{ "PI21", SUNXI_GPI(21), 30 },
{ "PE0", SUNXI_GPE(0), 6 },
{ "PE1", SUNXI_GPE(1), 8 },
{ "PE2", SUNXI_GPE(2), 10 },
{ "PE3", SUNXI_GPE(3), 12 },
{ "PE4", SUNXI_GPE(4), 14 },
{ "PE5", SUNXI_GPE(5), 16 },
{ "PE6", SUNXI_GPE(6), 18 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PE8", SUNXI_GPE(8), 22 },
{ "PE9", SUNXI_GPE(9), 24 },
{ "PE10", SUNXI_GPE(10), 26 },
{ "PE11", SUNXI_GPE(11), 28 },
{
{ 0, 0, 0}
},
}
},
{"gpio3",
{
{ "PH0", SUNXI_GPH(0), 7 },
{ "PH7", SUNXI_GPH(7), 9 },
{ "PH9", SUNXI_GPH(9), 11 },
{ "PH10", SUNXI_GPH(10), 13 },
{ "PH11", SUNXI_GPH(11), 15 },
{ "PH12", SUNXI_GPH(12), 17 },
{ "PH13", SUNXI_GPH(13), 19 },
{ "PH14", SUNXI_GPH(14), 21 },
{ "PH15", SUNXI_GPH(15), 23 },
{ "PH16", SUNXI_GPH(16), 25 },
{ "PH17", SUNXI_GPH(17), 27 },
{ "PH18", SUNXI_GPH(18), 29 },
{ "PH19", SUNXI_GPH(19), 31 },
{ "PH20", SUNXI_GPH(20), 33 },
{ "PH21", SUNXI_GPH(21), 35 },
{ "PH22", SUNXI_GPH(22), 37 },
{ "PH23", SUNXI_GPH(23), 39 },
{ "PH24", SUNXI_GPH(24), 34 },
{ "PH25", SUNXI_GPH(25), 36 },
{ "PH26", SUNXI_GPH(26), 38 },
{ "PH27", SUNXI_GPH(27), 40 },
{ "PB3", SUNXI_GPB(3), 6 },
{ "PB4", SUNXI_GPB(4), 8 },
{ "PB5", SUNXI_GPB(5), 10 },
{ "PB6", SUNXI_GPB(6), 12 },
{ "PB7", SUNXI_GPB(7), 14 },
{ "PB8", SUNXI_GPB(8), 16 },
{ "PB10", SUNXI_GPB(10), 18 },
{ "PB11", SUNXI_GPB(11), 20 },
{ "PB12", SUNXI_GPB(12), 22 },
{ "PB13", SUNXI_GPB(13), 24 },
{ "PB14", SUNXI_GPB(14), 26 },
{ "PB15", SUNXI_GPB(15), 28 },
{ "PB16", SUNXI_GPB(16), 30 },
{ "PB17", SUNXI_GPB(17), 32 },
{
{ 0, 0, 0}
},
}
},
{"gpio4",
{
{ "PC7", SUNXI_GPC(7), 16 },
{ "PC16", SUNXI_GPC(16), 18 },
{ "PC17", SUNXI_GPC(17), 20 },
{
{ 0, 0, 0}
},
}
},
{"led",
{
{ "PH2", SUNXI_GPH(2), 1},
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -1,221 +0,0 @@
/*
*
* This file is part of pyA10Lime.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA10Lime is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD16", SUNXI_GPD(16), 5 },
{ "PD17", SUNXI_GPD(17), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD8", SUNXI_GPD(8), 13 },
{ "PD9", SUNXI_GPD(9), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD0", SUNXI_GPD(0), 21 },
{ "PD1", SUNXI_GPD(1), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PH8", SUNXI_GPH(8), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio1",
{
{ "PG0", SUNXI_GPG(0), 5 },
{ "PG1", SUNXI_GPG(1), 7 },
{ "PG2", SUNXI_GPG(2), 9 },
{ "PG3", SUNXI_GPG(3), 11 },
{ "PG4", SUNXI_GPG(4), 13 },
{ "PG5", SUNXI_GPG(5), 15 },
{ "PG6", SUNXI_GPG(6), 17 },
{ "PG7", SUNXI_GPG(7), 19 },
{ "PG8", SUNXI_GPG(8), 21 },
{ "PG9", SUNXI_GPG(9), 23 },
{ "PG10", SUNXI_GPG(10), 25 },
{ "PG11", SUNXI_GPG(11), 27 },
{ "PC3", SUNXI_GPC(3), 29 },
{ "PC18", SUNXI_GPC(18), 31 },
{ "PC19", SUNXI_GPC(19), 33 },
{ "PC20", SUNXI_GPC(20), 35 },
{ "PC21", SUNXI_GPC(21), 37 },
{ "PC22", SUNXI_GPC(22), 39 },
{ "PC23", SUNXI_GPC(23), 40 },
{ "PC24", SUNXI_GPC(24), 38 },
{ "PB18", SUNXI_GPB(18), 36 },
{ "PB19", SUNXI_GPB(19), 34 },
{ "PB20", SUNXI_GPB(20), 32 },
{ "PB21", SUNXI_GPB(21), 30 },
{
{ 0, 0, 0}
},
}
},
{"gpio2",
{
{ "PI0", SUNXI_GPI(0), 9 },
{ "PI1", SUNXI_GPI(1), 11 },
{ "PI2", SUNXI_GPI(2), 13 },
{ "PI3", SUNXI_GPI(3), 15 },
{ "PI4", SUNXI_GPI(4), 17 },
{ "PI5", SUNXI_GPI(5), 19 },
{ "PI6", SUNXI_GPI(6), 21 },
{ "PI7", SUNXI_GPI(7), 23 },
{ "PI8", SUNXI_GPI(8), 25 },
{ "PI9", SUNXI_GPI(9), 27 },
{ "PI10", SUNXI_GPI(10), 29 },
{ "PI11", SUNXI_GPI(11), 31 },
{ "PI12", SUNXI_GPI(12), 33 },
{ "PI13", SUNXI_GPI(13), 35 },
{ "PI14", SUNXI_GPI(14), 37 },
{ "PI15", SUNXI_GPI(15), 39 },
{ "PI16", SUNXI_GPI(16), 40 },
{ "PI17", SUNXI_GPI(17), 38 },
{ "PI18", SUNXI_GPI(18), 36 },
{ "PI19", SUNXI_GPI(19), 34 },
{ "PI20", SUNXI_GPI(20), 32 },
{ "PI21", SUNXI_GPI(21), 30 },
{ "PE0", SUNXI_GPE(0), 6 },
{ "PE1", SUNXI_GPE(1), 8 },
{ "PE2", SUNXI_GPE(2), 10 },
{ "PE3", SUNXI_GPE(3), 12 },
{ "PE4", SUNXI_GPE(4), 14 },
{ "PE5", SUNXI_GPE(5), 16 },
{ "PE6", SUNXI_GPE(6), 18 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PE8", SUNXI_GPE(8), 22 },
{ "PE9", SUNXI_GPE(9), 24 },
{ "PE10", SUNXI_GPE(10), 26 },
{ "PE11", SUNXI_GPE(11), 28 },
{
{ 0, 0, 0}
},
}
},
{"gpio3",
{
{ "PH0", SUNXI_GPH(0), 7 },
{ "PH7", SUNXI_GPH(7), 9 },
{ "PH9", SUNXI_GPH(9), 11 },
{ "PH10", SUNXI_GPH(10), 13 },
{ "PH11", SUNXI_GPH(11), 15 },
{ "PH12", SUNXI_GPH(12), 17 },
{ "PH13", SUNXI_GPH(13), 19 },
{ "PH14", SUNXI_GPH(14), 21 },
{ "PH15", SUNXI_GPH(15), 23 },
{ "PH16", SUNXI_GPH(16), 25 },
{ "PH17", SUNXI_GPH(17), 27 },
{ "PH18", SUNXI_GPH(18), 29 },
{ "PH19", SUNXI_GPH(19), 31 },
{ "PH20", SUNXI_GPH(20), 33 },
{ "PH21", SUNXI_GPH(21), 35 },
{ "PH22", SUNXI_GPH(22), 37 },
{ "PH23", SUNXI_GPH(23), 39 },
{ "PH24", SUNXI_GPH(24), 34 },
{ "PH25", SUNXI_GPH(25), 36 },
{ "PH26", SUNXI_GPH(26), 38 },
{ "PH27", SUNXI_GPH(27), 40 },
{ "PB3", SUNXI_GPB(3), 6 },
{ "PB4", SUNXI_GPB(4), 8 },
{ "PB5", SUNXI_GPB(5), 10 },
{ "PB6", SUNXI_GPB(6), 12 },
{ "PB7", SUNXI_GPB(7), 14 },
{ "PB8", SUNXI_GPB(8), 16 },
{ "PB10", SUNXI_GPB(10), 18 },
{ "PB11", SUNXI_GPB(11), 20 },
{ "PB12", SUNXI_GPB(12), 22 },
{ "PB13", SUNXI_GPB(13), 24 },
{ "PB14", SUNXI_GPB(14), 26 },
{ "PB15", SUNXI_GPB(15), 28 },
{ "PB16", SUNXI_GPB(16), 30 },
{ "PB17", SUNXI_GPB(17), 32 },
{
{ 0, 0, 0}
},
}
},
{"gpio4",
{
{ "PC7", SUNXI_GPC(7), 16 },
{ "PC16", SUNXI_GPC(16), 18 },
{ "PC17", SUNXI_GPC(17), 20 },
{
{ 0, 0, 0}
},
}
},
{"led",
{
{ "PH2", SUNXI_GPH(2), 1},
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -1,146 +0,0 @@
/*
*
* This file is part of pyA13.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA13 is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD18", SUNXI_GPD(18), 5 },
{ "PD18", SUNXI_GPD(18), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD10", SUNXI_GPD(10), 13 },
{ "PD10", SUNXI_GPD(10), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD2", SUNXI_GPD(2), 21 },
{ "PD2", SUNXI_GPD(2), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PB3", SUNXI_GPB(3), 33 },
{ "PB4", SUNXI_GPB(4), 34 },
{ "PB10", SUNXI_GPB(10), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio2",
{
{ "PB0", SUNXI_GPB(0), 5 },
{ "PG11", SUNXI_GPG(11), 6 },
{ "PB1", SUNXI_GPB(1), 7 },
{ "PG10", SUNXI_GPG(10), 8 },
{ "PB2", SUNXI_GPB(2), 9 },
{ "PG9", SUNXI_GPG(9), 10 },
{ "PB3", SUNXI_GPB(3), 11 },
{ "PE11", SUNXI_GPE(11), 12 },
{ "PB4", SUNXI_GPB(4), 13 },
{ "PE10", SUNXI_GPE(10), 14 },
{ "PB10", SUNXI_GPB(10), 15 },
{ "PE9", SUNXI_GPE(9), 16 },
{ "PB15", SUNXI_GPB(15), 17 },
{ "PE8", SUNXI_GPE(8), 18 },
{ "PB16", SUNXI_GPB(16), 19 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PC0", SUNXI_GPC(0), 21 },
{ "PE6", SUNXI_GPE(6), 22 },
{ "PC1", SUNXI_GPC(1), 23 },
{ "PE5", SUNXI_GPE(5), 24 },
{ "PC2", SUNXI_GPC(2), 25 },
{ "PE4", SUNXI_GPE(4), 26 },
{ "PC3", SUNXI_GPC(3), 27 },
{ "PC19", SUNXI_GPC(19), 28 },
{ "PC4", SUNXI_GPC(4), 29 },
{ "PC15", SUNXI_GPC(15), 30 },
{ "PC5", SUNXI_GPC(5), 31 },
{ "PC14", SUNXI_GPC(14), 32 },
{ "PC6", SUNXI_GPC(6), 33 },
{ "PC13", SUNXI_GPC(13), 34 },
{ "PC7", SUNXI_GPC(7), 35 },
{ "PC12", SUNXI_GPC(12), 36 },
{ "PC8", SUNXI_GPC(8), 37 },
{ "PC11", SUNXI_GPC(11), 38 },
{ "PC9", SUNXI_GPC(9), 39 },
{ "PC10", SUNXI_GPC(10), 40 },
{
{ 0, 0, 0}
},
}
},
{"uext",
{
{ "PG3", SUNXI_GPG(3), 3 },
{ "PG3", SUNXI_GPG(4), 4 },
{ "PB17", SUNXI_GPB(17), 5 },
{ "PB18", SUNXI_GPB(18), 6 },
{ "PE3", SUNXI_GPE(3), 7 },
{ "PE2", SUNXI_GPE(2), 8 },
{ "PE1", SUNXI_GPE(1), 9 },
{ "PE0", SUNXI_GPE(0), 10 },
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -1,147 +0,0 @@
/*
*
* This file is part of pyA13SOM.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA13SOM is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD18", SUNXI_GPD(18), 5 },
{ "PD18", SUNXI_GPD(18), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD10", SUNXI_GPD(10), 13 },
{ "PD10", SUNXI_GPD(10), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD2", SUNXI_GPD(2), 21 },
{ "PD2", SUNXI_GPD(2), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PB3", SUNXI_GPB(3), 33 },
{ "PB4", SUNXI_GPB(4), 34 },
{ "PB10", SUNXI_GPB(10), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio1",
{
{ "PB0", SUNXI_GPB(0), 5 },
{ "PG11", SUNXI_GPG(11), 6 },
{ "PB1", SUNXI_GPB(1), 7 },
{ "PG10", SUNXI_GPG(10), 8 },
{ "PB2", SUNXI_GPB(2), 9 },
{ "PG9", SUNXI_GPG(9), 10 },
{ "PB3", SUNXI_GPB(3), 11 },
{ "PE11", SUNXI_GPE(11), 12 },
{ "PB4", SUNXI_GPB(4), 13 },
{ "PE10", SUNXI_GPE(10), 14 },
{ "PB10", SUNXI_GPB(10), 15 },
{ "PE9", SUNXI_GPE(9), 16 },
{ "PB15", SUNXI_GPB(15), 17 },
{ "PE8", SUNXI_GPE(8), 18 },
{ "PB16", SUNXI_GPB(16), 19 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PC0", SUNXI_GPC(0), 21 },
{ "PE6", SUNXI_GPE(6), 22 },
{ "PC1", SUNXI_GPC(1), 23 },
{ "PE5", SUNXI_GPE(5), 24 },
{ "PC2", SUNXI_GPC(2), 25 },
{ "PE4", SUNXI_GPE(4), 26 },
{ "PC3", SUNXI_GPC(3), 27 },
{ "PC19", SUNXI_GPC(19), 28 },
{ "PC4", SUNXI_GPC(4), 29 },
{ "PC15", SUNXI_GPC(15), 30 },
{ "PC5", SUNXI_GPC(5), 31 },
{ "PC14", SUNXI_GPC(14), 32 },
{ "PC6", SUNXI_GPC(6), 33 },
{ "PC13", SUNXI_GPC(13), 34 },
{ "PC7", SUNXI_GPC(7), 35 },
{ "PC12", SUNXI_GPC(12), 36 },
{ "PC8", SUNXI_GPC(8), 37 },
{ "PC11", SUNXI_GPC(11), 38 },
{ "PC9", SUNXI_GPC(9), 39 },
{ "PC10", SUNXI_GPC(10), 40 },
{
{ 0, 0, 0}
},
}
},
{"gpio3",
{
{ "PE0", SUNXI_GPE(0), 1 },
{ "PG1", SUNXI_GPG(1), 2 },
{ "PE1", SUNXI_GPE(1), 3 },
{ "PG2", SUNXI_GPG(2), 4 },
{ "PE2", SUNXI_GPE(2), 5 },
{ "PG12", SUNXI_GPG(12), 6 },
{ "PE3", SUNXI_GPE(3), 7 },
{ "PB17", SUNXI_GPB(17), 8 },
{ "PB18", SUNXI_GPB(18), 10 },
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -1,303 +0,0 @@
/*
*
* This file is part of pyA20.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA20 is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD16", SUNXI_GPD(16), 5 },
{ "PD17", SUNXI_GPD(17), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD8", SUNXI_GPD(8), 13 },
{ "PD9", SUNXI_GPD(9), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD0", SUNXI_GPD(0), 21 },
{ "PD1", SUNXI_GPD(1), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PH8", SUNXI_GPH(8), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
/*
#define PIN_PG0 SUNXI_GPG(0)
#define PIN_PG1 SUNXI_GPG(1)
#define PIN_PG2 SUNXI_GPG(2)
#define PIN_PG3 SUNXI_GPG(3)
#define PIN_PG4 SUNXI_GPG(4)
#define PIN_PG5 SUNXI_GPG(5)
#define PIN_PG6 SUNXI_GPG(6)
#define PIN_PG7 SUNXI_GPG(7)
#define PIN_PG8 SUNXI_GPG(8)
#define PIN_PG9 SUNXI_GPG(9)
#define PIN_PG10 SUNXI_GPG(10)
#define PIN_PG11 SUNXI_GPG(11)
*/ {"gpio1",
{
{ "PG0", SUNXI_GPG(0), 5 },
{ "PG1", SUNXI_GPG(0), 7 },
{ "PG2", SUNXI_GPG(0), 9 },
{ "PG3", SUNXI_GPG(0), 11 },
{ "PG4", SUNXI_GPG(0), 13 },
{ "PG5", SUNXI_GPG(0), 15 },
{ "PG6", SUNXI_GPG(0), 17 },
{ "PG7", SUNXI_GPG(0), 19 },
{ "PG8", SUNXI_GPG(0), 21 },
{ "PG9", SUNXI_GPG(0), 23 },
{ "PG10", SUNXI_GPG(0), 25 },
{ "PG11", SUNXI_GPG(0), 27 },
{
{ 0, 0, 0}
},
}
},
/*
//GPIO 2
#define PIN_PE0 SUNXI_GPE(0)
#define PIN_PE1 SUNXI_GPE(1)
#define PIN_PI0 SUNXI_GPI(0)
#define PIN_PE2 SUNXI_GPE(2)
#define PIN_PI1 SUNXI_GPI(1)
#define PIN_PE3 SUNXI_GPE(3)
#define PIN_PI2 SUNXI_GPI(2)
#define PIN_PE4 SUNXI_GPE(4)
#define PIN_PI3 SUNXI_GPI(3)
#define PIN_PE5 SUNXI_GPE(5)
#define PIN_PI10 SUNXI_GPI(10)
#define PIN_PE6 SUNXI_GPE(6)
#define PIN_PI11 SUNXI_GPI(11)
#define PIN_PE7 SUNXI_GPE(7)
#define PIN_PC3 SUNXI_GPC(3)
#define PIN_PE8 SUNXI_GPE(8)
#define PIN_PC7 SUNXI_GPC(7)
#define PIN_PE9 SUNXI_GPE(9)
#define PIN_PC16 SUNXI_GPC(16)
#define PIN_PE10 SUNXI_GPE(10)
#define PIN_PC17 SUNXI_GPC(17)
#define PIN_PE11 SUNXI_GPE(11)
#define PIN_PC18 SUNXI_GPC(18)
#define PIN_PI14 SUNXI_GPI(14)
#define PIN_PC23 SUNXI_GPC(23)
#define PIN_PI15 SUNXI_GPI(15)
#define PIN_PC24 SUNXI_GPC(24)
#define PIN_PB23 SUNXI_GPB(23)
#define PIN_PB22 SUNXI_GPB(22)
*/
{"gpio2",
{
{ "PE0", SUNXI_GPE(0), 6 },
{ "PE1", SUNXI_GPE(1), 8 },
{ "PI0", SUNXI_GPI(0), 9 },
{ "PE2", SUNXI_GPE(2), 10 },
{ "PI1", SUNXI_GPI(1), 11 },
{ "PE3", SUNXI_GPE(3), 12 },
{ "PI2", SUNXI_GPI(2), 13 },
{ "PE4", SUNXI_GPE(4), 14 },
{ "PI3", SUNXI_GPI(3), 15 },
{ "PE5", SUNXI_GPE(5), 16 },
{ "PI10", SUNXI_GPI(10), 17 },
{ "PE6", SUNXI_GPE(6), 18 },
{ "PI11", SUNXI_GPI(11), 19 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PC3", SUNXI_GPC(3), 21 },
{ "PE8", SUNXI_GPE(8), 22 },
{ "PC7", SUNXI_GPC(7), 23 },
{ "PE9", SUNXI_GPE(9), 24 },
{ "PC16", SUNXI_GPC(16), 25 },
{ "PE10", SUNXI_GPE(10), 26 },
{ "PC17", SUNXI_GPC(17), 27 },
{ "PE11", SUNXI_GPE(11), 28 },
{ "PC18", SUNXI_GPC(18), 29 },
{ "PI14", SUNXI_GPI(14), 30 },
{ "PC23", SUNXI_GPC(23), 31 },
{ "PI15", SUNXI_GPI(15), 32 },
{ "PC24", SUNXI_GPC(24), 33 },
{ "PB23", SUNXI_GPB(23), 34 },
{ "PB22", SUNXI_GPB(22), 36 },
{
{ 0, 0, 0}
},
}
},
/*
//GPIO 3
#define PIN_PH0 SUNXI_GPH(0)
#define PIN_PB3 SUNXI_GPB(3)
#define PIN_PH2 SUNXI_GPH(2)
#define PIN_PB4 SUNXI_GPB(4)
#define PIN_PH7 SUNXI_GPH(7)
#define PIN_PB5 SUNXI_GPB(5)
#define PIN_PH9 SUNXI_GPH(9)
#define PIN_PB6 SUNXI_GPB(6)
#define PIN_PH10 SUNXI_GPH(10)
#define PIN_PB7 SUNXI_GPB(7)
#define PIN_PH11 SUNXI_GPH(11)
#define PIN_PB8 SUNXI_GPB(8)
#define PIN_PH12 SUNXI_GPH(12)
#define PIN_PB10 SUNXI_GPB(10)
#define PIN_PH13 SUNXI_GPH(13)
#define PIN_PB11 SUNXI_GPB(11)
#define PIN_PH14 SUNXI_GPH(14)
#define PIN_PB12 SUNXI_GPB(12)
#define PIN_PH15 SUNXI_GPH(15)
#define PIN_PB13 SUNXI_GPB(13)
#define PIN_PH16 SUNXI_GPH(16)
#define PIN_PB14 SUNXI_GPB(14)
#define PIN_PH17 SUNXI_GPH(17)
#define PIN_PB15 SUNXI_GPB(15)
#define PIN_PH18 SUNXI_GPH(18)
#define PIN_PB16 SUNXI_GPB(16)
#define PIN_PH19 SUNXI_GPH(19)
#define PIN_PB17 SUNXI_GPB(17)
#define PIN_PH20 SUNXI_GPH(20)
#define PIN_PH24 SUNXI_GPH(24)
#define PIN_PH21 SUNXI_GPH(21)
#define PIN_PH25 SUNXI_GPH(25)
#define PIN_PH22 SUNXI_GPH(22)
#define PIN_PH26 SUNXI_GPH(26)
#define PIN_PH23 SUNXI_GPH(23)
#define PIN_PH27 SUNXI_GPH(27)
*/
{"gpio3",
{
{ "PH0", SUNXI_GPH(0), 5 },
{ "PB3", SUNXI_GPB(3), 6 },
{ "PH2", SUNXI_GPH(2), 7 },
{ "PB4", SUNXI_GPB(4), 8 },
{ "PH7", SUNXI_GPH(7), 9 },
{ "PB5", SUNXI_GPB(5), 10 },
{ "PH9", SUNXI_GPH(9), 11 },
{ "PB6", SUNXI_GPB(6), 12 },
{ "PH10", SUNXI_GPH(10), 13 },
{ "PB7", SUNXI_GPB(7), 14 },
{ "PH11", SUNXI_GPH(11), 15 },
{ "PB8", SUNXI_GPB(8), 16 },
{ "PH12", SUNXI_GPH(12), 17 },
{ "PB10", SUNXI_GPB(10), 18 },
{ "PH13", SUNXI_GPH(13), 19 },
{ "PB11", SUNXI_GPB(11), 20 },
{ "PH14", SUNXI_GPH(14), 21 },
{ "PB12", SUNXI_GPB(12), 22 },
{ "PH15", SUNXI_GPH(15), 23 },
{ "PB13", SUNXI_GPB(13), 24 },
{ "PH16", SUNXI_GPH(16), 25 },
{ "PB14", SUNXI_GPB(14), 26 },
{ "PH17", SUNXI_GPH(17), 27 },
{ "PB15", SUNXI_GPB(15), 28 },
{ "PH18", SUNXI_GPH(18), 29 },
{ "PB16", SUNXI_GPB(16), 30 },
{ "PH19", SUNXI_GPH(19), 31 },
{ "PB17", SUNXI_GPB(17), 32 },
{ "PH20", SUNXI_GPH(20), 33 },
{ "PH24", SUNXI_GPH(24), 34 },
{ "PH21", SUNXI_GPH(21), 35 },
{ "PH25", SUNXI_GPH(25), 36 },
{ "PH22", SUNXI_GPH(22), 37 },
{ "PH26", SUNXI_GPH(26), 38 },
{ "PH23", SUNXI_GPH(23), 39 },
{ "PH27", SUNXI_GPH(27), 40 },
{
{ 0, 0, 0}
},
}
},
{"uext1",
{
{ "PI12", SUNXI_GPI(12), 3 },
{ "PI13", SUNXI_GPI(13), 4 },
{ "PB20", SUNXI_GPB(20), 5 },
{ "PB21", SUNXI_GPB(21), 6 },
{ "PC22", SUNXI_GPC(22), 7 },
{ "PC21", SUNXI_GPC(21), 8 },
{ "PC20", SUNXI_GPC(20), 9 },
{ "PC19", SUNXI_GPC(19), 10 },
{
{ 0, 0, 0}
},
}
},
{"uext2",
{
{ "PI20", SUNXI_GPI(20), 3 },
{ "PI21", SUNXI_GPI(21), 4 },
{ "PB18", SUNXI_GPB(18), 5 },
{ "PB19", SUNXI_GPB(19), 6 },
{ "PI19", SUNXI_GPI(19), 7 },
{ "PI18", SUNXI_GPI(18), 8 },
{ "PI17", SUNXI_GPI(17), 9 },
{ "PI16", SUNXI_GPI(16), 10 },
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -1,221 +0,0 @@
/*
*
* This file is part of pyA20Lime.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA20Lime is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD16", SUNXI_GPD(16), 5 },
{ "PD17", SUNXI_GPD(17), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD8", SUNXI_GPD(8), 13 },
{ "PD9", SUNXI_GPD(9), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD0", SUNXI_GPD(0), 21 },
{ "PD1", SUNXI_GPD(1), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PH8", SUNXI_GPH(8), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio1",
{
{ "PG0", SUNXI_GPG(0), 5 },
{ "PG1", SUNXI_GPG(1), 7 },
{ "PG2", SUNXI_GPG(2), 9 },
{ "PG3", SUNXI_GPG(3), 11 },
{ "PG4", SUNXI_GPG(4), 13 },
{ "PG5", SUNXI_GPG(5), 15 },
{ "PG6", SUNXI_GPG(6), 17 },
{ "PG7", SUNXI_GPG(7), 19 },
{ "PG8", SUNXI_GPG(8), 21 },
{ "PG9", SUNXI_GPG(9), 23 },
{ "PG10", SUNXI_GPG(10), 25 },
{ "PG11", SUNXI_GPG(11), 27 },
{ "PC3", SUNXI_GPC(3), 29 },
{ "PC18", SUNXI_GPC(18), 31 },
{ "PC19", SUNXI_GPC(19), 33 },
{ "PC20", SUNXI_GPC(20), 35 },
{ "PC21", SUNXI_GPC(21), 37 },
{ "PC22", SUNXI_GPC(22), 39 },
{ "PC23", SUNXI_GPC(23), 40 },
{ "PC24", SUNXI_GPC(24), 38 },
{ "PB18", SUNXI_GPB(18), 36 },
{ "PB19", SUNXI_GPB(19), 34 },
{ "PB20", SUNXI_GPB(20), 32 },
{ "PB21", SUNXI_GPB(21), 30 },
{
{ 0, 0, 0}
},
}
},
{"gpio2",
{
{ "PI0", SUNXI_GPI(0), 9 },
{ "PI1", SUNXI_GPI(1), 11 },
{ "PI2", SUNXI_GPI(2), 13 },
{ "PI3", SUNXI_GPI(3), 15 },
{ "PI4", SUNXI_GPI(4), 17 },
{ "PI5", SUNXI_GPI(5), 19 },
{ "PI6", SUNXI_GPI(6), 21 },
{ "PI7", SUNXI_GPI(7), 23 },
{ "PI8", SUNXI_GPI(8), 25 },
{ "PI9", SUNXI_GPI(9), 27 },
{ "PI10", SUNXI_GPI(10), 29 },
{ "PI11", SUNXI_GPI(11), 31 },
{ "PI12", SUNXI_GPI(12), 33 },
{ "PI13", SUNXI_GPI(13), 35 },
{ "PI14", SUNXI_GPI(14), 37 },
{ "PI15", SUNXI_GPI(15), 39 },
{ "PI16", SUNXI_GPI(16), 40 },
{ "PI17", SUNXI_GPI(17), 38 },
{ "PI18", SUNXI_GPI(18), 36 },
{ "PI19", SUNXI_GPI(19), 34 },
{ "PI20", SUNXI_GPI(20), 32 },
{ "PI21", SUNXI_GPI(21), 30 },
{ "PE0", SUNXI_GPE(0), 6 },
{ "PE1", SUNXI_GPE(1), 8 },
{ "PE2", SUNXI_GPE(2), 10 },
{ "PE3", SUNXI_GPE(3), 12 },
{ "PE4", SUNXI_GPE(4), 14 },
{ "PE5", SUNXI_GPE(5), 16 },
{ "PE6", SUNXI_GPE(6), 18 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PE8", SUNXI_GPE(8), 22 },
{ "PE9", SUNXI_GPE(9), 24 },
{ "PE10", SUNXI_GPE(10), 26 },
{ "PE11", SUNXI_GPE(11), 28 },
{
{ 0, 0, 0}
},
}
},
{"gpio3",
{
{ "PH0", SUNXI_GPH(0), 7 },
{ "PH7", SUNXI_GPH(7), 9 },
{ "PH9", SUNXI_GPH(9), 11 },
{ "PH10", SUNXI_GPH(10), 13 },
{ "PH11", SUNXI_GPH(11), 15 },
{ "PH12", SUNXI_GPH(12), 17 },
{ "PH13", SUNXI_GPH(13), 19 },
{ "PH14", SUNXI_GPH(14), 21 },
{ "PH15", SUNXI_GPH(15), 23 },
{ "PH16", SUNXI_GPH(16), 25 },
{ "PH17", SUNXI_GPH(17), 27 },
{ "PH18", SUNXI_GPH(18), 29 },
{ "PH19", SUNXI_GPH(19), 31 },
{ "PH20", SUNXI_GPH(20), 33 },
{ "PH21", SUNXI_GPH(21), 35 },
{ "PH22", SUNXI_GPH(22), 37 },
{ "PH23", SUNXI_GPH(23), 39 },
{ "PH24", SUNXI_GPH(24), 34 },
{ "PH25", SUNXI_GPH(25), 36 },
{ "PH26", SUNXI_GPH(26), 38 },
{ "PH27", SUNXI_GPH(27), 40 },
{ "PB3", SUNXI_GPB(3), 6 },
{ "PB4", SUNXI_GPB(4), 8 },
{ "PB5", SUNXI_GPB(5), 10 },
{ "PB6", SUNXI_GPB(6), 12 },
{ "PB7", SUNXI_GPB(7), 14 },
{ "PB8", SUNXI_GPB(8), 16 },
{ "PB10", SUNXI_GPB(10), 18 },
{ "PB11", SUNXI_GPB(11), 20 },
{ "PB12", SUNXI_GPB(12), 22 },
{ "PB13", SUNXI_GPB(13), 24 },
{ "PB14", SUNXI_GPB(14), 26 },
{ "PB15", SUNXI_GPB(15), 28 },
{ "PB16", SUNXI_GPB(16), 30 },
{ "PB17", SUNXI_GPB(17), 32 },
{
{ 0, 0, 0}
},
}
},
{"gpio4",
{
{ "PC7", SUNXI_GPC(7), 16 },
{ "PC16", SUNXI_GPC(16), 18 },
{ "PC17", SUNXI_GPC(17), 20 },
{
{ 0, 0, 0}
},
}
},
{"led",
{
{ "PH2", SUNXI_GPH(2), 1},
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -1 +0,0 @@
/home/marek/data/projects/kas/sources/meta-sunxi/recipes-devtools/python/files/olinuxino-a20lime2

View File

@ -1,224 +0,0 @@
/*
*
* This file is part of pyA20Lime2.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA20Lime2 is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD16", SUNXI_GPD(16), 5 },
{ "PD17", SUNXI_GPD(17), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD8", SUNXI_GPD(8), 13 },
{ "PD9", SUNXI_GPD(9), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD0", SUNXI_GPD(0), 21 },
{ "PD1", SUNXI_GPD(1), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PH8", SUNXI_GPH(8), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio1",
{
{ "PG0", SUNXI_GPG(0), 5 },
{ "PG1", SUNXI_GPG(1), 7 },
{ "PG2", SUNXI_GPG(2), 9 },
{ "PG3", SUNXI_GPG(3), 11 },
{ "PG4", SUNXI_GPG(4), 13 },
{ "PG5", SUNXI_GPG(5), 15 },
{ "PG6", SUNXI_GPG(6), 17 },
{ "PG7", SUNXI_GPG(7), 19 },
{ "PG8", SUNXI_GPG(8), 21 },
{ "PG9", SUNXI_GPG(9), 23 },
{ "PG10", SUNXI_GPG(10), 25 },
{ "PG11", SUNXI_GPG(11), 27 },
{ "PC3", SUNXI_GPC(3), 29 },
{ "PC18", SUNXI_GPC(18), 31 },
{ "PC19", SUNXI_GPC(19), 33 },
{ "PC20", SUNXI_GPC(20), 35 },
{ "PC21", SUNXI_GPC(21), 37 },
{ "PC22", SUNXI_GPC(22), 39 },
{ "PC23", SUNXI_GPC(23), 40 },
{ "PC24", SUNXI_GPC(24), 38 },
{ "PB18", SUNXI_GPB(18), 36 },
{ "PB19", SUNXI_GPB(19), 34 },
{ "PB20", SUNXI_GPB(20), 32 },
{ "PB21", SUNXI_GPB(21), 30 },
{
{ 0, 0, 0}
},
}
},
{"gpio2",
{
{ "PI0", SUNXI_GPI(0), 9 },
{ "PI1", SUNXI_GPI(1), 11 },
{ "PI2", SUNXI_GPI(2), 13 },
{ "PI3", SUNXI_GPI(3), 15 },
{ "PI4", SUNXI_GPI(4), 17 },
{ "PI5", SUNXI_GPI(5), 19 },
{ "PI6", SUNXI_GPI(6), 21 },
{ "PI7", SUNXI_GPI(7), 23 },
{ "PI8", SUNXI_GPI(8), 25 },
{ "PI9", SUNXI_GPI(9), 27 },
{ "PI10", SUNXI_GPI(10), 29 },
{ "PI11", SUNXI_GPI(11), 31 },
{ "PI12", SUNXI_GPI(12), 33 },
{ "PI13", SUNXI_GPI(13), 35 },
{ "PI14", SUNXI_GPI(14), 37 },
{ "PI15", SUNXI_GPI(15), 39 },
{ "PI16", SUNXI_GPI(16), 40 },
{ "PI17", SUNXI_GPI(17), 38 },
{ "PI18", SUNXI_GPI(18), 36 },
{ "PI19", SUNXI_GPI(19), 34 },
{ "PI20", SUNXI_GPI(20), 32 },
{ "PI21", SUNXI_GPI(21), 30 },
{ "PE0", SUNXI_GPE(0), 6 },
{ "PE1", SUNXI_GPE(1), 8 },
{ "PE2", SUNXI_GPE(2), 10 },
{ "PE3", SUNXI_GPE(3), 12 },
{ "PE4", SUNXI_GPE(4), 14 },
{ "PE5", SUNXI_GPE(5), 16 },
{ "PE6", SUNXI_GPE(6), 18 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PE8", SUNXI_GPE(8), 22 },
{ "PE9", SUNXI_GPE(9), 24 },
{ "PE10", SUNXI_GPE(10), 26 },
{ "PE11", SUNXI_GPE(11), 28 },
{
{ 0, 0, 0}
},
}
},
{"gpio3",
{
{ "PH0", SUNXI_GPH(0), 7 },
{ "PH7", SUNXI_GPH(7), 9 },
{ "PH9", SUNXI_GPH(9), 11 },
{ "PH10", SUNXI_GPH(10), 13 },
{ "PH11", SUNXI_GPH(11), 15 },
{ "PH12", SUNXI_GPH(12), 17 },
{ "PH13", SUNXI_GPH(13), 19 },
{ "PH14", SUNXI_GPH(14), 21 },
{ "PH15", SUNXI_GPH(15), 23 },
{ "PH16", SUNXI_GPH(16), 25 },
{ "PH17", SUNXI_GPH(17), 27 },
{ "PH18", SUNXI_GPH(18), 29 },
{ "PH19", SUNXI_GPH(19), 31 },
{ "PH20", SUNXI_GPH(20), 33 },
{ "PH21", SUNXI_GPH(21), 35 },
{ "PH22", SUNXI_GPH(22), 37 },
{ "PH23", SUNXI_GPH(23), 39 },
{ "PH24", SUNXI_GPH(24), 34 },
{ "PH25", SUNXI_GPH(25), 36 },
{ "PH26", SUNXI_GPH(26), 38 },
{ "PH27", SUNXI_GPH(27), 40 },
{ "PB3", SUNXI_GPB(3), 4 },
{ "PB4", SUNXI_GPB(4), 6 },
{ "PB5", SUNXI_GPB(5), 8 },
{ "PB6", SUNXI_GPB(6), 10 },
{ "PB7", SUNXI_GPB(7), 12 },
{ "PB8", SUNXI_GPB(8), 14 },
{ "PB9", SUNXI_GPB(8), 16 },
{ "PB10", SUNXI_GPB(10), 18 },
{ "PB11", SUNXI_GPB(11), 20 },
{ "PB12", SUNXI_GPB(12), 22 },
{ "PB13", SUNXI_GPB(13), 24 },
{ "PB14", SUNXI_GPB(14), 26 },
{ "PB15", SUNXI_GPB(15), 28 },
{ "PB16", SUNXI_GPB(16), 30 },
{ "PB17", SUNXI_GPB(17), 32 },
{
{ 0, 0, 0}
},
}
},
{"gpio4",
{
{ "PA9", SUNXI_GPA(9), 12 },
{ "PA14", SUNXI_GPA(14), 14 },
{ "PC7", SUNXI_GPC(7), 16 },
{ "PC16", SUNXI_GPC(16), 18 },
{ "PC17", SUNXI_GPC(17), 20 },
{
{ 0, 0, 0}
},
}
},
{"led",
{
{ "PH2", SUNXI_GPH(2), 1},
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -1,265 +0,0 @@
/*
*
* This file is part of pyA20SOM.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA20SOM is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD16", SUNXI_GPD(16), 5 },
{ "PD17", SUNXI_GPD(17), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD8", SUNXI_GPD(8), 13 },
{ "PD9", SUNXI_GPD(9), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD0", SUNXI_GPD(0), 21 },
{ "PD1", SUNXI_GPD(1), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PH7", SUNXI_GPH(7), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio1",
{
{ "PB9", SUNXI_GPB(9), 7 },
{ "PH5", SUNXI_GPH(5), 9 },
{ "PH4", SUNXI_GPH(4), 11 },
{ "PH6", SUNXI_GPH(6), 13 },
{ "PH3", SUNXI_GPH(3), 15 },
{ "PI0", SUNXI_GPI(0), 29 },
{ "PI1", SUNXI_GPI(1), 31 },
{ "PI2", SUNXI_GPI(2), 33 },
{ "PI3", SUNXI_GPI(3), 35 },
{ "PI10", SUNXI_GPI(10), 37 },
{ "PI11", SUNXI_GPI(11), 39 },
{ "PI14", SUNXI_GPI(14), 40 },
{
{ 0, 0, 0}
},
}
},
{"gpio2",
{
{ "PB22", SUNXI_GPB(22), 21 },
{ "PB23", SUNXI_GPB(23), 22 },
{ "PA0", SUNXI_GPA(0), 29 },
{ "PA1", SUNXI_GPA(1), 27 },
{ "PA2", SUNXI_GPA(2), 25 },
{ "PA3", SUNXI_GPA(3), 23 },
{ "PA4", SUNXI_GPA(4), 30 },
{ "PA5", SUNXI_GPA(5), 28 },
{ "PA6", SUNXI_GPA(6), 26 },
{ "PA7", SUNXI_GPA(7), 24 },
{ "PA8", SUNXI_GPA(8), 33 },
{ "PA9", SUNXI_GPA(9), 35 },
{ "PA10", SUNXI_GPA(10), 31 },
{ "PA11", SUNXI_GPA(11), 37 },
{ "PA12", SUNXI_GPA(12), 39 },
{ "PA13", SUNXI_GPA(13), 32 },
{ "PA14", SUNXI_GPA(14), 34 },
{ "PA15", SUNXI_GPA(15), 36 },
{ "PA16", SUNXI_GPA(16), 38 },
{ "PA17", SUNXI_GPA(17), 40 },
{
{ 0, 0, 0}
},
}
},
{"gpio3",
{
{ "PH0", SUNXI_GPH(0), 5 },
{ "PH2", SUNXI_GPH(2), 7 },
{ "PH8", SUNXI_GPH(8), 9 },
{ "PH9", SUNXI_GPH(9), 11 },
{ "PH10", SUNXI_GPH(10), 13 },
{ "PH11", SUNXI_GPH(11), 15 },
{ "PH12", SUNXI_GPH(12), 17 },
{ "PH13", SUNXI_GPH(13), 19 },
{ "PH14", SUNXI_GPH(14), 21 },
{ "PH15", SUNXI_GPH(15), 23 },
{ "PH16", SUNXI_GPH(16), 25 },
{ "PH17", SUNXI_GPH(17), 27 },
{ "PH18", SUNXI_GPH(18), 29 },
{ "PH19", SUNXI_GPH(19), 31 },
{ "PH20", SUNXI_GPH(20), 33 },
{ "PH21", SUNXI_GPH(21), 35 },
{ "PH22", SUNXI_GPH(22), 37 },
{ "PH23", SUNXI_GPH(23), 39 },
{ "PB3", SUNXI_GPB(3), 6 },
{ "PB4", SUNXI_GPB(4), 8 },
{ "PB5", SUNXI_GPB(5), 10 },
{ "PB6", SUNXI_GPB(6), 12 },
{ "PB7", SUNXI_GPB(7), 14 },
{ "PB8", SUNXI_GPB(8), 16 },
{ "PB10", SUNXI_GPB(10), 18 },
{ "PB11", SUNXI_GPB(11), 20 },
{ "PB12", SUNXI_GPB(12), 22 },
{ "PB13", SUNXI_GPB(13), 24 },
{ "PB14", SUNXI_GPB(14), 26 },
{ "PB15", SUNXI_GPB(15), 28 },
{ "PB16", SUNXI_GPB(16), 30 },
{ "PB17", SUNXI_GPB(17), 32 },
{ "PH24", SUNXI_GPH(24), 34 },
{ "PH25", SUNXI_GPH(25), 36 },
{ "PH26", SUNXI_GPH(26), 38 },
{ "PH27", SUNXI_GPH(27), 40 },
{
{ 0, 0, 0}
},
}
},
{"gpio4",
{
{ "PB0", SUNXI_GPB(0), 5 },
{ "PB1", SUNXI_GPB(1), 7 },
{ "PE0", SUNXI_GPE(0), 6 },
{ "PE1", SUNXI_GPE(1), 8 },
{ "PE2", SUNXI_GPE(2), 10 },
{ "PE3", SUNXI_GPE(3), 12 },
{ "PE4", SUNXI_GPE(4), 14 },
{ "PE5", SUNXI_GPE(5), 16 },
{ "PE6", SUNXI_GPE(0), 18 },
{ "PE7", SUNXI_GPE(0), 9 },
{ "PE8", SUNXI_GPE(0), 11 },
{ "PE9", SUNXI_GPE(0), 13 },
{ "PE10", SUNXI_GPE(0), 15 },
{ "PE11", SUNXI_GPE(0), 17 },
{ "PI20", SUNXI_GPI(20), 19 },
{ "PI21", SUNXI_GPI(21), 20 },
{ "PB18", SUNXI_GPB(18), 21 },
{ "PB19", SUNXI_GPB(19), 22 },
{ "PI16", SUNXI_GPI(16), 23 },
{ "PI17", SUNXI_GPI(17), 24 },
{ "PI18", SUNXI_GPI(18), 25 },
{ "PI19", SUNXI_GPI(19), 26 },
{ "PI12", SUNXI_GPI(12), 27 },
{ "PI13", SUNXI_GPI(13), 28 },
{ "PB20", SUNXI_GPB(20), 29 },
{ "PB21", SUNXI_GPB(21), 30 },
{ "PC22", SUNXI_GPC(22), 31 },
{ "PC21", SUNXI_GPC(21), 32 },
{ "PC20", SUNXI_GPC(20), 33 },
{ "PC19", SUNXI_GPC(21), 34 },
{ "PI15", SUNXI_GPI(15), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio5",
{
{ "PG0", SUNXI_GPG(0), 1 },
{ "PG1", SUNXI_GPG(1), 3 },
{ "PG2", SUNXI_GPG(2), 5 },
{ "PG3", SUNXI_GPG(3), 7 },
{ "PG4", SUNXI_GPG(4), 9 },
{ "PG5", SUNXI_GPG(5), 11 },
{ "PG6", SUNXI_GPG(6), 13 },
{ "PG7", SUNXI_GPG(7), 15 },
{ "PG8", SUNXI_GPG(8), 17 },
{ "PG9", SUNXI_GPG(9), 19 },
{ "PG10", SUNXI_GPG(10), 21 },
{ "PG11", SUNXI_GPG(11), 23 },
{ "PC8", SUNXI_GPC(8), 25 },
{ "PC9", SUNXI_GPC(9), 27 },
{ "PC10", SUNXI_GPC(10), 29 },
{ "PC11", SUNXI_GPC(11), 31 },
{ "PC12", SUNXI_GPC(12), 33 },
{ "PC13", SUNXI_GPC(13), 35 },
{ "PC14", SUNXI_GPC(14), 37 },
{ "PC15", SUNXI_GPC(15), 39 },
{ "PI6", SUNXI_GPI(6), 4 },
{ "PI7", SUNXI_GPI(7), 6 },
{ "PI8", SUNXI_GPI(8), 8 },
{ "PI9", SUNXI_GPI(9), 10 },
{ "PI4", SUNXI_GPI(4), 12 },
{ "PI5", SUNXI_GPI(5), 14 },
{ "PC16", SUNXI_GPC(16), 16 },
{ "PC17", SUNXI_GPC(17), 18 },
{ "PC18", SUNXI_GPC(18), 20 },
{ "PC23", SUNXI_GPC(23), 22 },
{ "PC24", SUNXI_GPC(24), 24 },
{ "PC7", SUNXI_GPC(7), 26 },
{ "PC6", SUNXI_GPC(6), 28 },
{ "PC5", SUNXI_GPC(5), 30 },
{ "PC3", SUNXI_GPC(3), 32 },
{ "PC2", SUNXI_GPC(2), 34 },
{ "PC1", SUNXI_GPC(1), 36 },
{ "PC0", SUNXI_GPC(0), 38 },
{ "PC4", SUNXI_GPC(4), 40 },
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -1,23 +0,0 @@
DESCRIPTION = "A module to control Allwinner GPIO,SPI and I2C channels"
HOMEPAGE = "https://pypi.python.org/pypi/pyA20"
SECTION = "devel/python"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=4e584373bb0f46ef1e423cb7df37847d"
DEPENDS = "python3"
# No GPIO mappings for other machines yet
COMPATIBLE_MACHINE = "(olinuxino-a13|olinuxino-a10|olinuxino-a20|olinuxino-a10lime|olinuxino-a20lime|olinuxino-a20lime2|olinuxino-a13som|olinuxino-a20som)"
SRC_URI = "https://pypi.python.org/packages/source/p/pyA20/pyA20-${PV}.tar.gz \
file://mapping.h \
"
S = "${WORKDIR}/pyA20-${PV}"
inherit setuptools3
do_compile:prepend() {
cp ${UNPACKDIR}/mapping.h ${S}/pyA20/gpio/mapping.h
}
SRC_URI[md5sum] = "cab03b4931199804603d1074f6d8f48f"
SRC_URI[sha256sum] = "4bef559a9c5a4d648d9834bad996cf2805b20d6063b8051029ffdf9deda2b536"

View File

@ -1,47 +0,0 @@
From fcdde5440976bb2c204789e13313c4d77cb263b7 Mon Sep 17 00:00:00 2001
From: Nicolas Aguirre <aguirre.nicolas@gmail.com>
Date: Tue, 16 Jun 2015 23:06:29 +0200
Subject: [PATCH] Add EGLSyncKHR EGLTimeKHR and GLChar definition
---
include/EGL/eglext.h | 4 +++-
include/GLES2/gl2.h | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/EGL/eglext.h b/include/EGL/eglext.h
index 25cfcb8..ec482d8 100644
--- a/include/EGL/eglext.h
+++ b/include/EGL/eglext.h
@@ -36,7 +36,6 @@ extern "C" {
/* Current version at http://www.khronos.org/registry/egl/ */
/* $Revision: 7244 $ on $Date: 2009-01-20 17:06:59 -0800 (Tue, 20 Jan 2009) $ */
#define EGL_EGLEXT_VERSION 3
-
#ifndef EGL_KHR_config_attribs
#define EGL_KHR_config_attribs 1
#define EGL_CONFORMANT_KHR 0x3042 /* EGLConfig attribute */
@@ -44,6 +43,9 @@ extern "C" {
#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 /* EGL_SURFACE_TYPE bitfield */
#endif
+typedef void *EGLSyncKHR;
+typedef uint64_t EGLTimeKHR;
+
#ifndef EGL_KHR_lock_surface
#define EGL_KHR_lock_surface 1
#define EGL_READ_SURFACE_BIT_KHR 0x0001 /* EGL_LOCK_USAGE_HINT_KHR bitfield */
diff --git a/include/GLES2/gl2.h b/include/GLES2/gl2.h
index 59e376c..90d96bb 100644
--- a/include/GLES2/gl2.h
+++ b/include/GLES2/gl2.h
@@ -32,6 +32,7 @@ typedef unsigned int GLuint;
typedef khronos_float_t GLfloat;
typedef khronos_float_t GLclampf;
typedef khronos_int32_t GLfixed;
+typedef char GLchar;
/* GL types for handling large vertex buffer objects */
typedef khronos_intptr_t GLintptr;
--
1.9.1

View File

@ -1,28 +0,0 @@
From 054886253f4f559b351a94e1e6ebfd5eb504461f Mon Sep 17 00:00:00 2001
From: Trevor Woerner <twoerner@gmail.com>
Date: Thu, 24 Sep 2015 23:38:11 -0400
Subject: [PATCH] fix test build
Allow the test application to build and link successfully.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
test/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/Makefile b/test/Makefile
index 700416e..51481c9 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -5,7 +5,7 @@ CFLAGS ?= -Wall
all: test
test: ../config.mk test.c
- $(CC) $(CFLAGS) -o $@ test.c -lEGL -lGLESv2
+ $(CC) $(CFLAGS) -I../include -L../../image/usr/lib -o $@ test.c -lEGL -lGLESv2 -lX11
clean:
rm -f test
--
2.6.0.rc3

View File

@ -1,136 +0,0 @@
From 15d91ef25234ff402f4288273989693f2d402d9d Mon Sep 17 00:00:00 2001
From: Raoul Hecky <raoul.hecky@gmail.com>
Date: Fri, 10 Jan 2014 14:44:53 +0100
Subject: [PATCH] Add missing GLchar definition, some gl/gles apps needs that
to compile correctly
Build pkg-config files for gles and egl and install them
Fix .pc creation
add correct driver version in .pc
---
.gitignore | 1 +
Makefile | 1 +
Makefile.pc | 21 +++++++++++++++++++++
egl.pc.in | 11 +++++++++++
gles_cm.pc.in | 11 +++++++++++
glesv2.pc.in | 11 +++++++++++
include/GLES/gl.h | 1 +
include/GLES2/gl2.h | 1 +
8 files changed, 58 insertions(+)
create mode 100644 Makefile.pc
create mode 100644 egl.pc.in
create mode 100644 gles_cm.pc.in
create mode 100644 glesv2.pc.in
diff --git a/.gitignore b/.gitignore
index 6865abf..e8a3713 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
config.mk
*~
+*.pc
diff --git a/Makefile b/Makefile
index 60d4a0f..94845ea 100644
--- a/Makefile
+++ b/Makefile
@@ -21,6 +21,7 @@ clean:
install: config.mk
$(MAKE) -C lib install
$(MAKE) -C include install
+ $(MAKE) -f Makefile.pc
test: config.mk
$(MAKE) -C test test
diff --git a/Makefile.pc b/Makefile.pc
new file mode 100644
index 0000000..01097fd
--- /dev/null
+++ b/Makefile.pc
@@ -0,0 +1,21 @@
+include Makefile.setup
+include config.mk
+
+all:
+ echo "prefix=$(prefix)" > egl.pc
+ cat egl.pc.in >> egl.pc
+ sed -i "s/MVERSION/$MALI_VERSION/g" egl.pc
+ echo "prefix=$(prefix)" > gles_cm.pc
+ cat gles_cm.pc.in >> gles_cm.pc
+ sed -i "s/MVERSION/$MALI_VERSION/g" gles_cm.pc
+ echo "prefix=$(prefix)" > glesv2.pc
+ cat glesv2.pc.in >> glesv2.pc
+ sed -i "s/MVERSION/$MALI_VERSION/g" glesv2.pc
+
+install: egl.pc gles_cm.pc glesv2.pc
+ $(MKDIR) $(libdir)/pkgconfig
+ $(INSTALL_DATA) $^ $(libdir)/pkgconfig
+
+clean:
+ $(RM) egl.pc gles_cm.pc glesv2.pc
+
diff --git a/egl.pc.in b/egl.pc.in
new file mode 100644
index 0000000..0697183
--- /dev/null
+++ b/egl.pc.in
@@ -0,0 +1,11 @@
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: egl
+Description: Mali EGL library
+Requires.private:
+Version: MVERSION
+Libs: -L${libdir} -lEGL
+Libs.private: -lm -lpthread -ldl
+Cflags: -I${includedir}
diff --git a/gles_cm.pc.in b/gles_cm.pc.in
new file mode 100644
index 0000000..22bc348
--- /dev/null
+++ b/gles_cm.pc.in
@@ -0,0 +1,11 @@
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: gles_cm
+Description: Mali OpenGL ES 1.1 CM library
+Requires.private:
+Version: MVERSION
+Libs: -L${libdir} -lGLES_CM
+Libs.private: -lm -lpthread -ldl
+Cflags: -I${includedir}
diff --git a/glesv2.pc.in b/glesv2.pc.in
new file mode 100644
index 0000000..efef2ed
--- /dev/null
+++ b/glesv2.pc.in
@@ -0,0 +1,11 @@
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: glesv2
+Description: Mali OpenGL ES 2.0 library
+Requires.private:
+Version: MVERSION
+Libs: -L${libdir} -lGLESv2
+Libs.private: -lm -lpthread -ldl
+Cflags: -I${includedir}
diff --git a/include/GLES/gl.h b/include/GLES/gl.h
index 858f394..a6bb591 100644
--- a/include/GLES/gl.h
+++ b/include/GLES/gl.h
@@ -29,6 +29,7 @@ typedef float GLfloat;
typedef float GLclampf;
typedef signed int GLfixed;
typedef signed int GLclampx;
+typedef char GLchar;
typedef int * GLintptr;
typedef int * GLsizeiptr;

View File

@ -1,30 +0,0 @@
From 95bbd40135f96b473d4c713317e485d0049580cd Mon Sep 17 00:00:00 2001
From: Raoul Hecky <raoul.hecky@gmail.com>
Date: Tue, 8 Apr 2014 08:10:12 +0200
Subject: [PATCH] Fix sed to replace by the correct var
---
Makefile.pc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile.pc b/Makefile.pc
index 01097fd..c51d18c 100644
--- a/Makefile.pc
+++ b/Makefile.pc
@@ -4,13 +4,13 @@ include config.mk
all:
echo "prefix=$(prefix)" > egl.pc
cat egl.pc.in >> egl.pc
- sed -i "s/MVERSION/$MALI_VERSION/g" egl.pc
+ sed -i "s/MVERSION/${MALI_VERSION}/g" egl.pc
echo "prefix=$(prefix)" > gles_cm.pc
cat gles_cm.pc.in >> gles_cm.pc
- sed -i "s/MVERSION/$MALI_VERSION/g" gles_cm.pc
+ sed -i "s/MVERSION/${MALI_VERSION}/g" gles_cm.pc
echo "prefix=$(prefix)" > glesv2.pc
cat glesv2.pc.in >> glesv2.pc
- sed -i "s/MVERSION/$MALI_VERSION/g" glesv2.pc
+ sed -i "s/MVERSION/${MALI_VERSION}/g" glesv2.pc
install: egl.pc gles_cm.pc glesv2.pc
$(MKDIR) $(libdir)/pkgconfig

View File

@ -1,104 +0,0 @@
DESCRIPTION = "libGLES for the A10/A13 Allwinner processor with Mali 400 (X11)"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://README;md5=1b81a178e80ee888ee4571772699ab2c"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i)"
# These libraries shouldn't get installed in world builds unless something
# explicitly depends upon them.
EXCLUDE_FROM_WORLD = "1"
PROVIDES = "virtual/libgles1 virtual/libgles2 virtual/egl"
# There's only hardfp version available
python __anonymous() {
tunes = d.getVar("TUNE_FEATURES", True)
if not tunes:
return
if "callconvention-hard" not in tunes:
pkgn = d.getVar("PN", True)
pkgv = d.getVar("PV", True)
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
}
SRCREV = "d343311efc8db166d8371b28494f0f27b6a58724"
SRC_URI = "git://github.com/linux-sunxi/sunxi-mali.git;protocol=https;branch=master \
file://0001-Add-EGLSyncKHR-EGLTimeKHR-and-GLChar-definition.patch \
file://0002-Add-missing-GLchar-definition.patch \
file://0003-Fix-sed-to-replace-by-the-correct-var.patch \
file://0001-fix-test-build.patch \
"
S = "${WORKDIR}/git"
DEPENDS = "libdrm xorgproto libump patchelf-native"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
PACKAGECONFIG[wayland] = "EGL_TYPE=framebuffer,,,"
PACKAGECONFIG[x11] = "EGL_TYPE=x11,,virtual/libx11 libxau libxdmcp libdri2,"
# Inhibit warnings about files being stripped, we can't do anything about it.
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"
do_configure() {
DESTDIR=${D}/ VERSION=r3p0 ABI=armhf make ${EXTRA_OEMAKE} config
}
do_install() {
make -f Makefile.pc
# install headers
install -d -m 0755 ${D}${includedir}/EGL
install -m 0755 ${S}/include/EGL/*.h ${D}${includedir}/EGL/
install -d -m 0755 ${D}${includedir}/GLES
install -m 0755 ${S}/include/GLES/*.h ${D}${includedir}/GLES/
install -d -m 0755 ${D}${includedir}/GLES2
install -m 0755 ${S}/include/GLES2/*.h ${D}${includedir}/GLES2/
install -d -m 0755 ${D}${includedir}/KHR
install -m 0755 ${S}/include/KHR/*.h ${D}${includedir}/KHR/
# Copy the .pc files
install -d -m 0755 ${D}${libdir}/pkgconfig
install -m 0644 ${S}/egl.pc ${D}${libdir}/pkgconfig/
install -m 0644 ${S}/gles_cm.pc ${D}${libdir}/pkgconfig/
install -m 0644 ${S}/glesv2.pc ${D}${libdir}/pkgconfig/
install -d ${D}${libdir}
install -d ${D}${includedir}
make libdir=${D}${libdir}/ includedir=${D}${includedir}/ install
make libdir=${D}${libdir}/ includedir=${D}${includedir}/ install -C include
rm -f ${D}${includedir}/KHR/khrplatform.h
# Fix .so name and create symlinks, binary package provides .so wich can't be included directly in package without triggering the 'dev-so' QA check
# Packages like xf86-video-fbturbo dlopen() libUMP.so, so we do need to ship the .so files in ${PN}
mv ${D}${libdir}/libMali.so ${D}${libdir}/libMali.so.3
patchelf --set-soname libMali.so.3 ${D}${libdir}/libMali.so.3
ln -sf libMali.so.3 ${D}${libdir}/libMali.so
for flib in libEGL.so.1.4 libGLESv1_CM.so.1.1 libGLESv2.so.2.0 ; do
rm ${D}${libdir}/$flib
ln -sf libMali.so.3 ${D}${libdir}/$flib
done
DESTDIR=${D}/ VERSION=r3p0 ABI=armhf make ${EXTRA_OEMAKE} test
install -d ${D}${bindir}
install -m 0755 ${S}/test/test ${D}${bindir}/sunximali-test
}
# Packages like xf86-video-fbturbo dlopen() libUMP.so, so we do need to ship the .so files in ${PN}
PACKAGES =+ "${PN}-test"
RPROVIDES:${PN} += "libGLESv2.so libEGL.so libGLESv2.so libGLESv1_CM.so libMali.so"
RDEPENDS:${PN}-test = "${PN}"
FILES:${PN} += "${libdir}/lib*.so"
FILES:${PN}-dev = "${includedir} ${libdir}/pkgconfig/*"
FILES:${PN}-test = "${bindir}/sunximali-test"
# These are closed binaries generated elsewhere so don't check ldflags & text relocations
INSANE_SKIP:${PN} = "dev-so ldflags textrel"
INSANE_SKIP:${PN}-test = "dev-so ldflags textrel"

Some files were not shown because too many files have changed in this diff Show More