2 Commits
zeus ... rocko

Author SHA1 Message Date
e5e624f30a Merge pull request #212 from cameronokeeffe/rocko
Added pcDuino3 Board
2019-06-13 08:24:57 +02:00
196a7a6863 Added pcDuino3 Board 2018-04-05 15:56:27 +12:00
46 changed files with 207 additions and 462 deletions

View File

@ -3,9 +3,9 @@ meta-sunxi
Official sunxi OpenEmbedded layer for Allwinner-based boards.
This layer depends on the additional layers:
This layer depends on the additional layer:
* [meta-openembedded/meta-oe](http://git.openembedded.org/meta-openembedded/tree/meta-oe)
meta-openembedded: git://git.openembedded.org/meta-openembedded
Tested with core-image-base.
@ -14,30 +14,24 @@ Maintainers:
* Nicolas Aguirre <aguirre.nicolas@gmail.com>
* Enrico Butera <ebutera@users.sourceforge.net>
* Sergey Lapin <slapin@ossfans.org>
* Marek Belisko <marek.belisko@gmail.com>
Kernel / U-Boot Version
===========
Most Allwinner devices and hardware are supported in mainline kernel and U-Boot, so this layer builds mainline by default.
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
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 = ""
PREFERRED_PROVIDER_u-boot="u-boot-sunxi"
PREFERRED_PROVIDER_virtual/bootloader="u-boot-sunxi"
PREFERRED_PROVIDER_virtual/kernel="linux-sunxi"
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
For mainline kernel we have now support for latest LTS, stable and bleeding edge (latest possible rc).
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/4921234ed77f9df77c65c88637ce50468f65bde7/conf/machine/include/sunxi.inc#L16)
bitbake -c clean linux u-boot
Performance
===========

View File

@ -71,16 +71,16 @@ IMAGE_CMD_sunxi-sdimg () {
for DTS_FILE in ${KERNEL_DEVICETREE}; do
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
DTS_DIR_NAME=`dirname ${DTS_FILE}`
if [ -e ${DEPLOY_DIR_IMAGE}/"${DTS_BASE_NAME}.dtb" ]; then
if [ -e ${DEPLOY_DIR_IMAGE}/"${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
if [ ${DTS_FILE} != ${DTS_BASE_NAME}.dtb ]; then
mmd -i ${WORKDIR}/boot.img ::/${DTS_DIR_NAME}
fi
kernel_bin="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
kernel_bin_for_dtb="`readlink ${DEPLOY_DIR_IMAGE}/${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${KERNEL_IMAGETYPE},g;s,\.dtb$,.bin,g"`"
kernel_bin_for_dtb="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
if [ $kernel_bin = $kernel_bin_for_dtb ]; then
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${DTS_BASE_NAME}.dtb ::/${DTS_FILE}
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_FILE}
fi
fi
done

View File

@ -7,11 +7,3 @@ BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-sunxi"
BBFILE_PATTERN_meta-sunxi := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-sunxi = "10"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_meta-sunxi = "1"
LAYERDEPENDS_meta-sunxi = "core openembedded-layer"
LAYERSERIES_COMPAT_meta-sunxi = "zeus"

View File

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

View File

@ -4,8 +4,6 @@ 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"

View File

@ -13,7 +13,6 @@ XSERVER = "xserver-xorg \
xf86-input-keyboard"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
PREFERRED_VERSION_linux-mainline ?= "4.19%"
PREFERRED_PROVIDER_u-boot ?= "u-boot"
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
@ -27,6 +26,7 @@ MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
UBOOT_LOCALVERSION = "-g${@d.getVar('SRCPV', True).partition('+')[2][0:7]}"
UBOOT_ENTRYPOINT ?= "0x40008000"
UBOOT_LOADADDRESS ?= "0x400080OB00"
SPL_BINARY ?= "u-boot-sunxi-with-spl.bin"

View File

@ -1,9 +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 = "sun8i-h3-nanopi-m1-plus.dtb"
UBOOT_MACHINE = "nanopi_m1_plus_defconfig"

View File

@ -5,5 +5,7 @@
require conf/machine/include/sun8i.inc
PREFERRED_VERSION_u-boot = "v2017.11%"
KERNEL_DEVICETREE = "sun8i-h3-nanopi-neo-air.dtb"
UBOOT_MACHINE = "nanopi_neo_air_defconfig"

View File

@ -1,9 +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
KERNEL_DEVICETREE = "allwinner/sun50i-h5-nanopi-neo-plus2.dtb"
UBOOT_MACHINE = "nanopi_neo_plus2_defconfig"

View File

@ -4,6 +4,8 @@
require conf/machine/include/sun8i.inc
PREFERRED_VERSION_u-boot = "v2017.11%"
KERNEL_DEVICETREE = "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,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

@ -4,6 +4,8 @@
require conf/machine/include/sun8i.inc
PREFERRED_VERSION_u-boot = "v2017.11%"
KERNEL_DEVICETREE = "sun8i-h3-orangepi-one.dtb"
UBOOT_MACHINE = "orangepi_one_defconfig"

View File

@ -4,6 +4,8 @@
require conf/machine/include/sun8i.inc
PREFERRED_VERSION_u-boot = "v2017.03%"
KERNEL_DEVICETREE = "sun8i-h3-orangepi-pc-plus.dtb"
UBOOT_MACHINE = "orangepi_pc_plus_defconfig"

View File

@ -4,6 +4,8 @@
require conf/machine/include/sun8i.inc
PREFERRED_VERSION_u-boot = "v2017.11%"
KERNEL_DEVICETREE = "sun8i-h3-orangepi-pc.dtb"
UBOOT_MACHINE = "orangepi_pc_defconfig"

View File

@ -5,5 +5,7 @@
require conf/machine/include/sun50i.inc
PREFERRED_VERSION_u-boot = "v2017.11%"
KERNEL_DEVICETREE = "allwinner/sun50i-h5-orangepi-zero-plus2.dtb"
UBOOT_MACHINE = "orangepi_zero_plus2_defconfig"

View File

@ -4,6 +4,8 @@
require conf/machine/include/sun8i.inc
PREFERRED_VERSION_u-boot = "v2017.11%"
KERNEL_DEVICETREE = "sun8i-h2-plus-orangepi-zero.dtb"
UBOOT_MACHINE = "orangepi_zero_defconfig"

View File

@ -4,6 +4,8 @@
require conf/machine/include/sun4i.inc
PREFERRED_VERSION_u-boot = "v2017.11%"
KERNEL_DEVICETREE = "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: 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,21 +0,0 @@
From 6adb2ebdc4022c24497e9ee4dccab41d18e3105d 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 5ad90ddd16..8b7a4eb45d 100644
--- a/configs/nanopi_neo_air_defconfig
+++ b/configs/nanopi_neo_air_defconfig
@@ -15,3 +15,4 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-neo-air"
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

View File

@ -0,0 +1,12 @@
diff --git a/tools/Makefile b/tools/Makefile
index 5db2a54..54bd224 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -134,6 +134,7 @@ tools/_libfdt.so: $(LIBFDT_SRCS) $(LIBFDT_SWIG)
$(Q)unset CC; \
unset CROSS_COMPILE; \
LDFLAGS="$(HOSTLDFLAGS)" CFLAGS= VERSION="u-boot-$(UBOOTVERSION)" \
+ CC="$(HOSTCC)" LDSHARED="$(HOSTLDSHARED)" \
CPPFLAGS="$(_hostc_flags)" OBJDIR=tools \
SOURCES="$(LIBFDT_SRCS) tools/libfdt.i" \
SWIG_OPTS="-I$(srctree)/lib/libfdt -I$(srctree)/lib" \

View File

@ -20,9 +20,8 @@ UBOOT_MACHINE_meleg = "Mele_A1000G_config"
SRC_URI = " \
git://github.com/linux-sunxi/u-boot-sunxi.git;protocol=git;branch=sunxi \
file://0001-gcc5-fixes.patch \
file://0002-gcc6-fixes.patch \
file://0003-No-gcc-version-specific-includes.patch \
file://0002-gcc5-fixes.patch \
file://0003-gcc6-fixes.patch \
"
PE = "1"
@ -36,7 +35,3 @@ 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,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,8 +1,13 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
DESCRIPTION="Upstream's U-boot configured for sunxi devices"
DEPENDS += " bc-native dtc-native swig-native python3-native flex-native bison-native "
require recipes-bsp/u-boot/u-boot.inc
DEPENDS += " bc-native dtc-native swig-native python3-native "
DEPENDS_append_sun50i = " atf-sunxi "
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun50i)"
DEFAULT_PREFERENCE_sun4i="1"
@ -11,11 +16,18 @@ DEFAULT_PREFERENCE_sun7i="1"
DEFAULT_PREFERENCE_sun8i="1"
DEFAULT_PREFERENCE_sun50i="1"
SRC_URI += " \
file://0001-nanopi_neo_air_defconfig-Enable-eMMC-support.patch \
SRC_URI = "git://git.denx.de/u-boot.git;branch=master \
file://u-boot-pylibfdt-native-build.patch \
file://boot.cmd \
"
SRCREV = "c253573f3e269fd9a24ee6684d87dd91106018a5"
PV = "v2017.11+git${SRCPV}"
PE = "2"
S = "${WORKDIR}/git"
UBOOT_ENV_SUFFIX = "scr"
UBOOT_ENV = "boot"

View File

@ -31,7 +31,7 @@ SRC_URI = "gitsm://github.com/linux-sunxi/sunxi-mali.git \
S = "${WORKDIR}/git"
DEPENDS = "libdrm xorgproto libump patchelf-native"
DEPENDS = "libdrm dri2proto libump"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
PACKAGECONFIG[wayland] = "EGL_TYPE=framebuffer,,,"
@ -70,13 +70,11 @@ do_install() {
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

View File

@ -3,7 +3,7 @@ DESCRIPTION = "Library for the DRI2 extension to the X Window System"
LICENSE = "MIT-X"
LIC_FILES_CHKSUM = "file://COPYING;md5=827da9afab1f727f2a66574629e0f39c"
DEPENDS = "libdrm libxext libxfixes xorgproto"
DEPENDS = "libdrm libxext xextproto libxfixes dri2proto"
PE = "1"
PV = "1.0.0+git${SRCPV}"

View File

@ -5,7 +5,7 @@ DESCRIPTION = "X.Org X server -- A10/A13 display driver"
LICENSE = "MIT-X"
LIC_FILES_CHKSUM = "file://COPYING;md5=f91dc3ee5ce59eb4b528e67e98a31266"
DEPENDS += "sunxi-mali libump xorgproto"
DEPENDS += "sunxi-mali libump xf86driproto"
PE = "3"
PV = "0.5.1+git${SRCPV}"

View File

@ -0,0 +1,29 @@
From 1596e282f52c8f43fd1cc4a39096f28563558a5c Mon Sep 17 00:00:00 2001
From: Sergey Matyukevich <geomatsi@gmail.com>
Date: Fri, 3 Nov 2017 22:12:43 +0300
Subject: [PATCH 1/2] arm64: dts: orange-pi-zero-plus2: fix sdcard detect
The sdcard detect pin on orange-pi-zero-plus2 is pulled up.
Fix cd-gpio description to enable sdcard detect.
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
---
arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
index b6b7a561df8c..a42fd79a62a3 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
@@ -71,7 +71,7 @@
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>;
- cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
status = "okay";
};
--
2.11.0

View File

@ -0,0 +1,74 @@
From 4d470855525b5993e766ad9f9304482739ba918d Mon Sep 17 00:00:00 2001
From: Sergey Matyukevich <geomatsi@gmail.com>
Date: Fri, 3 Nov 2017 22:24:45 +0300
Subject: [PATCH 2/2] arm64: dts: orange-pi-zero-plus2: enable AP6212a WiFi/BT
combo
Enable AP6212a WiFi/BT combo chip on orange-pi-zero-plus2 board:
- WiFi SDIO interface is connected to MMC1
- WiFi REG_ON pin connected to gpio PA9: attach to mmc-pwrseq
- WiFi HOST_WAKE pin connected to gpio PL7
- BT is connected to UART1
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
---
.../allwinner/sun50i-h5-orangepi-zero-plus2.dts | 32 ++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
index a42fd79a62a3..d415b7b67cce 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
@@ -64,6 +64,13 @@
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
+
+ wifi_pwrseq: wifi_pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ pinctrl-names = "default";
+ reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
+ post-power-on-delay-ms = <200>;
+ };
};
&mmc0 {
@@ -75,6 +82,25 @@
status = "okay";
};
+&mmc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins_a>;
+ vmmc-supply = <&reg_vcc3v3>;
+ vqmmc-supply = <&reg_vcc3v3>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ brcmf: wifi@1 {
+ reg = <1>;
+ compatible = "brcm,bcm4329-fmac";
+ interrupt-parent = <&r_pio>;
+ interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */
+ interrupt-names = "host-wake";
+ };
+};
+
&mmc2 {
pinctrl-names = "default";
pinctrl-0 = <&mmc2_8bit_pins>;
@@ -90,3 +116,9 @@
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
+
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
+ status = "okay";
+};
--
2.11.0

View File

@ -9,22 +9,18 @@ This patch was originally submitted by Jelle van der Waa. Martin Kelly
modified it to compile on the latest kernel, fixed up some review
comments from Maxime Ripard, and re-tested the patch.
The patch has been reworked to add back eMMC support which has been left
out at the last backport.
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: linux-sunxi@googlegroups.com
Cc: devicetree@vger.kernel.org
Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
Signed-off-by: Martin Kelly <mkelly@xevo.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Florin Sarbu <florin@resin.io>
---
arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts | 34 +++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
index 03ff6f8..a9331fe 100644
index 03ff6f8b93ff..920849092cc8 100644
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
@@ -72,6 +72,11 @@
@ -39,7 +35,7 @@ index 03ff6f8..a9331fe 100644
};
&mmc0 {
@@ -84,6 +89,35 @@
@@ -84,6 +89,25 @@
status = "okay";
};
@ -61,16 +57,6 @@ index 03ff6f8..a9331fe 100644
+ interrupt-names = "host-wake";
+ };
+};
+
+&mmc2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc2_8bit_pins>;
+ vmmc-supply = <&reg_vcc3v3>;
+ vqmmc-supply = <&reg_vcc3v3>;
+ bus-width = <8>;
+ non-removable;
+ status = "okay";
+};
+
&uart0 {
pinctrl-names = "default";

View File

@ -141,11 +141,6 @@ CONFIG_BT_LEDS=y
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_LL=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=m
CONFIG_MAC80211=m
CONFIG_MAC80211_LEDS=y
@ -436,11 +431,6 @@ CONFIG_USB_QCOM_8X16_PHY=y
CONFIG_USB_ULPI=y
CONFIG_USB_GADGET=y
CONFIG_USB_RENESAS_USBHS_UDC=m
CONFIG_USB_MUSB_HDRC=y
# Restrict to host mode, as it is hard-coded that way in the device tree
# (dr_mode = "host" in the &usb_otg node)
CONFIG_USB_MUSB_HOST=y
CONFIG_USB_MUSB_SUNXI=y
CONFIG_MMC=y
CONFIG_MMC_BLOCK_MINORS=32
CONFIG_MMC_ARMMMCI=y
@ -499,8 +489,6 @@ CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MMIO=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_GRANT_DEV_ALLOC=y
CONFIG_STAGING=y
CONFIG_RTL8723BS=m
CONFIG_COMMON_CLK_RK808=y
CONFIG_COMMON_CLK_SCPI=y
CONFIG_COMMON_CLK_CS2000_CP=y

View File

@ -1,100 +0,0 @@
From 055155f463693e61f9018a011ad600d872d6736f Mon Sep 17 00:00:00 2001
From: Marek Belisko <marek.belisko@open-nandra.com>
Date: Fri, 2 Aug 2019 14:46:10 +0200
Subject: [PATCH] dts: orange-pi-zero: Add wifi support
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
---
arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 47 ++++++++++++++++++-----
1 file changed, 37 insertions(+), 10 deletions(-)
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
index 84cd9c0..77b2fc6 100644
--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
@@ -80,13 +80,14 @@
};
};
- reg_vcc_wifi: reg_vcc_wifi {
- compatible = "regulator-fixed";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- regulator-name = "vcc-wifi";
- enable-active-high;
+ vdd_wifi: vdd_wifi {
+ regulator-name = "wifi";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
gpio = <&pio 0 20 GPIO_ACTIVE_HIGH>;
+ startup-delay-us = <70000>;
+ enable-active-high;
+
};
reg_vdd_cpux: vdd-cpux-regulator {
@@ -106,10 +107,12 @@
1300000 1>;
};
- wifi_pwrseq: wifi_pwrseq {
+ pwrseq_wifi: pwrseq_wifi {
compatible = "mmc-pwrseq-simple";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_rst>;
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>;
- post-power-on-delay-ms = <200>;
+ post-power-on-delay-ms = <50>;
};
};
@@ -140,9 +143,11 @@
};
&mmc1 {
- vmmc-supply = <&reg_vcc_wifi>;
- mmc-pwrseq = <&wifi_pwrseq>;
+ vmmc-supply = <&reg_vcc3v3>;
+ vqmmc-supply = <&vdd_wifi>;
+ mmc-pwrseq = <&pwrseq_wifi>;
bus-width = <4>;
+ max-frequency = <16000000>;
non-removable;
status = "okay";
@@ -152,6 +157,13 @@
*/
xr819: sdio_wifi@1 {
reg = <1>;
+ compatible = "xradio,xr819";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_wake>;
+ interrupt-parent = <&pio>;
+ interrupts = <6 10 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "host-wake";
+ local-mac-address = [dc 44 6d c0 ff ee];
};
};
@@ -208,3 +220,18 @@
status = "okay";
usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
};
+
+&pio {
+ wifi_wake: wifi_wake {
+ pins = "PG10";
+ function = "gpio_in";
+ };
+};
+
+&r_pio {
+ wifi_rst: wifi_rst {
+ pins = "PL7";
+ function = "gpio_out";
+ };
+};
+
--
2.7.4

View File

@ -1,7 +1,7 @@
SECTION = "kernel"
DESCRIPTION = "Mainline Longterm Linux kernel"
DESCRIPTION = "Mainline Linux kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun50i)"
inherit kernel
@ -18,15 +18,13 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base += "kernel-devicetree"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
S = "${WORKDIR}/linux-${PV}"
SRC_URI[md5sum] = "bf96b6783a2d11178a2aaa3cf376f975"
SRC_URI[sha256sum] = "293ec1ae0f6b3b4be83a217224b51d137f2163cf2d9d294eecf5d0a354e4e29d"
SRC_URI[md5sum] = "e1051f6b15d6399a5de2441dd4e15537"
SRC_URI[sha256sum] = "ffc393a0c66f80375eacd3fb177b92e5c9daa07de0dcf947e925e049352e6142"
SRC_URI = "https://www.kernel.org/pub/linux/kernel/v4.x/linux-${PV}.tar.xz \
file://0001-arm64-dts-orange-pi-zero-plus2-fix-sdcard-detect.patch \
file://0002-arm64-dts-orange-pi-zero-plus2-enable-AP6212a-WiFi-B.patch \
file://0003-ARM-dts-nanopi-neo-air-Add-WiFi-eMMC.patch \
file://defconfig \
"
SRC_URI_append_orange-pi-zero += "\
file://0001-dts-orange-pi-zero-Add-wifi-support.patch \
"

View File

@ -1,34 +0,0 @@
SECTION = "kernel"
DESCRIPTION = "Mainline Stable Linux kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun50i)"
inherit kernel
require linux.inc
# Since we're not using git, this doesn't make a difference, but we need to fill
# in something or kernel-yocto.bbclass will fail.
KBRANCH ?= "master"
DEPENDS += "rsync-native"
# Pull in the devicetree files into the rootfs
RDEPENDS_${KERNEL_PACKAGE_NAME}-base += "kernel-devicetree"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
S = "${WORKDIR}/linux-${PV}"
SRC_URI[md5sum] = "6f4ab59d6ac7311f4245fc359706a0b7"
SRC_URI[sha256sum] = "78f3cfc6c20b10ff21c0bb22d7d257cab03781c44d8c5aae289f749f94f76649"
SRC_URI = "https://www.kernel.org/pub/linux/kernel/v5.x/linux-${PV}.tar.xz \
file://0003-ARM-dts-nanopi-neo-air-Add-WiFi-eMMC.patch \
file://defconfig \
"
SRC_URI_append_orange-pi-zero += "\
file://0001-dts-orange-pi-zero-Add-wifi-support.patch \
"

View File

@ -1,36 +0,0 @@
SECTION = "kernel"
DESCRIPTION = "Mainline RC Linux kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun50i)"
inherit kernel
require linux.inc
# Since we're not using git, this doesn't make a difference, but we need to fill
# in something or kernel-yocto.bbclass will fail.
KBRANCH ?= "master"
DEPENDS += "rsync-native"
# Pull in the devicetree files into the rootfs
RDEPENDS_${KERNEL_PACKAGE_NAME}-base += "kernel-devicetree"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
S = "${WORKDIR}/linux-${PV}"
SRC_URI[md5sum] = "58b2b15fb3c429948051ce4f12f30c37"
SRC_URI[sha256sum] = "b07532aa008438e0bce2b8f0253079a4f1654a048a75ae1477c8826f32feea7a"
SRC_URI = "https://git.kernel.org/torvalds/t/linux-${PV}.tar.gz \
file://0003-ARM-dts-nanopi-neo-air-Add-WiFi-eMMC.patch \
file://defconfig \
"
SRC_URI_append_orange-pi-zero += "\
file://0001-dts-orange-pi-zero-Add-wifi-support.patch \
"
FILES_${KERNEL_PACKAGE_NAME}-base_append = " ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo"

View File

@ -0,0 +1,29 @@
SECTION = "kernel"
DESCRIPTION = "Mainline Linux kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i)"
inherit kernel
require linux.inc
KBRANCH ?= "master"
# Pull in the devicetree files into the rootfs
RDEPENDS_${KERNEL_PACKAGE_NAME}-base += "kernel-devicetree"
# Default is to use stable kernel version
# If you want to use latest git version set to "1"
DEFAULT_PREFERENCE = "-1"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
# 4.15-rc1
PV = "4.15+git${SRCPV}"
SRCREV_pn-${PN} = "4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;branch=master \
file://defconfig \
"
S = "${WORKDIR}/git"

View File

@ -1,29 +0,0 @@
From 25a7e85eb0d58479f7d8895b1b29a648bd07d60e Mon Sep 17 00:00:00 2001
From: Andrey Lebedev <andrey@lebedev.lt>
Date: Mon, 20 Jan 2020 23:19:51 +0200
Subject: [PATCH 2/2] Fix asm error in put_user under gcc version 8 and above
Fixes these errors during compilation of linux-sunxi-3.4 kernel:
/tmp/ccCGMQmS.s:648: Error: .err encountered
Taken from https://patchwork.kernel.org/patch/10546809/
---
arch/arm/include/asm/uaccess.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
index b04850fd..abfafbbf 100644
--- a/arch/arm/include/asm/uaccess.h
+++ b/arch/arm/include/asm/uaccess.h
@@ -159,7 +159,7 @@ extern int __put_user_8(void *, unsigned long long);
({ \
unsigned long __limit = current_thread_info()->addr_limit - 1; \
const typeof(*(p)) __user *__tmp_p = (p); \
- register const typeof(*(p)) __r2 asm("r2") = (x); \
+ register typeof(*(p)) __r2 asm("r2") = (x); \
register const typeof(*(p)) __user *__p asm("r0") = __tmp_p; \
register unsigned long __l asm("r1") = __limit; \
register int __e asm("r0"); \
--
2.20.1

View File

@ -1,25 +0,0 @@
From 302604ee4a2011871cb26deaf69d567cf57d0fe3 Mon Sep 17 00:00:00 2001
From: Andrey Lebedev <andrey@lebedev.lt>
Date: Mon, 20 Jan 2020 23:20:07 +0200
Subject: [PATCH 1/2] Silence annoying warning
---
include/linux/log2.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/log2.h b/include/linux/log2.h
index fd7ff3d9..14458fdd 100644
--- a/include/linux/log2.h
+++ b/include/linux/log2.h
@@ -18,7 +18,7 @@
/*
* deal with unrepresentable constant logarithms
*/
-extern __attribute__((const, noreturn))
+extern __attribute__((const))
int ____ilog2_NaN(void);
/*
--
2.20.1

View File

@ -14,12 +14,9 @@ MACHINE_KERNEL_PR_append = "a"
SRC_URI += "git://github.com/linux-sunxi/linux-sunxi.git;branch=sunxi-3.4;protocol=git \
file://0001-compiler-gcc-integrate-the-various-compiler-gcc-345-.patch \
file://0002-use-static-inline-in-ARM-ftrace.patch \
file://0003-gcc5-fixes.patch \
file://0004-arm-put-user-asm-fix.patch \
file://0005-silence-warning.patch \
file://0001-gcc5-fixes.patch \
file://defconfig \
"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
S = "${WORKDIR}/git"

View File

@ -1,6 +1,7 @@
DESCRIPTION = "Linux Kernel"
SECTION = "kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
INC_PR = "r0"
@ -15,7 +16,7 @@ CMDLINE_DEBUG ?= "loglevel=3"
# Kernel bootlogo is distro-specific (default is OE logo).
# Logo resolution (qvga, vga, ...) is machine-specific.
LOGO_SIZE ?= '${@oe.utils.conditional("MACHINE_GUI_CLASS", "bigscreen", "vga", "qvga", d)}'
LOGO_SIZE ?= '${@base_conditional("MACHINE_GUI_CLASS", "bigscreen", "vga", "qvga", d)}'
# To use this, add file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 or similar
# to your kernel recipe, and then structure your logos for each resolution
# accordingly.
@ -35,10 +36,6 @@ kernel_conf_variable() {
fi
}
do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}binutils:do_populate_sysroot"
do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot"
do_kernel_configme[depends] += "bc-native:do_populate_sysroot bison-native:do_populate_sysroot"
do_configure_prepend() {
CONF_SED_SCRIPT=""

View File

@ -1,25 +0,0 @@
DESCRIPTION = "Xradio xr819 WiFi firmware"
LICENSE = "CC0-1.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/${LICENSE};md5=0ceb3372c9595f0a8067e55da801e4a1"
PV = "1.0"
PR = "r0"
SRCREV = "bddd21b7f895be9f0c37e435f0a7ac84405c6091"
COMPATIBLE_MACHINE = "orange-pi-zero"
SRC_URI = "git://github.com/armbian/firmware.git;protocol=https"
S = "${WORKDIR}/git"
do_install() {
install -d ${D}${base_libdir}/firmware/xr819
install -m 0644 ${S}/xr819/boot_xr819.bin ${D}${base_libdir}/firmware/xr819/
install -m 0644 ${S}/xr819/sdd_xr819.bin ${D}${base_libdir}/firmware/xr819/
install -m 0644 ${S}/xr819/fw_xr819.bin ${D}${base_libdir}/firmware/xr819/
}
FILES_${PN} = "${base_libdir}/*"
PACKAGES = "${PN}"

View File

@ -1,23 +0,0 @@
SUMMARY = "Xradio WiFi driver for orangepi-zero"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a23a74b3f4caf9616230789d94217acb"
inherit module
PV = "0.1"
PR = "r0"
RDEPENDS_${PN} += "xradio-firmware"
COMPATIBLE_MACHINE = "orange-pi-zero"
SRCREV = "d649e5a78efdc56ecd0951e35ca60db175650232"
SRC_URI = "git://github.com/fifteenhex/xradio.git;protocol=https \
"
S = "${WORKDIR}/git"
EXTRA_OEMAKE += "-C ${STAGING_KERNEL_DIR} M=${S}"
KERNEL_MODULE_AUTOLOAD += "xradio_wlan"

View File

@ -10,8 +10,6 @@ DEPENDS += "libusb"
SRC_URI = "git://github.com/linux-sunxi/sunxi-tools;protocol=git"
SRCREV = "9a3d62aa0c820b3dd42ba3409b2043f4143683cd"
inherit pkgconfig
S = "${WORKDIR}/git"
BBCLASSEXTEND = "native nativesdk"