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 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 = <&reg_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 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