SWRZ143A December   2022  – March 2024 AWRL6432

 

  1.   1
  2. 1Introduction
  3. 2Device Nomenclature
  4. 3Device Markings
  5. 4Advisory to Silicon Variant / Revision Map
  6. 5Known Design Exceptions to Functional Specifications
    1. 5.1  ANA #48
    2. 5.2  ANA #49
    3. 5.3  ANA #50
    4. 5.4  ANA #51
    5. 5.5  ANA #52
    6. 5.6  DIG #1
    7. 5.7  DIG #2
    8. 5.8  DIG #3
    9. 5.9  DIG #4
    10. 5.10 DIG #5
    11. 5.11 DIG #6
    12. 5.12 DIG #7
    13. 5.13 DIG #8
    14. 5.14 DIG #9
    15. 5.15 DIG #10
    16. 5.16 DIG #14
    17. 5.17 DIG #15
    18. 5.18 DIG #16
  7. 6Trademarks
  8.   Revision History

DIG #5

Internal Bus access to SPI for data transfer not supported when SPI smart-idle mode is enabled.

Revision(s) Affected

AWRL6432 ES1.0, ES2.0

Details

Smart-idle mode needs to be disabled for SPI before the first trigger for data transfer access. If the SPI smart-idle mode is required to be enabled, it has to be enabled again once the access is complete.

Workaround

It is recommended to follow the below sequence:

Auto Wake-up = 1 & Controller mode

  1. Configure McSPI as required
  2. Enable SmartIdle (by setting LPRADAR:APP_CTRL:SPI1_SMART_IDLE_ENABLE for SPI1 and LPRADAR:APP_CTRL:SPI2_SMART_IDLE_ENABLE for SPI 2 )after ensuring that there is no pending transaction from/to SPI or any more access to be done to McSPI by CPU or DMA
  3. If any register or memory access to McSPI has to be done, disable SmartIDLE mode (by setting LPRADAR:APP_CTRL:SPI1_SMART_IDLE_ENABLE=0 for SPI 1 and LPRADAR:APP_CTRL:SPI2_SMART_IDLE_ENABLE =0 for SPI 2)
  4. In Controller mode, the external host is not going to toggle the SPI_CS, hence there will not be any wakeup => there is no difference between (LPRADAR:APP_CTRL:SPI1_SMART_IDLE_AUTO_EN is 1 or 0 for SPI 1 and LPRADAR:APP_CTRL:SPI2_SMART_IDLE_AUTO_EN is 1 or 0 )

Auto Wake-up = 1 & Peripheral mode

  1. Configure McSPI as required

  2. Enable SmartIdle (by setting LPRADAR:APP_CTRL:SPI1_SMART_IDLE_ENABLE for SPI1 and LPRADAR:APP_CTRL:SPI2_SMART_IDLE_ENABLE for SPI 2 ) after ensuring that there is no pending transaction from/to SPI or any more access to be done to McSPI by CPU or DMA
  3. If any register or memory access to McSPI has to be done by any master (DMA / CPU), disable SmartIDLE mode (by setting LPRADAR:APP_CTRL:SPI1_SMART_IDLE_ENABLE=0 for SPI 1 and LPRADAR:APP_CTRL:SPI2_SMART_IDLE_ENABLE =0 for SPI 2)
  4. If there is wakeup from McSPI (because of some SPI_CS toggle), then the clock is automatically enabled.
  5. Disable SmartIdle configuration (by setting LPRADAR:APP_CTRL:SPI1_SMART_IDLE_ENABLE=0 for SPI 1 and LPRADAR:APP_CTRL:SPI2_SMART_IDLE_ENABLE =0 for SPI 2 ) to do the register access.

The below table shows the Register Addresses for above workaround.

Bits Name Address
0 LPRADAR:APP_CTRL:SPI1_SMART_IDLE_ENABLE 0x560603A8
2 LPRADAR:APP_CTRL:SPI1_SMART_IDLE_AUTO_EN 0x560603A8
0 LPRADAR:APP_CTRL:SPI2_SMART_IDLE_ENABLE 0x560603AC
2 LPRADAR:APP_CTRL:SPI2_SMART_IDLE_AUTO_EN 0x560603AC