* [PATCH v7] arm64: dts: qcom: lemans-evk: Add OTG support for primary USB controller
@ 2025-11-28 10:25 Krishna Kurapati
2025-11-29 1:32 ` Dmitry Baryshkov
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Krishna Kurapati @ 2025-11-28 10:25 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Dmitry Baryshkov
Cc: linux-arm-msm, devicetree, linux-kernel, Krishna Kurapati
Enable OTG support for primary USB controller on EVK Platform. Add
HD3SS3220 Type-C port controller present between Type-C port and SoC
that provides role switch notifications to controller.
Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
---
Changes in v7:
- Renamed hd3ss3220@67 to usb-typec@67
- Compile tested since its only node name change
Link to v6:
https://lore.kernel.org/all/20251127073537.1218832-1-krishna.kurapati@oss.qualcomm.com/
Changes in v6:
- Renamed remote endpoints in controller node
Link to v5:
https://lore.kernel.org/all/20251125110420.2192971-1-krishna.kurapati@oss.qualcomm.com/
Changes in v5:
- Re-organised pmic gpio node to maintain alphanumeric order
Link to v4:
https://lore.kernel.org/all/20251102165126.2799143-1-krishna.kurapati@oss.qualcomm.com/
Changes in v4:
- Moved remote endpoints to SoC file.
- Renamed vbus regulator name.
- Moved usb-role-swich property to SoC file.
Link to v3:
https://lore.kernel.org/all/20251024182138.2744861-1-krishna.kurapati@oss.qualcomm.com/
Changes in v3:
- Moved "usb-role-switch" to lemans dtsi file
- Moved vbus supply to connector node
Link to v2:
https://lore.kernel.org/all/20251008180036.1770735-1-krishna.kurapati@oss.qualcomm.com/
Changes in v2:
- Removed redundant property of dr_mode setting.
- Added power-role property in connector node.
Link to v1:
https://lore.kernel.org/all/20251002172946.589061-1-krishna.kurapati@oss.qualcomm.com/
arch/arm64/boot/dts/qcom/lemans-evk.dts | 108 +++++++++++++++++++++++-
arch/arm64/boot/dts/qcom/lemans.dtsi | 20 +++++
2 files changed, 126 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
index b40fa203e4a2..2536ebe36edb 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -38,6 +38,35 @@ chosen {
stdout-path = "serial0:115200n8";
};
+ connector-0 {
+ compatible = "usb-c-connector";
+ label = "USB0-Type-C";
+ data-role = "dual";
+ power-role = "dual";
+
+ vbus-supply = <&vbus_supply_regulator_0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ usb0_con_hs_ep: endpoint {
+ remote-endpoint = <&usb_0_dwc3_hs>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+
+ usb0_con_ss_ep: endpoint {
+ remote-endpoint = <&hd3ss3220_in_ep>;
+ };
+ };
+ };
+ };
+
edp0-connector {
compatible = "dp-connector";
label = "EDP0";
@@ -102,6 +131,15 @@ platform {
};
};
+ vbus_supply_regulator_0: regulator-vbus-supply-0 {
+ compatible = "regulator-fixed";
+ regulator-name = "vbus_supply_0";
+ gpio = <&expander1 2 GPIO_ACTIVE_HIGH>;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ };
+
vmmc_sdc: regulator-vmmc-sdc {
compatible = "regulator-fixed";
@@ -454,6 +492,43 @@ &gpi_dma2 {
status = "okay";
};
+&i2c11 {
+ status = "okay";
+
+ usb-typec@67 {
+ compatible = "ti,hd3ss3220";
+ reg = <0x67>;
+
+ interrupts-extended = <&pmm8654au_2_gpios 5 IRQ_TYPE_EDGE_FALLING>;
+
+ id-gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-0 = <&usb_id>, <&usb0_intr_state>;
+ pinctrl-names = "default";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ hd3ss3220_in_ep: endpoint {
+ remote-endpoint = <&usb0_con_ss_ep>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ hd3ss3220_out_ep: endpoint {
+ remote-endpoint = <&usb_0_dwc3_ss>;
+ };
+ };
+ };
+ };
+};
+
&i2c18 {
status = "okay";
@@ -607,6 +682,16 @@ &pmm8654au_0_pon_resin {
status = "okay";
};
+&pmm8654au_2_gpios {
+ usb0_intr_state: usb0-intr-state {
+ pins = "gpio5";
+ function = "normal";
+ input-enable;
+ bias-pull-up;
+ power-source = <0>;
+ };
+};
+
&qup_i2c19_default {
drive-strength = <2>;
bias-pull-up;
@@ -746,11 +831,24 @@ wake-pins {
};
};
+ qup_i2c11_default: qup-i2c11-state {
+ pins = "gpio48", "gpio49";
+ function = "qup1_se4";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
sd_cd: sd-cd-state {
pins = "gpio36";
function = "gpio";
bias-pull-up;
};
+
+ usb_id: usb-id-state {
+ pins = "gpio50";
+ function = "gpio";
+ bias-pull-up;
+ };
};
&uart10 {
@@ -779,11 +877,17 @@ &ufs_mem_phy {
};
&usb_0 {
- dr_mode = "peripheral";
-
status = "okay";
};
+&usb_0_dwc3_hs {
+ remote-endpoint = <&usb0_con_hs_ep>;
+};
+
+&usb_0_dwc3_ss {
+ remote-endpoint = <&hd3ss3220_out_ep>;
+};
+
&usb_0_hsphy {
vdda-pll-supply = <&vreg_l7a>;
vdda18-supply = <&vreg_l6c>;
diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi
index 0b154d57ba24..bf869c5b5ee0 100644
--- a/arch/arm64/boot/dts/qcom/lemans.dtsi
+++ b/arch/arm64/boot/dts/qcom/lemans.dtsi
@@ -4026,7 +4026,27 @@ usb_0: usb@a600000 {
snps,dis-u1-entry-quirk;
snps,dis-u2-entry-quirk;
+ usb-role-switch;
status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ usb_0_dwc3_hs: endpoint {
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ usb_0_dwc3_ss: endpoint {
+ };
+ };
+ };
};
usb_1: usb@a800000 {
--
2.34.1
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v7] arm64: dts: qcom: lemans-evk: Add OTG support for primary USB controller
2025-11-28 10:25 [PATCH v7] arm64: dts: qcom: lemans-evk: Add OTG support for primary USB controller Krishna Kurapati
@ 2025-11-29 1:32 ` Dmitry Baryshkov
2025-12-01 12:31 ` Konrad Dybcio
2026-01-05 14:07 ` Bjorn Andersson
2 siblings, 0 replies; 4+ messages in thread
From: Dmitry Baryshkov @ 2025-11-29 1:32 UTC (permalink / raw)
To: Krishna Kurapati
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
On Fri, Nov 28, 2025 at 03:55:07PM +0530, Krishna Kurapati wrote:
> Enable OTG support for primary USB controller on EVK Platform. Add
> HD3SS3220 Type-C port controller present between Type-C port and SoC
> that provides role switch notifications to controller.
>
> Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
> ---
> Changes in v7:
> - Renamed hd3ss3220@67 to usb-typec@67
> - Compile tested since its only node name change
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v7] arm64: dts: qcom: lemans-evk: Add OTG support for primary USB controller
2025-11-28 10:25 [PATCH v7] arm64: dts: qcom: lemans-evk: Add OTG support for primary USB controller Krishna Kurapati
2025-11-29 1:32 ` Dmitry Baryshkov
@ 2025-12-01 12:31 ` Konrad Dybcio
2026-01-05 14:07 ` Bjorn Andersson
2 siblings, 0 replies; 4+ messages in thread
From: Konrad Dybcio @ 2025-12-01 12:31 UTC (permalink / raw)
To: Krishna Kurapati, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov
Cc: linux-arm-msm, devicetree, linux-kernel
On 11/28/25 11:25 AM, Krishna Kurapati wrote:
> Enable OTG support for primary USB controller on EVK Platform. Add
> HD3SS3220 Type-C port controller present between Type-C port and SoC
> that provides role switch notifications to controller.
>
> Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
> ---
[...]
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + usb0_con_hs_ep: endpoint {
> + remote-endpoint = <&usb_0_dwc3_hs>;
> + };
> + };
> + port@1 {
Bjorn, could you add a \n here while applying?
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v7] arm64: dts: qcom: lemans-evk: Add OTG support for primary USB controller
2025-11-28 10:25 [PATCH v7] arm64: dts: qcom: lemans-evk: Add OTG support for primary USB controller Krishna Kurapati
2025-11-29 1:32 ` Dmitry Baryshkov
2025-12-01 12:31 ` Konrad Dybcio
@ 2026-01-05 14:07 ` Bjorn Andersson
2 siblings, 0 replies; 4+ messages in thread
From: Bjorn Andersson @ 2026-01-05 14:07 UTC (permalink / raw)
To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Dmitry Baryshkov, Krishna Kurapati
Cc: linux-arm-msm, devicetree, linux-kernel
On Fri, 28 Nov 2025 15:55:07 +0530, Krishna Kurapati wrote:
> Enable OTG support for primary USB controller on EVK Platform. Add
> HD3SS3220 Type-C port controller present between Type-C port and SoC
> that provides role switch notifications to controller.
>
>
Applied, thanks!
[1/1] arm64: dts: qcom: lemans-evk: Add OTG support for primary USB controller
commit: 3b226dc2a0c39de609ecb383a92d9ed99d7aebc8
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-01-05 14:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-28 10:25 [PATCH v7] arm64: dts: qcom: lemans-evk: Add OTG support for primary USB controller Krishna Kurapati
2025-11-29 1:32 ` Dmitry Baryshkov
2025-12-01 12:31 ` Konrad Dybcio
2026-01-05 14:07 ` Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®