]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: ti: k3-am68-sk: Enable DSI on DisplayPort-0
authorJayesh Choudhary <j-choudhary@ti.com>
Wed, 16 Jul 2025 06:01:14 +0000 (11:31 +0530)
committerNishanth Menon <nm@ti.com>
Wed, 13 Aug 2025 14:21:22 +0000 (09:21 -0500)
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

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Tested-by: Harikrishna Shenoy <h-shenoy@ti.com>
Reviewed-by: Harikrishna Shenoy <h-shenoy@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Link: https://lore.kernel.org/r/20250716060114.52122-8-j-choudhary@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts

index e84c504c87d26893ab99974f42c9edaad50987b4..75a107456ce1df22e94d6d8db759cd2696a71b84 100644 (file)
                max-bitrate = <5000000>;
        };
 
+       edp0_refclk: clock-edp0-refclk {
+               compatible = "fixed-clock";
+               clock-frequency = <19200000>;
+               #clock-cells = <0>;
+       };
+
+       dp0_pwr_3v3: regulator-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;
+       };
+
+       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";
                gpio-line-names = "HDMI_PDn","HDMI_LS_OE",
                                  "DP0_3V3_EN","eDP_ENABLE";
        };
+
+       bridge_dsi_edp: bridge-dsi-edp@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 {
                        remote-endpoint = <&tfp410_in>;
                };
        };
+
+       /* DSI */
+       port@2 {
+               reg = <2>;
+
+               dpi0_out: endpoint {
+                       remote-endpoint = <&dsi0_in>;
+               };
+       };
 };
 
 &serdes_ln_ctrl {
        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>;
+               };
+       };
+};