872
EFR32xG21 Wireless Gecko Reference Manual The EFR32xG21 Wireless Gecko SoC is the first device in the Series 2 Wireless Gecko Portfolio, and includes the EFR32MG21 Mighty Gecko and EFR32BG21 Blue Gecko. The EFR32xG21 improves processing capability with a Cortex M33 core and has best in class link budget while providing for lower active current for both the MCU and radio. The dedicated security core (Secure Element) provides improved cryptography and hardware security that is isolated from the main application CPU. This high performance and se- cure multi-protocol device supports Zigbee, Thread, and Bluetooth 5.0. The single-die solution provides industry-leading energy efficiency, processing capability, and RF performance in a small form factor for IoT connected applications. KEY FEATURES 32-bit ARM® Cortex M33 core with 80 MHz maximum operating frequency Scalable Memory and Radio configuration options available in QFN packaging Peripheral Reflex System enabling autonomous interaction of MCU peripherals Autonomous Hardware Crypto Accelerator and True Random Number Generator Multiple Integrated 2.4 GHz PAs with up to 20 dBm transmit power Security Secure Debug Authentication Timers and Triggers 32-bit bus Peripheral Reflex System Serial Interfaces I/O Ports Analog I/F Lowest power mode with peripheral operational: USART I 2 C External Interrupts General Purpose I/O Pin Reset Pin Wakeup IADC Analog Comparator EM4—Shutoff Energy Management Brown-Out Detector Voltage Regulator Power-On Reset Clock Management HF Crystal Oscillator LF Crystal Oscillator LF RC Oscillator HF RC Oscillator EM23 HF RC Oscillator Crypto Acceleration Secure Element Ultra LF RC Oscillator Core / Memory ARM Cortex TM M33 processor with DSP extensions, FPU and TrustZone ETM Secure Debug RAM Memory LDMA Controller Flash Program Memory Real Time Capture Counter Timer/Counter Low Energy Timer Watchdog Timer Protocol Timer EM3—Stop EM2—Deep Sleep EM1—Sleep EM0—Active True Random Number Generator Fast Startup RC Oscillator Back-Up Real Time Counter Radio Transceiver DEMOD AGC IFADC CRC BUFC MOD FRC RAC Frequency Synth PGA RF Frontend I Q PA LNA PA EUI Secure Boot with Root of Trust and Secure Loader DPA Countermeasures silabs.com | Building a more connected world. Rev. 0.5

