Re: [PATCH 2/2] arm64: dts: qcom: monaco-evk: Enable the tertiary USB controller

From: Swati Agarwal

Date: Tue Mar 03 2026 - 03:25:50 EST


On Fri, Feb 13, 2026 at 4:15 PM Loic Poulain
<loic.poulain@xxxxxxxxxxxxxxxx> wrote:
>
> Hi Swati,
>
> On Tue, Feb 10, 2026 at 4:54 PM Swati Agarwal
> <swati.agarwal@xxxxxxxxxxxxxxxx> wrote:
> >
> > Enable the tertiary usb controller connected to micro usb port in OTG mode
> > on Monaco EVK platform.
> >
> > Signed-off-by: Swati Agarwal <swati.agarwal@xxxxxxxxxxxxxxxx>
> > ---
> > arch/arm64/boot/dts/qcom/monaco-evk.dts | 53 +++++++++++++++++++++++++
> > arch/arm64/boot/dts/qcom/monaco.dtsi | 7 ++++
> > 2 files changed, 60 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/monaco-evk.dts b/arch/arm64/boot/dts/qcom/monaco-evk.dts
> > index 03af9bbcacc9..e6fc6f6a52e1 100644
> > --- a/arch/arm64/boot/dts/qcom/monaco-evk.dts
> > +++ b/arch/arm64/boot/dts/qcom/monaco-evk.dts
> > @@ -27,6 +27,25 @@ chosen {
> > stdout-path = "serial0:115200n8";
> > };
> >
> > + connector-2 {
> > + compatible = "gpio-usb-b-connector", "usb-b-connector";
> > + label = "micro-USB";
> > + type = "micro";
> > +
> > + id-gpios = <&pmm8620au_0_gpios 9 GPIO_ACTIVE_HIGH>;
> > + vbus-gpios = <&expander6 7 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>;
> > + };
> > + };
> > + };
> > +
> > dmic: audio-codec-0 {
> > compatible = "dmic-codec";
> > #sound-dai-cells = <0>;
> > @@ -77,6 +96,15 @@ platform {
> > };
> > };
> > };
> > +
> > + vbus_supply_regulator_2: vbus-supply-regulator-2 {
> > + compatible = "regulator-fixed";
> > + regulator-name = "vbus_supply_2";
> > + gpio = <&pmm8650au_1_gpios 7 GPIO_ACTIVE_HIGH>;
> > + regulator-min-microvolt = <5000000>;
> > + regulator-max-microvolt = <5000000>;
> > + enable-active-high;
> > + };
> > };
> >
> > &apps_rsc {
> > @@ -484,6 +512,16 @@ &pcieport1 {
> > wake-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
> > };
> >
> > +&pmm8620au_0_gpios {
> > + usb2_id: usb2-id-state {
> > + pins = "gpio9";
> > + function = "normal";
> > + input-enable;
> > + bias-pull-up;
> > + power-source = <0>;
> > + };
> > +};
> > +
> > &qupv3_id_0 {
> > firmware-name = "qcom/qcs8300/qupv3fw.elf";
> > status = "okay";
> > @@ -690,3 +728,18 @@ &usb_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_l7c>;
> > + vdda33-supply = <&vreg_l9a>;
> > + status = "okay";
> > +};
>
> I noticed that usb_2/hs doesn’t work properly unless refgen is
> supplied. It may appear to work on your setup if another PHY or
> subsystem enables refgen, either explicitly in software (e.g. DSI) or
> indirectly, such as through DP, which might be voting for it behind
> the scenes.

Hi Loic,

Are you facing issues with this patch set? or your patch set that was
raised as below?

[PATCH] arm64: dts: qcom: monaco-evk: Configure USB1 as peripheral and
USB0 as host - Loic Poulain

Regards,
Swati
>
>
> > diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
> > index 5d2df4305d1c..59dfacbae4f6 100644
> > --- a/arch/arm64/boot/dts/qcom/monaco.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
> > @@ -5232,7 +5232,14 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
> > qcom,select-utmi-as-pipe-clk;
> > wakeup-source;
> >
> > + usb-role-switch;
> > +
> > status = "disabled";
> > +
> > + port {
> > + usb_2_dwc3_hs: endpoint {
> > + };
> > + };
> > };
> >
> > iris: video-codec@aa00000 {
> > --
> > 2.34.1
> >
> >