Enable DSI support for AM68-SK platform.
Add DT node for DSI2eDP bridge. The DSI to eDP bridge is sn65dsi86
on the board.
Add the endpoint nodes to describe connection from:
DSS => DSI => SN65DSI86 bridge => DisplayPort-0
Set status for all required nodes for DisplayPort-0 as 'okay'.
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
---
.../boot/dts/ti/k3-am68-sk-base-board.dts | 96 +++++++++++++++++++
1 file changed, 96 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
index 5fa70a874d7b..aef63ae2994c 100644
--- a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
@@ -135,6 +135,35 @@ transceiver4: can-phy3 {
max-bitrate = <5000000>;
};
+ edp0_refclk: clock-edp0-refclk {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <19200000>;
+ };
+
+ dp0_pwr_3v3: fixedregulator-dp0-pwr {
+ compatible = "regulator-fixed";
+ regulator-name = "dp0-pwr";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&exp2 2 GPIO_ACTIVE_HIGH>; /*P0 - DP0_3V3 _EN */
+ enable-active-high;
+ regulator-always-on;
+ };
+
+ 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>;
+ };
+ };
+ };
+
connector-hdmi {
compatible = "hdmi-connector";
label = "hdmi";
@@ -605,6 +634,39 @@ exp2: gpio@20 {
gpio-line-names = "HDMI_PDn","HDMI_LS_OE",
"DP0_3V3_EN","eDP_ENABLE";
};
+
+ dsi_edp_bridge: dsi-edp-bridge@2c {
+ compatible = "ti,sn65dsi86";
+ reg = <0x2c>;
+ clock-names = "refclk";
+ clocks = <&edp0_refclk>;
+ enable-gpios = <&exp2 3 GPIO_ACTIVE_HIGH>;
+ vpll-supply = <&vsys_io_1v8>;
+ vccio-supply = <&vsys_io_1v8>;
+ vcca-supply = <&vsys_io_1v2>;
+ vcc-supply = <&vsys_io_1v2>;
+
+ dsi_edp_bridge_ports: ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dp0_in: endpoint {
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ dp0_out: endpoint {
+ remote-endpoint = <&dp0_connector_in>;
+ };
+ };
+ };
+ };
};
&main_sdhci1 {
@@ -699,6 +761,15 @@ dpi_out0: endpoint {
remote-endpoint = <&tfp410_in>;
};
};
+
+ /* DSI */
+ port@2 {
+ reg = <2>;
+
+ dpi0_out: endpoint {
+ remote-endpoint = <&dsi0_in>;
+ };
+ };
};
&serdes_ln_ctrl {
@@ -756,3 +827,28 @@ &usb0 {
phys = <&serdes0_usb_link>;
phy-names = "cdns3,usb3-phy";
};
+
+&dphy_tx0 {
+ status = "okay";
+};
+
+&dsi0 {
+ status = "okay";
+};
+
+&dsi0_ports {
+
+ port@0 {
+ reg = <0>;
+ dsi0_out: endpoint {
+ remote-endpoint = <&dp0_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ dsi0_in: endpoint {
+ remote-endpoint = <&dpi0_out>;
+ };
+ };
+};
--
2.34.1
On 24/06/25 13:56, Jayesh Choudhary wrote: > Enable DSI support for AM68-SK platform. > > Add DT node for DSI2eDP bridge. The DSI to eDP bridge is sn65dsi86 > on the board. > > Add the endpoint nodes to describe connection from: > DSS => DSI => SN65DSI86 bridge => DisplayPort-0 > > Set status for all required nodes for DisplayPort-0 as 'okay'. > > Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com> > --- > .../boot/dts/ti/k3-am68-sk-base-board.dts | 96 +++++++++++++++++++ > 1 file changed, 96 insertions(+) > > diff --git a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts > index 5fa70a874d7b..aef63ae2994c 100644 > --- a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts > +++ b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts > @@ -135,6 +135,35 @@ transceiver4: can-phy3 { > max-bitrate = <5000000>; > }; > > + edp0_refclk: clock-edp0-refclk { > + #clock-cells = <0>; > + compatible = "fixed-clock"; > + clock-frequency = <19200000>; > + }; > + > + dp0_pwr_3v3: fixedregulator-dp0-pwr { use std node name: regulator-... > + compatible = "regulator-fixed"; > + regulator-name = "dp0-pwr"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + gpio = <&exp2 2 GPIO_ACTIVE_HIGH>; /*P0 - DP0_3V3 _EN */ > + enable-active-high; > + regulator-always-on; > + }; > + > + 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>; > + }; > + }; > + }; > + > connector-hdmi { > compatible = "hdmi-connector"; > label = "hdmi"; > @@ -605,6 +634,39 @@ exp2: gpio@20 { > gpio-line-names = "HDMI_PDn","HDMI_LS_OE", > "DP0_3V3_EN","eDP_ENABLE"; > }; > + > + dsi_edp_bridge: dsi-edp-bridge@2c { > + compatible = "ti,sn65dsi86"; > + reg = <0x2c>; > + clock-names = "refclk"; > + clocks = <&edp0_refclk>; > + enable-gpios = <&exp2 3 GPIO_ACTIVE_HIGH>; > + vpll-supply = <&vsys_io_1v8>; > + vccio-supply = <&vsys_io_1v8>; > + vcca-supply = <&vsys_io_1v2>; > + vcc-supply = <&vsys_io_1v2>; > + > + dsi_edp_bridge_ports: ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + dp0_in: endpoint { > + remote-endpoint = <&dsi0_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + > + dp0_out: endpoint { > + remote-endpoint = <&dp0_connector_in>; > + }; > + }; > + }; > + }; > }; > > &main_sdhci1 { > @@ -699,6 +761,15 @@ dpi_out0: endpoint { > remote-endpoint = <&tfp410_in>; > }; > }; > + > + /* DSI */ > + port@2 { > + reg = <2>; > + > + dpi0_out: endpoint { > + remote-endpoint = <&dsi0_in>; > + }; > + }; > }; > > &serdes_ln_ctrl { > @@ -756,3 +827,28 @@ &usb0 { > phys = <&serdes0_usb_link>; > phy-names = "cdns3,usb3-phy"; > }; > + > +&dphy_tx0 { > + status = "okay"; > +}; > + > +&dsi0 { > + status = "okay"; > +}; > + > +&dsi0_ports { > + > + port@0 { > + reg = <0>; > + dsi0_out: endpoint { > + remote-endpoint = <&dp0_in>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + dsi0_in: endpoint { > + remote-endpoint = <&dpi0_out>; > + }; > + }; > +}; -- Regards Vignesh https://ti.com/opensource
Hi, On 26/06/25 12:04, Vignesh Raghavendra wrote: > > > On 24/06/25 13:56, Jayesh Choudhary wrote: >> Enable DSI support for AM68-SK platform. >> >> Add DT node for DSI2eDP bridge. The DSI to eDP bridge is sn65dsi86 >> on the board. >> >> Add the endpoint nodes to describe connection from: >> DSS => DSI => SN65DSI86 bridge => DisplayPort-0 >> >> Set status for all required nodes for DisplayPort-0 as 'okay'. >> >> Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com> >> --- >> .../boot/dts/ti/k3-am68-sk-base-board.dts | 96 +++++++++++++++++++ >> 1 file changed, 96 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts >> index 5fa70a874d7b..aef63ae2994c 100644 >> --- a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts >> +++ b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts >> @@ -135,6 +135,35 @@ transceiver4: can-phy3 { >> max-bitrate = <5000000>; >> }; >> >> + edp0_refclk: clock-edp0-refclk { >> + #clock-cells = <0>; >> + compatible = "fixed-clock"; >> + clock-frequency = <19200000>; >> + }; >> + >> + dp0_pwr_3v3: fixedregulator-dp0-pwr { > > use std node name: regulator-... Okay! In v3, I will change this. > >> + compatible = "regulator-fixed"; >> + regulator-name = "dp0-pwr"; >> + regulator-min-microvolt = <3300000>; >> + regulator-max-microvolt = <3300000>; >> + gpio = <&exp2 2 GPIO_ACTIVE_HIGH>; /*P0 - DP0_3V3 _EN */ >> + enable-active-high; >> + regulator-always-on; >> + }; >> + >> + 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>; >> + }; >> + }; >> + }; >> + >> connector-hdmi { >> compatible = "hdmi-connector"; >> label = "hdmi"; >> @@ -605,6 +634,39 @@ exp2: gpio@20 { >> gpio-line-names = "HDMI_PDn","HDMI_LS_OE", >> "DP0_3V3_EN","eDP_ENABLE"; >> }; >> + >> + dsi_edp_bridge: dsi-edp-bridge@2c { >> + compatible = "ti,sn65dsi86"; >> + reg = <0x2c>; >> + clock-names = "refclk"; >> + clocks = <&edp0_refclk>; >> + enable-gpios = <&exp2 3 GPIO_ACTIVE_HIGH>; >> + vpll-supply = <&vsys_io_1v8>; >> + vccio-supply = <&vsys_io_1v8>; >> + vcca-supply = <&vsys_io_1v2>; >> + vcc-supply = <&vsys_io_1v2>; >> + >> + dsi_edp_bridge_ports: ports { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + port@0 { >> + reg = <0>; >> + >> + dp0_in: endpoint { >> + remote-endpoint = <&dsi0_out>; >> + }; >> + }; >> + >> + port@1 { >> + reg = <1>; >> + >> + dp0_out: endpoint { >> + remote-endpoint = <&dp0_connector_in>; >> + }; >> + }; >> + }; >> + }; >> }; >> >> &main_sdhci1 { >> @@ -699,6 +761,15 @@ dpi_out0: endpoint { >> remote-endpoint = <&tfp410_in>; >> }; >> }; >> + >> + /* DSI */ >> + port@2 { >> + reg = <2>; >> + >> + dpi0_out: endpoint { >> + remote-endpoint = <&dsi0_in>; >> + }; >> + }; >> }; >> >> &serdes_ln_ctrl { >> @@ -756,3 +827,28 @@ &usb0 { >> phys = <&serdes0_usb_link>; >> phy-names = "cdns3,usb3-phy"; >> }; >> + >> +&dphy_tx0 { >> + status = "okay"; >> +}; >> + >> +&dsi0 { >> + status = "okay"; >> +}; >> + >> +&dsi0_ports { >> + >> + port@0 { >> + reg = <0>; >> + dsi0_out: endpoint { >> + remote-endpoint = <&dp0_in>; >> + }; >> + }; >> + >> + port@1 { >> + reg = <1>; >> + dsi0_in: endpoint { >> + remote-endpoint = <&dpi0_out>; >> + }; >> + }; >> +}; >
© 2016 - 2025 Red Hat, Inc.