From 4b31717fb031e6b99f476e79b5e8b3d6a8b0b9ff Mon Sep 17 00:00:00 2001
From: Sander Vanheule <sander@svanheule.net>
Date: Sun, 20 Feb 2022 16:25:42 +0100
Subject: [PATCH] realtek: move RTL8231 definitions to board files

The RTL8231 is an external chip, and not part of the SoC. That means
it is more appropriate to define it in the board specific (base) files,
instead of the DT include for the SoC itself.

Moving the RTL8231 definition also ensures that boards with no GPIO
expander, or an alternative one, don't have a useless gpio1 node label
defined.

Tested on a Netgear GS110TPPv1.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
---
 .../dts-5.10/rtl8380_netgear_gigabit.dtsi       | 11 ++++++-----
 .../realtek/dts-5.10/rtl8380_zyxel_gs1900.dtsi  | 17 ++++++++++-------
 .../dts-5.10/rtl8382_d-link_dgs-1210-10p.dts    |  7 +++++++
 target/linux/realtek/dts-5.10/rtl838x.dtsi      |  9 ---------
 4 files changed, 23 insertions(+), 21 deletions(-)

diff --git a/target/linux/realtek/dts-5.10/rtl8380_netgear_gigabit.dtsi b/target/linux/realtek/dts-5.10/rtl8380_netgear_gigabit.dtsi
index db411def30d..078f8ff2289 100644
--- a/target/linux/realtek/dts-5.10/rtl8380_netgear_gigabit.dtsi
+++ b/target/linux/realtek/dts-5.10/rtl8380_netgear_gigabit.dtsi
@@ -28,12 +28,13 @@
 		gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
 		open-source;
 	};
-};
-
-&gpio1 {
-	status = "okay";
 
-	indirect-access-bus-id = <31>;
+	gpio1: rtl8231-gpio {
+		compatible = "realtek,rtl8231-gpio";
+		#gpio-cells = <2>;
+		gpio-controller;
+		indirect-access-bus-id = <31>;
+	};
 };
 
 &ethernet0 {
diff --git a/target/linux/realtek/dts-5.10/rtl8380_zyxel_gs1900.dtsi b/target/linux/realtek/dts-5.10/rtl8380_zyxel_gs1900.dtsi
index 7095006454a..5993c1b798d 100644
--- a/target/linux/realtek/dts-5.10/rtl8380_zyxel_gs1900.dtsi
+++ b/target/linux/realtek/dts-5.10/rtl8380_zyxel_gs1900.dtsi
@@ -39,15 +39,18 @@
 			gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
 		};
 	};
-};
 
-&gpio1 {
-	status = "okay";
+	gpio1: rtl8231-gpio {
+		compatible = "realtek,rtl8231-gpio";
+		#gpio-cells = <2>;
+		gpio-controller;
+		indirect-access-bus-id = <0>;
 
-	poe_enable {
-		gpio-hog;
-		gpios = <13 0>;
-		output-high;
+		poe_enable {
+			gpio-hog;
+			gpios = <13 GPIO_ACTIVE_HIGH>;
+			output-high;
+		};
 	};
 };
 
diff --git a/target/linux/realtek/dts-5.10/rtl8382_d-link_dgs-1210-10p.dts b/target/linux/realtek/dts-5.10/rtl8382_d-link_dgs-1210-10p.dts
index a0f377c4f4a..3321887c9a5 100644
--- a/target/linux/realtek/dts-5.10/rtl8382_d-link_dgs-1210-10p.dts
+++ b/target/linux/realtek/dts-5.10/rtl8382_d-link_dgs-1210-10p.dts
@@ -44,6 +44,13 @@
 			linux,code = <KEY_RESTART>;
 		};*/
 	};
+
+	gpio1: rtl8231-gpio {
+		compatible = "realtek,rtl8231-gpio";
+		#gpio-cells = <2>;
+		gpio-controller;
+		indirect-access-bus-id = <0>;
+	};
 };
 
 
diff --git a/target/linux/realtek/dts-5.10/rtl838x.dtsi b/target/linux/realtek/dts-5.10/rtl838x.dtsi
index bfe75b8eb24..11cabc3f63c 100644
--- a/target/linux/realtek/dts-5.10/rtl838x.dtsi
+++ b/target/linux/realtek/dts-5.10/rtl838x.dtsi
@@ -169,15 +169,6 @@
 		};
 	};
 
-	gpio1: rtl8231-gpio {
-		compatible = "realtek,rtl8231-gpio";
-		#gpio-cells = <2>;
-		indirect-access-bus-id = <0>;
-		gpio-controller;
-
-		status = "disabled";
-	};
-
 	pinmux: pinmux@1b001000 {
 		compatible = "pinctrl-single";
 		reg = <0x1b001000 0x4>;
-- 
GitLab