On Thu, Oct 19, 2017 at 10:25:13AM +0200, Lukasz Majewski wrote:
> Hi Peter,
>
> > On Thu, Oct 19, 2017 at 07:47:01AM +0200, Lukasz Majewski wrote:
> > > > > I'm wondering if it is feasible to manually check the XactErr
> > > > > bit and then for example order the soft USB reset (from the
> > > > > root hub)?
> > > > >
> > > > > Or is there any other acceptable in upstream solution?
> > > > >
> > > > > >
> > > > > > > The problem has been described in detail (including screen
> > > > > > > shots from USB analyzer + some further investigations) here:
> > > > > > > https://community.nxp.com/thread/462409
> > > > > >
> > > >
> > > > Lukasz, there is a known issue
> > >
> > > Could you point me to any "Errata" document describing this issue?
> > >
> > > Could you elaborate on it a bit more?
> > >
> >
> > No, it assumes PHY's power is prior to controller's initialization.
>
> Is there any particular time necessary?
I don't know, this info should from IC team, but I think 1ms is enough.
> > > > so for i.mx6, we should not use PORT_PP for PHY's power.
> > >
> > > In our design we do control (with some dedicated USB VBUS switch
> > > IC) the VBUS power with USB_H1_PWR# pin PAD_EIM_D31, which indeed
> > > is the output controlled by PORTSC1's bit 12 (PP).
> >
> > Please configure PAD_EIM_D31 as GPIO instead of USB_PWR_EN.
>
> pinctrl_usbh1_vbus: usbh1_vbus_grp {
> fsl,pins = <
> MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x1b0b0
> >;
> };
>
> It did not help.
>
> I've also setup the regulator API to enable VBUS and then wait ~300ms
> with stable power before we proceed with USB Host further
> initialization.
>
> reg_usbh1_vbus: usb-h1-vbus {
> compatible = "regulator-fixed";
> gpio = <&gpio3 31 GPIO_ACTIVE_LOW>;
Are you really sure it is ACTIVE_LOW?
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_usbh1_vbus>;
> regulator-name = "usb_h1_vbus";
> regulator-min-microvolt = <5000000>;
> regulator-max-microvolt = <5000000>;
> regulator-enable-ramp-delay = <300000>;
> };
>
> &usbh1 {
> vbus-supply = <®_usbh1_vbus>;
> }
>
> > One of USBOTG1_VBUS and USBH1_VBUS can be both USB PHY's power.
> > Usually, it doesn't matter the VBUS powers USB peripheral unless
> > the peripheral really consumes too much current, eg > 500mA, it
> > may have problem, I am not sure, I am not hardware guy.
> >
>
> Could you look into the picture attached to the earlier e-mail and
> comment on Alan's reply (especially about the lack of error indication
> fo XactErr)?
>
>
Please double confirm the VBUS supplies to SoC USB_OTG_VBUS or
USB_H1_VBUS before EHCI goes to initialization. Meanwhile, you can
try to clear USB_LDO current_ilimit bit (0x20c8120, bit 2).
For EHCI error, it is strange, I can't explain.
For hardware (or IC) support, you can consult your FAE.
--
Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html