Skip to content

Commit

Permalink
arm64: dts: ti: k3-j784s4-evm: Enable DisplayPort-0
Browse files Browse the repository at this point in the history
Enable display for J784S4 EVM.

Add assigned clocks for DSS, DT node for DisplayPort PHY and pinmux for
DP HPD. Add the clock frequency for serdes_refclk.

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

Also add the GPIO expander-4 node and pinmux for main_i2c4 which is
required for controlling DP power. Set status for all required nodes
for DP-0 as "okay".

Signed-off-by: Rahul T R <r-ravikumar@ti.com>
[j-choudhary@ti.com: move all the changes together to enable DP-0 in EVM]
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Reviewed-by: Aradhya Bhatia <a-bhatia1@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Link: https://lore.kernel.org/r/20231019054022.175163-5-j-choudhary@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
  • Loading branch information
Rahul T R authored and Vignesh Raghavendra committed Oct 19, 2023
1 parent 603669b commit 0da6b5d
Showing 1 changed file with 117 additions and 0 deletions.
117 changes: 117 additions & 0 deletions arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,28 @@
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: connector-dp0 {
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 {
Expand Down Expand Up @@ -289,6 +311,19 @@
J784S4_IOPAD(0x020, PIN_INPUT, 7) /* (AJ35) MCAN15_RX.GPIO0_8 */
>;
};

dp0_pins_default: dp0-default-pins {
pinctrl-single,pins = <
J784S4_IOPAD(0x0cc, PIN_INPUT, 12) /* (AM37) SPI0_CS0.DP0_HPD */
>;
};

main_i2c4_pins_default: main-i2c4-default-pins {
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_pmx2 {
Expand Down Expand Up @@ -862,3 +897,85 @@
ti,adc-channels = <0 1 2 3 4 5 6 7>;
};
};

&serdes_refclk {
status = "okay";
clock-frequency = <100000000>;
};

&dss {
status = "okay";
assigned-clocks = <&k3_clks 218 2>,
<&k3_clks 218 5>,
<&k3_clks 218 14>,
<&k3_clks 218 18>;
assigned-clock-parents = <&k3_clks 218 3>,
<&k3_clks 218 7>,
<&k3_clks 218 16>,
<&k3_clks 218 22>;
};

&serdes_wiz4 {
status = "okay";
};

&serdes4 {
status = "okay";
serdes4_dp_link: phy@0 {
reg = <0>;
cdns,num-lanes = <4>;
#phy-cells = <0>;
cdns,phy-type = <PHY_TYPE_DP>;
resets = <&serdes_wiz4 1>, <&serdes_wiz4 2>,
<&serdes_wiz4 3>, <&serdes_wiz4 4>;
};
};

&mhdp {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&dp0_pins_default>;
phys = <&serdes4_dp_link>;
phy-names = "dpphy";
};

&dss_ports {
/* DP */
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 {
port@0 {
reg = <0>;

dp0_in: endpoint {
remote-endpoint = <&dpi0_out>;
};
};

port@4 {
reg = <4>;

dp0_out: endpoint {
remote-endpoint = <&dp0_connector_in>;
};
};
};

0 comments on commit 0da6b5d

Please sign in to comment.