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 - 2026 Red Hat, Inc.