EFR32xG21 Wireless Gecko Reference Manual...10.5.12 SMU_BMPUPATD0 - Privileged Attribute 237 10.5.13 SMU_BMPUSATD0 - Secure Attribute 238 10.5.14 SMU_BMPUFS - Fault Status 239 10.5.15

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

  • EFR32xG21 Wireless GeckoReference Manual

    The EFR32xG21 Wireless Gecko SoC is the first device in the Series 2 Wireless GeckoPortfolio, and includes the EFR32MG21 Mighty Gecko and EFR32BG21 Blue Gecko.The EFR32xG21 improves processing capability with a Cortex M33 core and has best inclass link budget while providing for lower active current for both the MCU and radio. Thededicated security core (Secure Element) provides improved cryptography and hardwaresecurity that is isolated from the main application CPU. This high performance and se-cure multi-protocol device supports Zigbee, Thread, and Bluetooth 5.0.

    The single-die solution provides industry-leading energy efficiency, processing capability,and RF performance in a small form factor for IoT connected applications.

    KEY FEATURES

    • 32-bit ARM® Cortex M33 core with 80MHz maximum operating frequency

    • Scalable Memory and Radio configurationoptions available in QFN packaging

    • Peripheral Reflex System enablingautonomous interaction of MCUperipherals

    • Autonomous Hardware Crypto Acceleratorand True Random Number Generator

    • Multiple Integrated 2.4 GHz PAs with up to20 dBm transmit power

    Security

    Secure Debug Authentication

    Timers and Triggers

    32-bit bus

    Peripheral Reflex System

    Serial Interfaces

    I/O Ports Analog I/F

    Lowest power mode with peripheral operational:

    USART

    I2C

    External Interrupts

    General Purpose I/O

    Pin Reset

    Pin Wakeup

    IADC

    Analog Comparator

    EM4—Shutoff

    Energy Management

    Brown-Out Detector

    Voltage Regulator

    Power-On Reset

    Clock Management

    HF Crystal Oscillator

    LF Crystal Oscillator

    LFRC Oscillator

    HFRC Oscillator

    EM23 HF RC Oscillator

    Crypto Acceleration

    Secure ElementUltra LF RC Oscillator

    Core / Memory

    ARM CortexTM M33 processorwith DSP extensions,FPU and TrustZone

    ETM Secure Debug RAM Memory LDMA Controller

    Flash Program Memory

    Real Time Capture Counter

    Timer/Counter

    Low Energy Timer Watchdog Timer

    Protocol Timer

    EM3—StopEM2—Deep SleepEM1—SleepEM0—Active

    True Random Number Generator

    Fast StartupRC Oscillator

    Back-Up Real Time Counter

    Radio Transceiver

    DEMOD

    AGC

    IFADC

    CR

    C

    BU

    FC

    MOD

    FRC

    RA

    CFrequency Synth

    PGA

    RF FrontendI

    Q

    PA

    LNA

    PA

    EUI

    Secure Boot with Root of Trust and

    Secure Loader

    DPA Countermeasures

    silabs.com | Building a more connected world. Rev. 0.5

  • Table of Contents1. About This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

    1.2 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

    1.3 Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . .24

    2. System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

    2.2 Block Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

    2.3 MCU Features overview . . . . . . . . . . . . . . . . . . . . . . . . . . .28

    2.4 Security Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292.4.1 Secure Boot with Root of Trust and Secure Loader (RTSL) . . . . . . . . . . . . .292.4.2 Cryptographic Accelerator. . . . . . . . . . . . . . . . . . . . . . . . .302.4.3 True Random Number Generator . . . . . . . . . . . . . . . . . . . . . .302.4.4 Secure Debug with Lock/Unlock. . . . . . . . . . . . . . . . . . . . . . .30

    2.5 Oscillators and Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . .31

    2.6 RF Frequency Synthesizer . . . . . . . . . . . . . . . . . . . . . . . . . .31

    2.7 Modulation Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

    2.8 Transmit Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

    2.9 Receive Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

    2.10 Data Buffering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

    2.11 Unbuffered Data Transfer . . . . . . . . . . . . . . . . . . . . . . . . . .32

    2.12 Frame Format Support . . . . . . . . . . . . . . . . . . . . . . . . . . .32

    2.13 Hardware CRC Support . . . . . . . . . . . . . . . . . . . . . . . . . .33

    2.14 Convolutional Encoding / Decoding . . . . . . . . . . . . . . . . . . . . . .33

    2.15 Binary Block Encoding / Decoding . . . . . . . . . . . . . . . . . . . . . . .33

    2.16 Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34

    2.17 RF Test Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34

    3. System Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35

    3.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36

    3.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . .363.3.1 Interrupt Operation . . . . . . . . . . . . . . . . . . . . . . . . . . .373.3.2 TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373.3.3 Interrupt Request lines (IRQ) . . . . . . . . . . . . . . . . . . . . . . . .38

    4. Memory and Bus System . . . . . . . . . . . . . . . . . . . . . . . . . . 404.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

    4.2 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . .414.2.1 Bus Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

    silabs.com | Building a more connected world. Rev. 0.5 | 2

  • 4.2.2 Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .434.2.3 SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .434.2.4 Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43

    5. Radio Transceiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50

    6. MSC - Memory System Controller . . . . . . . . . . . . . . . . . . . . . . 516.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51

    6.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52

    6.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . .526.3.1 Ram Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . .526.3.2 Instruction Cache. . . . . . . . . . . . . . . . . . . . . . . . . . . .536.3.3 Device Information (DI) Page . . . . . . . . . . . . . . . . . . . . . . .536.3.4 User Data (UD) Page Description . . . . . . . . . . . . . . . . . . . . . .536.3.5 Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .536.3.6 Post-reset Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . .536.3.7 Flash Startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . .536.3.8 Wait-states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .546.3.9 Cortex-M33 If-Then Block Folding . . . . . . . . . . . . . . . . . . . . . .546.3.10 Line Buffering (Prefetch) . . . . . . . . . . . . . . . . . . . . . . . . .546.3.11 Erase and Write Operations. . . . . . . . . . . . . . . . . . . . . . . .55

    6.4 DEVINFO - Device Info Page . . . . . . . . . . . . . . . . . . . . . . . . .566.4.1 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . .576.4.2 Register Description. . . . . . . . . . . . . . . . . . . . . . . . . . .58

    6.5 ICACHE - Instruction Cache . . . . . . . . . . . . . . . . . . . . . . . . .856.5.1 Cache Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . .856.5.2 Performance Measurement . . . . . . . . . . . . . . . . . . . . . . . .866.5.3 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . .876.5.4 Register Description. . . . . . . . . . . . . . . . . . . . . . . . . . .88

    6.6 SYSCFG - System Configuration . . . . . . . . . . . . . . . . . . . . . . . .946.6.1 Ram Retention . . . . . . . . . . . . . . . . . . . . . . . . . . . .946.6.2 ECC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .956.6.3 RAM Wait-states . . . . . . . . . . . . . . . . . . . . . . . . . . . .956.6.4 RAM Prefetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . .956.6.5 RAM Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . .956.6.6 Software Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . .956.6.7 Bus faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .956.6.8 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . .966.6.9 Register Description. . . . . . . . . . . . . . . . . . . . . . . . . . .99

    6.7 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111

    6.8 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . .1136.8.1 MSC_IPVERSION - IP version ID . . . . . . . . . . . . . . . . . . . . .1136.8.2 MSC_READCTRL - Read Control Register . . . . . . . . . . . . . . . . . . 1146.8.3 MSC_WRITECTRL - Write Control Register. . . . . . . . . . . . . . . . . . 1156.8.4 MSC_WRITECMD - Write Command Register . . . . . . . . . . . . . . . . . 1166.8.5 MSC_ADDRB - Page Erase/Write Address Buffer . . . . . . . . . . . . . . . . 117

    silabs.com | Building a more connected world. Rev. 0.5 | 3

  • 6.8.6 MSC_WDATA - Write Data Register . . . . . . . . . . . . . . . . . . . .1176.8.7 MSC_STATUS - Status Register . . . . . . . . . . . . . . . . . . . . .1186.8.8 MSC_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . . .1196.8.9 MSC_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . . . . 1206.8.10 MSC_USERDATASIZE - user data regsion size . . . . . . . . . . . . . . . . 1206.8.11 MSC_CMD - Command Register . . . . . . . . . . . . . . . . . . . . . 1216.8.12 MSC_LOCK - Configuration Lock Register . . . . . . . . . . . . . . . . . . 1216.8.13 MSC_MISCLOCKWORD - Mass erase and User data page lock word . . . . . . . .1226.8.14 MSC_PAGELOCK0 - Main space page 0-31 lock word . . . . . . . . . . . . .1226.8.15 MSC_PAGELOCK1 - Main space page 32-63 lock word . . . . . . . . . . . . . 1236.8.16 MSC_PAGELOCK2 - Main space page 64-95 lock word . . . . . . . . . . . . . 1236.8.17 MSC_PAGELOCK3 - Main space page 96-127 lock word. . . . . . . . . . . . . 1246.8.18 MSC_TESTCTRL - Flash test control register . . . . . . . . . . . . . . . . . 124

    7. DBG - Debug Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 1257.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

    7.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

    7.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . .1267.3.1 Debug Pins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267.3.2 Embedded Trace Macrocell V3.5 (ETM) . . . . . . . . . . . . . . . . . . . 1267.3.3 Debug and EM2/EM3 . . . . . . . . . . . . . . . . . . . . . . . . . 126

    7.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127

    7.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . .1277.5.1 DBG_DCIWDATA - Write Data . . . . . . . . . . . . . . . . . . . . . . 1277.5.2 DBG_DCIRDATA - Read Data . . . . . . . . . . . . . . . . . . . . . .1277.5.3 DBG_DCISTATUS - Status . . . . . . . . . . . . . . . . . . . . . . .1287.5.4 DBG_DCIID - Identification . . . . . . . . . . . . . . . . . . . . . . .1287.5.5 DBG_SYSCOM0 - Communication Status . . . . . . . . . . . . . . . . . .1297.5.6 DBG_SYSCOM1 - Communication Status . . . . . . . . . . . . . . . . . .1307.5.7 DBG_SYSPWR0 - Power Status . . . . . . . . . . . . . . . . . . . . .1317.5.8 DBG_SYSCLK0 - Clocking Status . . . . . . . . . . . . . . . . . . . . . 1337.5.9 DBG_SYSID - Identification . . . . . . . . . . . . . . . . . . . . . . .135

    8. CMU - Clock Management Unit . . . . . . . . . . . . . . . . . . . . . . . . 1368.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

    8.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

    8.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . .1378.3.1 System Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . .1398.3.2 Switching Clock Source . . . . . . . . . . . . . . . . . . . . . . . .1418.3.3 RC Oscillator Calibration . . . . . . . . . . . . . . . . . . . . . . . .1438.3.4 Energy Modes . . . . . . . . . . . . . . . . . . . . . . . . . . .1468.3.5 Clock Output on a Pin . . . . . . . . . . . . . . . . . . . . . . . . .1468.3.6 Clock Input from a Pin . . . . . . . . . . . . . . . . . . . . . . . . . 1478.3.7 Clock Output on PRS . . . . . . . . . . . . . . . . . . . . . . . . .1478.3.8 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1478.3.9 Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147

    8.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148

    silabs.com | Building a more connected world. Rev. 0.5 | 4

  • 8.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . .1508.5.1 CMU_IPVERSION - IP version ID . . . . . . . . . . . . . . . . . . . . . 1508.5.2 CMU_STATUS - Status Register . . . . . . . . . . . . . . . . . . . . .1518.5.3 CMU_LOCK - Configuration Lock Register . . . . . . . . . . . . . . . . . . 1528.5.4 CMU_WDOGLOCK - WDOG Configuration Lock Register . . . . . . . . . . . . . 1528.5.5 CMU_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . . .1538.5.6 CMU_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . . . . 1538.5.7 CMU_CALCMD - Calibration Command Register . . . . . . . . . . . . . . . . 1548.5.8 CMU_CALCTRL - Calibration Control Register . . . . . . . . . . . . . . . . . 1558.5.9 CMU_CALCNT - Calibration Result Counter Register . . . . . . . . . . . . . .1568.5.10 CMU_SYSCLKCTRL - System Clock Control . . . . . . . . . . . . . . . . . 1578.5.11 CMU_TRACECLKCTRL - Debug Trace Clock Control . . . . . . . . . . . . . . 1588.5.12 CMU_EXPORTCLKCTRL - Export Clock Control . . . . . . . . . . . . . . .1598.5.13 CMU_DPLLREFCLKCTRL - Digital PLL Reference Clock Control . . . . . . . . . . 1618.5.14 CMU_EM01GRPACLKCTRL - EM01 Peripheral Group A Clock Control . . . . . . . . 1628.5.15 CMU_EM23GRPACLKCTRL - EM23 Peripheral Group A Clock Control . . . . . . . . 1628.5.16 CMU_EM4GRPACLKCTRL - EM4 Peripheral Group A Clock Control . . . . . . . . . 1638.5.17 CMU_IADCCLKCTRL - IADC Clock Control . . . . . . . . . . . . . . . . .1638.5.18 CMU_WDOG0CLKCTRL - Watchdog0 Clock Control . . . . . . . . . . . . . . 1648.5.19 CMU_WDOG1CLKCTRL - Watchdog1 Clock Control . . . . . . . . . . . . . . 1658.5.20 CMU_RTCCCLKCTRL - RTCC Clock Control. . . . . . . . . . . . . . . . . 1658.5.21 CMU_RADIOCLKCTRL - Radio Clock Control . . . . . . . . . . . . . . . .166

    9. Oscillators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1679.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

    9.2 HFXO - High Frequency Crystal Oscillator . . . . . . . . . . . . . . . . . . . . 1679.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .1679.2.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1679.2.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 1689.2.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1719.2.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . 172

    9.3 HFRCO - High-Frequency RC Oscillator . . . . . . . . . . . . . . . . . . . .1829.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .1829.3.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1829.3.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 1829.3.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1859.3.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . 186

    9.4 DPLL - Digital Phased Locked Loop . . . . . . . . . . . . . . . . . . . . . . 1909.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .1909.4.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1909.4.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 1909.4.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1929.4.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . 193

    9.5 LFXO - Low-Frequency Crystal Oscillator . . . . . . . . . . . . . . . . . . . . 1989.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .1989.5.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1989.5.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 198

    silabs.com | Building a more connected world. Rev. 0.5 | 5

  • 9.5.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2009.5.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . 201

    9.6 LFRCO - Low-Frequency RC Oscillator . . . . . . . . . . . . . . . . . . . .2089.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .2089.6.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2089.6.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 2089.6.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2109.6.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . 211

    9.7 FSRCO - Fast Start RCO . . . . . . . . . . . . . . . . . . . . . . . . .2149.7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .2149.7.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2149.7.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 2149.7.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2149.7.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . 215

    9.8 ULFRCO - Ultra Low Frequency RC Oscillator . . . . . . . . . . . . . . . . . .2159.8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .2159.8.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2159.8.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 215

    10. SMU - Security Management Unit . . . . . . . . . . . . . . . . . . . . . .21610.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216

    10.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216

    10.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 21710.3.1 Bus Level Security . . . . . . . . . . . . . . . . . . . . . . . . . . 21710.3.2 Privileged Access Control . . . . . . . . . . . . . . . . . . . . . . .21810.3.3 Secure Access Control . . . . . . . . . . . . . . . . . . . . . . . .21810.3.4 ARM TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . 21910.3.5 Configuring Masters . . . . . . . . . . . . . . . . . . . . . . . . .21910.3.6 Configuring Peripherals . . . . . . . . . . . . . . . . . . . . . . . .21910.3.7 Configuring Memory . . . . . . . . . . . . . . . . . . . . . . . . .22010.3.8 Cortex-M33 Integration . . . . . . . . . . . . . . . . . . . . . . . .22010.3.9 Exception Handling . . . . . . . . . . . . . . . . . . . . . . . . .22110.3.10 SMU Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . .221

    10.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

    10.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 22410.5.1 SMU_IPVERSION - IP Version . . . . . . . . . . . . . . . . . . . . .22410.5.2 SMU_STATUS - Status Register . . . . . . . . . . . . . . . . . . . . . 22510.5.3 SMU_LOCK - Lock Register . . . . . . . . . . . . . . . . . . . . . .22510.5.4 SMU_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . . . 22610.5.5 SMU_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . . .22710.5.6 SMU_M33CTRL - M33 Control Settings . . . . . . . . . . . . . . . . . .22810.5.7 SMU_PPUPATD0 - Privileged Access . . . . . . . . . . . . . . . . . . .22910.5.8 SMU_PPUPATD1 - Privileged Access . . . . . . . . . . . . . . . . . . .23110.5.9 SMU_PPUSATD0 - Secure Access . . . . . . . . . . . . . . . . . . . .23310.5.10 SMU_PPUSATD1 - Secure Access . . . . . . . . . . . . . . . . . . . . 23510.5.11 SMU_PPUFS - Fault Status . . . . . . . . . . . . . . . . . . . . . .236

    silabs.com | Building a more connected world. Rev. 0.5 | 6

  • 10.5.12 SMU_BMPUPATD0 - Privileged Attribute . . . . . . . . . . . . . . . . . . 23710.5.13 SMU_BMPUSATD0 - Secure Attribute. . . . . . . . . . . . . . . . . . . 23810.5.14 SMU_BMPUFS - Fault Status . . . . . . . . . . . . . . . . . . . . .23910.5.15 SMU_BMPUFSADDR - Fault Status Address . . . . . . . . . . . . . . . .23910.5.16 SMU_ESAURTYPES0 - Region Types 0 . . . . . . . . . . . . . . . . . . 24010.5.17 SMU_ESAURTYPES1 - Region Types 1 . . . . . . . . . . . . . . . . . . 24010.5.18 SMU_ESAUMRB01 - Movable Region Boundary . . . . . . . . . . . . . . . 24110.5.19 SMU_ESAUMRB12 - Movable Region Boundary . . . . . . . . . . . . . . . 24110.5.20 SMU_ESAUMRB45 - Movable Region Boundary . . . . . . . . . . . . . . . 24210.5.21 SMU_ESAUMRB56 - Movable Region Boundary . . . . . . . . . . . . . . . 242

    11. SE - Secure Element Subsystem . . . . . . . . . . . . . . . . . . . . . .24311.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243

    11.2 Security Features . . . . . . . . . . . . . . . . . . . . . . . . . . .24311.2.1 Security Features Overview . . . . . . . . . . . . . . . . . . . . . . . 24311.2.2 Secure Boot with Root of Trust and Secure Loader (RTSL) . . . . . . . . . . . .24411.2.3 Secure Debug . . . . . . . . . . . . . . . . . . . . . . . . . . .24411.2.4 Cryptographic Accelerator . . . . . . . . . . . . . . . . . . . . . . .24411.2.5 True Random Number Generation . . . . . . . . . . . . . . . . . . . .244

    11.3 SE Mailbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24411.3.1 Sending Commands . . . . . . . . . . . . . . . . . . . . . . . . . 24511.3.2 Receiving Responses . . . . . . . . . . . . . . . . . . . . . . . .24511.3.3 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . .24511.3.4 Register Description . . . . . . . . . . . . . . . . . . . . . . . . .246

    12. EMU - Energy Management Unit . . . . . . . . . . . . . . . . . . . . . .25212.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

    12.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253

    12.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 25412.3.1 Energy Modes . . . . . . . . . . . . . . . . . . . . . . . . . . .25512.3.2 Entering Low Energy Modes . . . . . . . . . . . . . . . . . . . . . .25912.3.3 Exiting a Low Energy Mode . . . . . . . . . . . . . . . . . . . . . .26012.3.4 Power Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . 26112.3.5 Brown Out Detector (BOD) . . . . . . . . . . . . . . . . . . . . . . . 26112.3.6 Reset Management Unit . . . . . . . . . . . . . . . . . . . . . . . . 26212.3.7 Temperature Sensor . . . . . . . . . . . . . . . . . . . . . . . . .26412.3.8 Register Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . 26412.3.9 Register Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

    12.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

    12.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 26712.5.1 EMU_DECBOD - DECOUPLE LVBOD Control register . . . . . . . . . . . . .26712.5.2 EMU_BOD3SENSE - BOD3SENSE Control register . . . . . . . . . . . . . .26812.5.3 EMU_LOCK - EMU Configuration lock register . . . . . . . . . . . . . . . .26812.5.4 EMU_IF - Interrupt Flags . . . . . . . . . . . . . . . . . . . . . . . . 26912.5.5 EMU_IEN - Interrupt Enables . . . . . . . . . . . . . . . . . . . . . .27012.5.6 EMU_EM4CTRL - EM4 Control . . . . . . . . . . . . . . . . . . . . .27112.5.7 EMU_CMD - EMU Command register . . . . . . . . . . . . . . . . . . .272

    silabs.com | Building a more connected world. Rev. 0.5 | 7

  • 12.5.8 EMU_CTRL - EMU Control register . . . . . . . . . . . . . . . . . . . .27312.5.9 EMU_TEMPLIMITS - EMU Temperature thresholds . . . . . . . . . . . . . .27412.5.10 EMU_STATUS - EMU Status register . . . . . . . . . . . . . . . . . . . 27512.5.11 EMU_TEMP - Temperature . . . . . . . . . . . . . . . . . . . . . .27612.5.12 EMU_RSTCTRL - Reset Management Control register . . . . . . . . . . . . . 27712.5.13 EMU_RSTCAUSE - Reset cause . . . . . . . . . . . . . . . . . . . .27912.5.14 EMU_DGIF - Interrupt Flags Debug . . . . . . . . . . . . . . . . . . .28012.5.15 EMU_DGIEN - Interrupt Enables Debug . . . . . . . . . . . . . . . . . . 28112.5.16 EMU_SEIF - Interrupt Flags Secure Element . . . . . . . . . . . . . . . .28212.5.17 EMU_SEIEN - Interrupt Enables Secure Elements . . . . . . . . . . . . . .282

    13. PRS - Peripheral Reflex System . . . . . . . . . . . . . . . . . . . . . . . 28313.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

    13.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283

    13.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 28413.3.1 Asynchronous Channel Functions. . . . . . . . . . . . . . . . . . . . . 28413.3.2 Configurable Logic . . . . . . . . . . . . . . . . . . . . . . . . . . 28513.3.3 Producers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28613.3.4 Consumers . . . . . . . . . . . . . . . . . . . . . . . . . . . .291

    13.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

    13.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 30513.5.1 PRS_IPVERSION - IP version ID . . . . . . . . . . . . . . . . . . . . . 30513.5.2 PRS_ASYNC_SWPULSE - Software Pulse Register . . . . . . . . . . . . . .30613.5.3 PRS_ASYNC_SWLEVEL - Software Level Register . . . . . . . . . . . . . .30713.5.4 PRS_ASYNC_PEEK - Async Channel Values . . . . . . . . . . . . . . . .30813.5.5 PRS_SYNC_PEEK - Sync Channel Values . . . . . . . . . . . . . . . . .30913.5.6 PRS_ASYNC_CHx_CTRL - Async Channel Control Register . . . . . . . . . . .31013.5.7 PRS_SYNC_CHx_CTRL - Sync Channel Control Register . . . . . . . . . . . .31113.5.8 PRS_CONSUMER_CMU_CALDN - CMU CALDN Consumer Selection . . . . . . . . 31213.5.9 PRS_CONSUMER_CMU_CALUP - CMU CALUP Consumer Selection . . . . . . . . 31213.5.10 PRS_CONSUMER_IADC0_SCANTRIGGER - IADC0 SCANTRIGGER Consumer Selection 31313.5.11 PRS_CONSUMER_IADC0_SINGLETRIGGER - IADC0 SINGLETRIGGER Consumer

    Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31313.5.12 PRS_CONSUMER_LDMAXBAR_DMAREQ0 - DMAREQ0 Consumer Selection . . . .31413.5.13 PRS_CONSUMER_LDMAXBAR_DMAREQ1 - DMAREQ1 Consumer Selection . . . .31413.5.14 PRS_CONSUMER_LETIMER0_CLEAR - LETIMER CLEAR Consumer Selection . . . . 31513.5.15 PRS_CONSUMER_LETIMER0_START - LETIMER START Consumer Selection . . . . 31513.5.16 PRS_CONSUMER_LETIMER0_STOP - LETIMER STOP Consumer Selection . . . . . 31613.5.17 PRS_CONSUMER_MODEM_DIN - MODEM DIN Consumer Selection. . . . . . . . 31613.5.18 PRS_CONSUMER_RAC_CLR - RAC CLR Consumer Selection . . . . . . . . . . 31713.5.19 PRS_CONSUMER_RAC_FORCETX - RAC FORCETX Consumer Selection . . . . .31713.5.20 PRS_CONSUMER_RAC_RXDIS - RAC RXDIS Consumer Selection . . . . . . . .31813.5.21 PRS_CONSUMER_RAC_RXEN - RAC RXEN Consumer Selection . . . . . . . . . 31813.5.22 PRS_CONSUMER_RAC_SEQ - RAC SEQ Consumer Selection . . . . . . . . . . 31913.5.23 PRS_CONSUMER_RAC_TXEN - RAC TXEN Consumer Selection . . . . . . . . . 31913.5.24 PRS_CONSUMER_RTCC_CC0 - RTCC CC0 Consumer Selection . . . . . . . . . 32013.5.25 PRS_CONSUMER_RTCC_CC1 - RTCC CC1 Consumer Selection . . . . . . . . . 320

    silabs.com | Building a more connected world. Rev. 0.5 | 8

  • 13.5.26 PRS_CONSUMER_RTCC_CC2 - RTCC CC2 Consumer Selection . . . . . . . . . 32113.5.27 PRS_CONSUMER_SE_TAMPERSRC0 - SE TAMPERSRC0 Consumer Selection . . .32113.5.28 PRS_CONSUMER_SE_TAMPERSRC1 - SE TAMPERSRC1 Consumer Selection . . .32213.5.29 PRS_CONSUMER_SE_TAMPERSRC2 - SE TAMPERSRC2 Consumer Selection . . .32213.5.30 PRS_CONSUMER_SE_TAMPERSRC3 - SE TAMPERSRC3 Consumer Selection . . .32313.5.31 PRS_CONSUMER_SE_TAMPERSRC4 - SE TAMPERSRC4 Consumer Selection . . .32313.5.32 PRS_CONSUMER_SE_TAMPERSRC5 - SE TAMPERSRC5 Consumer Selection . . .32413.5.33 PRS_CONSUMER_SE_TAMPERSRC6 - SE TAMPERSRC6 Consumer Selection . . .32413.5.34 PRS_CONSUMER_SE_TAMPERSRC7 - SE TAMPERSRC7 Consumer Selection . . .32513.5.35 PRS_CONSUMER_CORE_CTIIN0 - CTI0 Consumer Selection . . . . . . . . . . 32513.5.36 PRS_CONSUMER_CORE_CTIIN1 - CTI1 Consumer Selection . . . . . . . . . . 32613.5.37 PRS_CONSUMER_CORE_CTIIN2 - CTI2 Consumer Selection . . . . . . . . . . 32613.5.38 PRS_CONSUMER_CORE_CTIIN3 - CTI3 Consumer Selection . . . . . . . . . . 32713.5.39 PRS_CONSUMER_CORE_M33RXEV - M33 Consumer Selection . . . . . . . . .32713.5.40 PRS_CONSUMER_TIMER0_CC0 - TIMER0 CC0 Consumer Selection . . . . . . .32813.5.41 PRS_CONSUMER_TIMER0_CC1 - TIMER0 CC1 Consumer Selection . . . . . . .32813.5.42 PRS_CONSUMER_TIMER0_CC2 - TIMER0 CC2 Consumer Selection . . . . . . .32913.5.43 PRS_CONSUMER_TIMER0_DTI - TIMER0 DTI Consumer Selection . . . . . . . . 32913.5.44 PRS_CONSUMER_TIMER0_DTIFS1 - TIMER0 DTIFS1 Consumer Selection . . . . .33013.5.45 PRS_CONSUMER_TIMER0_DTIFS2 - TIMER0 DTIFS2 Consumer Selection . . . . .33013.5.46 PRS_CONSUMER_TIMER1_CC0 - TIMER1 CC0 Consumer Selection . . . . . . .33113.5.47 PRS_CONSUMER_TIMER1_CC1 - TIMER1 CC1 Consumer Selection . . . . . . .33113.5.48 PRS_CONSUMER_TIMER1_CC2 - TIMER1 CC2 Consumer Selection . . . . . . .33213.5.49 PRS_CONSUMER_TIMER1_DTI - TIMER1 DTI Consumer Selection . . . . . . . . 33213.5.50 PRS_CONSUMER_TIMER1_DTIFS1 - TIMER1 DTIFS1 Consumer Selection . . . . .33313.5.51 PRS_CONSUMER_TIMER1_DTIFS2 - TIMER1 DTIFS2 Consumer Selection . . . . .33313.5.52 PRS_CONSUMER_TIMER2_CC0 - TIMER2 CC0 Consumer Selection . . . . . . .33413.5.53 PRS_CONSUMER_TIMER2_CC1 - TIMER2 CC1 Consumer Selection . . . . . . .33413.5.54 PRS_CONSUMER_TIMER2_CC2 - TIMER2 CC2 Consumer Selection . . . . . . .33513.5.55 PRS_CONSUMER_TIMER2_DTI - TIMER2 DTI Consumer Selection . . . . . . . . 33513.5.56 PRS_CONSUMER_TIMER2_DTIFS1 - TIMER2 DTIFS1 Consumer Selection . . . . .33613.5.57 PRS_CONSUMER_TIMER2_DTIFS2 - TIMER2 DTIFS2 Consumer Selection . . . . .33613.5.58 PRS_CONSUMER_TIMER3_CC0 - TIMER3 CC0 Consumer Selection . . . . . . .33713.5.59 PRS_CONSUMER_TIMER3_CC1 - TIMER3 CC1 Consumer Selection . . . . . . .33713.5.60 PRS_CONSUMER_TIMER3_CC2 - TIMER3 CC2 Consumer Selection . . . . . . .33813.5.61 PRS_CONSUMER_TIMER3_DTI - TIMER3 DTI Consumer Selection . . . . . . . . 33813.5.62 PRS_CONSUMER_TIMER3_DTIFS1 - TIMER3 DTIFS1 Consumer Selection . . . . .33913.5.63 PRS_CONSUMER_TIMER3_DTIFS2 - TIMER3 DTIFS2 Consumer Selection . . . . .33913.5.64 PRS_CONSUMER_USART0_CLK - USART0 CLK Consumer Selection . . . . . . .34013.5.65 PRS_CONSUMER_USART0_IR - USART0 IR Consumer Selection . . . . . . . .34013.5.66 PRS_CONSUMER_USART0_RX - USART0 RX Consumer Selection . . . . . . . . 34113.5.67 PRS_CONSUMER_USART0_TRIGGER - USART0 TRIGGER Consumer Selection . . . 34113.5.68 PRS_CONSUMER_USART1_CLK - USART1 CLK Consumer Selection . . . . . . .34213.5.69 PRS_CONSUMER_USART1_IR - USART1 IR Consumer Selection . . . . . . . .34213.5.70 PRS_CONSUMER_USART1_RX - USART1 RX Consumer Selection . . . . . . . . 34313.5.71 PRS_CONSUMER_USART1_TRIGGER - USART1 TRIGGER Consumer Selection . . . 34313.5.72 PRS_CONSUMER_USART2_CLK - USART2 CLK Consumer Selection . . . . . . .34413.5.73 PRS_CONSUMER_USART2_IR - USART2 IR Consumer Selection . . . . . . . .344

    silabs.com | Building a more connected world. Rev. 0.5 | 9

  • 13.5.74 PRS_CONSUMER_USART2_RX - USART2 RX Consumer Selection . . . . . . . . 34513.5.75 PRS_CONSUMER_USART2_TRIGGER - USART2 TRIGGER Consumer Selection . . . 34513.5.76 PRS_CONSUMER_WDOG0_SRC0 - WDOG0 SRC0 Consumer Selection . . . . . .34613.5.77 PRS_CONSUMER_WDOG0_SRC1 - WDOG0 SRC1 Consumer Selection . . . . . .34613.5.78 PRS_CONSUMER_WDOG1_SRC0 - WDOG1 SRC0 Consumer Selection . . . . . .34713.5.79 PRS_CONSUMER_WDOG1_SRC1 - WDOG1 SRC1 Consumer Selection . . . . . .347

    14. GPCRC - General Purpose Cyclic Redundancy Check . . . . . . . . . . . . . .34814.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

    14.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .348

    14.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 34914.3.1 Polynomial Specification . . . . . . . . . . . . . . . . . . . . . . . . 35014.3.2 Input and Output Specification . . . . . . . . . . . . . . . . . . . . . . 35014.3.3 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . .35014.3.4 DMA Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35014.3.5 Byte-Level Bit Reversal and Byte Reordering . . . . . . . . . . . . . . . . . 351

    14.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354

    14.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 35514.5.1 GPCRC_IPVERSION - IP Version ID . . . . . . . . . . . . . . . . . . .35514.5.2 GPCRC_EN - CRC Enable . . . . . . . . . . . . . . . . . . . . . . . 35614.5.3 GPCRC_CTRL - Control Register . . . . . . . . . . . . . . . . . . . . . 35714.5.4 GPCRC_CMD - Command Register . . . . . . . . . . . . . . . . . . . . 35814.5.5 GPCRC_INIT - CRC Init Value . . . . . . . . . . . . . . . . . . . . . . 35814.5.6 GPCRC_POLY - CRC Polynomial Value . . . . . . . . . . . . . . . . . .35914.5.7 GPCRC_INPUTDATA - Input 32-bit Data Register . . . . . . . . . . . . . . . 35914.5.8 GPCRC_INPUTDATAHWORD - Input 16-bit Data Register . . . . . . . . . . . . 36014.5.9 GPCRC_INPUTDATABYTE - Input 8-bit Data Register . . . . . . . . . . . . .36014.5.10 GPCRC_DATA - CRC Data Register . . . . . . . . . . . . . . . . . . .36114.5.11 GPCRC_DATAREV - CRC Data Reverse Register . . . . . . . . . . . . . .36114.5.12 GPCRC_DATABYTEREV - CRC Data Byte Reverse Register . . . . . . . . . . . 362

    15. RTCC - Real Time Clock with Capture. . . . . . . . . . . . . . . . . . . . . 36315.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

    15.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .363

    15.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 36415.3.1 RTCC Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . 36515.3.2 Capture/Compare Channels . . . . . . . . . . . . . . . . . . . . . .36715.3.3 Interrupts and PRS Output . . . . . . . . . . . . . . . . . . . . . . . 36815.3.4 Register Lock . . . . . . . . . . . . . . . . . . . . . . . . . . .36915.3.5 Programmer's Model . . . . . . . . . . . . . . . . . . . . . . . . . 36915.3.6 Debug Features and Description . . . . . . . . . . . . . . . . . . . . . 369

    15.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

    15.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 37215.5.1 RTCC_IPVERSION - IP VERSION . . . . . . . . . . . . . . . . . . . .37215.5.2 RTCC_EN - Module Enable Register . . . . . . . . . . . . . . . . . . .37215.5.3 RTCC_CFG - Configuration Register . . . . . . . . . . . . . . . . . . .373

    silabs.com | Building a more connected world. Rev. 0.5 | 10

  • 15.5.4 RTCC_CMD - Command Register . . . . . . . . . . . . . . . . . . . .37415.5.5 RTCC_STATUS - Status register . . . . . . . . . . . . . . . . . . . . . 37515.5.6 RTCC_IF - RTCC Interrupt Flags . . . . . . . . . . . . . . . . . . . . . 37615.5.7 RTCC_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . . . 37715.5.8 RTCC_PRECNT - Pre-Counter Value Register . . . . . . . . . . . . . . . .37715.5.9 RTCC_CNT - Counter Value Register . . . . . . . . . . . . . . . . . . .37815.5.10 RTCC_COMBCNT - Combined Pre-Counter and Counter Valu... . . . . . . . . . . 37815.5.11 RTCC_SYNCBUSY - Synchronization Busy Register . . . . . . . . . . . . . . 37915.5.12 RTCC_LOCK - Configuration Lock Register . . . . . . . . . . . . . . . . . 37915.5.13 RTCC_CCx_CTRL - CC Channel Control Register . . . . . . . . . . . . . .38015.5.14 RTCC_CCx_OCVALUE - Output Compare Value Register . . . . . . . . . . . . 38115.5.15 RTCC_CCx_ICVALUE - Input Capture Value Register . . . . . . . . . . . . .381

    16. BURTC - Back-Up Real Time Counter . . . . . . . . . . . . . . . . . . . . . 38216.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382

    16.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .382

    16.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 38316.3.1 Clock Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . 38316.3.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . .38316.3.3 Debug Features and Description . . . . . . . . . . . . . . . . . . . . . 38316.3.4 Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38416.3.5 Compare Channel . . . . . . . . . . . . . . . . . . . . . . . . . . 38416.3.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38516.3.7 Register Lock . . . . . . . . . . . . . . . . . . . . . . . . . . .385

    16.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

    16.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 38716.5.1 BURTC_IPVERSION - IP version ID . . . . . . . . . . . . . . . . . . . . 38716.5.2 BURTC_EN - Module Enable Register . . . . . . . . . . . . . . . . . . . 38816.5.3 BURTC_CFG - Configuration Register . . . . . . . . . . . . . . . . . . . 38916.5.4 BURTC_CMD - Command Register . . . . . . . . . . . . . . . . . . . . 39016.5.5 BURTC_STATUS - Status Register . . . . . . . . . . . . . . . . . . . . 39116.5.6 BURTC_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . . 39116.5.7 BURTC_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . .39216.5.8 BURTC_PRECNT - Pre-Counter Value Register . . . . . . . . . . . . . . . . 39216.5.9 BURTC_CNT - Counter Value Register . . . . . . . . . . . . . . . . . . . 39316.5.10 BURTC_EM4WUEN - EM4 wakeup request Enable Register . . . . . . . . . . . 39316.5.11 BURTC_SYNCBUSY - Synchronization Busy Register . . . . . . . . . . . . .39416.5.12 BURTC_LOCK - Configuration Lock Register . . . . . . . . . . . . . . . .39516.5.13 BURTC_COMP - Compare Value Register . . . . . . . . . . . . . . . . . 395

    17. BURAM - Backup RAM . . . . . . . . . . . . . . . . . . . . . . . . . .39617.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

    17.2 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 396

    17.3 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

    17.4 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 39717.4.1 BURAM_RETx_REG - Retention Register . . . . . . . . . . . . . . . . . . 397

    silabs.com | Building a more connected world. Rev. 0.5 | 11

  • 18. LETIMER - Low Energy Timer . . . . . . . . . . . . . . . . . . . . . . . . 39818.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

    18.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .398

    18.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 39918.3.1 Internal Overview . . . . . . . . . . . . . . . . . . . . . . . . . .40018.3.2 Free Running Mode . . . . . . . . . . . . . . . . . . . . . . . . .40118.3.3 One-shot Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 40218.3.4 Buffered Mode . . . . . . . . . . . . . . . . . . . . . . . . . . .40318.3.5 Double Mode . . . . . . . . . . . . . . . . . . . . . . . . . . .404

    18.4 Clock Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

    18.5 PRS Input Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . 406

    18.6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .406

    18.7 Output Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407

    18.8 PRS Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . .407

    18.9 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .407

    18.10 Using the LETIMER in EM3 . . . . . . . . . . . . . . . . . . . . . . . . 407

    18.11 Register access . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407

    18.12 Programmer's Model . . . . . . . . . . . . . . . . . . . . . . . . . . 40818.12.1 FREE Running Mode . . . . . . . . . . . . . . . . . . . . . . . .40918.12.2 One Shot Mode . . . . . . . . . . . . . . . . . . . . . . . . . .41018.12.3 DOUBLE Mode . . . . . . . . . . . . . . . . . . . . . . . . . .41018.12.4 BUFFERED Mode . . . . . . . . . . . . . . . . . . . . . . . . .41118.12.5 Continuous Output Generation . . . . . . . . . . . . . . . . . . . . .41218.12.6 PWM Output . . . . . . . . . . . . . . . . . . . . . . . . . . .413

    18.13 Register Map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

    18.14 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . .41618.14.1 LETIMER_IPVERSION - IP version. . . . . . . . . . . . . . . . . . . . 41618.14.2 LETIMER_EN - module en . . . . . . . . . . . . . . . . . . . . . .41618.14.3 LETIMER_CTRL - Control Register . . . . . . . . . . . . . . . . . . . . 41718.14.4 LETIMER_CMD - Command Register . . . . . . . . . . . . . . . . . . . 41918.14.5 LETIMER_STATUS - Status Register . . . . . . . . . . . . . . . . . . . 42018.14.6 LETIMER_CNT - Counter Value Register. . . . . . . . . . . . . . . . . . 42018.14.7 LETIMER_COMP0 - Compare Value Register 0 . . . . . . . . . . . . . . .42118.14.8 LETIMER_COMP1 - Compare Value Register 1 . . . . . . . . . . . . . . .42118.14.9 LETIMER_TOP - Counter TOP Value Register . . . . . . . . . . . . . . . . 42218.14.10 LETIMER_TOPBUFF - Buffered Counter TOP Value . . . . . . . . . . . . .42218.14.11 LETIMER_REP0 - Repeat Counter Register 0. . . . . . . . . . . . . . . . 42318.14.12 LETIMER_REP1 - Repeat Counter Register 1. . . . . . . . . . . . . . . . 42318.14.13 LETIMER_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . .42418.14.14 LETIMER_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . 42518.14.15 LETIMER_SYNCBUSY - Synchronization Busy Register . . . . . . . . . . . . 42618.14.16 LETIMER_PRSMODE - PRS Input mode select Register . . . . . . . . . . . . 427

    19. TIMER - Timer/Counter . . . . . . . . . . . . . . . . . . . . . . . . . .429

    silabs.com | Building a more connected world. Rev. 0.5 | 12

  • 19.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429

    19.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .430

    19.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 43119.3.1 Register Access. . . . . . . . . . . . . . . . . . . . . . . . . . . 43119.3.2 Counter Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . 43219.3.3 Compare/Capture Channels . . . . . . . . . . . . . . . . . . . . . .43819.3.4 Dead-Time Insertion Unit . . . . . . . . . . . . . . . . . . . . . . .44919.3.5 Debug Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45319.3.6 Interrupts, DMA and PRS Output . . . . . . . . . . . . . . . . . . . . . 45319.3.7 GPIO Input/Output . . . . . . . . . . . . . . . . . . . . . . . . . . 453

    19.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454

    19.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 45719.5.1 TIMER_IPVERSION - IP version ID . . . . . . . . . . . . . . . . . . . . 45719.5.2 TIMER_CFG - Configuration Register . . . . . . . . . . . . . . . . . . .45819.5.3 TIMER_CTRL - Control Register . . . . . . . . . . . . . . . . . . . . . 46119.5.4 TIMER_CMD - Command Register . . . . . . . . . . . . . . . . . . . .46219.5.5 TIMER_STATUS - Status Register . . . . . . . . . . . . . . . . . . . .46319.5.6 TIMER_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . .46619.5.7 TIMER_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . . . 46819.5.8 TIMER_TOP - Counter Top Value Register . . . . . . . . . . . . . . . . .46919.5.9 TIMER_TOPB - Counter Top Value Buffer Register . . . . . . . . . . . . . . . 46919.5.10 TIMER_CNT - Counter Value Register . . . . . . . . . . . . . . . . . .47019.5.11 TIMER_LOCK - TIMER Configuration Lock Register . . . . . . . . . . . . . . 47019.5.12 TIMER_EN - module en . . . . . . . . . . . . . . . . . . . . . . .47119.5.13 TIMER_CCx_CFG - CC Channel Configuration Register . . . . . . . . . . . .47219.5.14 TIMER_CCx_CTRL - CC Channel Control Register . . . . . . . . . . . . . .47419.5.15 TIMER_CCx_OC - OC Channel Value Register . . . . . . . . . . . . . . .47519.5.16 TIMER_CCx_OCB - OC Channel Value Buffer Register . . . . . . . . . . . . . 47619.5.17 TIMER_CCx_ICF - IC Channel Value Register . . . . . . . . . . . . . . . . 47619.5.18 TIMER_CCx_ICOF - IC Channel Value Overflow Register . . . . . . . . . . . . 47619.5.19 TIMER_DTCFG - DTI Configuration Register . . . . . . . . . . . . . . . .47719.5.20 TIMER_DTTIMECFG - DTI Time Configuration Register . . . . . . . . . . . .47819.5.21 TIMER_DTFCFG - DTI Fault Configuration Register . . . . . . . . . . . . . . 47919.5.22 TIMER_DTCTRL - DTI Control Register . . . . . . . . . . . . . . . . . .48019.5.23 TIMER_DTOGEN - DTI Output Generation Enable Register . . . . . . . . . . .48119.5.24 TIMER_DTFAULT - DTI Fault Register . . . . . . . . . . . . . . . . . .48219.5.25 TIMER_DTFAULTC - DTI Fault Clear Register . . . . . . . . . . . . . . . . 48319.5.26 TIMER_DTLOCK - DTI Configuration Lock Register . . . . . . . . . . . . . . 484

    20. USART - Universal Synchronous Asynchronous Receiver/Transmitter . . . . . . . .48520.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485

    20.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .486

    20.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 48720.3.1 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . .48820.3.2 Asynchronous Operation . . . . . . . . . . . . . . . . . . . . . . . . 48820.3.3 Synchronous Operation . . . . . . . . . . . . . . . . . . . . . . . . 50420.3.4 Hardware Flow Control . . . . . . . . . . . . . . . . . . . . . . . .510

    silabs.com | Building a more connected world. Rev. 0.5 | 13

  • 20.3.5 Debug Halt . . . . . . . . . . . . . . . . . . . . . . . . . . . .51020.3.6 PRS-triggered Transmissions . . . . . . . . . . . . . . . . . . . . . . 51020.3.7 PRS RX Input . . . . . . . . . . . . . . . . . . . . . . . . . . .51020.3.8 PRS CLK Input . . . . . . . . . . . . . . . . . . . . . . . . . . . 51120.3.9 DMA Support . . . . . . . . . . . . . . . . . . . . . . . . . . .51120.3.10 Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51220.3.11 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . .51720.3.12 IrDA Modulator/ Demodulator . . . . . . . . . . . . . . . . . . . . . . 518

    20.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519

    20.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 52220.5.1 USART_IPVERSION - IPVERSION . . . . . . . . . . . . . . . . . . . . 52220.5.2 USART_EN - USART Enable . . . . . . . . . . . . . . . . . . . . . .52220.5.3 USART_CTRL - Control Register . . . . . . . . . . . . . . . . . . . . . 52320.5.4 USART_FRAME - USART Frame Format Register . . . . . . . . . . . . . . . 52820.5.5 USART_TRIGCTRL - USART Trigger Control register . . . . . . . . . . . . . . 53020.5.6 USART_CMD - Command Register . . . . . . . . . . . . . . . . . . . . 53120.5.7 USART_STATUS - USART Status Register . . . . . . . . . . . . . . . . .53220.5.8 USART_CLKDIV - Clock Control Register . . . . . . . . . . . . . . . . . . 53320.5.9 USART_RXDATAX - RX Buffer Data Extended Register . . . . . . . . . . . . . 53420.5.10 USART_RXDATA - RX Buffer Data Register . . . . . . . . . . . . . . . .53420.5.11 USART_RXDOUBLEX - RX Buffer Double Data Extended Register . . . . . . . . . 53520.5.12 USART_RXDOUBLE - RX FIFO Double Data Register . . . . . . . . . . . . . 53620.5.13 USART_RXDATAXP - RX Buffer Data Extended Peek Register . . . . . . . . . . 53620.5.14 USART_RXDOUBLEXP - RX Buffer Double Data Extended Peek R... . . . . . . . . 53720.5.15 USART_TXDATAX - TX Buffer Data Extended Register . . . . . . . . . . . . . 53820.5.16 USART_TXDATA - TX Buffer Data Register . . . . . . . . . . . . . . . . . 53920.5.17 USART_TXDOUBLEX - TX Buffer Double Data Extended Register . . . . . . . . . 54020.5.18 USART_TXDOUBLE - TX Buffer Double Data Register . . . . . . . . . . . . . 54120.5.19 USART_IF - Interrupt Flag Register. . . . . . . . . . . . . . . . . . . . 54220.5.20 USART_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . .54420.5.21 USART_IRCTRL - IrDA Control Register . . . . . . . . . . . . . . . . . . 54620.5.22 USART_I2SCTRL - I2S Control Register . . . . . . . . . . . . . . . . . . 54720.5.23 USART_TIMING - Timing Register . . . . . . . . . . . . . . . . . . . . 54920.5.24 USART_CTRLX - Control Register Extended . . . . . . . . . . . . . . . .55120.5.25 USART_TIMECMP0 - Used to generate interrupts and vario... . . . . . . . . . .55320.5.26 USART_TIMECMP1 - Used to generate interrupts and vario... . . . . . . . . . .55520.5.27 USART_TIMECMP2 - Used to generate interrupts and vario... . . . . . . . . . .557

    21. I2C - Inter-Integrated Circuit Interface . . . . . . . . . . . . . . . . . . . . . 55921.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559

    21.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .559

    21.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 56021.3.1 I2C-Bus Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 56121.3.2 Enable and Reset . . . . . . . . . . . . . . . . . . . . . . . . . . 56521.3.3 Pin Configuration . . . . . . . . . . . . . . . . . . . . . . . . . .56521.3.4 Safely Disabling and Changing Slave Configuration. . . . . . . . . . . . . . . 56521.3.5 Clock Generation . . . . . . . . . . . . . . . . . . . . . . . . . .566

    silabs.com | Building a more connected world. Rev. 0.5 | 14

  • 21.3.6 Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56621.3.7 Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56621.3.8 Master Operation . . . . . . . . . . . . . . . . . . . . . . . . . .56921.3.9 Bus States . . . . . . . . . . . . . . . . . . . . . . . . . . . .57721.3.10 Slave Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 57721.3.11 Transfer Automation . . . . . . . . . . . . . . . . . . . . . . . . . 58121.3.12 Using 10-bit Addresses . . . . . . . . . . . . . . . . . . . . . . . . 58221.3.13 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . 58221.3.14 DMA Support . . . . . . . . . . . . . . . . . . . . . . . . . . .58421.3.15 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . .58421.3.16 Wake-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584

    21.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585

    21.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 58721.5.1 I2C_IPVERSION - IP VERSION Register . . . . . . . . . . . . . . . . . .58721.5.2 I2C_EN - Enable Register . . . . . . . . . . . . . . . . . . . . . . .58721.5.3 I2C_CTRL - Control Register . . . . . . . . . . . . . . . . . . . . . .58821.5.4 I2C_CMD - Command Register . . . . . . . . . . . . . . . . . . . . .59221.5.5 I2C_STATE - State Register . . . . . . . . . . . . . . . . . . . . . .59321.5.6 I2C_STATUS - Status Register . . . . . . . . . . . . . . . . . . . . .59421.5.7 I2C_CLKDIV - Clock Division Register . . . . . . . . . . . . . . . . . . .59521.5.8 I2C_SADDR - Slave Address Register . . . . . . . . . . . . . . . . . . . 59521.5.9 I2C_SADDRMASK - Slave Address Mask Register . . . . . . . . . . . . . . . 59621.5.10 I2C_RXDATA - Receive Buffer Data Register . . . . . . . . . . . . . . . .59621.5.11 I2C_RXDOUBLE - Receive Buffer Double Data Register . . . . . . . . . . . .59721.5.12 I2C_RXDATAP - Receive Buffer Data Peek Register . . . . . . . . . . . . . . 59721.5.13 I2C_RXDOUBLEP - Receive Buffer Double Data Peek Register . . . . . . . . . . 59821.5.14 I2C_TXDATA - Transmit Buffer Data Register . . . . . . . . . . . . . . . .59821.5.15 I2C_TXDOUBLE - Transmit Buffer Double Data Register . . . . . . . . . . . .59921.5.16 I2C_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . . . 60021.5.17 I2C_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . . .602

    22. ACMP - Analog Comparator . . . . . . . . . . . . . . . . . . . . . . . .60422.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .604

    22.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .604

    22.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 60522.3.1 Configuration and Control . . . . . . . . . . . . . . . . . . . . . . .60522.3.2 Warmup Time . . . . . . . . . . . . . . . . . . . . . . . . . . .60622.3.3 Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . 60622.3.4 Hysteresis . . . . . . . . . . . . . . . . . . . . . . . . . . . .60622.3.5 VREFDIV Sources . . . . . . . . . . . . . . . . . . . . . . . . . . 60722.3.6 Supply Voltage Monitoring (VSENSE) . . . . . . . . . . . . . . . . . . .60722.3.7 Input Range and Accuracy Settings . . . . . . . . . . . . . . . . . . . . 60722.3.8 Capacitive Sense Mode . . . . . . . . . . . . . . . . . . . . . . . . 60822.3.9 Interrupts and PRS Output . . . . . . . . . . . . . . . . . . . . . . . 60922.3.10 Output to GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . 609

    22.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610

    22.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 611

    silabs.com | Building a more connected world. Rev. 0.5 | 15

  • 22.5.1 ACMP_IPVERSION - IP version ID . . . . . . . . . . . . . . . . . . . .61122.5.2 ACMP_EN - ACMP enable . . . . . . . . . . . . . . . . . . . . . . . 61122.5.3 ACMP_CFG - Configuration register . . . . . . . . . . . . . . . . . . . . 61222.5.4 ACMP_CTRL - Control Register . . . . . . . . . . . . . . . . . . . . .61322.5.5 ACMP_INPUTCTRL - Input Control Register . . . . . . . . . . . . . . . . . 61422.5.6 ACMP_STATUS - Status Register . . . . . . . . . . . . . . . . . . . .61922.5.7 ACMP_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . .62022.5.8 ACMP_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . . . 62122.5.9 ACMP_SYNCBUSY - Syncbusy . . . . . . . . . . . . . . . . . . . . .621

    23. IADC - Incremental Analog to Digital Converter . . . . . . . . . . . . . . . . .62223.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622

    23.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .623

    23.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 62423.3.1 Register Access. . . . . . . . . . . . . . . . . . . . . . . . . . . 62523.3.2 Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62623.3.3 Conversion Timing . . . . . . . . . . . . . . . . . . . . . . . . . . 62723.3.4 Reference Selection and Analog Gain . . . . . . . . . . . . . . . . . . .63523.3.5 Input and Configuration Selection . . . . . . . . . . . . . . . . . . . . . 63523.3.6 Gain and Offset Correction . . . . . . . . . . . . . . . . . . . . . . . 64023.3.7 Output Data FIFOs . . . . . . . . . . . . . . . . . . . . . . . . . . 64423.3.8 Window Compare . . . . . . . . . . . . . . . . . . . . . . . . . . 64623.3.9 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647

    23.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648

    23.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 65123.5.1 IADC_IPVERSION - IPVERSION . . . . . . . . . . . . . . . . . . . . . 65123.5.2 IADC_EN - Enable . . . . . . . . . . . . . . . . . . . . . . . . . . 65123.5.3 IADC_CTRL - Control . . . . . . . . . . . . . . . . . . . . . . . .65223.5.4 IADC_CMD - Command . . . . . . . . . . . . . . . . . . . . . . . . 65423.5.5 IADC_TIMER - Timer . . . . . . . . . . . . . . . . . . . . . . . . . 65523.5.6 IADC_STATUS - Status . . . . . . . . . . . . . . . . . . . . . . . . 65623.5.7 IADC_MASKREQ - Mask Request . . . . . . . . . . . . . . . . . . . .65723.5.8 IADC_STMASK - Scan Table Mask . . . . . . . . . . . . . . . . . . . . 65823.5.9 IADC_CMPTHR - Digital Window Comparator Threshold . . . . . . . . . . . . . 65823.5.10 IADC_IF - Interrupt Flags . . . . . . . . . . . . . . . . . . . . . . .65923.5.11 IADC_IEN - Interrupt Enable . . . . . . . . . . . . . . . . . . . . . . 66123.5.12 IADC_TRIGGER - Trigger . . . . . . . . . . . . . . . . . . . . . . . 66323.5.13 IADC_CFGx - Configuration . . . . . . . . . . . . . . . . . . . . . .66623.5.14 IADC_SCALEx - Scaling . . . . . . . . . . . . . . . . . . . . . . .66823.5.15 IADC_SCHEDx - Scheduling . . . . . . . . . . . . . . . . . . . . . . 66823.5.16 IADC_SINGLEFIFOCFG - Single FIFO Configuration . . . . . . . . . . . . .66923.5.17 IADC_SINGLEFIFODATA - Single FIFO Read Data . . . . . . . . . . . . . . 67023.5.18 IADC_SINGLEFIFOSTAT - Single FIFO Status . . . . . . . . . . . . . . . . 67023.5.19 IADC_SINGLEDATA - Single Data . . . . . . . . . . . . . . . . . . . . 67123.5.20 IADC_SCANFIFOCFG - Scan FIFO Configuration . . . . . . . . . . . . . . . 67223.5.21 IADC_SCANFIFODATA - Scan FIFO Read Data . . . . . . . . . . . . . . .67323.5.22 IADC_SCANFIFOSTAT - Scan FIFO Status . . . . . . . . . . . . . . . . . 673

    silabs.com | Building a more connected world. Rev. 0.5 | 16

  • 23.5.23 IADC_SCANDATA - Scan Data . . . . . . . . . . . . . . . . . . . . . 67423.5.24 IADC_SINGLE - Single Queue Port Selection . . . . . . . . . . . . . . . . 67523.5.25 IADC_SCANx - SCAN Entry . . . . . . . . . . . . . . . . . . . . . . 677

    24. GPIO - General Purpose Input/Output . . . . . . . . . . . . . . . . . . . . . 67924.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .679

    24.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .680

    24.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 68124.3.1 Pin Configuration . . . . . . . . . . . . . . . . . . . . . . . . . .68224.3.2 Alternate Port Control . . . . . . . . . . . . . . . . . . . . . . . .68424.3.3 Slew Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68424.3.4 Input Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68424.3.5 Configuration Lock . . . . . . . . . . . . . . . . . . . . . . . . . . 68424.3.6 EM2 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . 68424.3.7 EM4 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . 68424.3.8 EM4 Wakeup . . . . . . . . . . . . . . . . . . . . . . . . . . .68524.3.9 Debug Connections . . . . . . . . . . . . . . . . . . . . . . . . .68524.3.10 Interrupt Generation . . . . . . . . . . . . . . . . . . . . . . . . . 68624.3.11 Output to PRS . . . . . . . . . . . . . . . . . . . . . . . . . . . 68724.3.12 Peripheral Resource Routing . . . . . . . . . . . . . . . . . . . . . . 687

    24.4 Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . .692

    24.5 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693

    24.6 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 71024.6.1 GPIO_PORTA_CTRL - Port control . . . . . . . . . . . . . . . . . . . . 71024.6.2 GPIO_PORTA_MODEL - mode low . . . . . . . . . . . . . . . . . . . . 71124.6.3 GPIO_PORTA_DOUT - data out . . . . . . . . . . . . . . . . . . . . . 71524.6.4 GPIO_PORTA_DIN - data in . . . . . . . . . . . . . . . . . . . . . .71524.6.5 GPIO_PORTB_CTRL - Port control . . . . . . . . . . . . . . . . . . . . 71624.6.6 GPIO_PORTB_MODEL - mode low . . . . . . . . . . . . . . . . . . . . 71724.6.7 GPIO_PORTB_DOUT - data out . . . . . . . . . . . . . . . . . . . . . 71824.6.8 GPIO_PORTB_DIN - data in . . . . . . . . . . . . . . . . . . . . . .71924.6.9 GPIO_PORTC_CTRL - Port control . . . . . . . . . . . . . . . . . . . . 72024.6.10 GPIO_PORTC_MODEL - mode low . . . . . . . . . . . . . . . . . . .72124.6.11 GPIO_PORTC_DOUT - data out . . . . . . . . . . . . . . . . . . . .72424.6.12 GPIO_PORTC_DIN - data in . . . . . . . . . . . . . . . . . . . . . . 72524.6.13 GPIO_PORTD_CTRL - Port control . . . . . . . . . . . . . . . . . . .72624.6.14 GPIO_PORTD_MODEL - mode low . . . . . . . . . . . . . . . . . . .72724.6.15 GPIO_PORTD_DOUT - data out . . . . . . . . . . . . . . . . . . . .73024.6.16 GPIO_PORTD_DIN - data in . . . . . . . . . . . . . . . . . . . . . . 73024.6.17 GPIO_LOCK - main . . . . . . . . . . . . . . . . . . . . . . . . . 73124.6.18 GPIO_GPIOLOCKSTATUS - Lock Status . . . . . . . . . . . . . . . . .73124.6.19 GPIO_ABUSALLOC - A Bus allocation . . . . . . . . . . . . . . . . . .73224.6.20 GPIO_BBUSALLOC - B Bus allocation . . . . . . . . . . . . . . . . . .73424.6.21 GPIO_CDBUSALLOC - CD Bus allocation . . . . . . . . . . . . . . . . .73624.6.22 GPIO_EXTIPSELL - External Interrupt Port Select Low . . . . . . . . . . . . . 73824.6.23 GPIO_EXTIPINSELL - External Interrupt Pin Select Low . . . . . . . . . . . .74124.6.24 GPIO_EXTIRISE - External Interrupt Rising Edge Trigger . . . . . . . . . . . .743

    silabs.com | Building a more connected world. Rev. 0.5 | 17

  • 24.6.25 GPIO_EXTIFALL - External Interrupt Falling Edge Trigger . . . . . . . . . . . . 74424.6.26 GPIO_IF - Interrupt Flag . . . . . . . . . . . . . . . . . . . . . . .74424.6.27 GPIO_IEN - Interrupt Enable . . . . . . . . . . . . . . . . . . . . . . 74524.6.28 GPIO_EM4WUEN - main . . . . . . . . . . . . . . . . . . . . . . . 74524.6.29 GPIO_EM4WUPOL - New Register. . . . . . . . . . . . . . . . . . . . 74624.6.30 GPIO_DBGROUTEPEN - Debugger Route Pin enable . . . . . . . . . . . . .74724.6.31 GPIO_TRACEROUTEPEN - Trace Route Pin Enable . . . . . . . . . . . . .74824.6.32 GPIO_ACMP0_ROUTEEN - ACMP0 pin enable . . . . . . . . . . . . . . .74824.6.33 GPIO_ACMP0_ACMPOUTROUTE - ACMPOUT port/pin select . . . . . . . . . . 74924.6.34 GPIO_ACMP1_ROUTEEN - ACMP1 pin enable . . . . . . . . . . . . . . .74924.6.35 GPIO_ACMP1_ACMPOUTROUTE - ACMPOUT port/pin select . . . . . . . . . . 75024.6.36 GPIO_CMU_ROUTEEN - CMU pin enable . . . . . . . . . . . . . . . . .75024.6.37 GPIO_CMU_CLKIN0ROUTE - CLKIN0 port/pin select . . . . . . . . . . . . .75124.6.38 GPIO_CMU_CLKOUT0ROUTE - CLKOUT0 port/pin select . . . . . . . . . . .75124.6.39 GPIO_CMU_CLKOUT1ROUTE - CLKOUT1 port/pin select . . . . . . . . . . .75224.6.40 GPIO_CMU_CLKOUT2ROUTE - CLKOUT2 port/pin select . . . . . . . . . . .75224.6.41 GPIO_FRC_ROUTEEN - FRC pin enable . . . . . . . . . . . . . . . . .75324.6.42 GPIO_FRC_DCLKROUTE - DCLK port/pin select . . . . . . . . . . . . . . . 75324.6.43 GPIO_FRC_DFRAMEROUTE - DFRAME port/pin select . . . . . . . . . . . .75424.6.44 GPIO_FRC_DOUTROUTE - DOUT port/pin select . . . . . . . . . . . . . .75424.6.45 GPIO_I2C0_ROUTEEN - I2C0 pin enable . . . . . . . . . . . . . . . . .75524.6.46 GPIO_I2C0_SCLROUTE - SCL port/pin select . . . . . . . . . . . . . . . . 75524.6.47 GPIO_I2C0_SDAROUTE - SDA port/pin select . . . . . . . . . . . . . . . . 75624.6.48 GPIO_I2C1_ROUTEEN - I2C1 pin enable . . . . . . . . . . . . . . . . .75624.6.49 GPIO_I2C1_SCLROUTE - SCL port/pin select . . . . . . . . . . . . . . . . 75724.6.50 GPIO_I2C1_SDAROUTE - SDA port/pin select . . . . . . . . . . . . . . . . 75724.6.51 GPIO_LETIMER0_ROUTEEN - LETIMER pin enable . . . . . . . . . . . . .75824.6.52 GPIO_LETIMER0_OUT0ROUTE - OUT0 port/pin select . . . . . . . . . . . .75824.6.53 GPIO_LETIMER0_OUT1ROUTE - OUT1 port/pin select . . . . . . . . . . . .75924.6.54 GPIO_MODEM_ROUTEEN - MODEM pin enable . . . . . . . . . . . . . . . 75924.6.55 GPIO_MODEM_ANT0ROUTE - ANT0 port/pin select . . . . . . . . . . . . .76024.6.56 GPIO_MODEM_ANT1ROUTE - ANT1 port/pin select . . . . . . . . . . . . .76024.6.57 GPIO_MODEM_DCLKROUTE - DCLK port/pin select . . . . . . . . . . . . .76124.6.58 GPIO_MODEM_DINROUTE - DIN port/pin select . . . . . . . . . . . . . . . 76124.6.59 GPIO_MODEM_DOUTROUTE - DOUT port/pin select . . . . . . . . . . . . .76224.6.60 GPIO_PRS0_ROUTEEN - PRS0 pin enable. . . . . . . . . . . . . . . . . 76324.6.61 GPIO_PRS0_ASYNCH0ROUTE - ASYNCH0 port/pin select . . . . . . . . . . .76424.6.62 GPIO_PRS0_ASYNCH1ROUTE - ASYNCH1 port/pin select . . . . . . . . . . .76524.6.63 GPIO_PRS0_ASYNCH2ROUTE - ASYNCH2 port/pin select . . . . . . . . . . .76524.6.64 GPIO_PRS0_ASYNCH3ROUTE - ASYNCH3 port/pin select . . . . . . . . . . .76624.6.65 GPIO_PRS0_ASYNCH4ROUTE - ASYNCH4 port/pin select . . . . . . . . . . .76624.6.66 GPIO_PRS0_ASYNCH5ROUTE - ASYNCH5 port/pin select . . . . . . . . . . .76724.6.67 GPIO_PRS0_ASYNCH6ROUTE - ASYNCH6 port/pin select . . . . . . . . . . .76724.6.68 GPIO_PRS0_ASYNCH7ROUTE - ASYNCH7 port/pin select . . . . . . . . . . .76824.6.69 GPIO_PRS0_ASYNCH8ROUTE - ASYNCH8 port/pin select . . . . . . . . . . .76824.6.70 GPIO_PRS0_ASYNCH9ROUTE - ASYNCH9 port/pin select . . . . . . . . . . .76924.6.71 GPIO_PRS0_ASYNCH10ROUTE - ASYNCH10 port/pin select . . . . . . . . . .76924.6.72 GPIO_PRS0_ASYNCH11ROUTE - ASYNCH11 port/pin select . . . . . . . . . .770

    silabs.com | Building a more connected world. Rev. 0.5 | 18

  • 24.6.73 GPIO_PRS0_SYNCH0ROUTE - SYNCH0 port/pin select . . . . . . . . . . . .77024.6.74 GPIO_PRS0_SYNCH1ROUTE - SYNCH1 port/pin select . . . . . . . . . . . .77124.6.75 GPIO_PRS0_SYNCH2ROUTE - SYNCH2 port/pin select . . . . . . . . . . . .77124.6.76 GPIO_PRS0_SYNCH3ROUTE - SYNCH3 port/pin select . . . . . . . . . . . .77224.6.77 GPIO_TIMER0_ROUTEEN - TIMER0 pin enable . . . . . . . . . . . . . . . 77324.6.78 GPIO_TIMER0_CC0ROUTE - CC0 port/pin select . . . . . . . . . . . . . .77424.6.79 GPIO_TIMER0_CC1ROUTE - CC1 port/pin select . . . . . . . . . . . . . .77424.6.80 GPIO_TIMER0_CC2ROUTE - CC2 port/pin select . . . . . . . . . . . . . .77524.6.81 GPIO_TIMER0_CDTI0ROUTE - CDTI0 port/pin select . . . . . . . . . . . . .77524.6.82 GPIO_TIMER0_CDTI1ROUTE - CDTI1 port/pin select . . . . . . . . . . . . .77624.6.83 GPIO_TIMER0_CDTI2ROUTE - CDTI2 port/pin select . . . . . . . . . . . . .77624.6.84 GPIO_TIMER1_ROUTEEN - TIMER1 pin enable . . . . . . . . . . . . . . . 77724.6.85 GPIO_TIMER1_CC0ROUTE - CC0 port/pin select . . . . . . . . . . . . . .77824.6.86 GPIO_TIMER1_CC1ROUTE - CC1 port/pin select . . . . . . . . . . . . . .77824.6.87 GPIO_TIMER1_CC2ROUTE - CC2 port/pin select . . . . . . . . . . . . . .77924.6.88 GPIO_TIMER1_CDTI0ROUTE - CDTI0 port/pin select . . . . . . . . . . . . .77924.6.89 GPIO_TIMER1_CDTI1ROUTE - CDTI1 port/pin select . . . . . . . . . . . . .78024.6.90 GPIO_TIMER1_CDTI2ROUTE - CDTI2 port/pin select . . . . . . . . . . . . .78024.6.91 GPIO_TIMER2_ROUTEEN - TIMER2 pin enable . . . . . . . . . . . . . . . 78124.6.92 GPIO_TIMER2_CC0ROUTE - CC0 port/pin select . . . . . . . . . . . . . .78224.6.93 GPIO_TIMER2_CC1ROUTE - CC1 port/pin select . . . . . . . . . . . . . .78224.6.94 GPIO_TIMER2_CC2ROUTE - CC2 port/pin select . . . . . . . . . . . . . .78324.6.95 GPIO_TIMER2_CDTI0ROUTE - CDTI0 port/pin select . . . . . . . . . . . . .78324.6.96 GPIO_TIMER2_CDTI1ROUTE - CDTI1 port/pin select . . . . . . . . . . . . .78424.6.97 GPIO_TIMER2_CDTI2ROUTE - CDTI2 port/pin select . . . . . . . . . . . . .78424.6.98 GPIO_TIMER3_ROUTEEN - TIMER3 pin enable . . . . . . . . . . . . . . . 78524.6.99 GPIO_TIMER3_CC0ROUTE - CC0 port/pin select . . . . . . . . . . . . . .78624.6.100 GPIO_TIMER3_CC1ROUTE - CC1 port/pin select . . . . . . . . . . . . . .78624.6.101 GPIO_TIMER3_CC2ROUTE - CC2 port/pin select . . . . . . . . . . . . . .78724.6.102 GPIO_TIMER3_CDTI0ROUTE - CDTI0 port/pin select . . . . . . . . . . . . . 78724.6.103 GPIO_TIMER3_CDTI1ROUTE - CDTI1 port/pin select . . . . . . . . . . . . . 78824.6.104 GPIO_TIMER3_CDTI2ROUTE - CDTI2 port/pin select . . . . . . . . . . . . . 78824.6.105 GPIO_USART0_ROUTEEN - USART0 pin enable . . . . . . . . . . . . . .78924.6.106 GPIO_USART0_CSROUTE - CS port/pin select . . . . . . . . . . . . . . . 78924.6.107 GPIO_USART0_CTSROUTE - CTS port/pin select . . . . . . . . . . . . . . 79024.6.108 GPIO_USART0_RTSROUTE - RTS port/pin select . . . . . . . . . . . . . . 79024.6.109 GPIO_USART0_RXROUTE - RX port/pin select . . . . . . . . . . . . . . . 79124.6.110 GPIO_USART0_CLKROUTE - CLK port/pin select . . . . . . . . . . . . . . 79124.6.111 GPIO_USART0_TXROUTE - TX port/pin select . . . . . . . . . . . . . . . 79224.6.112 GPIO_USART1_ROUTEEN - USART1 pin enable . . . . . . . . . . . . . .79224.6.113 GPIO_USART1_CSROUTE - CS port/pin select . . . . . . . . . . . . . . . 79324.6.114 GPIO_USART1_CTSROUTE - CTS port/pin select . . . . . . . . . . . . . . 79324.6.115 GPIO_USART1_RTSROUTE - RTS port/pin select . . . . . . . . . . . . . . 79424.6.116 GPIO_USART1_RXROUTE - RX port/pin select . . . . . . . . . . . . . . . 79424.6.117 GPIO_USART1_CLKROUTE - CLK port/pin select . . . . . . . . . . . . . . 79524.6.118 GPIO_USART1_TXROUTE - TX port/pin select . . . . . . . . . . . . . . . 79524.6.119 GPIO_USART2_ROUTEEN - USART2 pin enable . . . . . . . . . . . . . .79624.6.120 GPIO_USART2_CSROUTE - CS port/pin select . . . . . . . . . . . . . . . 796

    silabs.com | Building a more connected world. Rev. 0.5 | 19

  • 24.6.121 GPIO_USART2_CTSROUTE - CTS port/pin select . . . . . . . . . . . . . . 79724.6.122 GPIO_USART2_RTSROUTE - RTS port/pin select . . . . . . . . . . . . . . 79724.6.123 GPIO_USART2_RXROUTE - RX port/pin select . . . . . . . . . . . . . . . 79824.6.124 GPIO_USART2_CLKROUTE - CLK port/pin select . . . . . . . . . . . . . . 79824.6.125 GPIO_USART2_TXROUTE - TX port/pin select . . . . . . . . . . . . . . . 799

    25. LDMA - Linked DMA . . . . . . . . . . . . . . . . . . . . . . . . . . .80025.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800

    25.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .801

    25.2 Block Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802

    25.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 80325.3.1 Channel Descriptor . . . . . . . . . . . . . . . . . . . . . . . . .80325.3.2 Channel Configuration . . . . . . . . . . . . . . . . . . . . . . . .80825.3.3 Channel Select Configuration . . . . . . . . . . . . . . . . . . . . . .80825.3.4 Starting a transfer . . . . . . . . . . . . . . . . . . . . . . . . . . 80825.3.5 Managing Transfer Errors . . . . . . . . . . . . . . . . . . . . . . .80925.3.6 Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80925.3.7 Channel descriptor data structure . . . . . . . . . . . . . . . . . . . . . 81125.3.8 Interaction with the EMU . . . . . . . . . . . . . . . . . . . . . . . . 81425.3.9 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81525.3.10 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815

    25.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81525.4.1 Single Direct Register DMA Transfer . . . . . . . . . . . . . . . . . . . . 81525.4.2 Descriptor Linked List . . . . . . . . . . . . . . . . . . . . . . . . . 81625.4.3 Single Descriptor Looped Transfer . . . . . . . . . . . . . . . . . . . .81825.4.4 Descriptor List with Looping . . . . . . . . . . . . . . . . . . . . . . . 81925.4.5 Simple Inter-Channel Synchronization . . . . . . . . . . . . . . . . . . .82025.4.6 2D Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82225.4.7 Ping-Pong . . . . . . . . . . . . . . . . . . . . . . . . . . . .82425.4.8 Scatter-Gather . . . . . . . . . . . . . . . . . . . . . . . . . . .825

    25.5 LDMA Source Selection Details . . . . . . . . . . . . . . . . . . . . . . . 82525.5.1 LDMA Source Selection Details . . . . . . . . . . . . . . . . . . . . .826

    25.6 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828

    25.7 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 83125.7.1 LDMA_IPVERSION - DMA Channel Request Clear Register . . . . . . . . . . .83125.7.2 LDMA_EN - DMA module enable disable Register . . . . . . . . . . . . . . . 83125.7.3 LDMA_CTRL - DMA Control Register . . . . . . . . . . . . . . . . . . .83225.7.4 LDMA_STATUS - DMA Status Register. . . . . . . . . . . . . . . . . . . 83325.7.5 LDMA_SYNCSWSET - DMA Sync Trig Sw Set Register . . . . . . . . . . . . . 83425.7.6 LDMA_SYNCSWCLR - DMA Sync Trig Sw Clear register . . . . . . . . . . . .83425.7.7 LDMA_SYNCHWEN - DMA Sync HW trigger enable register . . . . . . . . . . .83525.7.8 LDMA_SYNCHWSEL - DMA Sync HW trigger selection register . . . . . . . . . .83625.7.9 LDMA_SYNCSTATUS - DMA Sync Trigger Status Register . . . . . . . . . . . . 83725.7.10 LDMA_CHEN - DMA Channel Enable Register . . . . . . . . . . . . . . . . 83725.7.11 LDMA_CHDIS - DMA Channel Disable Register . . . . . . . . . . . . . . .83825.7.12 LDMA_CHSTATUS - DMA Channel Status Register . . . . . . . . . . . . . . 83825.7.13 LDMA_CHBUSY - DMA Channel Busy Register . . . . . . . . . . . . . . .839

    silabs.com | Building a more connected world. Rev. 0.5 | 20

  • 25.7.14 LDMA_CHDONE - DMA Channel Linking Done Register (Si... . . . . . . . . . . . 84025.7.15 LDMA_DBGHALT - DMA Channel Debug Halt Register . . . . . . . . . . . . . 84125.7.16 LDMA_SWREQ - DMA Channel Software Transfer Request.... . . . . . . . . . . 84125.7.17 LDMA_REQDIS - DMA Channel Request Disable Register . . . . . . . . . . . . 84225.7.18 LDMA_REQPEND - DMA Channel Requests Pending Register . . . . . . . . . .84225.7.19 LDMA_LINKLOAD - DMA Channel Link Load Register . . . . . . . . . . . . .84325.7.20 LDMA_REQCLEAR - DMA Channel Request Clear Register . . . . . . . . . . .84325.7.21 LDMA_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . .84425.7.22 LDMA_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . .84525.7.23 LDMA_CHx_CFG - Channel Configuration Register . . . . . . . . . . . . . .84625.7.24 LDMA_CHx_LOOP - Channel Loop Counter Register . . . . . . . . . . . . .84725.7.25 LDMA_CHx_CTRL - Channel Descriptor Control Word Register . . . . . . . . . . 84825.7.26 LDMA_CHx_SRC - Channel Descriptor Source Data Addres... . . . . . . . . . .85125.7.27 LDMA_CHx_DST - Channel Descriptor Destination Data A... . . . . . . . . . . . 85125.7.28 LDMA_CHx_LINK - Channel Descriptor Link Structure Add... . . . . . . . . . . . 852

    25.8 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852

    25.9 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 85325.9.1 LDMAXBAR_CHx_REQSEL - Channel Peripheral Request Select Reg... . . . . . . .853

    26. WDOG - Watch Dog Timer . . . . . . . . . . . . . . . . . . . . . . . . . 85426.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .854

    26.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .854

    26.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 85426.3.1 Clock Source . . . . . . . . . . . . . . . . . . . . . . . . . . .85526.3.2 Debug Functionality . . . . . . . . . . . . . . . . . . . . . . . . .85526.3.3 Energy Mode Handling . . . . . . . . . . . . . . . . . . . . . . . .85526.3.4 Warning Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . .85526.3.5 Window Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . .85626.3.6 PRS as Watchdog Clear . . . . . . . . . . . . . . . . . . . . . . . . 85726.3.7 PRS Rising Edge Monitoring . . . . . . . . . . . . . . . . . . . . . .857

    26.4 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858

    26.5 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 85926.5.1 WDOG_IPVERSION - IP Version Register . . . . . . . . . . . . . . . . . . 85926.5.2 WDOG_EN - Enable Register . . . . . . . . . . . . . . . . . . . . . . 85926.5.3 WDOG_CFG - Configuration Register . . . . . . . . . . . . . . . . . . .86026.5.4 WDOG_CMD - Command Register . . . . . . . . . . . . . . . . . . . .86326.5.5 WDOG_STATUS - Status Register . . . . . . . . . . . . . . . . . . . .86326.5.6 WDOG_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . .86426.5.7 WDOG_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . . . 86526.5.8 WDOG_LOCK - Lock Register . . . . . . . . . . . . . . . . . . . . . . 86626.5.9 WDOG_SYNCBUSY - Synchronization Busy Register . . . . . . . . . . . . . . 866

    27. Revision History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867

    Appendix 1. Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . .869

    silabs.com | Building a more connected world. Rev. 0.5 | 21

  • 1. About This Document

    1.1 Introduction

    This document contains reference material for the EFR32xG21 devices. All modules and peripherals in the EFR32xG21 devices aredescribed in general terms. Not all modules are present in all devices and the feature set for each device might vary. Such differences,including pinout, are covered in the device data sheets.

    Reference ManualAbout This Document

    silabs.com | Building a more connected world. Rev. 0.5 | 22

  • 1.2 Conventions

    Register Names

    Register names are given with a module name prefix followed by the short register name:

    TIMERn_CTRL - Control Register

    The "n" denotes the module number for modules which can exist in more than one instance.

    Some registers are grouped which leads to a group name following the module prefix:

    GPIO_Px_DOUT - Port Data Out Register

    The "x" denotes the different ports.

    Bit Fields

    Registers contain one or more bit fields which can be 1 to 32 bits wide. Bit fields wider than 1 bit are given with start (x) and stop (y) bit[y:x].

    Bit fields containing more than one bit are unsigned integers unless otherwise is specified.

    Unspecified bit field settings must not be used, as this may lead to unpredictable behaviour.

    Address

    The address for each register can be found by adding the base address of the module found in the Memory Map (see Figure 4.1 Sys-tem Address Space with Core and Code Space Listing on page 41), and the offset address for the register (found in module RegisterMap).

    Access Type

    The register access types used in the register descriptions are explained in Table 1.1 Register Access Types on page 23.

    Table 1.1. Register Access Types

    Access Type Description

    R Read only. Writes are ignored

    RW Readable and writable

    RW1 Readable and writable. Only writes to 1 have effect

    (R)W1 Sometimes readable. Only writes to 1 have effect. Currently onlyused for IF_CLEAR registers (see 3.3.1 Interrupt Operation)

    W1 Read value undefined. Only writes to 1 have effect

    W Write only. Read value undefined.

    RWH Readable, writable, and updated by hardware

    RW(nB), RWH(nB), etc. "(nB)" suffix indicates that register explicitly does not support pe-ripheral bit set or clear (see 4. Memory and Bus System)

    RW(a), R(a), etc. "(a)" suffix indicates that reading the register cause an action anday alter the register value.

    Number format

    0x prefix is used for hexadecimal numbers

    0b prefix is used for binary numbers

    Numbers without prefix are in decimal representation.

    Reserved

    Registers and bit fields marked with reserved are reserved for future use. These should be written to 0 unless otherwise stated in theRegister Description. Reserved bits might be read as 1 in future devices.

    Reference ManualAbout This Document

    silabs.com | Building a more connected world. Rev. 0.5 | 23

  • Reset Value

    The reset value denotes the value after reset.

    Registers denoted with X have unknown value out of reset and need to be initialized before use. Note that read-modify-write operationson these registers before they are initialized results in undefined register values.

    Pin Connections

    Pin connections are given with a module prefix followed by a short pin name:

    CMU_CLKOUT1 (Clock management unit, clock output pin number 1)

    The location for the pin names given in the module documentation can be found in the device-specific datasheet.

    1.3 Related Documentation

    Further documentation on the EFR32xG21 devices and the ARM Cortex-M33 can be found at the Silicon Labs and ARM web pages:

    www.silabs.com

    www.arm.com

    Reference ManualAbout This Document

    silabs.com | Building a more connected world. Rev. 0.5 | 24

    http://www.silabs.comhttp://www.arm.com

  • 2. System Overview

    43210

    Quick Facts

    What?

    The EFR32 Wireless Gecko is a highly integrated,configurable and low power wireless System-on-Chip (SoC) with a robust set of MCU and radio pe-ripherals.

    Why?

    The Radio enables support for Bluetooth Smart(BLE), ZigBee, Thread and Proprietary Protocols in2.4 GHz frequency bands while the MCU system al-lows customized protocols and applications to runefficiently.

    How?

    Dynamic or fixed packet lengths, optional addressrecognition, and flexible CRC and security schemesmakes the EFR32xG21 ideal for many wireless IoTapplications. High performance analog and digitalperipherals allows complete applications to run onthe EFR32xG21 SoC.

    Reference ManualSystem Overview

    silabs.com | Building a more connected world. Rev. 0.5 | 25

  • 2.1 Introduction

    The high level features of EFR32xG21 include:

    • High performance radio transceiver• Low power consumption in transmit, receive, and standby modes• Excellent receiver performance, including sensitivity, selectivity, and blocking• Excellent transmitter performance, including programmable output power, low phase noise, and power-amplifier (PA) ramping

    • Configurable protocol support, including standards and customer developed protocols• Preamble and frame synchronization insertion in transmit, and recovery in receive• Flexible CRC support, including configurable polynomial and multiple CRCs for single data frames• Basic address filtering performed in hardware

    • High performance, low power MCU system• High Performance 32-bit ARM Cortex-M33 CPU• Flexible and efficient energy management• Complete set of digital peripherals• Peripheral Reflex System (PRS)• Precision analog interfaces

    • Low external component count• Fully integrated 2.4 GHz BALUN• Integrated tunable crystal loading capacitors

    • Security• Secure Boot with Root of Trust and Secure Loader (RTSL)• Hardware Cryptographic Acceleration with DPA countermeasures for AES128/256, SHA-1, SHA-2 (up to 256-bit), ECC (up to

    256-bit), ECDSA, ECDH and J-Pake• True Random Number Generator (TRNG) compliant with NIST SP800-90 and AIS-31• ARM® TrustZone®• Secure Debug with lock/unlock

    A further introduction to the MCU and radio system is included in the following sections.

    Note: Detailed performance numbers, current consumption, pinout etc. is available in the device datasheet.

    Reference ManualSystem Overview

    silabs.com | Building a more connected world. Rev. 0.5 | 26

  • 2.2 Block Diagrams

    The block diagram for the EFR32xG21 System-On-Chip series is shown in (Figure 2.1 EFR32xG21 System-On-Chip Block Diagram onpage 27).

    Security

    Secure Debug Authentication

    Timers and Triggers

    32-bit bus

    Peripheral Reflex System

    Serial Interfaces

    I/O Ports Analog I/F

    Lowest power mode with peripheral operational:

    USART

    I2C

    External Interrupts

    General Purpose I/O

    Pin Reset

    Pin Wakeup

    IADC

    Analog Comparator

    EM4—Shutoff

    Energy Management

    Brown-Out Detector

    Voltage Regulator

    Power-On Reset

    Clock Management

    HF Crystal Oscillator

    LF Crystal Oscillator

    LFRC Oscillator

    HFRC Oscillator

    EM23 HF RC Oscillator

    Crypto Acceleration

    Secure ElementUltra LF RC Oscillator

    Core / Memory

    ARM CortexTM M33 processorwith DSP extensions,FPU and TrustZone

    ETM Secure Debug RAM Memory LDMA Controller

    Flash Program Memory

    Real Time Capture Counter

    Timer/Counter

    Low Energy Timer Watchdog Timer

    Protocol Timer

    EM3—StopEM2—Deep SleepEM1—SleepEM0—Active

    True Random Number Generator

    Fast StartupRC Oscillator

    Back-Up Real Time Counter

    Radio Transceiver

    DEMOD

    AGC

    IFADC

    CR

    C

    BU

    FC

    MOD

    FRC

    RA

    CFrequency Synth

    PGA

    RF FrontendI

    Q

    PA

    LNA

    PA

    EUI

    Secure Boot with Root of Trust and

    Secure Loader

    DPA Countermeasures

    Figure 2.1. EFR32xG21 System-On-Chip Block Diagram

    Reference ManualSystem Overview

    silabs.com | Building a more connected world. Rev. 0.5 | 27

  • 2.3 MCU Features overview

    • ARM Cortex-M33 CPU platform• High Performance 32-bit processor @ up to 80 MHz• DSP instruction support and floating-point unit• Memory Protection Unit• Wake-up Interrupt Controller

    • Flexible Energy Management System• 5 Energy Modes from EM0 to EM4 provide flexibility between higher performance and low power• Power routing configurations including DCDC control• Voltage Monitoring and Brown Out Detection• State Retention

    • Up to 1024 kB Flash• Read-while-write support

    • Up to 96 kB RAM• Up to 20 General Purpose I/O pins

    • Configurable push-pull, open-drain, pull-up/down, input filter, slew rate• Configurable peripheral I/O locations• 16 asynchronous external interrupts• Output state retention and wake-up from Shutoff Mode

    • 8 Channel DMA Controller• Alternate/primary descriptors with scatter-gather/ping-pong operation

    • 16 Channel Peripheral Reflex System (PRS)• Autonomous inter-peripheral signaling enables smart operation in low energy modes• 12 asynchronous channels with configurable logic functionality• 4 synchronous channels for high-speed signalling between TIMER and IADC

    • General Purpose Cyclic Redundancy Check (GPCRC)• Programmable 16-bit polynomial, fixed 32-bit polynomial• The GPCRC module is in addition to the radio CRC

    • Communication interfaces• 3 × Universal Synchronous/Asynchronous Receiver/Transmitter (USART)

    • UART/SPI/SmartCard (ISO 7816)/IrDA/I2S• Triple buffered full/half-duplex operation• Hardware flow control• 4-16 data bits

    • 2 × I2C Interface (I2C) with SMBus support• Address recognition in EM3 Stop Mode

    • Timers/Counters• 2 × 16-bit Timer/Counter (TIMER)

    • Up to 3 Compare/Capture/PWM channels• Dead-Time Insertion

    • 32-bit Timer/Counter (TIMER)• Up to 3 Compare/Capture/PWM channels

    • 24-bit Low Energy Timer (LETIMER)• 32-bit Ultra Low Energy Backup Real Time Counter (BURTC) for periodic wake-up from any Energy Mode• 32-bit Real-Time Capture Counter (RTCC)• 32-bit Back-Up R