arm: dts: imx8m*-venice: add gpio hog support

Add gpio hog support for board-specific gpio lines:
- put hogs in u-boot.dtsi so as to keep the regular dts files
  in sync with the kernel. The hogs will not be put in the kernel
  as that makes them un-usable by userspace as well as
  re-initializes them to dt defaults overriding changes which may
  have been done by bootloader commands.
- specify gpio names and initial config
- enable GPIO_HOG

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
diff --git a/arch/arm/dts/imx8mm-venice-gw7901-u-boot.dtsi b/arch/arm/dts/imx8mm-venice-gw7901-u-boot.dtsi
index a801ee1..11c773b 100644
--- a/arch/arm/dts/imx8mm-venice-gw7901-u-boot.dtsi
+++ b/arch/arm/dts/imx8mm-venice-gw7901-u-boot.dtsi
@@ -5,6 +5,124 @@
 
 #include "imx8mm-venice-u-boot.dtsi"
 
+&gpio1 {
+	uart1_rs422 {
+		gpio-hog;
+		output-high;
+		gpios = <0 GPIO_ACTIVE_HIGH>;
+		line-name = "uart1_rs422#";
+	};
+
+	uart1rs485 {
+		gpio-hog;
+		output-high;
+		gpios = <3 GPIO_ACTIVE_HIGH>;
+		line-name = "uart1_rs485#";
+	};
+
+	uart1rs232 {
+		gpio-hog;
+		output-high;
+		gpios = <5 GPIO_ACTIVE_HIGH>;
+		line-name = "uart1_rs232#";
+	};
+
+	dig1in {
+		gpio-hog;
+		input;
+		gpios = <6 GPIO_ACTIVE_HIGH>;
+		line-name = "dig1_in";
+	};
+
+	dig1out {
+		gpio-hog;
+		output-low;
+		gpios = <7 GPIO_ACTIVE_HIGH>;
+		line-name = "dig1_out";
+	};
+};
+
+&gpio4 {
+	uart3_rs232 {
+		gpio-hog;
+		output-high;
+		gpios = <6 GPIO_ACTIVE_HIGH>;
+		line-name = "uart3_rs232#";
+	};
+
+	uart3_rs422 {
+		gpio-hog;
+		output-high;
+		gpios = <7 GPIO_ACTIVE_HIGH>;
+		line-name = "uart3_rs422#";
+	};
+
+	uart3_rs485 {
+		gpio-hog;
+		output-high;
+		gpios = <8 GPIO_ACTIVE_HIGH>;
+		line-name = "uart3_rs485#";
+	};
+
+	uart4_rs485 {
+		gpio-hog;
+		output-high;
+		gpios = <27 GPIO_ACTIVE_HIGH>;
+		line-name = "uart4_rs485#";
+	};
+
+	sim1det {
+		gpio-hog;
+		input;
+		gpios = <29 GPIO_ACTIVE_HIGH>;
+		line-name = "sim1_det";
+	};
+
+	sim2det {
+		gpio-hog;
+		input;
+		gpios = <30 GPIO_ACTIVE_HIGH>;
+		line-name = "sim2_det";
+	};
+};
+
+&gpio5 {
+	dig2out {
+		gpio-hog;
+		output-low;
+		gpios = <3 GPIO_ACTIVE_HIGH>;
+		line-name = "dig2_out";
+	};
+
+	dig2in {
+		gpio-hog;
+		input;
+		gpios = <4 GPIO_ACTIVE_HIGH>;
+		line-name = "dig2_in";
+	};
+
+	sim2sel {
+		gpio-hog;
+		output-low;
+		gpios = <5 GPIO_ACTIVE_HIGH>;
+		line-name = "sim2_sel";
+	};
+
+	uart4_rs232 {
+		gpio-hog;
+		output-high;
+		gpios = <10 GPIO_ACTIVE_HIGH>;
+		line-name = "uart4_rs232#";
+	};
+
+	uart4_rs422 {
+		gpio-hog;
+		output-high;
+		gpios = <13 GPIO_ACTIVE_HIGH>;
+		line-name = "uart4_rs422#";
+	};
+};
+
 &fec1 {
 	phy-reset-gpios = <&gpio4 19 GPIO_ACTIVE_LOW>;
 	phy-reset-duration = <1>;