[6/6] arm64: dts: ti: k3-j784s4-evm: Add DP0

Message ID 20230405111412.151192-7-j-choudhary@ti.com
State New
Headers
Series Add peripherals for J784S4 |

Commit Message

Jayesh Choudhary April 5, 2023, 11:14 a.m. UTC
  From: Rahul T R <r-ravikumar@ti.com>

Add the endpoint nodes to describe connection from
DSS => MHDP => DisplayPort connector.

Also add the required nodes gpio expander 4 and pinmux
for main_i2c4 which is required for controlling DP Power
and set status of all the required nodes for DP0 as
okay

Signed-off-by: Rahul T R <r-ravikumar@ti.com>
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
---
 arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 77 ++++++++++++++++++++++++
 1 file changed, 77 insertions(+)
  

Patch

diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
index 2b414fd973d0..03c9bf34cb1b 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
@@ -102,6 +102,28 @@  vdd_sd_dv: regulator-TLV71033 {
 		states = <1800000 0x0>,
 			 <3300000 0x1>;
 	};
+
+	dp0_pwr_3v3: regulator-dp0-prw {
+		compatible = "regulator-fixed";
+		regulator-name = "dp0-pwr";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		gpio = <&exp4 0 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+	};
+
+	dp0: dp0-connector {
+		compatible = "dp-connector";
+		label = "DP0";
+		type = "full-size";
+		dp-pwr-supply = <&dp0_pwr_3v3>;
+
+		port {
+			dp0_connector_in: endpoint {
+				remote-endpoint = <&dp0_out>;
+			};
+		};
+	};
 };
 
 &main_pmx0 {
@@ -169,6 +191,13 @@  dp0_pins_default: dp0-pins-default {
 			J784S4_IOPAD(0x0cc, PIN_INPUT, 12) /* (AM37) SPI0_CS0.DP0_HPD */
 		>;
 	};
+
+	main_i2c4_pins_default: main-i2c4-pins-default {
+		pinctrl-single,pins = <
+			J784S4_IOPAD(0x014, PIN_INPUT_PULLUP, 8) /* (AG33) MCAN14_TX.I2C4_SCL */
+			J784S4_IOPAD(0x010, PIN_INPUT_PULLUP, 8) /* (AH33) MCAN13_RX.I2C4_SDA */
+		>;
+	};
 };
 
 &wkup_pmx0 {
@@ -313,6 +342,7 @@  &serdes_refclk {
 };
 
 &dss {
+	status = "okay";
 	assigned-clocks = <&k3_clks 218 2>,
 			  <&k3_clks 218 5>,
 			  <&k3_clks 218 14>,
@@ -323,7 +353,12 @@  &dss {
 				 <&k3_clks 218 22>;
 };
 
+&serdes_wiz4 {
+	status = "okay";
+};
+
 &serdes4 {
+	status = "okay";
 	serdes4_dp_link: phy@0 {
 		reg = <0>;
 		cdns,num-lanes = <4>;
@@ -335,8 +370,50 @@  serdes4_dp_link: phy@0 {
 };
 
 &mhdp {
+	status = "okay";
 	pinctrl-names = "default";
 	pinctrl-0 = <&dp0_pins_default>;
 	phys = <&serdes4_dp_link>;
 	phy-names = "dpphy";
 };
+
+&dss_ports {
+	port {
+		dpi0_out: endpoint {
+			remote-endpoint = <&dp0_in>;
+		};
+	};
+};
+
+&main_i2c4 {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&main_i2c4_pins_default>;
+	clock-frequency = <400000>;
+
+	exp4: gpio@20 {
+		compatible = "ti,tca6408";
+		reg = <0x20>;
+		gpio-controller;
+		#gpio-cells = <2>;
+	};
+};
+
+&dp0_ports {
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	port@0 {
+		reg = <0>;
+		dp0_in: endpoint {
+			remote-endpoint = <&dpi0_out>;
+		};
+	};
+
+	port@4 {
+		reg = <4>;
+		dp0_out: endpoint {
+			remote-endpoint = <&dp0_connector_in>;
+		};
+	};
+};