arm64: dts: qcom: sa8295-adp: Enable DP instances
authorBjorn Andersson <bjorn.andersson@linaro.org>
Wed, 11 Jan 2023 03:59:05 +0000 (19:59 -0800)
committerBjorn Andersson <andersson@kernel.org>
Wed, 11 Jan 2023 19:09:41 +0000 (13:09 -0600)
The SA8295P ADP has, among other interfaces, six MiniDP connectors which
are connected to MDSS0 DP2 and DP3, and MDSS1 DP0 through DP3.

Enable Display Clock controllers, MDSS instanced, MDPs, DP controllers,
DP PHYs and link them all together.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230111035906.2975494-4-quic_bjorande@quicinc.com
arch/arm64/boot/dts/qcom/sa8295p-adp.dts

index c8437efe8235c4d2487ff2a86f1e5f3912e97e4a..80cb18d9e481177e0b7db15c5cffc89604f09223 100644 (file)
        chosen {
                stdout-path = "serial0:115200n8";
        };
+
+       dp2-connector {
+               compatible = "dp-connector";
+               label = "DP2";
+               type = "mini";
+
+               hpd-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
+
+               port {
+                       dp2_connector_in: endpoint {
+                               remote-endpoint = <&mdss1_dp0_phy_out>;
+                       };
+               };
+       };
+
+       dp3-connector {
+               compatible = "dp-connector";
+               label = "DP3";
+               type = "mini";
+
+               hpd-gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
+
+               port {
+                       dp3_connector_in: endpoint {
+                               remote-endpoint = <&mdss1_dp1_phy_out>;
+                       };
+               };
+       };
+
+       edp0-connector {
+               compatible = "dp-connector";
+               label = "EDP0";
+               type = "mini";
+
+               hpd-gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
+
+               port {
+                       edp0_connector_in: endpoint {
+                               remote-endpoint = <&mdss0_dp2_phy_out>;
+                       };
+               };
+       };
+
+       edp1-connector {
+               compatible = "dp-connector";
+               label = "EDP1";
+               type = "mini";
+
+               hpd-gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
+
+               port {
+                       edp1_connector_in: endpoint {
+                               remote-endpoint = <&mdss0_dp3_phy_out>;
+                       };
+               };
+       };
+
+       edp2-connector {
+               compatible = "dp-connector";
+               label = "EDP2";
+               type = "mini";
+
+               hpd-gpios = <&tlmm 7 GPIO_ACTIVE_HIGH>;
+
+               port {
+                       edp2_connector_in: endpoint {
+                               remote-endpoint = <&mdss1_dp2_phy_out>;
+                       };
+               };
+       };
+
+       edp3-connector {
+               compatible = "dp-connector";
+               label = "EDP3";
+               type = "mini";
+
+               hpd-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>;
+
+               port {
+                       edp3_connector_in: endpoint {
+                               remote-endpoint = <&mdss1_dp3_phy_out>;
+                       };
+               };
+       };
 };
 
 &apps_rsc {
 
                vreg_l8g: ldo8 {
                        regulator-name = "vreg_l8g";
-                       regulator-min-microvolt = <880000>;
-                       regulator-max-microvolt = <880000>;
+                       regulator-min-microvolt = <912000>;
+                       regulator-max-microvolt = <912000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l11g: ldo11 {
+                       regulator-name = "vreg_l11g";
+                       regulator-min-microvolt = <912000>;
+                       regulator-max-microvolt = <912000>;
                        regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
                };
        };
 };
 
+&dispcc0 {
+       status = "okay";
+};
+
+&dispcc1 {
+       status = "okay";
+};
+
+&mdss0 {
+       status = "okay";
+};
+
+&mdss0_dp2 {
+       data-lanes = <0 1 2 3>;
+
+       status = "okay";
+
+       ports {
+               port@1 {
+                       reg = <1>;
+                       mdss0_dp2_phy_out: endpoint {
+                               remote-endpoint = <&edp0_connector_in>;
+                       };
+               };
+       };
+};
+
+&mdss0_dp2_phy {
+       vdda-phy-supply = <&vreg_l8g>;
+       vdda-pll-supply = <&vreg_l3g>;
+
+       status = "okay";
+};
+
+&mdss0_dp3 {
+       data-lanes = <0 1 2 3>;
+
+       status = "okay";
+
+       ports {
+               port@1 {
+                       reg = <1>;
+                       mdss0_dp3_phy_out: endpoint {
+                               remote-endpoint = <&edp1_connector_in>;
+                       };
+               };
+       };
+};
+
+&mdss0_dp3_phy {
+       vdda-phy-supply = <&vreg_l8g>;
+       vdda-pll-supply = <&vreg_l3g>;
+
+       status = "okay";
+};
+
+&mdss1 {
+       status = "okay";
+};
+
+&mdss1_dp0 {
+       data-lanes = <0 1 2 3>;
+
+       status = "okay";
+
+       ports {
+               port@1 {
+                       reg = <1>;
+                       mdss1_dp0_phy_out: endpoint {
+                               remote-endpoint = <&dp2_connector_in>;
+                       };
+               };
+       };
+};
+
+&mdss1_dp0_phy {
+       vdda-phy-supply = <&vreg_l11g>;
+       vdda-pll-supply = <&vreg_l3g>;
+
+       status = "okay";
+};
+
+&mdss1_dp1 {
+       data-lanes = <0 1 2 3>;
+
+       status = "okay";
+
+       ports {
+               port@1 {
+                       reg = <1>;
+                       mdss1_dp1_phy_out: endpoint {
+                               remote-endpoint = <&dp3_connector_in>;
+                       };
+               };
+       };
+};
+
+&mdss1_dp1_phy {
+       vdda-phy-supply = <&vreg_l11g>;
+       vdda-pll-supply = <&vreg_l3g>;
+
+       status = "okay";
+};
+
+&mdss1_dp2 {
+       data-lanes = <0 1 2 3>;
+
+       status = "okay";
+
+       ports {
+               port@1 {
+                       reg = <1>;
+                       mdss1_dp2_phy_out: endpoint {
+                               remote-endpoint = <&edp2_connector_in>;
+                       };
+               };
+       };
+};
+
+&mdss1_dp2_phy {
+       vdda-phy-supply = <&vreg_l11g>;
+       vdda-pll-supply = <&vreg_l3g>;
+
+       status = "okay";
+};
+
+&mdss1_dp3 {
+       data-lanes = <0 1 2 3>;
+
+       status = "okay";
+
+       ports {
+               port@1 {
+                       reg = <1>;
+                       mdss1_dp3_phy_out: endpoint {
+                               remote-endpoint = <&edp3_connector_in>;
+                       };
+               };
+       };
+};
+
+&mdss1_dp3_phy {
+       vdda-phy-supply = <&vreg_l11g>;
+       vdda-pll-supply = <&vreg_l3g>;
+
+       status = "okay";
+};
+
 &pcie2a {
        perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
        wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;