Re: [iMX6Q][CI] EHCI Low-speed device problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

> > that low speed device may have issue
> > that i.mx6 PHY's power is not ready before controller goes to
> > initialize,
> 
> Please correct my understanding if I'm wrong - the issue here is with
> USB PHY. When low-speed device is connected, the USB PHY may be not
> properly powered, but the USB controller is ready for serving the
> transmission.

Yes.

> 
> > 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.
> 
> One more strange thing, which I've observed - the bit 4 (OCA) from
> PORTSC1 goes high during the operation - no matter if we succeed or no
> with the USB enumeration:
> 
> IMX6#0>mdahb 0x02184384 1         
> AHB/AXI 00_02184384 : 14001415
> 
> It indicates that we do have an "over-current" condition, but the
> touchscreen IC's MAX current consumption is 18 mA, and the port can
> provide 100 mA. The touchscreen IC is the only device connected to USB
> Host1.

Please check if pinctrl and polarity of OC pin are correct.

> 
> > See flag: CI_HDRC_TURN_VBUS_EARLY_ON for detail.
> 
> This flag enables very early the VBUS power. I do use standard settings
> here (the flag is set).
> 

You need to enable VBUS power early really, that means using GPIO to
control it instead of USB PIN. See imx6qdl-sabresd as an example.

> > At i.mx6, the VBUS
> > 5v is the power for USB PHY.
> 
> So the VBUS is at iMX6q also the power for USB PHY? 
> 
> In our design we do use VBUS to power the sensor.
> 
> How can I workaround this issue? Can it be done in SW (to avoid
> changing the PCB routing)?
> 

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.

-- 

Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux