[PATCH] ARM: multi_v7_defconfig: Select CONFIG_USB_ONBOARD_DEV as built-in

Matthias Kaehlcke mka at chromium.org
Mon May 6 08:58:46 PDT 2024


On Tue, May 07, 2024 at 12:04:27AM +0900, Mark Brown wrote:
> On Mon, May 06, 2024 at 02:54:12PM +0000, Matthias Kaehlcke wrote:
> > On Fri, May 03, 2024 at 06:13:32PM -0300, Fabio Estevam wrote:
> > > On Fri, May 3, 2024 at 5:11 PM Matthias Kaehlcke <mka at chromium.org> wrote:
> 
> > > > I wonder if the problem could be that the sense resistors of the hub
> > > > on the imx6q-udoo are always active and not only when the hub is
> > > > powered, indicating the controller the presence of a device, which
> > > > results in an attempt to enumerate it.
> 
> > > The  imx6q-udoo schematics are here:
> > > https://udoo.org/download/files/UDOO_QUAD-DUAL/schematics/UDOO_QUAD-DUAL_REV_D_schematics.pdf
> 
> > There are no external pull-ups on USB_H1_DP/USB_H1_DN, maybe internal
> > pulls are enabled when the hub isn't powered?
> 
> I do note that the vendor BSP worked (and I think also some older
> mainline versions too?).

The official BSP releases pre-date the onboard_usb_dev/hub driver:
https://www.udoo.org/resources-quad-dual/. I guess they use a fixed
regulator hack to power the hub on at boot.

Yup, upstream also still uses a regulator hack:

        reg_usb_h1_vbus: regulator-usb-h1-vbus {
                compatible = "regulator-fixed";
                regulator-name = "usb_h1_vbus";
                regulator-min-microvolt = <5000000>;
                regulator-max-microvolt = <5000000>;
                enable-active-high;
                startup-delay-us = <2>; /* USB2415 requires a POR of 1 us minimum */
                gpio = <&gpio7 12 0>;
        };

  arch/arm/boot/dts/nxp/imx/imx6qdl-udoo.dtsi



More information about the linux-arm-kernel mailing list