Message ID | 20240221-rb3gen2-dp-connector-v1-6-dc0964ef7d96@quicinc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: dts: qcom: qcs6490-rb3gen2: Enable two displays | expand |
On Thu, 22 Feb 2024 at 01:19, Bjorn Andersson <quic_bjorande@quicinc.com> wrote: > > With the ADSP remoteproc loaded pmic_glink can be introduced and wired > up to provide role and orientation switching signals. > > Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> > --- > arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 48 +++++++++++++++++++++++++++- > 1 file changed, 47 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > index ab498494caea..079bf43b14cc 100644 > --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > @@ -121,6 +121,41 @@ debug_vm_mem: debug-vm@d0600000 { > }; > }; > > + pmic-glink { > + compatible = "qcom,qcm6490-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_hs_in: endpoint { > + remote-endpoint = <&usb_1_dwc3_hs>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + > + pmic_glink_ss_in: endpoint { > + remote-endpoint = <&usb_1_dwc3_ss>; This should be connected to the QMP PHY rather than to the USB host. Also it might be better to squash this patch with the patch 8. Or at least to get redriver into the picture in this patch (and keep only display-related parts in that patch). > + }; > + }; > + }; > + }; > + }; > + > vph_pwr: vph-pwr-regulator { > compatible = "regulator-fixed"; > regulator-name = "vph_pwr"; > @@ -476,7 +511,16 @@ &usb_1 { > }; > > &usb_1_dwc3 { > - dr_mode = "peripheral"; > + dr_mode = "otg"; > + usb-role-switch; > +}; > + > +&usb_1_dwc3_hs { > + remote-endpoint = <&pmic_glink_hs_in>; > +}; > + > +&usb_1_dwc3_ss { > + remote-endpoint = <&pmic_glink_ss_in>; > }; > > &usb_1_hsphy { > @@ -491,6 +535,8 @@ &usb_1_qmpphy { > vdda-phy-supply = <&vreg_l6b_1p2>; > vdda-pll-supply = <&vreg_l1b_0p912>; > > + orientation-switch; > + > status = "okay"; > }; > > > -- > 2.25.1 > -- With best wishes Dmitry
On Thu, Feb 22, 2024 at 01:50:12AM +0200, Dmitry Baryshkov wrote: > On Thu, 22 Feb 2024 at 01:19, Bjorn Andersson <quic_bjorande@quicinc.com> wrote: > > > > With the ADSP remoteproc loaded pmic_glink can be introduced and wired > > up to provide role and orientation switching signals. > > > > Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> > > --- > > arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 48 +++++++++++++++++++++++++++- > > 1 file changed, 47 insertions(+), 1 deletion(-) > > > > diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > > index ab498494caea..079bf43b14cc 100644 > > --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > > +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > > @@ -121,6 +121,41 @@ debug_vm_mem: debug-vm@d0600000 { > > }; > > }; > > > > + pmic-glink { > > + compatible = "qcom,qcm6490-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_hs_in: endpoint { > > + remote-endpoint = <&usb_1_dwc3_hs>; > > + }; > > + }; > > + > > + port@1 { > > + reg = <1>; > > + > > + pmic_glink_ss_in: endpoint { > > + remote-endpoint = <&usb_1_dwc3_ss>; > > This should be connected to the QMP PHY rather than to the USB host. > Ahh, you're right, otherwise the orientation-switch below isn't of much use. > Also it might be better to squash this patch with the patch 8. Or at > least to get redriver into the picture in this patch (and keep only > display-related parts in that patch). > The idea was to only bring in the pmic-glink here and then do the plumbing between all the components separately, but I guess the orientation-switch in the redriver means that it should go here as well... I'll shuffle this into something that makes sense. Thanks, Bjorn > > > + }; > > + }; > > + }; > > + }; > > + }; > > + > > vph_pwr: vph-pwr-regulator { > > compatible = "regulator-fixed"; > > regulator-name = "vph_pwr"; > > @@ -476,7 +511,16 @@ &usb_1 { > > }; > > > > &usb_1_dwc3 { > > - dr_mode = "peripheral"; > > + dr_mode = "otg"; > > + usb-role-switch; > > +}; > > + > > +&usb_1_dwc3_hs { > > + remote-endpoint = <&pmic_glink_hs_in>; > > +}; > > + > > +&usb_1_dwc3_ss { > > + remote-endpoint = <&pmic_glink_ss_in>; > > }; > > > > &usb_1_hsphy { > > @@ -491,6 +535,8 @@ &usb_1_qmpphy { > > vdda-phy-supply = <&vreg_l6b_1p2>; > > vdda-pll-supply = <&vreg_l1b_0p912>; > > > > + orientation-switch; > > + > > status = "okay"; > > }; > > > > > > -- > > 2.25.1 > > > > > -- > With best wishes > Dmitry
On 2/22/2024 4:49 AM, Bjorn Andersson wrote: > With the ADSP remoteproc loaded pmic_glink can be introduced and wired > up to provide role and orientation switching signals. > > Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> > --- > arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 48 +++++++++++++++++++++++++++- > 1 file changed, 47 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > index ab498494caea..079bf43b14cc 100644 > --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > @@ -121,6 +121,41 @@ debug_vm_mem: debug-vm@d0600000 { > }; > }; > > + pmic-glink { > + compatible = "qcom,qcm6490-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_hs_in: endpoint { > + remote-endpoint = <&usb_1_dwc3_hs>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + > + pmic_glink_ss_in: endpoint { > + remote-endpoint = <&usb_1_dwc3_ss>; > + }; > + }; For the role switching part: Tested-By: Krishna Kurapati PSSNV <quic_kriskura@quicinc.com> Regards, Krishna,
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts index ab498494caea..079bf43b14cc 100644 --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts @@ -121,6 +121,41 @@ debug_vm_mem: debug-vm@d0600000 { }; }; + pmic-glink { + compatible = "qcom,qcm6490-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_hs_in: endpoint { + remote-endpoint = <&usb_1_dwc3_hs>; + }; + }; + + port@1 { + reg = <1>; + + pmic_glink_ss_in: endpoint { + remote-endpoint = <&usb_1_dwc3_ss>; + }; + }; + }; + }; + }; + vph_pwr: vph-pwr-regulator { compatible = "regulator-fixed"; regulator-name = "vph_pwr"; @@ -476,7 +511,16 @@ &usb_1 { }; &usb_1_dwc3 { - dr_mode = "peripheral"; + dr_mode = "otg"; + usb-role-switch; +}; + +&usb_1_dwc3_hs { + remote-endpoint = <&pmic_glink_hs_in>; +}; + +&usb_1_dwc3_ss { + remote-endpoint = <&pmic_glink_ss_in>; }; &usb_1_hsphy { @@ -491,6 +535,8 @@ &usb_1_qmpphy { vdda-phy-supply = <&vreg_l6b_1p2>; vdda-pll-supply = <&vreg_l1b_0p912>; + orientation-switch; + status = "okay"; };
With the ADSP remoteproc loaded pmic_glink can be introduced and wired up to provide role and orientation switching signals. Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> --- arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 48 +++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-)