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