RE: mx35, gadget, fsl_usb2_udc: link breaks down

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

 



 
> 
> trying to establish a USB connection between my PC (host) and an
> embedded system ARM-MX357 [1] (device), the link gets lost after ~40
> Pings (g_ethernet) or some ttyG0 stresstest (g_serial).
> 
> The ARM-MX357 Board is not yet supported by vanilla kernel with a
> platform specific file. For testing purposes I wrote a minimal platform
> file, and as far as I can tell everything works apart from a reliable
> USB-Link. These are the lines to bring up USB:
> 
> static const struct fsl_usb2_platform_data otg_device_pdata __initconst =
> {
> 	.operating_mode = FSL_USB2_DR_DEVICE,
> 	.phy_mode       = FSL_USB2_PHY_UTMI,
> /*
> 	.workaround     = FLS_USB2_WORKAROUND_ENGCM09152, /*no hardware
> part :-( */
> */
> };
> 
> imx35_add_fsl_usb2_udc(&otg_device_pdata);
> 
So, with ENGCM09152, your USB can't work?

> What bothers me is, the errata sheet [2] of the imx35 showing an
> implementation error (ENGcm09152): The vusb-pin should be "enhanced" by
> some resistors and a diode. This claimed hardware-fix isn't implemented
> on the board (as far as I can see). So maybe this whole link-problem is
> due to a hardware-bug...
> 
I have no available hardware on hand, I am not sure if Fabio can help
you test at freescale 3DS board to see if it exists at freescale's hardware? 

> What I wasn't testing is operating_mode = FSL_USB2_DR_HOST (host-mode)
> because there is only a Mini-B-Port and my USB-Keyboard-Device for
> example doesn't fit in there. Should I solder an adapter cable for
> testing?
> 
Or you need a Micro B(Male)-TO-Standard A(Female) switch cable.

> On the PC (host) I was able to sniff by usbmon:
> At first all is normal, but after a while (~40 Pings vice versa) the
> embedded system doesn't respond any more. Then, while testing the
> connection with g_ethernet, the kworker thread eats all remaining cpu
> time on the embedded board. Furthermore the host loses its usb0 ip
> address.
> 
How about works as mass storage?

> With g_serial the connection lasts a bit longer and the kworker doesn't
> rise after the lost.
> 
> On the ARM-MX357, usbmon showed not a thing. Is this because of device
> mode?
> 
Yes, usbmon catches USB bus data, which is only for host mode.

> I tested with current kernel git version (3.4 rc1), 3.2 and 2.6.33.
> 
> Do you have an idea?
> 
>  Thanks for you input,
>    -- Christoph
> 
> [1] http://www.freescale.com/files/dsp/doc/ref_manual/IMX35RM.pdf
> 
> [2] Errata: ENGcm09152 Page 25,
>     USB: UTMI_USBPHY VBUS input impedance implementation error
>     http://cache.freescale.com/files/dsp/doc/errata/IMX35CE.pdf
> 
> 

��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥



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

  Powered by Linux