linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/2] Enable USB SS qmp phy for Qualcomm SM6115 SoC
@ 2023-04-01 15:47 Bhupesh Sharma
  2023-04-01 15:47 ` [PATCH v4 1/2] dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290 USB3 PHY Bhupesh Sharma
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Bhupesh Sharma @ 2023-04-01 15:47 UTC (permalink / raw)
  To: linux-arm-msm, devicetree
  Cc: agross, andersson, konrad.dybcio, linux-kernel, bhupesh.linux,
	bhupesh.sharma, robh+dt, krzysztof.kozlowski

Changes since v3:
-----------------
- v3 can be seen here: https://lore.kernel.org/linux-arm-msm/20221215094532.589291-4-bhupesh.sharma@linaro.org/
- Fixed v4 as per the downstream driver code: https://android.googlesource.com/kernel/msm-extra/devicetree/+/refs/heads/android-msm-bramble-4.19-android11-qpr1/qcom/bengal-usb.dtsi#296
- As per the downstream code, the qmp phy on this SoC is similar to the
  SM8150 qmp phy and is indeed not a qmp-dp combo phy.

This patchset adds the support for USB SS qmp phy for Qualcomm SM6115
SoC.

Bhupesh Sharma (2):
  dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290
    USB3 PHY
  arm64: dts: qcom: sm6115: Add USB SS qmp phy node

 .../phy/qcom,msm8996-qmp-usb3-phy.yaml        |  4 +--
 .../boot/dts/qcom/sm4250-oneplus-billie2.dts  |  3 ++
 arch/arm64/boot/dts/qcom/sm6115.dtsi          | 36 +++++++++++++++++--
 .../boot/dts/qcom/sm6115p-lenovo-j606f.dts    |  3 ++
 4 files changed, 42 insertions(+), 4 deletions(-)

-- 
2.38.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v4 1/2] dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290 USB3 PHY
  2023-04-01 15:47 [PATCH v4 0/2] Enable USB SS qmp phy for Qualcomm SM6115 SoC Bhupesh Sharma
@ 2023-04-01 15:47 ` Bhupesh Sharma
  2023-04-01 17:12   ` Dmitry Baryshkov
  2023-04-05  9:41   ` Krzysztof Kozlowski
  2023-04-01 15:47 ` [PATCH v4 2/2] arm64: dts: qcom: sm6115: Add USB SS qmp phy node Bhupesh Sharma
  2023-04-01 17:09 ` [PATCH v4 0/2] Enable USB SS qmp phy for Qualcomm SM6115 SoC Dmitry Baryshkov
  2 siblings, 2 replies; 11+ messages in thread
From: Bhupesh Sharma @ 2023-04-01 15:47 UTC (permalink / raw)
  To: linux-arm-msm, devicetree
  Cc: agross, andersson, konrad.dybcio, linux-kernel, bhupesh.linux,
	bhupesh.sharma, robh+dt, krzysztof.kozlowski

The USB3 SS (QMP) PHY found on Qualcomm SM6115 & QCM2290 SoCs is
similar to sm8150 QMP PHY in the sense that the phy subnode supports
6 regs, namely TX lane 1, RX lane 1, PCS, TX lane 2, RX lane 2 and
PCS_MISC.

Update the dt-bindings document to reflect the same.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
---
 .../devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml
index e81a38281f8c..1575dc70bcf2 100644
--- a/Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml
+++ b/Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml
@@ -276,7 +276,9 @@ allOf:
         compatible:
           contains:
             enum:
+              - qcom,qcm2290-qmp-usb3-phy
               - qcom,sdm845-qmp-usb3-phy
+              - qcom,sm6115-qmp-usb3-phy
               - qcom,sm8150-qmp-usb3-phy
               - qcom,sm8350-qmp-usb3-phy
               - qcom,sm8450-qmp-usb3-phy
@@ -318,12 +320,10 @@ allOf:
             enum:
               - qcom,ipq6018-qmp-usb3-phy
               - qcom,ipq8074-qmp-usb3-phy
-              - qcom,qcm2290-qmp-usb3-phy
               - qcom,sc7180-qmp-usb3-phy
               - qcom,sc8180x-qmp-usb3-phy
               - qcom,sdx55-qmp-usb3-uni-phy
               - qcom,sdx65-qmp-usb3-uni-phy
