* [PATCH v3 0/3] Enable tertiary USB controller in OTG mode
@ 2026-02-25 9:31 Swati Agarwal
2026-02-25 9:31 ` [PATCH v3 1/3] arm64: dts: qcom: lemans-evk: Enable GPIO expander interrupt for Lemans EVK Swati Agarwal
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Swati Agarwal @ 2026-02-25 9:31 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Swati Agarwal
Enable tertiary USB controller in OTG mode on lemans EVK platform.
Changes in v3:
Separate patches for lemans and lemans-evk.
Minor formatting changes.
Changes in v2:
Added interrupts for all expanders.
Minor formatting changes.
Link to v2:
https://lore.kernel.org/all/20260210125348.2800846-1-swati.agarwal@oss.qualcomm.com/
Link to v1:
https://lore.kernel.org/all/20260206104642.1038381-1-swati.agarwal@oss.qualcomm.com/
Swati Agarwal (3):
arm64: dts: qcom: lemans-evk: Enable GPIO expander interrupt for
Lemans EVK
arm64: dts: qcom: lemans: Add role-switch support and HS endpoint for
tertiary USB controller
arm64: dts: qcom: lemans-evk: Enable the tertiary USB controller
arch/arm64/boot/dts/qcom/lemans-evk.dts | 96 +++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/lemans.dtsi | 7 ++
2 files changed, 103 insertions(+)
--
2.34.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 1/3] arm64: dts: qcom: lemans-evk: Enable GPIO expander interrupt for Lemans EVK
2026-02-25 9:31 [PATCH v3 0/3] Enable tertiary USB controller in OTG mode Swati Agarwal
@ 2026-02-25 9:31 ` Swati Agarwal
2026-02-25 9:31 ` [PATCH v3 2/3] arm64: dts: qcom: lemans: Add role-switch support and HS endpoint for tertiary USB controller Swati Agarwal
2026-02-25 9:31 ` [PATCH v3 3/3] arm64: dts: qcom: lemans-evk: Enable the " Swati Agarwal
2 siblings, 0 replies; 8+ messages in thread
From: Swati Agarwal @ 2026-02-25 9:31 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Swati Agarwal,
Konrad Dybcio, Dmitry Baryshkov
Enable PCA9538 expander as interrupt controller on Lemans EVK and configure
the corresponding TLMM pins via pinctrl to operate as GPIO inputs with
internal pull-ups.
Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/lemans-evk.dts | 44 +++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
index 90fce947ca7e..397052394930 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -546,6 +546,11 @@ expander0: gpio@38 {
reg = <0x38>;
#gpio-cells = <2>;
gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&tlmm 138 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&expander0_int>;
+ pinctrl-names = "default";
};
expander1: gpio@39 {
@@ -553,6 +558,11 @@ expander1: gpio@39 {
reg = <0x39>;
#gpio-cells = <2>;
gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&tlmm 19 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&expander1_int>;
+ pinctrl-names = "default";
};
expander2: gpio@3a {
@@ -560,6 +570,11 @@ expander2: gpio@3a {
reg = <0x3a>;
#gpio-cells = <2>;
gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&tlmm 139 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&expander2_int>;
+ pinctrl-names = "default";
};
expander3: gpio@3b {
@@ -567,6 +582,11 @@ expander3: gpio@3b {
reg = <0x3b>;
#gpio-cells = <2>;
gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&expander3_int>;
+ pinctrl-names = "default";
};
eeprom@50 {
@@ -804,6 +824,30 @@ ethernet0_mdio: ethernet0-mdio-pins {
};
};
+ expander0_int: expander0-int-state {
+ pins = "gpio138";
+ function = "gpio";
+ bias-pull-up;
+ };
+
+ expander1_int: expander1-int-state {
+ pins = "gpio19";
+ function = "gpio";
+ bias-pull-up;
+ };
+
+ expander2_int: expander2-int-state {
+ pins = "gpio139";
+ function = "gpio";
+ bias-pull-up;
+ };
+
+ expander3_int: expander3-int-state {
+ pins = "gpio39";
+ function = "gpio";
+ bias-pull-up;
+ };
+
pcie0_default_state: pcie0-default-state {
clkreq-pins {
pins = "gpio1";
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 2/3] arm64: dts: qcom: lemans: Add role-switch support and HS endpoint for tertiary USB controller
2026-02-25 9:31 [PATCH v3 0/3] Enable tertiary USB controller in OTG mode Swati Agarwal
2026-02-25 9:31 ` [PATCH v3 1/3] arm64: dts: qcom: lemans-evk: Enable GPIO expander interrupt for Lemans EVK Swati Agarwal
@ 2026-02-25 9:31 ` Swati Agarwal
2026-02-25 11:33 ` Konrad Dybcio
2026-02-26 3:12 ` Dmitry Baryshkov
2026-02-25 9:31 ` [PATCH v3 3/3] arm64: dts: qcom: lemans-evk: Enable the " Swati Agarwal
2 siblings, 2 replies; 8+ messages in thread
From: Swati Agarwal @ 2026-02-25 9:31 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Swati Agarwal
Enable usb-role-switch for the tertiary USB controller on Lemans.
Additionally, add a port node with an HS endpoint so the controller can be
linked through the DT graph to the corresponding connector.
Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/lemans.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi
index 808827b83553..d0e63336be6b 100644
--- a/arch/arm64/boot/dts/qcom/lemans.dtsi
+++ b/arch/arm64/boot/dts/qcom/lemans.dtsi
@@ -4270,7 +4270,14 @@ usb_2: usb@a400000 {
snps,dis-u1-entry-quirk;
snps,dis-u2-entry-quirk;
+ usb-role-switch;
+
status = "disabled";
+
+ port {
+ usb_2_dwc3_hs: endpoint {
+ };
+ };
};
tcsr_mutex: hwlock@1f40000 {
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 3/3] arm64: dts: qcom: lemans-evk: Enable the tertiary USB controller
2026-02-25 9:31 [PATCH v3 0/3] Enable tertiary USB controller in OTG mode Swati Agarwal
2026-02-25 9:31 ` [PATCH v3 1/3] arm64: dts: qcom: lemans-evk: Enable GPIO expander interrupt for Lemans EVK Swati Agarwal
2026-02-25 9:31 ` [PATCH v3 2/3] arm64: dts: qcom: lemans: Add role-switch support and HS endpoint for tertiary USB controller Swati Agarwal
@ 2026-02-25 9:31 ` Swati Agarwal
2026-02-25 11:34 ` Konrad Dybcio
2026-02-26 3:14 ` Dmitry Baryshkov
2 siblings, 2 replies; 8+ messages in thread
From: Swati Agarwal @ 2026-02-25 9:31 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Swati Agarwal
Enable the tertiary usb controller connected to micro usb port in OTG mode
on Lemans EVK platform.
Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/lemans-evk.dts | 52 +++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
index 397052394930..9e1e8b6f13dc 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -68,6 +68,25 @@ usb0_con_ss_ep: endpoint {
};
};
+ connector-2 {
+ compatible = "gpio-usb-b-connector", "usb-b-connector";
+ label = "micro-USB";
+ type = "micro";
+
+ id-gpios = <&pmm8654au_2_gpios 11 GPIO_ACTIVE_HIGH>;
+ vbus-gpios = <&expander3 3 GPIO_ACTIVE_HIGH>;
+ vbus-supply = <&vbus_supply_regulator_2>;
+
+ pinctrl-0 = <&usb2_id>;
+ pinctrl-names = "default";
+
+ port {
+ usb2_con_hs_ep: endpoint {
+ remote-endpoint = <&usb_2_dwc3_hs>;
+ };
+ };
+ };
+
edp0-connector {
compatible = "dp-connector";
label = "EDP0";
@@ -141,6 +160,15 @@ vbus_supply_regulator_0: regulator-vbus-supply-0 {
enable-active-high;
};
+ vbus_supply_regulator_2: vbus-supply-regulator-2 {
+ compatible = "regulator-fixed";
+ regulator-name = "USB2_VBUS";
+ gpio = <&pmm8654au_1_gpios 9 GPIO_ACTIVE_HIGH>;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ };
+
vmmc_sdc: regulator-vmmc-sdc {
compatible = "regulator-fixed";
@@ -719,6 +747,14 @@ usb0_intr_state: usb0-intr-state {
bias-pull-up;
power-source = <0>;
};
+
+ usb2_id: usb2-id-state {
+ pins = "gpio11";
+ function = "normal";
+ input-enable;
+ bias-pull-up;
+ power-source = <0>;
+ };
};
&qup_i2c19_default {
@@ -966,6 +1002,22 @@ &usb_0_qmpphy {
status = "okay";
};
+&usb_2 {
+ status = "okay";
+};
+
+&usb_2_dwc3_hs {
+ remote-endpoint = <&usb2_con_hs_ep>;
+};
+
+&usb_2_hsphy {
+ vdda-pll-supply = <&vreg_l7a>;
+ vdda18-supply = <&vreg_l6c>;
+ vdda33-supply = <&vreg_l9a>;
+
+ status = "okay";
+};
+
&xo_board_clk {
clock-frequency = <38400000>;
};
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/3] arm64: dts: qcom: lemans: Add role-switch support and HS endpoint for tertiary USB controller
2026-02-25 9:31 ` [PATCH v3 2/3] arm64: dts: qcom: lemans: Add role-switch support and HS endpoint for tertiary USB controller Swati Agarwal
@ 2026-02-25 11:33 ` Konrad Dybcio
2026-02-26 3:12 ` Dmitry Baryshkov
1 sibling, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2026-02-25 11:33 UTC (permalink / raw)
To: Swati Agarwal, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 2/25/26 10:31 AM, Swati Agarwal wrote:
> Enable usb-role-switch for the tertiary USB controller on Lemans.
>
> Additionally, add a port node with an HS endpoint so the controller can be
> linked through the DT graph to the corresponding connector.
>
> Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 3/3] arm64: dts: qcom: lemans-evk: Enable the tertiary USB controller
2026-02-25 9:31 ` [PATCH v3 3/3] arm64: dts: qcom: lemans-evk: Enable the " Swati Agarwal
@ 2026-02-25 11:34 ` Konrad Dybcio
2026-02-26 3:14 ` Dmitry Baryshkov
1 sibling, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2026-02-25 11:34 UTC (permalink / raw)
To: Swati Agarwal, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 2/25/26 10:31 AM, Swati Agarwal wrote:
> Enable the tertiary usb controller connected to micro usb port in OTG mode
> on Lemans EVK platform.
>
> Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/3] arm64: dts: qcom: lemans: Add role-switch support and HS endpoint for tertiary USB controller
2026-02-25 9:31 ` [PATCH v3 2/3] arm64: dts: qcom: lemans: Add role-switch support and HS endpoint for tertiary USB controller Swati Agarwal
2026-02-25 11:33 ` Konrad Dybcio
@ 2026-02-26 3:12 ` Dmitry Baryshkov
1 sibling, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2026-02-26 3:12 UTC (permalink / raw)
To: Swati Agarwal
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
On Wed, Feb 25, 2026 at 03:01:54PM +0530, Swati Agarwal wrote:
> Enable usb-role-switch for the tertiary USB controller on Lemans.
>
> Additionally, add a port node with an HS endpoint so the controller can be
> linked through the DT graph to the corresponding connector.
>
> Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/lemans.dtsi | 7 +++++++
> 1 file changed, 7 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 3/3] arm64: dts: qcom: lemans-evk: Enable the tertiary USB controller
2026-02-25 9:31 ` [PATCH v3 3/3] arm64: dts: qcom: lemans-evk: Enable the " Swati Agarwal
2026-02-25 11:34 ` Konrad Dybcio
@ 2026-02-26 3:14 ` Dmitry Baryshkov
1 sibling, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2026-02-26 3:14 UTC (permalink / raw)
To: Swati Agarwal
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
On Wed, Feb 25, 2026 at 03:01:55PM +0530, Swati Agarwal wrote:
> Enable the tertiary usb controller connected to micro usb port in OTG mode
> on Lemans EVK platform.
>
> Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/lemans-evk.dts | 52 +++++++++++++++++++++++++
> 1 file changed, 52 insertions(+)
>
> @@ -141,6 +160,15 @@ vbus_supply_regulator_0: regulator-vbus-supply-0 {
> enable-active-high;
> };
>
> + vbus_supply_regulator_2: vbus-supply-regulator-2 {
The regulator nodes in this file are named regulator-foo. Why are you
deviating from that?
> + compatible = "regulator-fixed";
> + regulator-name = "USB2_VBUS";
> + gpio = <&pmm8654au_1_gpios 9 GPIO_ACTIVE_HIGH>;
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + enable-active-high;
> + };
> +
> vmmc_sdc: regulator-vmmc-sdc {
> compatible = "regulator-fixed";
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-02-26 3:14 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-25 9:31 [PATCH v3 0/3] Enable tertiary USB controller in OTG mode Swati Agarwal
2026-02-25 9:31 ` [PATCH v3 1/3] arm64: dts: qcom: lemans-evk: Enable GPIO expander interrupt for Lemans EVK Swati Agarwal
2026-02-25 9:31 ` [PATCH v3 2/3] arm64: dts: qcom: lemans: Add role-switch support and HS endpoint for tertiary USB controller Swati Agarwal
2026-02-25 11:33 ` Konrad Dybcio
2026-02-26 3:12 ` Dmitry Baryshkov
2026-02-25 9:31 ` [PATCH v3 3/3] arm64: dts: qcom: lemans-evk: Enable the " Swati Agarwal
2026-02-25 11:34 ` Konrad Dybcio
2026-02-26 3:14 ` Dmitry Baryshkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox