On Wed, Nov 02, 2022 at 10:12:42AM +0000, Jun Li wrote: > > > On Tue, Nov 01, 2022 at 03:10:46AM +0000, Jun Li wrote: > > > > > On Mon, Oct 31, 2022 at 01:40:39PM +0000, Jun Li (OSS) wrote: > > > > > > > I am debugging some unexpected USB behavior on a i.MX6ULL SOC, > > > > > > > chipidea controller ("fsl,imx6ul-usb") and a fsl mxs usbphy > > > > > > > ("fsl,imx6ul-usbphy"). > > > > > > > > > > > > > > The HW design has 2 USB interface, the first one is dual-role, > > > > > > > while the second one is a host port with NO way to re-read the > > > > > > > VBUS (USB_OTG2_VBUS is not really connected, there is just a > > > > > > > capacitor to GND). > > > > > > > > > > > > How is your USB_OTG1_VBUS status? Can you try to make your > > > > > > USB_OTG1_VBUS pad has a valid VBUS voltage, then run your Host > > > > > > only port test with runtime PM enabled? > > > > > > > > > > USB_OTG1_VBUS is tied to GND the same way as USB_OTG2_VBUS, not > > > > > really straightforward to do such a test. > > > > > > > > iMX6ULL need at least one valid VBUS(either from OTG1 or OTG2) as > > > > input to power the internal USB LDO if I understand correctly. > > > This surprise me a little bit, since > > > - the i.MX6ULL datasheet prescribe to keep the VBUS disconnected if > > > unused > > > > I think "unused" here means you do not need/enable the port at all. > > > > > - downstream NXP kernel seems to work fine ("seems" since we do have > > > some patches there, so I could be wrong) > > > > What do you mean by " downstream NXP kernel seems to work fine"? > > The downstream kernel can work on your HW? But upstream kernel > > driver does not? Correct, NXP downstream kernel is working fine, upstream kernel requires runtime PM disabled to work correctly. > > > - disabling runtime pm on upstream Linux kernel make it works > > > perfectly, so there is a way in SW to have this HW configuration > > > working. > > > > Again I want to make sure the both VBUS pads(OTG1 and OTG2) voltage > > are always at 0v on your HW, can you double check and confirm? > > I ask this again because such situation should cause the USB port > > Cannot work at any cases, but your current status is: only low > > power wakeup cannot work. > > Could you please check the voltage of pad of VDD_USB_CAP on your HW? I was about to clarify you this point, it's important and I forgot about it, sorry about that! VDD_USB_CAP in our design is connected to a 3.0V external LDO, voltage on both VBUS pads is 0V (FYI: this specific hardware design was validated by NXP hardware engineers). Francesco