-              - qcom,sm6115-qmp-usb3-phy
               - qcom,sm8150-qmp-usb3-uni-phy
               - qcom,sm8250-qmp-usb3-phy
     then:
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v4 2/2] arm64: dts: qcom: sm6115: Add USB SS qmp phy node
  2023-04-01 15:47 [PATCH v4 0/2] Enable USB SS qmp phy for Qualcomm SM6115 SoC Bhupesh Sharma
  2023-04-01 15:47 ` [PATCH v4 1/2] dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290 USB3 PHY Bhupesh Sharma
@ 2023-04-01 15:47 ` Bhupesh Sharma
  2023-04-01 17:13   ` Dmitry Baryshkov
  2023-04-01 17:09 ` [PATCH v4 0/2] Enable USB SS qmp phy for Qualcomm SM6115 SoC Dmitry Baryshkov
  2 siblings, 1 reply; 11+ messages in thread
From: Bhupesh Sharma @ 2023-04-01 15:47 UTC (permalink / raw)
  To: linux-arm-msm, devicetree
  Cc: agross, andersson, konrad.dybcio, linux-kernel, bhupesh.linux,
	bhupesh.sharma, robh+dt, krzysztof.kozlowski

Add USB superspeed qmp phy node to dtsi.

Make sure that the various board dts files (which include sm4250.dtsi file)
continue to work as intended.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
---
 .../boot/dts/qcom/sm4250-oneplus-billie2.dts  |  3 ++
 arch/arm64/boot/dts/qcom/sm6115.dtsi          | 36 +++++++++++++++++--
 .../boot/dts/qcom/sm6115p-lenovo-j606f.dts    |  3 ++
 3 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts b/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts
