Skip to content

Commit

Permalink
H616: Add i2c and uart overlays
Browse files Browse the repository at this point in the history
  • Loading branch information
viraniac committed Feb 4, 2024
1 parent d8123f0 commit cf392c1
Show file tree
Hide file tree
Showing 6 changed files with 336 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
From bcbe9ca5716942afb2a11ba1b9cbbb435d1ffa51 Mon Sep 17 00:00:00 2001
From: Gunjan Gupta <viraniac@mgmail.com>
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

1 change: 1 addition & 0 deletions patch/kernel/archive/sunxi-6.6/series.armbian
Original file line number Diff line number Diff line change
Expand Up @@ -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
1 change: 1 addition & 0 deletions patch/kernel/archive/sunxi-6.6/series.conf
Original file line number Diff line number Diff line change
Expand Up @@ -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
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
From bcbe9ca5716942afb2a11ba1b9cbbb435d1ffa51 Mon Sep 17 00:00:00 2001
From: Gunjan Gupta <viraniac@mgmail.com>
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

1 change: 1 addition & 0 deletions patch/kernel/archive/sunxi-6.7/series.armbian
Original file line number Diff line number Diff line change
Expand Up @@ -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
1 change: 1 addition & 0 deletions patch/kernel/archive/sunxi-6.7/series.conf
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit cf392c1

Please sign in to comment.