diff --git a/conf/machine/orange-pi-prime.conf b/conf/machine/orange-pi-prime.conf new file mode 100644 index 0000000..6c26c38 --- /dev/null +++ b/conf/machine/orange-pi-prime.conf @@ -0,0 +1,12 @@ +#@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_FEATURES:append = " bluetooth wifi" +MACHINE_EXTRA_RRECOMMENDS:append = " linux-firmware-rtl8723" diff --git a/recipes-kernel/linux/linux-mainline-6.6.28/orange-pi-prime/0001-dts-sun50i-h5-enable-power-button-for-orange-pi-prime.patch b/recipes-kernel/linux/linux-mainline-6.6.28/orange-pi-prime/0001-dts-sun50i-h5-enable-power-button-for-orange-pi-prime.patch new file mode 100644 index 0000000..2f7b1c3 --- /dev/null +++ b/recipes-kernel/linux/linux-mainline-6.6.28/orange-pi-prime/0001-dts-sun50i-h5-enable-power-button-for-orange-pi-prime.patch @@ -0,0 +1,27 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Gunjan Gupta +Date: Sat, 15 Jul 2023 17:06:17 +0000 +Subject: arm64: dts: sun50i: h5: enable power button for orangepi prime + +--- + arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts +index f430acd8558f..35e09098570f 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts +@@ -63,8 +63,9 @@ gpio-keys { + + key-sw4 { + label = "sw4"; +- linux,code = ; ++ linux,code = ; + gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; ++ wakeup-source; + }; + }; + +-- +Armbian + diff --git a/recipes-kernel/linux/linux-mainline-6.6.28/orange-pi-prime/0002-dts-sun50i-h5-orange-pi-prime-add-regulator.patch b/recipes-kernel/linux/linux-mainline-6.6.28/orange-pi-prime/0002-dts-sun50i-h5-orange-pi-prime-add-regulator.patch new file mode 100644 index 0000000..880a791 --- /dev/null +++ b/recipes-kernel/linux/linux-mainline-6.6.28/orange-pi-prime/0002-dts-sun50i-h5-orange-pi-prime-add-regulator.patch @@ -0,0 +1,92 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: The-going <48602507+The-going@users.noreply.github.com> +Date: Mon, 24 Jan 2022 19:34:31 +0300 +Subject: arm64:dts: sun50i-h5-orangepi-prime add regulator + +--- + arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts | 43 ++++++++-- + 1 file changed, 36 insertions(+), 7 deletions(-) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts +index 6e44f86a8f63..375572d2f9b5 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts +@@ -8,11 +8,19 @@ + + #include + #include ++#include + + / { + model = "Xunlong Orange Pi Prime"; + compatible = "xunlong,orangepi-prime", "allwinner,sun50i-h5"; + ++ reg_vcc3v3: vcc3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ }; ++ + aliases { + ethernet0 = &emac; + serial0 = &uart0; +@@ -68,13 +76,6 @@ reg_gmac_3v3: gmac-3v3 { + gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; + }; + +- reg_vcc3v3: vcc3v3 { +- compatible = "regulator-fixed"; +- regulator-name = "vcc3v3"; +- regulator-min-microvolt = <3300000>; +- regulator-max-microvolt = <3300000>; +- }; +- + reg_usb0_vbus: usb0-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb0-vbus"; +@@ -91,6 +92,10 @@ wifi_pwrseq: wifi_pwrseq { + }; + }; + ++&cpu0 { ++ cpu-supply = <®_vdd_cpux>; ++}; ++ + &codec { + allwinner,audio-routing = + "Line Out", "LINEOUT", +@@ -189,6 +194,30 @@ &ohci3 { + &sound_hdmi { + status = "okay"; + }; ++&r_i2c { ++ status = "okay"; ++ ++ reg_vdd_cpux: regulator@65 { ++ compatible = "silergy,sy8106a"; ++ reg = <0x65>; ++ regulator-name = "vdd-cpux"; ++ silergy,fixed-microvolt = <1200000>; ++ /* ++ * The datasheet uses 1.1V as the minimum value of VDD-CPUX, ++ * however both the Armbian DVFS table and the official one ++ * have operating points with voltage under 1.1V, and both ++ * DVFS table are known to work properly at the lowest ++ * operating point. ++ * ++ * Use 1.0V as the minimum voltage instead. ++ */ ++ regulator-min-microvolt = <1000000>; ++ regulator-max-microvolt = <1400000>; ++ regulator-ramp-delay = <200>; ++ regulator-boot-on; ++ regulator-always-on; ++ }; ++}; + + &uart0 { + pinctrl-names = "default"; +-- +Armbian + diff --git a/recipes-kernel/linux/linux-mainline-6.6.28/orange-pi-prime/0003-dts-sun50i-h5-orange-pi-prime-add-rtl8723cs.patch b/recipes-kernel/linux/linux-mainline-6.6.28/orange-pi-prime/0003-dts-sun50i-h5-orange-pi-prime-add-rtl8723cs.patch new file mode 100644 index 0000000..badd015 --- /dev/null +++ b/recipes-kernel/linux/linux-mainline-6.6.28/orange-pi-prime/0003-dts-sun50i-h5-orange-pi-prime-add-rtl8723cs.patch @@ -0,0 +1,35 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: The-going <48602507+The-going@users.noreply.github.com> +Date: Mon, 7 Feb 2022 19:11:07 +0300 +Subject: arm64:dts: sun50i-h5-orangepi-prime add rtl8723cs + +--- + arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts +index 8b92d5e77220..f430acd8558f 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts +@@ -25,6 +25,7 @@ reg_vcc3v3: vcc3v3 { + aliases { + ethernet0 = &emac; + serial0 = &uart0; ++ ethernet1 = &rtl8723cs; + }; + + chosen { +@@ -174,6 +175,10 @@ &mmc1 { + bus-width = <4>; + non-removable; + status = "okay"; ++ ++ rtl8723cs: sdio_wifi@1 { ++ reg = <1>; ++ }; + }; + + &ohci0 { +-- +Armbian + diff --git a/recipes-kernel/linux/linux-mainline_6.6.28.bb b/recipes-kernel/linux/linux-mainline_6.6.28.bb index 5150523..4663856 100644 --- a/recipes-kernel/linux/linux-mainline_6.6.28.bb +++ b/recipes-kernel/linux/linux-mainline_6.6.28.bb @@ -6,3 +6,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" SRC_URI[sha256sum] = "818716ed13e7dba6aaeae24e3073993e260812ed128d10272e94b922ee6d3394" +SRC_URI:append:orange-pi-prime = " \ + file://0001-dts-sun50i-h5-enable-power-button-for-orange-pi-prime.patch \ + file://0002-dts-sun50i-h5-orange-pi-prime-add-regulator.patch \ + file://0003-dts-sun50i-h5-orange-pi-prime-add-rtl8723cs.patch \ +"