On Mon, Feb 13, 2023 at 01:56:17PM -0800, Bjorn Andersson wrote: > From: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> > > The SC8280XP CRD control over battery management and its two USB Type-C > port using pmic_glink and two GPIO-based SBU muxes. > > Enable the two DisplayPort instances, GPIO SBU mux instance and > pmic_glink with the two connectors on the CRD. > > Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> > Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> > Signed-off-by: Bjorn Andersson <quic_bjorande@xxxxxxxxxxx> > --- > > Changes since v3: > - Moved data-lanes into dp/port/endpoint > - Moved dp/port/endpoint definition to sc8280xp.dtsi, and reference by > label - to avoid repeating structure in the dts > > arch/arm64/boot/dts/qcom/sc8280xp-crd.dts | 196 +++++++++++++++++++++- > arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 17 ++ > 2 files changed, 211 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts b/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts > index 2179c06b4e3b..98a0f1f9f01e 100644 > --- a/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts > +++ b/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts > @@ -36,6 +36,84 @@ chosen { > stdout-path = "serial0:115200n8"; > }; > > + pmic-glink { > + compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink"; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + connector@0 { > + compatible = "usb-c-connector"; > + reg = <0>; > + power-role = "dual"; > + data-role = "dual"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + pmic_glink_con0_hs: endpoint { > + remote-endpoint = <&usb_0_role_switch>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + > + pmic_glink_con0_ss: endpoint { > + remote-endpoint = <&mdss0_dp0_out>; > + }; > + }; > + > + port@2 { > + reg = <2>; > + > + pmic_glink_con0_sbu: endpoint { > + remote-endpoint = <&usb0_sbu_mux>; > + }; > + }; > + }; > + }; > + > + connector@1 { > + compatible = "usb-c-connector"; > + reg = <1>; > + power-role = "dual"; > + data-role = "dual"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; Nit: add a newline for consistency > + port@0 { > + reg = <0>; > + > + pmic_glink_con1_hs: endpoint { > + remote-endpoint = <&usb_1_role_switch>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + > + pmic_glink_con1_ss: endpoint { > + remote-endpoint = <&mdss0_dp1_out>; > + }; > + }; > + > + port@2 { > + reg = <2>; > + > + pmic_glink_con1_sbu: endpoint { > + remote-endpoint = <&usb1_sbu_mux>; > + }; > + }; > + }; > + }; > + }; > + > vreg_edp_3p3: regulator-edp-3p3 { > compatible = "regulator-fixed"; > @@ -262,6 +380,24 @@ &mdss0 { > status = "okay"; > }; > > +&mdss0_dp0 { > + status = "okay"; > +}; > + > +&mdss0_dp0_out { > + data-lanes = <0 1>; This does not work as the drm driver expects 'data-lanes' to be defined in the controller node where you had it in the previous versions: [ 6.669325] [drm] Invalid property "data-lanes", default max DP lanes = 4 Moving it to the endpoint nodes would require updating both binding and driver it seems. > + remote-endpoint = <&pmic_glink_con0_ss>; > +}; > + > +&mdss0_dp1 { > + status = "okay"; > +}; > + > +&mdss0_dp1_out { > + data-lanes = <0 1>; Same here (and for X13s). > + remote-endpoint = <&pmic_glink_con1_ss>; > +}; > + > &mdss0_dp3 { > compatible = "qcom,sc8280xp-edp"; > /delete-property/ #sound-dai-cells; Johan