arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 66 ++++++++++++++++++++ 1 file changed, 66 insertions(+)
Enable the secondary USB controller (USB2) and its High-Speed PHY to
support OTG functionality via a Micro-USB connector.
Define a dedicated 'usb2-connector' node using the 'gpio-usb-b-connector'
compatible to handle ID and VBUS detection. Link this connector to the
DWC3 controller via OF graph ports to satisfy schema requirements and
enable role switching.
Specific hardware configuration:
- ID pin: TLMM 61
- VBUS detection: PM7325 GPIO 9
- VBUS supply: Fixed regulator controlled by TLMM 63
- Configure &usb_2 in OTG mode with role switching enabled.
- Define a gpio-usb-b-connector node for Micro-USB support, mapping the
ID pin to TLMM 61 and VBUS detection to PM7325 GPIO 9.
- Add the 'vdd_micro_usb_vbus' fixed regulator (controlled by TLMM 63) to
supply VBUS to the connector.
- Add the 'usb2_id_detect' pinctrl state to configure GPIO 61 for ID
detection.
- Enable &usb_2_hsphy and populate necessary voltage supplies (VDDA PLL,
VDDA 1.8V, VDDA 3.3V).
Signed-off-by: Akash Kumar <akash.kumar@oss.qualcomm.com>
---
v3: Added empty line between reg and endpoint.
v2: https://lore.kernel.org/all/2zztcabuf4hkixj445m3iiqdsmg7jju62e3fgupb6kaqirx5lq@2mhs5hcn3p7p/
---
v2: Fixed minor comments on v1: https://lore.kernel.org/all/ad294a50-027f-4caa-a9b4-e145f709b50a@oss.qualcomm.com/
---
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 66 ++++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
index f29a352b0288..76f2c6b3d518 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
@@ -217,6 +217,16 @@ pmic_glink_sbu_in: endpoint {
};
};
+ vdd_micro_usb_vbus: regulator-micro-usb-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "MICRO_USB_VBUS";
+ gpio = <&tlmm 63 GPIO_ACTIVE_HIGH>;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-boot-on;
+ enable-active-high;
+ };
+
vph_pwr: regulator-vph-pwr {
compatible = "regulator-fixed";
regulator-name = "vph_pwr";
@@ -262,6 +272,31 @@ active-config0 {
};
};
+ usb2-connector {
+ compatible = "gpio-usb-b-connector",
+ "usb-b-connector";
+ label = "micro-USB";
+ type = "micro";
+ id-gpios = <&tlmm 61 GPIO_ACTIVE_HIGH>;
+ vbus-gpios = <&pm7325_gpios 9 GPIO_ACTIVE_HIGH>;
+ vbus-supply = <&vdd_micro_usb_vbus>;
+ pinctrl-0 = <&usb2_id_detect>;
+ pinctrl-names = "default";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ usb2_connector_ep: endpoint {
+ remote-endpoint = <&usb2_controller_ep>;
+ };
+ };
+ };
+ };
+
wcn6750-pmu {
compatible = "qcom,wcn6750-pmu";
pinctrl-0 = <&bt_en>;
@@ -1137,6 +1172,12 @@ qup_uart7_sleep_tx: qup-uart7-sleep-tx-state {
*/
bias-pull-up;
};
+
+ usb2_id_detect: usb2-id-detect-state {
+ pins = "gpio61";
+ function = "gpio";
+ bias-pull-up;
+ };
};
&uart5 {
@@ -1200,6 +1241,31 @@ &usb_1_qmpphy {
status = "okay";
};
+&usb_2 {
+ status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ usb2_controller_ep: endpoint {
+ remote-endpoint = <&usb2_connector_ep>;
+ };
+ };
+ };
+};
+
+&usb_2_hsphy {
+ vdda-pll-supply = <&vreg_l10c_0p88>;
+ vdda18-supply = <&vreg_l1c_1p8>;
+ vdda33-supply = <&vreg_l2b_3p072>;
+
+ status = "okay";
+};
+
&usb_dp_qmpphy_out {
remote-endpoint = <&redriver_phy_con_ss>;
};
--
2.43.0
On 2/11/26 7:25 AM, Akash Kumar wrote:
> Enable the secondary USB controller (USB2) and its High-Speed PHY to
> support OTG functionality via a Micro-USB connector.
>
> Define a dedicated 'usb2-connector' node using the 'gpio-usb-b-connector'
> compatible to handle ID and VBUS detection. Link this connector to the
> DWC3 controller via OF graph ports to satisfy schema requirements and
> enable role switching.
>
> Specific hardware configuration:
> - ID pin: TLMM 61
> - VBUS detection: PM7325 GPIO 9
> - VBUS supply: Fixed regulator controlled by TLMM 63
> - Configure &usb_2 in OTG mode with role switching enabled.
> - Define a gpio-usb-b-connector node for Micro-USB support, mapping the
> ID pin to TLMM 61 and VBUS detection to PM7325 GPIO 9.
> - Add the 'vdd_micro_usb_vbus' fixed regulator (controlled by TLMM 63) to
> supply VBUS to the connector.
> - Add the 'usb2_id_detect' pinctrl state to configure GPIO 61 for ID
> detection.
> - Enable &usb_2_hsphy and populate necessary voltage supplies (VDDA PLL,
> VDDA 1.8V, VDDA 3.3V).
>
> Signed-off-by: Akash Kumar <akash.kumar@oss.qualcomm.com>
> ---
[...]
> +&usb_2 {
> + status = "okay";
> +
> + ports {
I'm not sure whether/how that passes bindings validation, but there's an
existing port {} under &usb_2. Please extend the existing definition in
the SoC DTSI to cover hs@0 and sbu@2
Konrad
On Wed, Feb 11, 2026 at 11:55:51AM +0530, Akash Kumar wrote: > Enable the secondary USB controller (USB2) and its High-Speed PHY to > support OTG functionality via a Micro-USB connector. > > Define a dedicated 'usb2-connector' node using the 'gpio-usb-b-connector' > compatible to handle ID and VBUS detection. Link this connector to the > DWC3 controller via OF graph ports to satisfy schema requirements and > enable role switching. > > Specific hardware configuration: > - ID pin: TLMM 61 > - VBUS detection: PM7325 GPIO 9 > - VBUS supply: Fixed regulator controlled by TLMM 63 > - Configure &usb_2 in OTG mode with role switching enabled. > - Define a gpio-usb-b-connector node for Micro-USB support, mapping the > ID pin to TLMM 61 and VBUS detection to PM7325 GPIO 9. > - Add the 'vdd_micro_usb_vbus' fixed regulator (controlled by TLMM 63) to > supply VBUS to the connector. > - Add the 'usb2_id_detect' pinctrl state to configure GPIO 61 for ID > detection. > - Enable &usb_2_hsphy and populate necessary voltage supplies (VDDA PLL, > VDDA 1.8V, VDDA 3.3V). > > Signed-off-by: Akash Kumar <akash.kumar@oss.qualcomm.com> > --- > v3: Added empty line between reg and endpoint. > v2: https://lore.kernel.org/all/2zztcabuf4hkixj445m3iiqdsmg7jju62e3fgupb6kaqirx5lq@2mhs5hcn3p7p/ And sadly ignored the tag. Let me repeat it: Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > --- > v2: Fixed minor comments on v1: https://lore.kernel.org/all/ad294a50-027f-4caa-a9b4-e145f709b50a@oss.qualcomm.com/ > --- > arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 66 ++++++++++++++++++++ > 1 file changed, 66 insertions(+) > -- With best wishes Dmitry
© 2016 - 2026 Red Hat, Inc.