This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

3530 High speed USB host suspend/resume

Other Parts Discussed in Thread: SYSCONFIG

I am having and issue with the high speed USB host (EHCI) not recovering after a suspend/resume operation.

The following is a dump of important registers just before entering suspend (off power down):

CM_FCLKEN3_CORE (0xd03a4a08) 0x4

CM_ICLKEN3_CORE (0xd03a4a18) 0x4

CM_AUTOIDLE3_CORE (0xd03a4a38) 0x4

CM_FCLKEN_USBHOST (0xd03a5400) 0x3

CM_ICLKEN_USBHOST (0xd03a5410) 0x1

CM_IDLEST_USBHOST (0xd03a5420) 0x0

CM_AUTOIDLE_USBHOST (0xd03a5430) 0x1

CM_SLEEPDEP_USBHOST (0xd03a5444) 0x6

CM_CLKSTCTRL_USBHOST (0xd03a5448) 0x3

CM_CLKSTST_USBHOST (0xd03a544c) 0x1

RM_RSTST_USBHOST (0xd06a7458) 0x4

PM_WKEN_USBHOST (0xd06a74a0) 0x1

PM_MPUGRPSEL_USBHOST (0xd06a74a4) 0x1

PM_IVA2GRPSEL_USBHOST (0xd06a74a8) 0x1

PM_WKST_USBHOST (0xd06a74b0) 0x0

PM_WKDEP_USBHOST (0xd06a74c8) 0x2

PM_PWSTCTRL_USBHOST (0xd06a74e0) 0x30104

PM_PWSTST_USBHOST (0xd06a74e4) 0x3

PM_PREPWSTST_USBHOST (0xd06a74e8) 0x3

CM_CLKEN_PLL (0xd03a4d00) 0x7f007f

CM_CLKEN2_PLL (0xd03a4d04) 0x7f

CM_IDLEST_CKGEN (0xd03a4d20) 0x20b

CM_IDLEST2_CKGEN (0xd03a4d24) 0xb

CM_AUTOIDLE_PLL (0xd03a4d30) 0x9

CM_AUTOIDLE2_PLL (0xd03a4d34) 0x1

CM_CLKSEL1_PLL (0xd03a4d40) 0x8a60c00

CM_CLKSEL2_PLL (0xd03a4d44) 0xd80c

CM_CLKSEL3_PLL (0xd03a4d48) 0x9

CM_CLKSEL4_PLL (0xd03a4d4c) 0x3c0c

CM_CLKSEL5_PLL (0xd03a4d50) 0x1

CM_CLKOUT_CTRL (0xd03a4d70) 0x3

UHH SYSCONFIG (0xd0404010) 0x110c

UHH SYSSTATUS (0xd0404014) 0x7

UHH HOSTCONFIG (0xd0404040) 0x1c

After power up resume (on power up) they look like:

CM_FCLKEN3_CORE (0xd03a4a08) 0x4

CM_ICLKEN3_CORE (0xd03a4a18) 0x4

CM_AUTOIDLE3_CORE (0xd03a4a38) 0x4

CM_FCLKEN_USBHOST (0xd03a5400) 0x3

CM_ICLKEN_USBHOST (0xd03a5410) 0x1

CM_IDLEST_USBHOST (0xd03a5420) 0x2

CM_AUTOIDLE_USBHOST (0xd03a5430) 0x1

CM_SLEEPDEP_USBHOST (0xd03a5444) 0x6

CM_CLKSTCTRL_USBHOST (0xd03a5448) 0x3

CM_CLKSTST_USBHOST (0xd03a544c) 0x1

RM_RSTST_USBHOST (0xd06a7458) 0x4

PM_WKEN_USBHOST (0xd06a74a0) 0x1

PM_MPUGRPSEL_USBHOST (0xd06a74a4) 0x1

PM_IVA2GRPSEL_USBHOST (0xd06a74a8) 0x1

PM_WKST_USBHOST (0xd06a74b0) 0x0

PM_WKDEP_USBHOST (0xd06a74c8) 0x2

PM_PWSTCTRL_USBHOST (0xd06a74e0) 0x30104

PM_PWSTST_USBHOST (0xd06a74e4) 0x3

PM_PREPWSTST_USBHOST (0xd06a74e8) 0x3

CM_CLKEN_PLL (0xd03a4d00) 0x7f007f

CM_CLKEN2_PLL (0xd03a4d04) 0x7f

CM_IDLEST_CKGEN (0xd03a4d20) 0x20b

CM_IDLEST2_CKGEN (0xd03a4d24) 0xb

CM_AUTOIDLE_PLL (0xd03a4d30) 0x9

CM_AUTOIDLE2_PLL (0xd03a4d34) 0x1

CM_CLKSEL1_PLL (0xd03a4d40) 0x8a60c00

CM_CLKSEL2_PLL (0xd03a4d44) 0xd80c

CM_CLKSEL3_PLL (0xd03a4d48) 0x9

CM_CLKSEL4_PLL (0xd03a4d4c) 0x3c0c

CM_CLKSEL5_PLL (0xd03a4d50) 0x1

CM_CLKOUT_CTRL (0xd03a4d70) 0x3

I am using USBTLL in bypass mode (ULPI port2). I am also stopping and restarting the FCLK, ICLK, TLL, 48M and 120M clock which I believe is working OK. 

I can see by the IDLEST register the controller is still in idle and I can not address any of the UHH registers (which is the root problem).

What am I doing wrong? I tried several different UHH_SYSCONFIG configurations but it always seem to be stuck in idle on resume.

Any ideas on how I can configure so my EHCI controllers restarts/resumes?