We are using an SMSC 3320C PHY and an SMSC USB 2512A usb chips interfaced to OMAP3 ECHI in one of our custom boards:
Something as shown below: OMAP EHCI -> SMSC PHY -> SMSC HUB (Port 1) -> A GSM Chip (Port 2) -> USB Mass storage.
We were able to access these 2 devices without any issues during normal operation.
However when we enable power management.
The usb system suspend-resume fails reporting:
root@omap:~# echo mem > /sys/power/state
PM: Syncing filesystems ...
done.
Freezing user space processes ... (elapsed 0.00 seconds)
done.
Freezing remaining freezable tasks ... (elapsed 0.00 seconds)
done.
Suspending console(s) (use no_console_suspend to debug)
Powerdomain
(iva2_pwrdm) didn't enter target state 1
Could not enter target state in
pm_suspend
usb 1-2: reset high speed USB device using ehci-omap and address 2
pm_op(): usb_dev_resume+0x0/0x18 returns
-19
PM: Device 1-2.1 failed to resume: error -19
Restarting tasks ... <7>hub 1-0:1.0: state 7 ports 3 chg 0004 evt 0000
done.
usb 1-2.1: USB disconnect, address
3
hub 1-2:1.0: unable to enumerate USB device on port 1
hub 1-2:1.0:
unable to enumerate USB device on port 1
hub 1-2:1.0: unable to enumerate USB
device on port 1
hub 1-2:1.0: unable to enumerate USB device on port 1
hub
1-2:1.0: unable to enumerate USB device on port 1
hub 1-2:1.0: unable to
enumerate USB device on port 1
The device finally re-enumerates during resume. We have seen that the hub reports back saying one of the devices has been removed during suspend-resume. Hence the suspend-resume failures and re-enumeration. From the errata, we observe that the SMSC 3320 has a PM related issue. We would like to know if TI has found similar issues with SMSC USB2512A Hub.
We are going for a new revision of hardware and we would like to know if TI / any other users recommends any known USB PHY and USB Hub that.