SPRZ575 March   2024 AM67 , AM67A , TDA4AEN-Q1 , TDA4VEN-Q1

 

  1.   1
  2. 1Modules Affected
  3. 2Nomenclature, Package Symbolization, and Revision Identification
    1. 2.1 Device and Development-Support Tool Nomenclature
    2. 2.2 Devices Supported
    3. 2.3 Package Symbolization and Revision Identification
  4. 3Silicon Revision 1.0 Usage Notes and Advisories
    1. 3.1 Silicon Revision 1.0 Usage Notes
      1.      i2134
    2. 3.2 Silicon Revision 1.0 Advisories
      1.      i2049
      2.      i2062
      3.      i2097
      4.      i2120
      5.      i2137
      6.      i2189
      7.      i2190
      8.      i2196
      9.      i2199
      10.      i2208
      11.      i2242
      12.      i2243
      13.      i2249
      14.      i2253
      15.      i2278
      16.      i2279
      17.      i2310
      18.      i2311
      19.      i2312
      20.      i2326
      21.      i2351
      22.      i2362
      23.      i2366
      24.      i2372
      25.      i2383
      26.      i2399
      27.      i2401
      28.      i2407
      29.      i2409
      30.      i2410
  5.   Trademarks
  6. 4Revision History

i2409

USB: USB2 PHY locks up due to short suspend

Details:

The USB 2.0 PHY may hang in response to a USB wake-up event that occurs within 3 microseconds of the USB controller entering suspend. This PHY hang can only be recovered via a power cycle as warm reset is ineffectual.

Workaround(s):

Note: this workaround is only applicable if USB is not the primary boot mode. If USB is the primary boot mode, no workaround is available.

In order to prevent this issue from occurring, a specific order of operations must be observed during the USB controller initialization process:

For USB 2.0 Controller:

  1. Remove USB controller reset via the LPSC.
  2. Set PLL_REG12.pll_ldo_ref_en field (bit 5) in PHY2 region to '1'.
  3. Set PLL_REG12.pll_ldo_ref_en_en field (bit 4) in PHY2 region to '1'.
  4. Proceed with normal USB controller initialization.

For USB3.0 Controller

  1. Remove USB controller reset via the LPSC.
  2. Set USB controller suspend_residency_enable field in SUSP_CTRL to '1'.
  3. Proceed with normal USB controller initialization