From cf392c17875bf9470901539dd65f9bccdb5d9466 Mon Sep 17 00:00:00 2001 From: Gunjan Gupta Date: Fri, 2 Feb 2024 08:59:07 +0530 Subject: [PATCH] H616: Add i2c and uart overlays --- ...erlays-that-are-also-compatible-with.patch | 166 ++++++++++++++++++ patch/kernel/archive/sunxi-6.6/series.armbian | 1 + patch/kernel/archive/sunxi-6.6/series.conf | 1 + ...erlays-that-are-also-compatible-with.patch | 166 ++++++++++++++++++ patch/kernel/archive/sunxi-6.7/series.armbian | 1 + patch/kernel/archive/sunxi-6.7/series.conf | 1 + 6 files changed, 336 insertions(+) create mode 100644 patch/kernel/archive/sunxi-6.6/patches.armbian/arm64-dts-H616-Add-overlays-that-are-also-compatible-with.patch create mode 100644 patch/kernel/archive/sunxi-6.7/patches.armbian/arm64-dts-H616-Add-overlays-that-are-also-compatible-with.patch diff --git a/patch/kernel/archive/sunxi-6.6/patches.armbian/arm64-dts-H616-Add-overlays-that-are-also-compatible-with.patch b/patch/kernel/archive/sunxi-6.6/patches.armbian/arm64-dts-H616-Add-overlays-that-are-also-compatible-with.patch new file mode 100644 index 0000000000..e6c1c68062 --- /dev/null +++ b/patch/kernel/archive/sunxi-6.6/patches.armbian/arm64-dts-H616-Add-overlays-that-are-also-compatible-with.patch @@ -0,0 +1,166 @@ +From bcbe9ca5716942afb2a11ba1b9cbbb435d1ffa51 Mon Sep 17 00:00:00 2001 +From: Gunjan Gupta +Date: Thu, 1 Feb 2024 22:38:21 +0000 +Subject: [PATCH] arm64: dts: H616: Add overlays that are also compatible with + orange pi zero2 and zero3 + +--- + .../arm64/boot/dts/allwinner/overlay/Makefile | 5 ++++ + .../allwinner/overlay/sun50i-h616-i2c2.dtso | 8 ++++++ + .../allwinner/overlay/sun50i-h616-i2c3.dtso | 8 ++++++ + .../allwinner/overlay/sun50i-h616-i2c4.dtso | 8 ++++++ + .../allwinner/overlay/sun50i-h616-uart2.dtso | 8 ++++++ + .../allwinner/overlay/sun50i-h616-uart5.dtso | 8 ++++++ + .../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 27 +++++++++++++++++-- + 7 files changed, 70 insertions(+), 2 deletions(-) + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c2.dtso + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c3.dtso + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c4.dtso + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2.dtso + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart5.dtso + +diff --git a/arch/arm64/boot/dts/allwinner/overlay/Makefile b/arch/arm64/boot/dts/allwinner/overlay/Makefile +index 84711585fc86..369b2976b1bb 100644 +--- a/arch/arm64/boot/dts/allwinner/overlay/Makefile ++++ b/arch/arm64/boot/dts/allwinner/overlay/Makefile +@@ -49,6 +49,11 @@ dtb-$(CONFIG_ARCH_SUNXI) += \ + sun50i-h6-uart2.dtbo \ + sun50i-h6-uart3.dtbo \ + sun50i-h6-w1-gpio.dtbo \ ++ sun50i-h616-i2c2.dtbo \ ++ sun50i-h616-i2c3.dtbo \ ++ sun50i-h616-i2c4.dtbo \ ++ sun50i-h616-uart2.dtbo \ ++ sun50i-h616-uart5.dtbo \ + sun50i-h616-spi-spidev.dtbo \ + sun50i-h616-spidev0_0.dtbo \ + sun50i-h616-spidev1_0.dtbo \ +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c2.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c2.dtso +new file mode 100644 +index 000000000000..feebc9ad85fb +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c2.dtso +@@ -0,0 +1,8 @@ ++/dts-v1/; ++/plugin/; ++ ++&i2c2 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c2_ph_pins>; ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c3.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c3.dtso +new file mode 100644 +index 000000000000..bb212d3c66da +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c3.dtso +@@ -0,0 +1,8 @@ ++/dts-v1/; ++/plugin/; ++ ++&i2c3 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c3_ph_pins>; ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c4.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c4.dtso +new file mode 100644 +index 000000000000..8fbcc658b22c +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c4.dtso +@@ -0,0 +1,8 @@ ++/dts-v1/; ++/plugin/; ++ ++&i2c4 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c4_ph_pins>; ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2.dtso +new file mode 100644 +index 000000000000..6a6806906972 +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2.dtso +@@ -0,0 +1,8 @@ ++/dts-v1/; ++/plugin/; ++ ++&uart2 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart2_pins>; ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart5.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart5.dtso +new file mode 100644 +index 000000000000..6a6806906972 +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart5.dtso +@@ -0,0 +1,8 @@ ++/dts-v1/; ++/plugin/; ++ ++&uart5 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart5_pins>; ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi +index 52bd986abcdb..157b6736770e 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi +@@ -319,11 +319,21 @@ i2c0_pins: i2c0-pins { + function = "i2c0"; + }; + ++ i2c2_ph_pins: i2c2-ph-pins { ++ pins = "PH2", "PH3"; ++ function = "i2c2"; ++ }; ++ + i2c3_ph_pins: i2c3-ph-pins { + pins = "PH4", "PH5"; + function = "i2c3"; + }; + ++ i2c4_ph_pins: i2c4-ph-pins { ++ pins = "PH6", "PH7"; ++ function = "i2c4"; ++ }; ++ + ir_rx_pin: ir-rx-pin { + pins = "PH10"; + function = "ir_rx"; +@@ -374,7 +384,6 @@ spi0_cs0_pin: spi0-cs0-pin { + function = "spi0"; + }; + +- /omit-if-no-ref/ + spi1_pins: spi1-pins { + pins = "PH6", "PH7", "PH8"; + function = "spi1"; +@@ -402,6 +410,21 @@ uart1_rts_cts_pins: uart1-rts-cts-pins { + pins = "PG8", "PG9"; + function = "uart1"; + }; ++ ++ uart2_pins: uart2-pins { ++ pins = "PH5", "PH6"; ++ function = "uart2"; ++ }; ++ ++ uart2_rts_cts_pins: uart2-rts-cts-pins { ++ pins = "PH7", "PH8"; ++ function = "uart2"; ++ }; ++ ++ uart5_pins: uart5-pins { ++ pins = "PH2", "PH3"; ++ function = "uart5"; ++ }; + }; + + gic: interrupt-controller@3021000 { +-- +2.34.1 + diff --git a/patch/kernel/archive/sunxi-6.6/series.armbian b/patch/kernel/archive/sunxi-6.6/series.armbian index d979aa2415..3fce7f846a 100644 --- a/patch/kernel/archive/sunxi-6.6/series.armbian +++ b/patch/kernel/archive/sunxi-6.6/series.armbian @@ -195,3 +195,4 @@ patches.armbian/drivers-hack-for-h616-hdmi-video-output.patch patches.armbian/arm64-dts-h616-add-hdmi-support-for-zero2-and-zero3.patch patches.armbian/arm64-dts-sun50i-h616-Add-dma-node.patch + patches.armbian/arm64-dts-H616-Add-overlays-that-are-also-compatible-with.patch diff --git a/patch/kernel/archive/sunxi-6.6/series.conf b/patch/kernel/archive/sunxi-6.6/series.conf index 0fbff4b793..fab7bea66b 100644 --- a/patch/kernel/archive/sunxi-6.6/series.conf +++ b/patch/kernel/archive/sunxi-6.6/series.conf @@ -464,3 +464,4 @@ patches.armbian/drivers-hack-for-h616-hdmi-video-output.patch patches.armbian/arm64-dts-h616-add-hdmi-support-for-zero2-and-zero3.patch patches.armbian/arm64-dts-sun50i-h616-Add-dma-node.patch + patches.armbian/arm64-dts-H616-Add-overlays-that-are-also-compatible-with.patch diff --git a/patch/kernel/archive/sunxi-6.7/patches.armbian/arm64-dts-H616-Add-overlays-that-are-also-compatible-with.patch b/patch/kernel/archive/sunxi-6.7/patches.armbian/arm64-dts-H616-Add-overlays-that-are-also-compatible-with.patch new file mode 100644 index 0000000000..e6c1c68062 --- /dev/null +++ b/patch/kernel/archive/sunxi-6.7/patches.armbian/arm64-dts-H616-Add-overlays-that-are-also-compatible-with.patch @@ -0,0 +1,166 @@ +From bcbe9ca5716942afb2a11ba1b9cbbb435d1ffa51 Mon Sep 17 00:00:00 2001 +From: Gunjan Gupta +Date: Thu, 1 Feb 2024 22:38:21 +0000 +Subject: [PATCH] arm64: dts: H616: Add overlays that are also compatible with + orange pi zero2 and zero3 + +--- + .../arm64/boot/dts/allwinner/overlay/Makefile | 5 ++++ + .../allwinner/overlay/sun50i-h616-i2c2.dtso | 8 ++++++ + .../allwinner/overlay/sun50i-h616-i2c3.dtso | 8 ++++++ + .../allwinner/overlay/sun50i-h616-i2c4.dtso | 8 ++++++ + .../allwinner/overlay/sun50i-h616-uart2.dtso | 8 ++++++ + .../allwinner/overlay/sun50i-h616-uart5.dtso | 8 ++++++ + .../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 27 +++++++++++++++++-- + 7 files changed, 70 insertions(+), 2 deletions(-) + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c2.dtso + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c3.dtso + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c4.dtso + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2.dtso + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart5.dtso + +diff --git a/arch/arm64/boot/dts/allwinner/overlay/Makefile b/arch/arm64/boot/dts/allwinner/overlay/Makefile +index 84711585fc86..369b2976b1bb 100644 +--- a/arch/arm64/boot/dts/allwinner/overlay/Makefile ++++ b/arch/arm64/boot/dts/allwinner/overlay/Makefile +@@ -49,6 +49,11 @@ dtb-$(CONFIG_ARCH_SUNXI) += \ + sun50i-h6-uart2.dtbo \ + sun50i-h6-uart3.dtbo \ + sun50i-h6-w1-gpio.dtbo \ ++ sun50i-h616-i2c2.dtbo \ ++ sun50i-h616-i2c3.dtbo \ ++ sun50i-h616-i2c4.dtbo \ ++ sun50i-h616-uart2.dtbo \ ++ sun50i-h616-uart5.dtbo \ + sun50i-h616-spi-spidev.dtbo \ + sun50i-h616-spidev0_0.dtbo \ + sun50i-h616-spidev1_0.dtbo \ +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c2.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c2.dtso +new file mode 100644 +index 000000000000..feebc9ad85fb +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c2.dtso +@@ -0,0 +1,8 @@ ++/dts-v1/; ++/plugin/; ++ ++&i2c2 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c2_ph_pins>; ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c3.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c3.dtso +new file mode 100644 +index 000000000000..bb212d3c66da +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c3.dtso +@@ -0,0 +1,8 @@ ++/dts-v1/; ++/plugin/; ++ ++&i2c3 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c3_ph_pins>; ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c4.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c4.dtso +new file mode 100644 +index 000000000000..8fbcc658b22c +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c4.dtso +@@ -0,0 +1,8 @@ ++/dts-v1/; ++/plugin/; ++ ++&i2c4 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c4_ph_pins>; ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2.dtso +new file mode 100644 +index 000000000000..6a6806906972 +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2.dtso +@@ -0,0 +1,8 @@ ++/dts-v1/; ++/plugin/; ++ ++&uart2 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart2_pins>; ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart5.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart5.dtso +new file mode 100644 +index 000000000000..6a6806906972 +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart5.dtso +@@ -0,0 +1,8 @@ ++/dts-v1/; ++/plugin/; ++ ++&uart5 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart5_pins>; ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi +index 52bd986abcdb..157b6736770e 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi +@@ -319,11 +319,21 @@ i2c0_pins: i2c0-pins { + function = "i2c0"; + }; + ++ i2c2_ph_pins: i2c2-ph-pins { ++ pins = "PH2", "PH3"; ++ function = "i2c2"; ++ }; ++ + i2c3_ph_pins: i2c3-ph-pins { + pins = "PH4", "PH5"; + function = "i2c3"; + }; + ++ i2c4_ph_pins: i2c4-ph-pins { ++ pins = "PH6", "PH7"; ++ function = "i2c4"; ++ }; ++ + ir_rx_pin: ir-rx-pin { + pins = "PH10"; + function = "ir_rx"; +@@ -374,7 +384,6 @@ spi0_cs0_pin: spi0-cs0-pin { + function = "spi0"; + }; + +- /omit-if-no-ref/ + spi1_pins: spi1-pins { + pins = "PH6", "PH7", "PH8"; + function = "spi1"; +@@ -402,6 +410,21 @@ uart1_rts_cts_pins: uart1-rts-cts-pins { + pins = "PG8", "PG9"; + function = "uart1"; + }; ++ ++ uart2_pins: uart2-pins { ++ pins = "PH5", "PH6"; ++ function = "uart2"; ++ }; ++ ++ uart2_rts_cts_pins: uart2-rts-cts-pins { ++ pins = "PH7", "PH8"; ++ function = "uart2"; ++ }; ++ ++ uart5_pins: uart5-pins { ++ pins = "PH2", "PH3"; ++ function = "uart5"; ++ }; + }; + + gic: interrupt-controller@3021000 { +-- +2.34.1 + diff --git a/patch/kernel/archive/sunxi-6.7/series.armbian b/patch/kernel/archive/sunxi-6.7/series.armbian index d979aa2415..3fce7f846a 100644 --- a/patch/kernel/archive/sunxi-6.7/series.armbian +++ b/patch/kernel/archive/sunxi-6.7/series.armbian @@ -195,3 +195,4 @@ patches.armbian/drivers-hack-for-h616-hdmi-video-output.patch patches.armbian/arm64-dts-h616-add-hdmi-support-for-zero2-and-zero3.patch patches.armbian/arm64-dts-sun50i-h616-Add-dma-node.patch + patches.armbian/arm64-dts-H616-Add-overlays-that-are-also-compatible-with.patch diff --git a/patch/kernel/archive/sunxi-6.7/series.conf b/patch/kernel/archive/sunxi-6.7/series.conf index 4359cb4042..842d75b0dd 100644 --- a/patch/kernel/archive/sunxi-6.7/series.conf +++ b/patch/kernel/archive/sunxi-6.7/series.conf @@ -517,3 +517,4 @@ patches.armbian/drivers-hack-for-h616-hdmi-video-output.patch patches.armbian/arm64-dts-h616-add-hdmi-support-for-zero2-and-zero3.patch patches.armbian/arm64-dts-sun50i-h616-Add-dma-node.patch + patches.armbian/arm64-dts-H616-Add-overlays-that-are-also-compatible-with.patch