diff --git a/conf/machine/orange-pi-zero-plus2.conf b/conf/machine/orange-pi-zero-plus2.conf new file mode 100644 index 0000000..5777fcc --- /dev/null +++ b/conf/machine/orange-pi-zero-plus2.conf @@ -0,0 +1,11 @@ +#@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 + +PREFERRED_VERSION_u-boot = "v2017.11%" + +KERNEL_DEVICETREE = "allwinner/sun50i-h5-orangepi-zero-plus2.dtb" +UBOOT_MACHINE = "orangepi_zero_plus2_defconfig" diff --git a/recipes-kernel/linux/linux-mainline/0001-arm64-dts-orange-pi-zero-plus2-fix-sdcard-detect.patch b/recipes-kernel/linux/linux-mainline/0001-arm64-dts-orange-pi-zero-plus2-fix-sdcard-detect.patch new file mode 100644 index 0000000..5b7052c --- /dev/null +++ b/recipes-kernel/linux/linux-mainline/0001-arm64-dts-orange-pi-zero-plus2-fix-sdcard-detect.patch @@ -0,0 +1,29 @@ +From 1596e282f52c8f43fd1cc4a39096f28563558a5c Mon Sep 17 00:00:00 2001 +From: Sergey Matyukevich +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 +--- + 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 = <®_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 + diff --git a/recipes-kernel/linux/linux-mainline/0002-arm64-dts-orange-pi-zero-plus2-enable-AP6212a-WiFi-B.patch b/recipes-kernel/linux/linux-mainline/0002-arm64-dts-orange-pi-zero-plus2-enable-AP6212a-WiFi-B.patch new file mode 100644 index 0000000..c26f822 --- /dev/null +++ b/recipes-kernel/linux/linux-mainline/0002-arm64-dts-orange-pi-zero-plus2-enable-AP6212a-WiFi-B.patch @@ -0,0 +1,74 @@ +From 4d470855525b5993e766ad9f9304482739ba918d Mon Sep 17 00:00:00 2001 +From: Sergey Matyukevich +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 +--- + .../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 = <®_vcc3v3>; ++ vqmmc-supply = <®_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 + diff --git a/recipes-kernel/linux/linux-mainline_4.14.2.bb b/recipes-kernel/linux/linux-mainline_4.14.2.bb index bf64589..2a0e5ca 100644 --- a/recipes-kernel/linux/linux-mainline_4.14.2.bb +++ b/recipes-kernel/linux/linux-mainline_4.14.2.bb @@ -19,5 +19,7 @@ SRC_URI[md5sum] = "0164a000bd7b302037de4e91dff3018b" SRC_URI[sha256sum] = "e92690620a4e4811c6b37b2f1b6c9b32a1dde40aa12be6527c8dc215fb27464c" 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://defconfig \ "