index a1f0622db5a0..75951fd439df 100644
--- a/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts
+++ b/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts
@@ -242,6 +242,9 @@ &usb {
 &usb_dwc3 {
 	maximum-speed = "high-speed";
 	dr_mode = "peripheral";
+
+	phys = <&usb_hsphy>;
+	phy-names = "usb2-phy";
 };
 
 &usb_hsphy {
diff --git a/arch/arm64/boot/dts/qcom/sm6115.dtsi b/arch/arm64/boot/dts/qcom/sm6115.dtsi
index 2a51c938bbcb..b2fa565e4816 100644
--- a/arch/arm64/boot/dts/qcom/sm6115.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6115.dtsi
@@ -650,6 +650,38 @@ usb_hsphy: phy@1613000 {
 			status = "disabled";
 		};
 
+		usb_qmpphy: phy@1615000 {
+			compatible = "qcom,sm6115-qmp-usb3-phy";
+			reg = <0x0 0x01615000 0x0 0x200>;
+			clocks = <&gcc GCC_AHB2PHY_USB_CLK>,
+				 <&gcc GCC_USB3_PRIM_CLKREF_CLK>,
+				 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>;
+			clock-names = "cfg_ahb",
+				      "ref",
+				      "com_aux";
+			resets = <&gcc GCC_USB3PHY_PHY_PRIM_SP0_BCR>,
+				 <&gcc GCC_USB3_PHY_PRIM_SP0_BCR>;
+			reset-names = "phy_phy", "phy";
+			status = "disabled";
+			#address-cells = <2>;
+			#size-cells = <2>;
+			ranges;
+
+			usb_ssphy: phy@1615200 {
+				reg = <0x0 0x01615200 0x0 0x200>,
+				      <0x0 0x01615400 0x0 0x200>,
+				      <0x0 0x01615c00 0x0 0x400>,
+				      <0x0 0x01615600 0x0 0x200>,
+				      <0x0 0x01615800 0x0 0x200>,
+				      <0x0 0x01615a00 0x0 0x100>;
+				#clock-cells = <0>;
+				#phy-cells = <0>;
+				clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
+				clock-names = "pipe0";
+				clock-output-names = "usb3_phy_pipe_clk_src";
+			};
+		};
+
 		qfprom@1b40000 {
 			compatible = "qcom,sm6115-qfprom", "qcom,qfprom";
 			reg = <0x0 0x01b40000 0x0 0x7000>;
@@ -1100,8 +1132,8 @@ usb_dwc3: usb@4e00000 {
 				compatible = "snps,dwc3";
 				reg = <0x0 0x04e00000 0x0 0xcd00>;
 				interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
-				phys = <&usb_hsphy>;
-				phy-names = "usb2-phy";
+				phys = <&usb_hsphy>, <&usb_ssphy>;
+				phy-names = "usb2-phy", "usb3-phy";
 				iommus = <&apps_smmu 0x120 0x0>;
 				snps,dis_u2_susphy_quirk;
 				snps,dis_enblslpm_quirk;
diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
index 10c9d338446c..d60cc024749b 100644
--- a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
+++ b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
@@ -280,6 +280,9 @@ &usb {
 &usb_dwc3 {
 	maximum-speed = "high-speed";
 	dr_mode = "peripheral";
+
+	phys = <&usb_hsphy>;
+	phy-names = "usb2-phy";
 };
 
 &usb_hsphy {
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v4 0/2] Enable USB SS qmp phy for Qualcomm SM6115 SoC
  2023-04-01 15:47 [PATCH v4 0/2] Enable USB SS qmp phy for Qualcomm SM6115 SoC Bhupesh Sharma
  2023-04-01 15:47 ` [PATCH v4 1/2] dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290 USB3 PHY Bhupesh Sharma
  2023-04-01 15:47 ` [PATCH v4 2/2] arm64: dts: qcom: sm6115: Add USB SS qmp phy node Bhupesh Sharma
@ 2023-04-01 17:09 ` Dmitry Baryshkov
  2023-04-01 17:38   ` Bhupesh Sharma
  2 siblings, 1 reply; 11+ messages in thread
From: Dmitry Baryshkov @ 2023-04-01 17:09 UTC (permalink / raw)
  To: Bhupesh Sharma
  Cc: linux-arm-msm, devicetree, agross, andersson, konrad.dybcio,
	linux-kernel, bhupesh.linux, robh+dt, krzysztof.kozlowski

On Sat, 1 Apr 2023 at 18:49, Bhupesh Sharma <bhupesh.sharma@linaro.org> wrote:
>
> Changes since v3:
> -----------------
> - v3 can be seen here: https://lore.kernel.org/linux-arm-msm/20221215094532.589291-4-bhupesh.sharma@linaro.org/
> - Fixed v4 as per the downstream driver code: https://android.googlesource.com/kernel/msm-extra/devicetree/+/refs/heads/android-msm-bramble-4.19-android11-qpr1/qcom/bengal-usb.dtsi#296
> - As per the downstream code, the qmp phy on this SoC is similar to the
>   SM8150 qmp phy and is indeed not a qmp-dp combo phy.

Nit: sm8150 has both USB UNI PHY and USB+DP combo PHYs, so this note
is incorrect.

>
> This patchset adds the support for USB SS qmp phy for Qualcomm SM6115
> SoC.
>
> Bhupesh Sharma (2):
>   dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290
>     USB3 PHY
>   arm64: dts: qcom: sm6115: Add USB SS qmp phy node
>
>  .../phy/qcom,msm8996-qmp-usb3-phy.yaml        |  4 +--
>  .../boot/dts/qcom/sm4250-oneplus-billie2.dts  |  3 ++
>  arch/arm64/boot/dts/qcom/sm6115.dtsi          | 36 +++++++++++++++++--
>  .../boot/dts/qcom/sm6115p-lenovo-j606f.dts    |  3 ++
>  4 files changed, 42 insertions(+), 4 deletions(-)
>
> --
> 2.38.1
>


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v4 1/2] dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290 USB3 PHY
  2023-04-01 15:47 ` [PATCH v4 1/2] dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290 USB3 PHY Bhupesh Sharma
@ 2023-04-01 17:12   ` Dmitry Baryshkov
  2023-04-01 17:24     ` Bhupesh Sharma
  2023-04-05  9:41   ` Krzysztof Kozlowski
  1 sibling, 1 reply; 11+ messages in thread
From: Dmitry Baryshkov @ 2023-04-01 17:12 UTC (permalink / raw)
  To: Bhupesh Sharma
  Cc: linux-arm-msm, devicetree, agross, andersson, konrad.dybcio,
	linux-kernel, bhupesh.linux, robh+dt, krzysztof.kozlowski

On Sat, 1 Apr 2023 at 18:49, Bhupesh Sharma <bhupesh.sharma@linaro.org> wrote:
>
> The USB3 SS (QMP) PHY found on Qualcomm SM6115 & QCM2290 SoCs is
> similar to sm8150 QMP PHY in the sense that the phy subnode supports

sm8150 has 5 QMP PHYs. Which one is mentioned here?

> 6 regs, namely TX lane 1, RX lane 1, PCS, TX lane 2, RX lane 2 and
> PCS_MISC.
>
> Update the dt-bindings document to reflect the same.
>
> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
> ---
>  .../devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml    | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml
> index e81a38281f8c..1575dc70bcf2 100644
> --- a/Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml
> +++ b/Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml
> @@ -276,7 +276,9 @@ allOf:
>          compatible:
>            contains:
>              enum:
> +              - qcom,qcm2290-qmp-usb3-phy
>                - qcom,sdm845-qmp-usb3-phy
> +              - qcom,sm6115-qmp-usb3-phy
>                - qcom,sm8150-qmp-usb3-phy
>                - qcom,sm8350-qmp-usb3-phy
>                - qcom,sm8450-qmp-usb3-phy
> @@ -318,12 +320,10 @@ allOf:
>              enum:
>                - qcom,ipq6018-qmp-usb3-phy
>                - qcom,ipq8074-qmp-usb3-phy
> -              - qcom,qcm2290-qmp-usb3-phy
>                - qcom,sc7180-qmp-usb3-phy
>                - qcom,sc8180x-qmp-usb3-phy
>                - qcom,sdx55-qmp-usb3-uni-phy
>                - qcom,sdx65-qmp-usb3-uni-phy
> -              - qcom,sm6115-qmp-usb3-phy
>                - qcom,sm8150-qmp-usb3-uni-phy
>                - qcom,sm8250-qmp-usb3-phy
>      then:
> --
> 2.38.1
>


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v4 2/2] arm64: dts: qcom: sm6115: Add USB SS qmp phy node
  2023-04-01 15:47 ` [PATCH v4 2/2] arm64: dts: qcom: sm6115: Add USB SS qmp phy node Bhupesh Sharma
@ 2023-04-01 17:13   ` Dmitry Baryshkov
  2023-04-05 19:01     ` Bhupesh Sharma
  0 siblings, 1 reply; 11+ messages in thread
From: Dmitry Baryshkov @ 2023-04-01 17:13 UTC (permalink / raw)
  To: Bhupesh Sharma
  Cc: linux-arm-msm, devicetree, agross, andersson, konrad.dybcio,
	linux-kernel, bhupesh.linux, robh+dt, krzysztof.kozlowski

On Sat, 1 Apr 2023 at 18:49, Bhupesh Sharma <bhupesh.sharma@linaro.org> wrote:
>
> Add USB superspeed qmp phy node to dtsi.
>
> Make sure that the various board dts files (which include sm4250.dtsi file)
> continue to work as intended.
>
> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
> ---
>  .../boot/dts/qcom/sm4250-oneplus-billie2.dts  |  3 ++
>  arch/arm64/boot/dts/qcom/sm6115.dtsi          | 36 +++++++++++++++++--
>  .../boot/dts/qcom/sm6115p-lenovo-j606f.dts    |  3 ++
>  3 files changed, 40 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts b/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts
> index a1f0622db5a0..75951fd439df 100644
> --- a/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts
> +++ b/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts
> @@ -242,6 +242,9 @@ &usb {
>  &usb_dwc3 {
>         maximum-speed = "high-speed";
>         dr_mode = "peripheral";
> +
> +       phys = <&usb_hsphy>;
> +       phy-names = "usb2-phy";
>  };
>
>  &usb_hsphy {
> diff --git a/arch/arm64/boot/dts/qcom/sm6115.dtsi b/arch/arm64/boot/dts/qcom/sm6115.dtsi
> index 2a51c938bbcb..b2fa565e4816 100644
> --- a/arch/arm64/boot/dts/qcom/sm6115.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm6115.dtsi
> @@ -650,6 +650,38 @@ usb_hsphy: phy@1613000 {
>                         status = "disabled";
>                 };
>
> +               usb_qmpphy: phy@1615000 {
> +                       compatible = "qcom,sm6115-qmp-usb3-phy";
> +                       reg = <0x0 0x01615000 0x0 0x200>;
> +                       clocks = <&gcc GCC_AHB2PHY_USB_CLK>,
> +                                <&gcc GCC_USB3_PRIM_CLKREF_CLK>,
> +                                <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>;
> +                       clock-names = "cfg_ahb",
> +                                     "ref",
> +                                     "com_aux";
> +                       resets = <&gcc GCC_USB3PHY_PHY_PRIM_SP0_BCR>,
> +                                <&gcc GCC_USB3_PHY_PRIM_SP0_BCR>;
> +                       reset-names = "phy_phy", "phy";
> +                       status = "disabled";
> +                       #address-cells = <2>;
> +                       #size-cells = <2>;
> +                       ranges;
> +
> +                       usb_ssphy: phy@1615200 {

Please update this to newer style bindings (see
qcom,sc8280xp-qmp-usb3-uni-phy.yaml).

> +                               reg = <0x0 0x01615200 0x0 0x200>,
> +                                     <0x0 0x01615400 0x0 0x200>,
> +                                     <0x0 0x01615c00 0x0 0x400>,
> +                                     <0x0 0x01615600 0x0 0x200>,
> +                                     <0x0 0x01615800 0x0 0x200>,
> +                                     <0x0 0x01615a00 0x0 0x100>;
> +                               #clock-cells = <0>;
> +                               #phy-cells = <0>;
> +                               clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
> +                               clock-names = "pipe0";
> +                               clock-output-names = "usb3_phy_pipe_clk_src";
> +                       };
> +               };
> +
>                 qfprom@1b40000 {
>                         compatible = "qcom,sm6115-qfprom", "qcom,qfprom";
>                         reg = <0x0 0x01b40000 0x0 0x7000>;
> @@ -1100,8 +1132,8 @@ usb_dwc3: usb@4e00000 {
>                                 compatible = "snps,dwc3";
>                                 reg = <0x0 0x04e00000 0x0 0xcd00>;
>                                 interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
> -                               phys = <&usb_hsphy>;
> -                               phy-names = "usb2-phy";
> +                               phys = <&usb_hsphy>, <&usb_ssphy>;
> +                               phy-names = "usb2-phy", "usb3-phy";
>                                 iommus = <&apps_smmu 0x120 0x0>;
>                                 snps,dis_u2_susphy_quirk;
>                                 snps,dis_enblslpm_quirk;
> diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> index 10c9d338446c..d60cc024749b 100644
> --- a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> +++ b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> @@ -280,6 +280,9 @@ &usb {
>  &usb_dwc3 {
>         maximum-speed = "high-speed";
>         dr_mode = "peripheral";
> +
> +       phys = <&usb_hsphy>;
> +       phy-names = "usb2-phy";
>  };
>
>  &usb_hsphy {
> --
> 2.38.1
>


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v4 1/2] dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290 USB3 PHY
  2023-04-01 17:12   ` Dmitry Baryshkov
@ 2023-04-01 17:24     ` Bhupesh Sharma
  0 siblings, 0 replies; 11+ messages in thread
From: Bhupesh Sharma @ 2023-04-01 17:24 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: linux-arm-msm, devicetree, agross, andersson, konrad.dybcio,
	linux-kernel, bhupesh.linux, robh+dt, krzysztof.kozlowski

On Sat, 1 Apr 2023 at 22:42, Dmitry Baryshkov
<dmitry.baryshkov@linaro.org> wrote:
>
> On Sat, 1 Apr 2023 at 18:49, Bhupesh Sharma <bhupesh.sharma@linaro.org> wrote:
> >
> > The USB3 SS (QMP) PHY found on Qualcomm SM6115 & QCM2290 SoCs is
> > similar to sm8150 QMP PHY in the sense that the phy subnode supports
>
> sm8150 has 5 QMP PHYs. Which one is mentioned here?

'qcom,sm8150-qmp-usb3-phy' which is named as 'usb_1_qmpphy' in
sm8150.dtsi (see :
<https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm64/boot/dts/qcom/sm8150.dtsi#n3394>)
and has 6 regs , namely TX lane 1, RX lane 1, PCS, TX lane 2, RX lane
2 and PCS_MISC.

Regards,
Bhupesh

> > 6 regs, namely TX lane 1, RX lane 1, PCS, TX lane 2, RX lane 2 and
> > PCS_MISC.
> >
> > Update the dt-bindings document to reflect the same.
> >
> > Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
> > ---
> >  .../devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml    | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml
> > index e81a38281f8c..1575dc70bcf2 100644
> > --- a/Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml
> > +++ b/Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-usb3-phy.yaml
> > @@ -276,7 +276,9 @@ allOf:
> >          compatible:
> >            contains:
> >              enum:
> > +              - qcom,qcm2290-qmp-usb3-phy
> >                - qcom,sdm845-qmp-usb3-phy
> > +              - qcom,sm6115-qmp-usb3-phy
> >                - qcom,sm8150-qmp-usb3-phy
> >                - qcom,sm8350-qmp-usb3-phy
> >                - qcom,sm8450-qmp-usb3-phy
> > @@ -318,12 +320,10 @@ allOf:
> >              enum:
> >                - qcom,ipq6018-qmp-usb3-phy
> >                - qcom,ipq8074-qmp-usb3-phy
> > -              - qcom,qcm2290-qmp-usb3-phy
> >                - qcom,sc7180-qmp-usb3-phy
> >                - qcom,sc8180x-qmp-usb3-phy
> >                - qcom,sdx55-qmp-usb3-uni-phy
> >                - qcom,sdx65-qmp-usb3-uni-phy
> > -              - qcom,sm6115-qmp-usb3-phy
> >                - qcom,sm8150-qmp-usb3-uni-phy
> >                - qcom,sm8250-qmp-usb3-phy
> >      then:
> > --
> > 2.38.1
> >
>
>
> --
> With best wishes
> Dmitry

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v4 0/2] Enable USB SS qmp phy for Qualcomm SM6115 SoC
  2023-04-01 17:09 ` [PATCH v4 0/2] Enable USB SS qmp phy for Qualcomm SM6115 SoC Dmitry Baryshkov
@ 2023-04-01 17:38   ` Bhupesh Sharma
  0 siblings, 0 replies; 11+ messages in thread
From: Bhupesh Sharma @ 2023-04-01 17:38 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: linux-arm-msm, devicetree, agross, andersson, konrad.dybcio,
	linux-kernel, bhupesh.linux, robh+dt, krzysztof.kozlowski

On Sat, 1 Apr 2023 at 22:40, Dmitry Baryshkov
<dmitry.baryshkov@linaro.org> wrote:
>
> On Sat, 1 Apr 2023 at 18:49, Bhupesh Sharma <bhupesh.sharma@linaro.org> wrote:
> >
> > Changes since v3:
> > -----------------
> > - v3 can be seen here: https://lore.kernel.org/linux-arm-msm/20221215094532.589291-4-bhupesh.sharma@linaro.org/
> > - Fixed v4 as per the downstream driver code: https://android.googlesource.com/kernel/msm-extra/devicetree/+/refs/heads/android-msm-bramble-4.19-android11-qpr1/qcom/bengal-usb.dtsi#296
> > - As per the downstream code, the qmp phy on this SoC is similar to the
> >   SM8150 qmp phy and is indeed not a qmp-dp combo phy.
>
> Nit: sm8150 has both USB UNI PHY and USB+DP combo PHYs, so this note
> is incorrect.

I think I should have clarified a bit more here, but the complete
context is that for the previous versions of this patch there were
conversations on irc as to whether this was a
'qcom,usb-ssphy-qmp-usb3-or-dp' or a  'qcom,usb-ssphy-qmp-dp-combo' as
per downstream code and hardware documentation.

But after a careful look at the
<https://android.googlesource.com/kernel/msm-extra/devicetree/+/refs/heads/android-msm-bramble-4.19-android11-qpr1/qcom/bengal-usb.dtsi#296>
documentation it appears that this indeed is a
'qcom,usb-ssphy-qmp-usb3-or-dp phy and not a 'dp-combo' phy.

Thanks,
Bhupesh

> >
> > This patchset adds the support for USB SS qmp phy for Qualcomm SM6115
> > SoC.
> >
> > Bhupesh Sharma (2):
> >   dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290
> >     USB3 PHY
> >   arm64: dts: qcom: sm6115: Add USB SS qmp phy node
> >
> >  .../phy/qcom,msm8996-qmp-usb3-phy.yaml        |  4 +--
> >  .../boot/dts/qcom/sm4250-oneplus-billie2.dts  |  3 ++
> >  arch/arm64/boot/dts/qcom/sm6115.dtsi          | 36 +++++++++++++++++--
> >  .../boot/dts/qcom/sm6115p-lenovo-j606f.dts    |  3 ++
> >  4 files changed, 42 insertions(+), 4 deletions(-)
> >
> > --
> > 2.38.1
> >
>
>
> --
> With best wishes
> Dmitry

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v4 1/2] dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290 USB3 PHY
  2023-04-01 15:47 ` [PATCH v4 1/2] dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290 USB3 PHY Bhupesh Sharma
  2023-04-01 17:12   ` Dmitry Baryshkov
@ 2023-04-05  9:41   ` Krzysztof Kozlowski
  2023-04-05 13:43     ` Bhupesh Sharma
  1 sibling, 1 reply; 11+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-05  9:41 UTC (permalink / raw)
  To: Bhupesh Sharma, linux-arm-msm, devicetree
  Cc: agross, andersson, konrad.dybcio, linux-kernel, bhupesh.linux, robh+dt

On 01/04/2023 17:47, Bhupesh Sharma wrote:
> The USB3 SS (QMP) PHY found on Qualcomm SM6115 & QCM2290 SoCs is
> similar to sm8150 QMP PHY in the sense that the phy subnode supports
> 6 regs, namely TX lane 1, RX lane 1, PCS, TX lane 2, RX lane 2 and
> PCS_MISC.
> 
> Update the dt-bindings document to reflect the same.


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Bhupesh,

Can you use scripts/get_maintainers.pl to get the Cc addresses instead
of writing them manually or inventing?

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v4 1/2] dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290 USB3 PHY
  2023-04-05  9:41   ` Krzysztof Kozlowski
@ 2023-04-05 13:43     ` Bhupesh Sharma
  0 siblings, 0 replies; 11+ messages in thread
From: Bhupesh Sharma @ 2023-04-05 13:43 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: linux-arm-msm, devicetree, agross, andersson, konrad.dybcio,
	linux-kernel, bhupesh.linux, robh+dt

On Wed, 5 Apr 2023 at 15:11, Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 01/04/2023 17:47, Bhupesh Sharma wrote:
> > The USB3 SS (QMP) PHY found on Qualcomm SM6115 & QCM2290 SoCs is
> > similar to sm8150 QMP PHY in the sense that the phy subnode supports
> > 6 regs, namely TX lane 1, RX lane 1, PCS, TX lane 2, RX lane 2 and
> > PCS_MISC.
> >
> > Update the dt-bindings document to reflect the same.
>
>
> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>
> Bhupesh,
>
> Can you use scripts/get_maintainers.pl to get the Cc addresses instead
> of writing them manually or inventing?

Sure Krzysztof, will do.

Thanks,
Bhupesh

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v4 2/2] arm64: dts: qcom: sm6115: Add USB SS qmp phy node
  2023-04-01 17:13   ` Dmitry Baryshkov
@ 2023-04-05 19:01     ` Bhupesh Sharma
  0 siblings, 0 replies; 11+ messages in thread
From: Bhupesh Sharma @ 2023-04-05 19:01 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: linux-arm-msm, devicetree, agross, andersson, konrad.dybcio,
	linux-kernel, bhupesh.linux, robh+dt, krzysztof.kozlowski

Hi Dmitry,

On Sat, 1 Apr 2023 at 22:43, Dmitry Baryshkov
<dmitry.baryshkov@linaro.org> wrote:
>
> On Sat, 1 Apr 2023 at 18:49, Bhupesh Sharma <bhupesh.sharma@linaro.org> wrote:
> >
> > Add USB superspeed qmp phy node to dtsi.
> >
> > Make sure that the various board dts files (which include sm4250.dtsi file)
> > continue to work as intended.
> >
> > Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
> > ---
> >  .../boot/dts/qcom/sm4250-oneplus-billie2.dts  |  3 ++
> >  arch/arm64/boot/dts/qcom/sm6115.dtsi          | 36 +++++++++++++++++--
> >  .../boot/dts/qcom/sm6115p-lenovo-j606f.dts    |  3 ++
> >  3 files changed, 40 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts b/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts
> > index a1f0622db5a0..75951fd439df 100644
> > --- a/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts
> > @@ -242,6 +242,9 @@ &usb {
> >  &usb_dwc3 {
> >         maximum-speed = "high-speed";
> >         dr_mode = "peripheral";
> > +
> > +       phys = <&usb_hsphy>;
> > +       phy-names = "usb2-phy";
> >  };
> >
> >  &usb_hsphy {
> > diff --git a/arch/arm64/boot/dts/qcom/sm6115.dtsi b/arch/arm64/boot/dts/qcom/sm6115.dtsi
> > index 2a51c938bbcb..b2fa565e4816 100644
> > --- a/arch/arm64/boot/dts/qcom/sm6115.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/sm6115.dtsi
> > @@ -650,6 +650,38 @@ usb_hsphy: phy@1613000 {
> >                         status = "disabled";
> >                 };
> >
> > +               usb_qmpphy: phy@1615000 {
> > +                       compatible = "qcom,sm6115-qmp-usb3-phy";
> > +                       reg = <0x0 0x01615000 0x0 0x200>;
> > +                       clocks = <&gcc GCC_AHB2PHY_USB_CLK>,
> > +                                <&gcc GCC_USB3_PRIM_CLKREF_CLK>,
> > +                                <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>;
> > +                       clock-names = "cfg_ahb",
> > +                                     "ref",
> > +                                     "com_aux";
> > +                       resets = <&gcc GCC_USB3PHY_PHY_PRIM_SP0_BCR>,
> > +                                <&gcc GCC_USB3_PHY_PRIM_SP0_BCR>;
> > +                       reset-names = "phy_phy", "phy";
> > +                       status = "disabled";
> > +                       #address-cells = <2>;
> > +                       #size-cells = <2>;
> > +                       ranges;
> > +
> > +                       usb_ssphy: phy@1615200 {
>
> Please update this to newer style bindings (see
> qcom,sc8280xp-qmp-usb3-uni-phy.yaml).

I double checked the downstream driver and the HW documentation and
can confirm that this is not a UNI PHY i.e. it has 2 lanes (see
<https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/phy/qualcomm/phy-qcom-qmp-usb.c#n1923>).

Also this is a v3 USB QMP PHY (normally available on other SoCs like
sdm845) instead of v5 QMP USB UNI PHY available on SC8280XP.

So, I think the original patch is correct.

Thanks,
Bhupesh



> > +                               reg = <0x0 0x01615200 0x0 0x200>,
> > +                                     <0x0 0x01615400 0x0 0x200>,
> > +                                     <0x0 0x01615c00 0x0 0x400>,
> > +                                     <0x0 0x01615600 0x0 0x200>,
> > +                                     <0x0 0x01615800 0x0 0x200>,
> > +                                     <0x0 0x01615a00 0x0 0x100>;
> > +                               #clock-cells = <0>;
> > +                               #phy-cells = <0>;
> > +                               clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
> > +                               clock-names = "pipe0";
> > +                               clock-output-names = "usb3_phy_pipe_clk_src";
> > +                       };
> > +               };
> > +
> >                 qfprom@1b40000 {
> >                         compatible = "qcom,sm6115-qfprom", "qcom,qfprom";
> >                         reg = <0x0 0x01b40000 0x0 0x7000>;
> > @@ -1100,8 +1132,8 @@ usb_dwc3: usb@4e00000 {
> >                                 compatible = "snps,dwc3";
> >                                 reg = <0x0 0x04e00000 0x0 0xcd00>;
> >                                 interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
> > -                               phys = <&usb_hsphy>;
> > -                               phy-names = "usb2-phy";
> > +                               phys = <&usb_hsphy>, <&usb_ssphy>;
> > +                               phy-names = "usb2-phy", "usb3-phy";
> >                                 iommus = <&apps_smmu 0x120 0x0>;
> >                                 snps,dis_u2_susphy_quirk;
> >                                 snps,dis_enblslpm_quirk;
> > diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> > index 10c9d338446c..d60cc024749b 100644
> > --- a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> > @@ -280,6 +280,9 @@ &usb {
> >  &usb_dwc3 {
> >         maximum-speed = "high-speed";
> >         dr_mode = "peripheral";
> > +
> > +       phys = <&usb_hsphy>;
> > +       phy-names = "usb2-phy";
> >  };
> >
> >  &usb_hsphy {
> > --
> > 2.38.1
> >
>
>
> --
> With best wishes
> Dmitry

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-04-05 19:01 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-01 15:47 [PATCH v4 0/2] Enable USB SS qmp phy for Qualcomm SM6115 SoC Bhupesh Sharma
2023-04-01 15:47 ` [PATCH v4 1/2] dt-bindings: phy: qcom,qmp-usb: Fix phy subnode for SM6115 & QCM2290 USB3 PHY Bhupesh Sharma
2023-04-01 17:12   ` Dmitry Baryshkov
2023-04-01 17:24     ` Bhupesh Sharma
2023-04-05  9:41   ` Krzysztof Kozlowski
2023-04-05 13:43     ` Bhupesh Sharma
2023-04-01 15:47 ` [PATCH v4 2/2] arm64: dts: qcom: sm6115: Add USB SS qmp phy node Bhupesh Sharma
2023-04-01 17:13   ` Dmitry Baryshkov
2023-04-05 19:01     ` Bhupesh Sharma
2023-04-01 17:09 ` [PATCH v4 0/2] Enable USB SS qmp phy for Qualcomm SM6115 SoC Dmitry Baryshkov
2023-04-01 17:38   ` Bhupesh Sharma

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).