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 | 53 +++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/lemans.dtsi | 7 ++++
2 files changed, 60 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
index 473cc2a81670..71d1793dac3c 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -107,6 +107,25 @@ usb1_ss_in: 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-names = "default";
+ pinctrl-0 = <&usb2_id>;
+
+ port {
+ usb2_con_hs_ep: endpoint {
+ remote-endpoint = <&usb_2_dwc3_hs>;
+ };
+ };
+ };
+
edp0-connector {
compatible = "dp-connector";
label = "EDP0";
@@ -190,6 +209,16 @@ vbus_supply_regulator_1: regulator-vbus-supply-1 {
enable-active-high;
};
+ vbus_supply_regulator_2: vbus-supply-regulator_2 {
+ compatible = "regulator-fixed";
+ regulator-name = "vbus_supply_2";
+ gpio = <&pmm8654au_1_gpios 9 GPIO_ACTIVE_HIGH>;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-boot-on;
+ enable-active-high;
+ };
+
vmmc_sdc: regulator-vmmc-sdc {
compatible = "regulator-fixed";
@@ -795,6 +824,14 @@ usb1_intr: usb1-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 {
@@ -1143,6 +1180,22 @@ &usb_1_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>;
};
diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi
index 808827b83553..2710927c9172 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
On Fri, Feb 06, 2026 at 04:16:42PM +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 | 53 +++++++++++++++++++++++++
> arch/arm64/boot/dts/qcom/lemans.dtsi | 7 ++++
> 2 files changed, 60 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi
> index 808827b83553..2710927c9172 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 {
> + };
Is it USB-2 only? If not, please define both ports.
> + };
> +
> };
>
> tcsr_mutex: hwlock@1f40000 {
> --
> 2.34.1
>
--
With best wishes
Dmitry
On 2/6/26 11:46 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>
> ---
[...]
> + vbus_supply_regulator_2: vbus-supply-regulator_2 {
> + compatible = "regulator-fixed";
> + regulator-name = "vbus_supply_2";
> + gpio = <&pmm8654au_1_gpios 9 GPIO_ACTIVE_HIGH>;
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-boot-on;
Are you sure it's boot-on? vbus_supply_regulator_0 isn't marked as such,
or maybe is that one wrong?
[...]
> diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi
> index 808827b83553..2710927c9172 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";
Please leave a \n above 'status'
Konrad
On 06/02/2026 11:46, Swati Agarwal wrote:
> +
> edp0-connector {
> compatible = "dp-connector";
> label = "EDP0";
> @@ -190,6 +209,16 @@ vbus_supply_regulator_1: regulator-vbus-supply-1 {
> enable-active-high;
> };
>
> + vbus_supply_regulator_2: vbus-supply-regulator_2 {
Do not introduce your own coding style. How the nodes are called? Please
stop posting downstream code to us, but take and work on upstream.
Best regards,
Krzysztof
© 2016 - 2026 Red Hat, Inc.