* [PATCH v3 0/2] Flattening USB controller on SM8450
@ 2025-07-14 4:53 Krishna Kurapati
2025-07-14 4:53 ` [PATCH v3 1/2] arm64: dts: qcom: sm8450-qrd: add pmic glink node Krishna Kurapati
2025-07-14 4:53 ` [PATCH v3 2/2] arm64: dts: qcom: sm8450: Flatten usb controller node Krishna Kurapati
0 siblings, 2 replies; 5+ messages in thread
From: Krishna Kurapati @ 2025-07-14 4:53 UTC (permalink / raw)
To: Krzysztof Kozlowski, Rob Herring, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, neil.armstrong
Cc: linux-kernel, devicetree, linux-arm-msm, Krishna Kurapati
Flatten USB Controller node on SM8450 QRD to move away from legacy USB
Qualcomm glue driver and make use of new one.
Tested the series on top of a QRD. As per Neil's comments, made changes
for HDK as well. Gave a compile test for the sony-xperia-nagara changes.
Changes in v3:
As per comments received:
a) Flattened all platforms.
b) Addressed Dmitry's comments - moving properties from QRD to base DT.
Changes in v2:
Rebase from RFC.
Link to v2:
https://lore.kernel.org/all/20250610091805.2997546-1-krishna.kurapati@oss.qualcomm.com/
Link to RFC:
https://lore.kernel.org/all/20231017131851.8299-5-quic_kriskura@quicinc.com/
https://lore.kernel.org/all/20231017131851.8299-6-quic_kriskura@quicinc.com/
Krishna Kurapati (2):
arm64: dts: qcom: sm8450-qrd: add pmic glink node
arm64: dts: qcom: sm8450: Flatten usb controller node
arch/arm64/boot/dts/qcom/sm8450-hdk.dts | 5 --
arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 51 ++++++++++++++++-
.../dts/qcom/sm8450-sony-xperia-nagara.dtsi | 5 +-
arch/arm64/boot/dts/qcom/sm8450.dtsi | 57 +++++++++----------
4 files changed, 76 insertions(+), 42 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v3 1/2] arm64: dts: qcom: sm8450-qrd: add pmic glink node
2025-07-14 4:53 [PATCH v3 0/2] Flattening USB controller on SM8450 Krishna Kurapati
@ 2025-07-14 4:53 ` Krishna Kurapati
2025-07-14 8:58 ` Konrad Dybcio
2025-07-14 4:53 ` [PATCH v3 2/2] arm64: dts: qcom: sm8450: Flatten usb controller node Krishna Kurapati
1 sibling, 1 reply; 5+ messages in thread
From: Krishna Kurapati @ 2025-07-14 4:53 UTC (permalink / raw)
To: Krzysztof Kozlowski, Rob Herring, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, neil.armstrong
Cc: linux-kernel, devicetree, linux-arm-msm, Krishna Kurapati
Add the pmic glink node linked with the DWC3 USB controller
switched to OTG mode and tagged with usb-role-switch.
Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 51 ++++++++++++++++++++++++-
1 file changed, 49 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
index 8c39fbcaad80..a5093eee3dea 100644
--- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
@@ -37,6 +37,49 @@ vph_pwr: vph-pwr-regulator {
regulator-always-on;
regulator-boot-on;
};
+
+ pmic-glink {
+ compatible = "qcom,sm8450-pmic-glink", "qcom,pmic-glink";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ orientation-gpios = <&tlmm 91 GPIO_ACTIVE_HIGH>;
+
+ 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_qmpphy_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ pmic_glink_sbu: endpoint {
+ };
+ };
+
+ };
+ };
+ };
};
&apps_rsc {
@@ -461,8 +504,8 @@ &usb_1 {
status = "okay";
};
-&usb_1_dwc3 {
- dr_mode = "peripheral";
+&usb_1_dwc3_hs {
+ remote-endpoint = <&pmic_glink_hs_in>;
};
&usb_1_hsphy {
@@ -487,3 +530,7 @@ &usb_1_qmpphy {
vdda-phy-supply = <&vreg_l6b_1p2>;
vdda-pll-supply = <&vreg_l1b_0p91>;
};
+
+&usb_1_qmpphy_out {
+ remote-endpoint = <&pmic_glink_ss_in>;
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 2/2] arm64: dts: qcom: sm8450: Flatten usb controller node
2025-07-14 4:53 [PATCH v3 0/2] Flattening USB controller on SM8450 Krishna Kurapati
2025-07-14 4:53 ` [PATCH v3 1/2] arm64: dts: qcom: sm8450-qrd: add pmic glink node Krishna Kurapati
@ 2025-07-14 4:53 ` Krishna Kurapati
2025-07-14 9:51 ` Konrad Dybcio
1 sibling, 1 reply; 5+ messages in thread
From: Krishna Kurapati @ 2025-07-14 4:53 UTC (permalink / raw)
To: Krzysztof Kozlowski, Rob Herring, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, neil.armstrong
Cc: linux-kernel, devicetree, linux-arm-msm, Krishna Kurapati
Flatten usb controller node and update to using latest bindings
and flattened driver approach.
Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sm8450-hdk.dts | 5 --
.../dts/qcom/sm8450-sony-xperia-nagara.dtsi | 5 +-
arch/arm64/boot/dts/qcom/sm8450.dtsi | 57 +++++++++----------
3 files changed, 27 insertions(+), 40 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
index 2ff40a120aad..0c6aa7ddf432 100644
--- a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
+++ b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
@@ -1199,11 +1199,6 @@ &usb_1 {
status = "okay";
};
-&usb_1_dwc3 {
- dr_mode = "otg";
- usb-role-switch;
-};
-
&usb_1_dwc3_hs {
remote-endpoint = <&pmic_glink_hs_in>;
};
diff --git a/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi b/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
index cc1335a07a35..6bd315e10992 100644
--- a/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
@@ -781,11 +781,8 @@ &uart7 {
};
&usb_1 {
- status = "okay";
-};
-
-&usb_1_dwc3 {
dr_mode = "peripheral";
+ status = "okay";
};
&usb_1_hsphy {
diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index 54c6d0fdb2af..77104def5ced 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -5417,12 +5417,9 @@ opp-202000000 {
};
usb_1: usb@a6f8800 {
- compatible = "qcom,sm8450-dwc3", "qcom,dwc3";
- reg = <0 0x0a6f8800 0 0x400>;
+ compatible = "qcom,sm8450-dwc3", "qcom,snps-dwc3";
+ reg = <0 0x0a600000 0 0x10000>;
status = "disabled";
- #address-cells = <2>;
- #size-cells = <2>;
- ranges;
clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
<&gcc GCC_USB30_PRIM_MASTER_CLK>,
@@ -5441,12 +5438,14 @@ usb_1: usb@a6f8800 {
<&gcc GCC_USB30_PRIM_MASTER_CLK>;
assigned-clock-rates = <19200000>, <200000000>;
- interrupts-extended = <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
+ interrupts-extended = <&intc GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
+ <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
<&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
<&pdc 14 IRQ_TYPE_EDGE_BOTH>,
<&pdc 15 IRQ_TYPE_EDGE_BOTH>,
<&pdc 17 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "pwr_event",
+ interrupt-names = "dwc_usb3",
+ "pwr_event",
"hs_phy_irq",
"dp_hs_phy_irq",
"dm_hs_phy_irq",
@@ -5460,36 +5459,32 @@ usb_1: usb@a6f8800 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_USB3_0 0>;
interconnect-names = "usb-ddr", "apps-usb";
- usb_1_dwc3: usb@a600000 {
- compatible = "snps,dwc3";
- reg = <0 0x0a600000 0 0xcd00>;
- interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
- iommus = <&apps_smmu 0x0 0x0>;
- snps,dis_u2_susphy_quirk;
- snps,dis_u3_susphy_quirk;
- snps,dis_enblslpm_quirk;
- snps,dis-u1-entry-quirk;
- snps,dis-u2-entry-quirk;
- phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
- phy-names = "usb2-phy", "usb3-phy";
+ iommus = <&apps_smmu 0x0 0x0>;
+ snps,dis_u2_susphy_quirk;
+ snps,dis_u3_susphy_quirk;
+ snps,dis_enblslpm_quirk;
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
+ phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
+ phy-names = "usb2-phy", "usb3-phy";
+ usb-role-switch;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
- port@0 {
- reg = <0>;
+ port@0 {
+ reg = <0>;
- usb_1_dwc3_hs: endpoint {
- };
+ usb_1_dwc3_hs: endpoint {
};
+ };
- port@1 {
- reg = <1>;
+ port@1 {
+ reg = <1>;
- usb_1_dwc3_ss: endpoint {
- remote-endpoint = <&usb_1_qmpphy_usb_ss_in>;
- };
+ usb_1_dwc3_ss: endpoint {
+ remote-endpoint = <&usb_1_qmpphy_usb_ss_in>;
};
};
};
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v3 1/2] arm64: dts: qcom: sm8450-qrd: add pmic glink node
2025-07-14 4:53 ` [PATCH v3 1/2] arm64: dts: qcom: sm8450-qrd: add pmic glink node Krishna Kurapati
@ 2025-07-14 8:58 ` Konrad Dybcio
0 siblings, 0 replies; 5+ messages in thread
From: Konrad Dybcio @ 2025-07-14 8:58 UTC (permalink / raw)
To: Krishna Kurapati, Krzysztof Kozlowski, Rob Herring, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, neil.armstrong
Cc: linux-kernel, devicetree, linux-arm-msm
On 7/14/25 6:53 AM, Krishna Kurapati wrote:
> Add the pmic glink node linked with the DWC3 USB controller
> switched to OTG mode and tagged with usb-role-switch.
>
> Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 51 ++++++++++++++++++++++++-
> 1 file changed, 49 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> index 8c39fbcaad80..a5093eee3dea 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> @@ -37,6 +37,49 @@ vph_pwr: vph-pwr-regulator {
> regulator-always-on;
> regulator-boot-on;
> };
> +
> + pmic-glink {
Please move pmic-glink above vph-pwr-regulator (so it's alphabetically
sorted). The rest looks good
Konrad
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: qcom: sm8450: Flatten usb controller node
2025-07-14 4:53 ` [PATCH v3 2/2] arm64: dts: qcom: sm8450: Flatten usb controller node Krishna Kurapati
@ 2025-07-14 9:51 ` Konrad Dybcio
0 siblings, 0 replies; 5+ messages in thread
From: Konrad Dybcio @ 2025-07-14 9:51 UTC (permalink / raw)
To: Krishna Kurapati, Krzysztof Kozlowski, Rob Herring, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, neil.armstrong
Cc: linux-kernel, devicetree, linux-arm-msm
On 7/14/25 6:53 AM, Krishna Kurapati wrote:
> Flatten usb controller node and update to using latest bindings
> and flattened driver approach.
>
> Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/sm8450-hdk.dts | 5 --
> .../dts/qcom/sm8450-sony-xperia-nagara.dtsi | 5 +-
> arch/arm64/boot/dts/qcom/sm8450.dtsi | 57 +++++++++----------
> 3 files changed, 27 insertions(+), 40 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> index 2ff40a120aad..0c6aa7ddf432 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> @@ -1199,11 +1199,6 @@ &usb_1 {
> status = "okay";
> };
>
> -&usb_1_dwc3 {
> - dr_mode = "otg";
> - usb-role-switch;
> -};
> -
> &usb_1_dwc3_hs {
> remote-endpoint = <&pmic_glink_hs_in>;
> };
> diff --git a/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi b/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
> index cc1335a07a35..6bd315e10992 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
> @@ -781,11 +781,8 @@ &uart7 {
> };
>
> &usb_1 {
> - status = "okay";
> -};
> -
> -&usb_1_dwc3 {
> dr_mode = "peripheral";
> + status = "okay";
> };
>
> &usb_1_hsphy {
> diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> index 54c6d0fdb2af..77104def5ced 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> @@ -5417,12 +5417,9 @@ opp-202000000 {
> };
>
> usb_1: usb@a6f8800 {
> - compatible = "qcom,sm8450-dwc3", "qcom,dwc3";
> - reg = <0 0x0a6f8800 0 0x400>;
> + compatible = "qcom,sm8450-dwc3", "qcom,snps-dwc3";
> + reg = <0 0x0a600000 0 0x10000>;
I think we want size = 0xfc100 to include qscratch and DBM (but
specificallynot BAM)
with that:
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-07-14 9:51 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-14 4:53 [PATCH v3 0/2] Flattening USB controller on SM8450 Krishna Kurapati
2025-07-14 4:53 ` [PATCH v3 1/2] arm64: dts: qcom: sm8450-qrd: add pmic glink node Krishna Kurapati
2025-07-14 8:58 ` Konrad Dybcio
2025-07-14 4:53 ` [PATCH v3 2/2] arm64: dts: qcom: sm8450: Flatten usb controller node Krishna Kurapati
2025-07-14 9:51 ` Konrad Dybcio
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).