> -----Original Message----- > From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap- > owner@xxxxxxxxxxxxxxx] On Behalf Of Igor Grinberg > Sent: 04 March 2014 06:44 > To: Marc Murphy; Roger Quadros; linux-omap@xxxxxxxxxxxxxxx > Subject: Re: Help needed USB hub disconnected at resume > > On 03/03/14 16:11, Marc Murphy wrote: > > Hi Igor > > > > The Hub is a Microchip USB2513B-AEZG and is connected to EHCI controller > port via the DUP_P and DUP_N pins. There is a reset applied to the chip at > power on. > > > > If the reset signal is sw controllable, you might want to toggle it before the > EHCI controller resumes. > > There is also a USB phy on the way from EHCI controller to the hub. > You might also want to check if the phy resumes correctly. > Which phy do you use and how is it reset? I have now had a look with the schematics and the hardware engineer. The AM3517 has a PHY connected and it is a SMSC USB3320. The device has a reset connection via GPIO_25. I have it configured as follows #define TAM3517_EHCI_RESET 25 static const struct usbhs_omap_board_data tam3517_ehci_pdata __initconst = { .port_mode[0] = OMAP_EHCI_PORT_MODE_PHY, .port_mode[1] = OMAP_USBHS_PORT_MODE_UNUSED, .port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED, .phy_reset = true, .reset_gpio_port[0] = TAM3517_EHCI_RESET, .reset_gpio_port[1] = -EINVAL, .reset_gpio_port[2] = -EINVAL }; static __init void tam3517_ehci_init(void) { /* Configure GPIO for EHCI port */ omap_mux_init_gpio(TAM3517_EHCI_RESET, OMAP_PIN_OUTPUT); gpio_request(TAM3517_EHCI_RESET, "USB_RESET"); gpio_direction_output(TAM3517_EHCI_RESET, 1); gpio_export(TAM3517_EHCI_RESET, 0); msleep(100); gpio_set_value(TAM3517_EHCI_RESET, 1); usbhs_init(&tam3517_ehci_pdata); } I have tried without the phy reset control but stull get the same behaviour. I have asked for some tap wires onto the control signals for the Phy and I will have a look with a scope to make sure the pin is toggled correctly. If you see anything wrong with the initialisation then please let me know. Thanks Marc > > > Regards > > Marc > > ________________________________________ > > From: Igor Grinberg [grinberg@xxxxxxxxxxxxxx] > > Sent: 03 March 2014 12:16 > > To: Roger Quadros; Marc Murphy; linux-omap@xxxxxxxxxxxxxxx > > Subject: Re: Help needed USB hub disconnected at resume > > > > On 03/03/14 13:06, Roger Quadros wrote: > >> Hi Marc, > >> > >> On 03/03/2014 12:04 PM, Marc Murphy wrote: > >>> Hi, > >>> I am using the latest stable 3.4.80 kernel with some changes to get the > EMAC Phy to initialise correctly after a suspend/resume. The platform is > AM3517 with most of the system working nice and smoothly. I have 1 issue > though and need some advice/help to get the system to use the USB hub I > have connected to the EHCI controller after a suspend to memory and > resume. > >>> > >>> At boot all is recognised; > >>> > >>> [ 1.486816] usbcore: registered new interface driver cdc_ether > >>> [ 1.493255] usbcore: registered new interface driver cdc_ncm > >>> [ 1.499450] usbcore: registered new interface driver qmi_wwan > >>> [ 1.506622] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver > >>> [ 1.513580] ehci-omap.0 supply hsusb0 not found, using dummy > regulator > >>> [ 2.521881] ehci-omap ehci-omap.0: OMAP-EHCI Host Controller > >>> [ 2.528411] ehci-omap ehci-omap.0: new USB bus registered, assigned > bus number 1 > >>> [ 2.536468] ehci-omap ehci-omap.0: irq 77, io mem 0x48064800 > >>> [ 2.553070] ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00 > >>> [ 2.559295] usb usb1: New USB device found, idVendor=1d6b, > idProduct=0002 > >>> [ 2.566436] usb usb1: New USB device strings: Mfr=3, Product=2, > SerialNumber=1 > >>> [ 2.574035] usb usb1: Product: OMAP-EHCI Host Controller > >>> [ 2.579620] usb usb1: Manufacturer: Linux 3.4.80 ehci_hcd > >>> [ 2.585296] usb usb1: SerialNumber: ehci-omap.0 > >>> [ 2.591278] hub 1-0:1.0: USB hub found > >>> [ 2.595306] hub 1-0:1.0: 3 ports detected > >>> > >>> And I can see everything OK. > >>> > >>> # lsusb > >>> Bus 001 Device 002: ID 0424:2513 Standard Microsystems Corp. 2.0 Hub > >>> Bus 002 Device 002: ID 05e3:0718 Genesys Logic, Inc. IDE/SATA > >>> Adapter Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root > >>> hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub > >>> Bus 001 Device 003: ID 1199:68a2 Sierra Wireless, Inc. > >>> # > >>> # > >>> # echo mem > /sys/power/state > >>> [ 73.736572] PM: Syncing filesystems ... done. > >>> [ 73.743530] Freezing user space processes ... (elapsed 0.01 seconds) > done. > >>> [ 73.766784] Freezing remaining freezable tasks ... (elapsed 0.02 > seconds) done. > >>> [ 73.959289] davinci_mdio davinci_mdio.0: timed out waiting for idle > >>> [ 73.968872] PM: suspend of devices complete after 170.410 msecs > >>> [ 73.975433] PM: late suspend of devices complete after 0.305 msecs > >>> [ 73.982635] PM: noirq suspend of devices complete after 0.732 msecs > >>> [ 83.430450] Powerdomain (core_pwrdm) didn't enter target state 1 > >>> [ 83.436737] Could not enter target state in pm_suspend > >>> [ 83.443176] PM: noirq resume of devices complete after 0.915 msecs > >>> [ 83.450164] PM: early resume of devices complete after 0.274 msecs > >>> [ 83.457336] <6>Waiting for PHY clock good... > >>> [ 83.463287] davinci_mdio davinci_mdio.0: resetting idled controller > >>> [ 83.471343] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] > (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1) > >>> [ 84.771881] PM: resume of devices complete after 1315.185 msecs > >>> [ 84.778472] Restarting tasks ... > >>> [ 84.782379] usb 1-1: USB disconnect, device number 2 > >>> [ 84.790557] done. > >>> [ 84.792938] mmc0: mmc_rescan_try_freq: trying to init card at 400000 > Hz > >>> sh: write error:[ 84.800781] usb 1-1.1: USB disconnect, device number 3 > >>> Operation not p[ 84.808349] qmi_wwan 1-1.1:1.8: wwan0: unregister > 'qmi_wwan' usb-ehci-omap.0-1.1, Sierra Wireless wwan/QMI device > >>> ermitted > >>> [ 84.859191] mmc1: mmc_rescan_try_freq: trying to init card at 400000 > Hz > >>> [ 86.490356] PHY: davinci_mdio-0:00 - Link is Up - 100/Full > >>> # > >>> # > >>> # lsusb > >>> Bus 002 Device 002: ID 05e3:0718 Genesys Logic, Inc. IDE/SATA > >>> Adapter Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root > >>> hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub # > >>> > >>> Is there any relevant patch out there that would address the issue that I > see ? > >> > >> Does this happen because of OFF mode? > >> Can you please try the tests with off mode disabled? > >> > >> e.g. > >> mount -t debugfs none /sys/kernel/debug echo 0 > > >> /sys/kernel/debug/pm_debug/enable_off_mode > >> suspend & resume > > > > AFAIK, AM3517 does not have OFF mode. > > We had something similar with runtime pm... > > It might be useful to know which hub is this and how is it connected... > > > >> > >> Also please send the output of /sys/kernel/debug/pm_debug/count > >> before suspend and after resume. Thanks. > > > > > > > > -- > > Regards, > > Igor. > > > > -- > Regards, > Igor. > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in the > body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at > http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html