994
EFR32xG22 Wireless Gecko Reference Manual The EFR32xG22 Wireless Gecko SoC includes the EFR32BG22, EFR32FG22, and EFR32MG22 Wireless Gecko families. The EFR32xG22 improves processing capability with a Cortex M33 core, while providing for lower active current for both the MCU and radio. This low power and application optimized device supports Bluetooth 5.2 (including Direction Finding), Proprietary 2.4 GHz & Zigbee PRO/Green Power protocols. The EFR32xG22 solution provides industry-leading energy efficiency, processing capa- bility, and RF performance in a small form factor for IoT connected applications. KEY FEATURES 32-bit ARM® Cortex M33 core with up to 76.8 MHz maximum operating frequency Scalable Memory and Radio configuration options available in QFN packaging Energy-efficient radio core with low active and sleep currents Secure Boot with Root of Trust and Secure Loader (RTSL) Integrated PA with up to 6 dBm transmit power Timers and Triggers 32-bit bus Peripheral Reflex System Serial Interfaces I/O Ports Analog I/F Lowest power mode with peripheral operational: USART EUART External Interrupts General Purpose I/O Pin Reset Pin Wakeup ADC EM4—Shutoff Energy Management Brown-Out Detector Voltage Regulator Power-On Reset Security Clock Management HF Crystal Oscillator LF Crystal Oscillator Precision LF RC Oscillator HF RC Oscillator Crypto Acceleration Ultra LF RC Oscillator Core / Memory ARM Cortex TM M33 processor with DSP extensions, FPU and TrustZone ETM Debug Interface 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 I 2 C PDM DC-DC Converter Temperature Sensor Radio Subsystem RFSENSE w/ OOK Detect RX/TX Frontend with Integrated PA Frequency Synthesizer ARM Cortex TM M0+ Radio Controller CRC BUFC RAM FRC DEMOD AGC IFADC MOD silabs.com | Building a more connected world. Rev. 1.0

EFR32xG22 Wireless Gecko Reference Manual · EFR32xG22 Wireless Gecko Reference Manual The EFR32xG22 Wireless Gecko SoC includes the EFR32BG22, EFR32FG22, and EFR32MG22 Wireless Gecko

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

  • EFR32xG22 Wireless GeckoReference Manual

    The EFR32xG22 Wireless Gecko SoC includes the EFR32BG22, EFR32FG22, andEFR32MG22 Wireless Gecko families. The EFR32xG22 improves processing capabilitywith a Cortex M33 core, while providing for lower active current for both the MCU andradio. This low power and application optimized device supports Bluetooth 5.2 (includingDirection Finding), Proprietary 2.4 GHz & Zigbee PRO/Green Power protocols.

    The EFR32xG22 solution provides industry-leading energy efficiency, processing capa-bility, and RF performance in a small form factor for IoT connected applications.

    KEY FEATURES

    • 32-bit ARM® Cortex M33 core with up to76.8 MHz maximum operating frequency

    • Scalable Memory and Radio configurationoptions available in QFN packaging

    • Energy-efficient radio core with low activeand sleep currents

    • Secure Boot with Root of Trust andSecure Loader (RTSL)

    • Integrated PA with up to 6 dBm transmitpower

    Timers and Triggers

    32-bit bus

    Peripheral Reflex System

    Serial Interfaces

    I/O Ports Analog I/F

    Lowest power mode with peripheral operational:

    USART

    EUART

    External Interrupts

    General Purpose I/O

    Pin Reset

    Pin Wakeup

    ADC

    EM4—Shutoff

    Energy Management

    Brown-Out Detector

    Voltage Regulator

    Power-On Reset

    SecurityClock Management

    HF Crystal Oscillator

    LF Crystal Oscillator

    Precision LFRC Oscillator

    HFRC Oscillator

    Crypto Acceleration

    Ultra LF RC Oscillator

    Core / Memory

    ARM CortexTM M33 processorwith DSP extensions,FPU and TrustZone

    ETM Debug Interface 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

    I2C

    PDM

    DC-DC Converter

    Temperature Sensor

    Radio Subsystem

    RFSENSEw/ OOK Detect

    RX/TX Frontend with Integrated PA

    Frequency Synthesizer

    ARM CortexTM M0+ Radio Controller

    CRC

    BUFC RAM

    FRC

    DEMOD

    AGC

    IFADC

    MOD

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

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

    1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

    1.2 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25

    1.3 Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . .26

    2. System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

    2.2 Block Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

    2.3 MCU Features overview . . . . . . . . . . . . . . . . . . . . . . . . . . .29

    3. System Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

    3.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

    3.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . .323.3.1 Interrupt Operation . . . . . . . . . . . . . . . . . . . . . . . . . . .333.3.2 TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333.3.3 Interrupt Request lines (IRQ) . . . . . . . . . . . . . . . . . . . . . . . .34

    4. Memory and Bus System . . . . . . . . . . . . . . . . . . . . . . . . . . 364.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36

    4.2 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . .374.2.1 Bus Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .384.2.2 Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .394.2.3 SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .394.2.4 Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

    5. Radio Transceiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46

    5.1.1 RF Frequency Synthesizer . . . . . . . . . . . . . . . . . . . . . . . .465.1.2 Modulation Modes . . . . . . . . . . . . . . . . . . . . . . . . . . .475.1.3 Transmit Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . .475.1.4 Receive Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . .475.1.5 Data Buffering. . . . . . . . . . . . . . . . . . . . . . . . . . . . .475.1.6 Unbuffered Data Transfer . . . . . . . . . . . . . . . . . . . . . . . . .475.1.7 Frame Format Support . . . . . . . . . . . . . . . . . . . . . . . . . .485.1.8 Hardware CRC Support . . . . . . . . . . . . . . . . . . . . . . . . .485.1.9 Convolutional Encoding / Decoding . . . . . . . . . . . . . . . . . . . . .485.1.10 Binary Block Encoding / Decoding . . . . . . . . . . . . . . . . . . . . .485.1.11 Data Encryption and Authentication . . . . . . . . . . . . . . . . . . . . .495.1.12 RFSENSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .495.1.13 RF Test Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . .49

    6. MSC - Memory System Controller . . . . . . . . . . . . . . . . . . . . . . 506.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50

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

  • 6.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51

    6.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . .516.3.1 Ram Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . .516.3.2 Instruction Cache. . . . . . . . . . . . . . . . . . . . . . . . . . . .526.3.3 Device Information (DI) Page . . . . . . . . . . . . . . . . . . . . . . .526.3.4 User Data (UD) Page Description . . . . . . . . . . . . . . . . . . . . . .526.3.5 Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .526.3.6 Post-reset Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . .526.3.7 Flash Startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . .526.3.8 Flash EM0 / EM1 Power Down . . . . . . . . . . . . . . . . . . . . . . .536.3.9 Wait-states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .536.3.10 Cortex-M33 If-Then Block Folding. . . . . . . . . . . . . . . . . . . . . .536.3.11 Line Buffering (Prefetch) . . . . . . . . . . . . . . . . . . . . . . . . .536.3.12 Erase and Write Operations. . . . . . . . . . . . . . . . . . . . . . . .54

    6.4 DEVINFO - Device Info Page . . . . . . . . . . . . . . . . . . . . . . . . .556.4.1 DEVINFO Register Map . . . . . . . . . . . . . . . . . . . . . . . . .566.4.2 DEVINFO Register Description . . . . . . . . . . . . . . . . . . . . . . .57

    6.5 ICACHE - Instruction Cache . . . . . . . . . . . . . . . . . . . . . . . . .836.5.1 Cache Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . .846.5.2 Performance Measurement . . . . . . . . . . . . . . . . . . . . . . . .846.5.3 ICACHE Register Map . . . . . . . . . . . . . . . . . . . . . . . . . .856.5.4 ICACHE Register Description . . . . . . . . . . . . . . . . . . . . . . .86

    6.6 SYSCFG - System Configuration . . . . . . . . . . . . . . . . . . . . . . . .926.6.1 Ram Retention . . . . . . . . . . . . . . . . . . . . . . . . . . . .926.6.2 ECC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .936.6.3 Software Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . .936.6.4 Bus faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .936.6.5 SYSCFG Register Map. . . . . . . . . . . . . . . . . . . . . . . . . .946.6.6 SYSCFG Register Description . . . . . . . . . . . . . . . . . . . . . . .97

    6.7 MSC Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . .110

    6.8 MSC Register Description . . . . . . . . . . . . . . . . . . . . . . . . .1126.8.1 MSC_IPVERSION - IP version ID . . . . . . . . . . . . . . . . . . . . .1126.8.2 MSC_READCTRL - Read Control Register . . . . . . . . . . . . . . . . . . 1136.8.3 MSC_WRITECTRL - Write Control Register. . . . . . . . . . . . . . . . . . 1146.8.4 MSC_WRITECMD - Write Command Register . . . . . . . . . . . . . . . . . 1156.8.5 MSC_ADDRB - Page Erase/Write Address Buffer . . . . . . . . . . . . . . . . 1166.8.6 MSC_WDATA - Write Data Register . . . . . . . . . . . . . . . . . . . .1166.8.7 MSC_STATUS - Status Register . . . . . . . . . . . . . . . . . . . . .1176.8.8 MSC_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . . .1186.8.9 MSC_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . . . . 1196.8.10 MSC_USERDATASIZE - User Data Region Size Register . . . . . . . . . . . .1206.8.11 MSC_CMD - Command Register . . . . . . . . . . . . . . . . . . . . . 1206.8.12 MSC_LOCK - Configuration Lock Register . . . . . . . . . . . . . . . . . . 1216.8.13 MSC_MISCLOCKWORD - Mass erase and User data page lock word . . . . . . . .1216.8.14 MSC_PWRCTRL - Power control register . . . . . . . . . . . . . . . . . . 1226.8.15 MSC_PAGELOCK0 - Main space page 0-31 lock word . . . . . . . . . . . . .1236.8.16 MSC_PAGELOCK1 - Main space page 32-63 lock word . . . . . . . . . . . . . 123

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

  • 7. DBG - Debug Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

    7.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

    7.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . .1257.3.1 Debug Pins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1257.3.2 Embedded Trace Macrocell V3.5 (ETM) . . . . . . . . . . . . . . . . . . . 1257.3.3 Debug and EM2/EM3 . . . . . . . . . . . . . . . . . . . . . . . . . 125

    7.4 DBG Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . .126

    7.5 DBG Register Description . . . . . . . . . . . . . . . . . . . . . . . . .1267.5.1 DBG_DCIWDATA - Write Data . . . . . . . . . . . . . . . . . . . . . . 1267.5.2 DBG_DCIRDATA - Read Data . . . . . . . . . . . . . . . . . . . . . .1267.5.3 DBG_DCISTATUS - Status . . . . . . . . . . . . . . . . . . . . . . .1277.5.4 DBG_DCIID - Identification . . . . . . . . . . . . . . . . . . . . . . .1277.5.5 DBG_SYSCOM0 - Communication Status . . . . . . . . . . . . . . . . . .1287.5.6 DBG_SYSCOM1 - Communication Status . . . . . . . . . . . . . . . . . .1297.5.7 DBG_SYSPWR0 - Power Status . . . . . . . . . . . . . . . . . . . . .1307.5.8 DBG_SYSCLK0 - Clocking Status . . . . . . . . . . . . . . . . . . . . . 1317.5.9 DBG_SYSID - Identification . . . . . . . . . . . . . . . . . . . . . . .133

    8. CMU - Clock Management Unit . . . . . . . . . . . . . . . . . . . . . . . . 1348.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

    8.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

    8.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . .1358.3.1 System Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . .1378.3.2 Switching Clock Source . . . . . . . . . . . . . . . . . . . . . . . .1408.3.3 RC Oscillator Calibration . . . . . . . . . . . . . . . . . . . . . . . .1428.3.4 Energy Modes . . . . . . . . . . . . . . . . . . . . . . . . . . .1458.3.5 Clock Output on a Pin . . . . . . . . . . . . . . . . . . . . . . . . .1458.3.6 Clock Input from a Pin . . . . . . . . . . . . . . . . . . . . . . . . . 1468.3.7 Clock Output on PRS . . . . . . . . . . . . . . . . . . . . . . . . .1468.3.8 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1468.3.9 Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146

    8.4 CMU Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . .147

    8.5 CMU 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_CLKEN0 - Clock Enable Register 0 . . . . . . . . . . . . . . . . . . 1578.5.11 CMU_CLKEN1 - Clock Enable Register 1 . . . . . . . . . . . . . . . . . . 1598.5.12 CMU_SYSCLKCTRL - System Clock Control . . . . . . . . . . . . . . . . . 161

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

  • 8.5.13 CMU_TRACECLKCTRL - Debug Trace Clock Control . . . . . . . . . . . . . . 1628.5.14 CMU_EXPORTCLKCTRL - Export Clock Control . . . . . . . . . . . . . . .1638.5.15 CMU_DPLLREFCLKCTRL - Digital PLL Reference Clock Control . . . . . . . . . . 1658.5.16 CMU_EM01GRPACLKCTRL - EM01 Peripheral Group A Clock Control . . . . . . . . 1658.5.17 CMU_EM01GRPBCLKCTRL - EM01 Peripheral Group B Clock Control . . . . . . . . 1668.5.18 CMU_EM23GRPACLKCTRL - EM23 Peripheral Group A Clock Control . . . . . . . . 1678.5.19 CMU_EM4GRPACLKCTRL - EM4 Peripheral Group A Clock Control . . . . . . . . . 1678.5.20 CMU_IADCCLKCTRL - IADC Clock Control . . . . . . . . . . . . . . . . .1688.5.21 CMU_WDOG0CLKCTRL - Watchdog0 Clock Control . . . . . . . . . . . . . . 1688.5.22 CMU_EUART0CLKCTRL - UART Clock Control . . . . . . . . . . . . . . . . 1698.5.23 CMU_RTCCCLKCTRL - RTCC Clock Control. . . . . . . . . . . . . . . . . 1698.5.24 CMU_CRYPTOACCCLKCTRL - CRYPTOACC Clock Control . . . . . . . . . . .1708.5.25 CMU_RADIOCLKCTRL - Radio Clock Control . . . . . . . . . . . . . . . .170

    9. Oscillators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1719.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

    9.2 HFXO - High Frequency Crystal Oscillator . . . . . . . . . . . . . . . . . . . . 1719.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .1719.2.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1719.2.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 1729.2.4 HFXO Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . 1759.2.5 HFXO Register Description . . . . . . . . . . . . . . . . . . . . . . .176

    9.3 HFRCO - High-Frequency RC Oscillator . . . . . . . . . . . . . . . . . . . .1879.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .1879.3.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1879.3.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 1879.3.4 HFRCO Register Map . . . . . . . . . . . . . . . . . . . . . . . . . 1909.3.5 HFRCO Register Description . . . . . . . . . . . . . . . . . . . . . . . 191

    9.4 DPLL - Digital Phased Locked Loop . . . . . . . . . . . . . . . . . . . . . . 1959.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .1959.4.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1959.4.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 1959.4.4 DPLL Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . 1979.4.5 DPLL Register Description . . . . . . . . . . . . . . . . . . . . . . .198

    9.5 LFXO - Low-Frequency Crystal Oscillator . . . . . . . . . . . . . . . . . . . . 2039.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .2039.5.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2039.5.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 2039.5.4 LFXO Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . 2059.5.5 LFXO Register Description . . . . . . . . . . . . . . . . . . . . . . .206

    9.6 LFRCO - Low-Frequency RC Oscillator . . . . . . . . . . . . . . . . . . . .2139.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .2139.6.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2139.6.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 2139.6.4 LFRCO Register Map . . . . . . . . . . . . . . . . . . . . . . . . .2169.6.5 LFRCO Register Description . . . . . . . . . . . . . . . . . . . . . . . 217

    9.7 FSRCO - Fast Start RCO . . . . . . . . . . . . . . . . . . . . . . . . .224

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

  • 9.7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .2249.7.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2249.7.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 2249.7.4 FSRCO Register Map . . . . . . . . . . . . . . . . . . . . . . . . .2249.7.5 FSRCO Register Description . . . . . . . . . . . . . . . . . . . . . . . 225

    9.8 ULFRCO - Ultra Low Frequency RC Oscillator . . . . . . . . . . . . . . . . . .2259.8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .2259.8.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2259.8.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . 225

    10. SMU - Security Management Unit . . . . . . . . . . . . . . . . . . . . . .22610.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226

    10.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226

    10.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 22710.3.1 Bus Level Security . . . . . . . . . . . . . . . . . . . . . . . . . . 22710.3.2 Privileged Access Control . . . . . . . . . . . . . . . . . . . . . . .22810.3.3 Secure Access Control . . . . . . . . . . . . . . . . . . . . . . . .22810.3.4 ARM TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . 22910.3.5 Configuring Masters . . . . . . . . . . . . . . . . . . . . . . . . .22910.3.6 Configuring Peripherals . . . . . . . . . . . . . . . . . . . . . . . .22910.3.7 Configuring Memory . . . . . . . . . . . . . . . . . . . . . . . . .23010.3.8 Cortex-M33 Integration . . . . . . . . . . . . . . . . . . . . . . . .23010.3.9 Exception Handling . . . . . . . . . . . . . . . . . . . . . . . . .23110.3.10 SMU Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . .231

    10.4 SMU Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . .232

    10.5 SMU Register Description . . . . . . . . . . . . . . . . . . . . . . . . . 23410.5.1 SMU_IPVERSION - IP Version . . . . . . . . . . . . . . . . . . . . .23410.5.2 SMU_STATUS - Status . . . . . . . . . . . . . . . . . . . . . . . .23510.5.3 SMU_LOCK - Lock. . . . . . . . . . . . . . . . . . . . . . . . . . 23510.5.4 SMU_IF - Interrupt Flag . . . . . . . . . . . . . . . . . . . . . . . . 23610.5.5 SMU_IEN - Interrupt Enable . . . . . . . . . . . . . . . . . . . . . .23710.5.6 SMU_M33CTRL - M33 Control. . . . . . . . . . . . . . . . . . . . . . 23810.5.7 SMU_PPUPATD0 - PPU PATD Register 0. . . . . . . . . . . . . . . . . . 23910.5.8 SMU_PPUPATD1 - PPU PATD Register 1. . . . . . . . . . . . . . . . . . 24110.5.9 SMU_PPUSATD0 - PPU SATD Register 0. . . . . . . . . . . . . . . . . . 24310.5.10 SMU_PPUSATD1 - PPU SATD Register 1 . . . . . . . . . . . . . . . . .24510.5.11 SMU_PPUFS - PPU Fault Status . . . . . . . . . . . . . . . . . . . .24610.5.12 SMU_BMPUPATD0 - BMPU PATD Register 0 . . . . . . . . . . . . . . . . 24710.5.13 SMU_BMPUSATD0 - BMPU SATD Register 0 . . . . . . . . . . . . . . . . 24810.5.14 SMU_BMPUFS - BMPU Fault Status . . . . . . . . . . . . . . . . . . .24910.5.15 SMU_BMPUFSADDR - BMPU Fault Status Address . . . . . . . . . . . . . . 24910.5.16 SMU_ESAURTYPES0 - ESAU Region Types Register 0 . . . . . . . . . . . .25010.5.17 SMU_ESAURTYPES1 - ESAU Region Types Register 1 . . . . . . . . . . . .25010.5.18 SMU_ESAUMRB01 - ESAU Movable Region Boundary 0-1 . . . . . . . . . . .25110.5.19 SMU_ESAUMRB12 - ESAU Movable Region Boundary 1-2 . . . . . . . . . . .25110.5.20 SMU_ESAUMRB45 - ESAU Movable Region Boundary 4-5 . . . . . . . . . . .25210.5.21 SMU_ESAUMRB56 - ESAU Movable Region Boundary 5-6 . . . . . . . . . . .252

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

  • 11. CRYPTOACC - Cryptographic Accelerator . . . . . . . . . . . . . . . . . . . 25311.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253

    11.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253

    11.3 Cryptographic Functions . . . . . . . . . . . . . . . . . . . . . . . . .25311.3.1 CRYPTOACC_PKCTRL Register Map . . . . . . . . . . . . . . . . . . . 25411.3.2 CRYPTOACC_PKCTRL Register Description. . . . . . . . . . . . . . . . . 254

    11.4 DMA Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25911.4.1 CRYPTOACC Register Map . . . . . . . . . . . . . . . . . . . . . .25911.4.2 CRYPTOACC Register Description . . . . . . . . . . . . . . . . . . . .260

    11.5 Random Number Generation . . . . . . . . . . . . . . . . . . . . . . . . 27311.5.1 CRYPTOACC_RNGCTRL Register Map . . . . . . . . . . . . . . . . . .27311.5.2 CRYPTOACC_RNGCTRL Register Description . . . . . . . . . . . . . . . . 274

    12. EMU - Energy Management Unit . . . . . . . . . . . . . . . . . . . . . .28512.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

    12.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286

    12.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 28712.3.1 Energy Modes . . . . . . . . . . . . . . . . . . . . . . . . . . .28812.3.2 Entering Low Energy Modes . . . . . . . . . . . . . . . . . . . . . .29212.3.3 Exiting a Low Energy Mode . . . . . . . . . . . . . . . . . . . . . .29312.3.4 Power Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . 29412.3.5 Voltage Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . 29412.3.6 EM0 / EM1 Peripheral Register Retention . . . . . . . . . . . . . . . . . . 29512.3.7 Power Configurations . . . . . . . . . . . . . . . . . . . . . . . . . 29512.3.8 DC-to-DC Interface . . . . . . . . . . . . . . . . . . . . . . . . .29812.3.9 EFP Communication . . . . . . . . . . . . . . . . . . . . . . . . .30112.3.10 Brown Out Detector (BOD) . . . . . . . . . . . . . . . . . . . . . .30212.3.11 Reset Management Unit . . . . . . . . . . . . . . . . . . . . . . .30312.3.12 Temperature Sensor . . . . . . . . . . . . . . . . . . . . . . . . . 30512.3.13 Register Resets . . . . . . . . . . . . . . . . . . . . . . . . . .30512.3.14 Register Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . 306

    12.4 EMU Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . .307

    12.5 EMU Register Description . . . . . . . . . . . . . . . . . . . . . . . . . 30912.5.1 EMU_DECBOD - DECOUPLE LVBOD Control register . . . . . . . . . . . . .30912.5.2 EMU_BOD3SENSE - BOD3SENSE Control register . . . . . . . . . . . . . .31012.5.3 EMU_VREGVDDCMPCTRL - DC-DC VREGVDD Comparator Control Register . . . . . 31012.5.4 EMU_PD1PARETCTRL - PD1 Partial Retention Control . . . . . . . . . . . . . 31112.5.5 EMU_LOCK - EMU Configuration lock register . . . . . . . . . . . . . . . .31112.5.6 EMU_IF - Interrupt Flags . . . . . . . . . . . . . . . . . . . . . . . . 31212.5.7 EMU_IEN - Interrupt Enables . . . . . . . . . . . . . . . . . . . . . .31312.5.8 EMU_EM4CTRL - EM4 Control . . . . . . . . . . . . . . . . . . . . .31412.5.9 EMU_CMD - EMU Command register . . . . . . . . . . . . . . . . . . .31512.5.10 EMU_CTRL - EMU Control register . . . . . . . . . . . . . . . . . . . . 31612.5.11 EMU_TEMPLIMITS - EMU Temperature thresholds . . . . . . . . . . . . . .31712.5.12 EMU_STATUS - EMU Status register . . . . . . . . . . . . . . . . . . . 31812.5.13 EMU_TEMP - Temperature . . . . . . . . . . . . . . . . . . . . . .319

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

  • 12.5.14 EMU_RSTCTRL - Reset Management Control register . . . . . . . . . . . . . 32012.5.15 EMU_RSTCAUSE - Reset cause . . . . . . . . . . . . . . . . . . . .32212.5.16 EMU_DGIF - Interrupt Flags Debug . . . . . . . . . . . . . . . . . . .32312.5.17 EMU_DGIEN - Interrupt Enables Debug . . . . . . . . . . . . . . . . . . 32412.5.18 EMU_EFPIF - EFP Interrupt Register . . . . . . . . . . . . . . . . . . . 32412.5.19 EMU_EFPIEN - EFP Interrupt Enable Register . . . . . . . . . . . . . . . . 325

    12.6 DCDC Register Map . . . . . . . . . . . . . . . . . . . . . . . . . .326

    12.7 DCDC Register Description . . . . . . . . . . . . . . . . . . . . . . . .32712.7.1 DCDC_IPVERSION - IPVERSION . . . . . . . . . . . . . . . . . . . .32712.7.2 DCDC_EN - Enable . . . . . . . . . . . . . . . . . . . . . . . . .32712.7.3 DCDC_CTRL - Control . . . . . . . . . . . . . . . . . . . . . . . .32812.7.4 DCDC_EM01CTRL0 - EM01 Control. . . . . . . . . . . . . . . . . . . . 32912.7.5 DCDC_EM23CTRL0 - EM23 Control. . . . . . . . . . . . . . . . . . . . 33012.7.6 DCDC_IF - Interrupt Flags . . . . . . . . . . . . . . . . . . . . . . .33112.7.7 DCDC_IEN - Interrupt Enable . . . . . . . . . . . . . . . . . . . . . . 33212.7.8 DCDC_STATUS - Status Register . . . . . . . . . . . . . . . . . . . .33312.7.9 DCDC_LOCK - Lock Register . . . . . . . . . . . . . . . . . . . . . . 33412.7.10 DCDC_LOCKSTATUS - Lock Status Register . . . . . . . . . . . . . . . . 334

    13. PRS - Peripheral Reflex System . . . . . . . . . . . . . . . . . . . . . . . 33513.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335

    13.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .335

    13.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 33613.3.1 Asynchronous Channel Functions. . . . . . . . . . . . . . . . . . . . . 33613.3.2 Configurable Logic . . . . . . . . . . . . . . . . . . . . . . . . . . 33713.3.3 Producers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33813.3.4 Consumers . . . . . . . . . . . . . . . . . . . . . . . . . . . .343

    13.4 PRS Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . .344

    13.5 PRS Register Description . . . . . . . . . . . . . . . . . . . . . . . . . 35713.5.1 PRS_IPVERSION - IP version ID . . . . . . . . . . . . . . . . . . . . . 35713.5.2 PRS_ASYNC_SWPULSE - Software Pulse Register . . . . . . . . . . . . . .35813.5.3 PRS_ASYNC_SWLEVEL - Software Level Register . . . . . . . . . . . . . .35913.5.4 PRS_ASYNC_PEEK - Async Channel Values . . . . . . . . . . . . . . . .36013.5.5 PRS_SYNC_PEEK - Sync Channel Values . . . . . . . . . . . . . . . . .36113.5.6 PRS_ASYNC_CHx_CTRL - Async Channel Control Register . . . . . . . . . . .36213.5.7 PRS_SYNC_CHx_CTRL - Sync Channel Control Register . . . . . . . . . . . .36313.5.8 PRS_CONSUMER_CMU_CALDN - CMU CALDN Consumer Selection . . . . . . . . 36413.5.9 PRS_CONSUMER_CMU_CALUP - CMU CALUP Consumer Selection . . . . . . . . 36413.5.10 PRS_CONSUMER_IADC0_SCANTRIGGER - IADC0 SCANTRIGGER Consumer Selection 36513.5.11 PRS_CONSUMER_IADC0_SINGLETRIGGER - IADC0 SINGLETRIGGER Consumer

    Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36513.5.12 PRS_CONSUMER_LDMAXBAR_DMAREQ0 - DMAREQ0 Consumer Selection . . . .36613.5.13 PRS_CONSUMER_LDMAXBAR_DMAREQ1 - DMAREQ1 Consumer Selection . . . .36613.5.14 PRS_CONSUMER_LETIMER0_CLEAR - LETIMER CLEAR Consumer Selection . . . . 36713.5.15 PRS_CONSUMER_LETIMER0_START - LETIMER START Consumer Selection . . . . 36713.5.16 PRS_CONSUMER_LETIMER0_STOP - LETIMER STOP Consumer Selection . . . . . 36813.5.17 PRS_CONSUMER_EUART0_RX - EUART0 RX consumer register . . . . . . . . . 368

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

  • 13.5.18 PRS_CONSUMER_EUART0_TRIGGER - EUART0 TRIGGER Consumer register . . . . 36913.5.19 PRS_CONSUMER_MODEM_DIN - MODEM DIN Consumer Selection. . . . . . . . 36913.5.20 PRS_CONSUMER_RAC_CLR - RAC CLR Consumer Selection . . . . . . . . . . 37013.5.21 PRS_CONSUMER_RAC_CTIIN0 - RAC CTIIN0 Consumer Selection . . . . . . . . 37013.5.22 PRS_CONSUMER_RAC_CTIIN1 - RAC CTIIN1 Consumer Selection . . . . . . . . 37113.5.23 PRS_CONSUMER_RAC_CTIIN2 - RAC CTIIN2 Consumer Selection . . . . . . . . 37113.5.24 PRS_CONSUMER_RAC_CTIIN3 - RAC CTIIN3 Consumer Selection . . . . . . . . 37213.5.25 PRS_CONSUMER_RAC_FORCETX - RAC FORCETX Consumer Selection . . . . .37213.5.26 PRS_CONSUMER_RAC_RXDIS - RAC RXDIS Consumer Selection . . . . . . . .37313.5.27 PRS_CONSUMER_RAC_RXEN - RAC RXEN Consumer Selection . . . . . . . . . 37313.5.28 PRS_CONSUMER_RAC_SEQ - RAC SEQ Consumer Selection . . . . . . . . . . 37413.5.29 PRS_CONSUMER_RAC_TXEN - RAC TXEN Consumer Selection . . . . . . . . . 37413.5.30 PRS_CONSUMER_RTCC_CC0 - RTCC CC0 Consumer Selection . . . . . . . . . 37513.5.31 PRS_CONSUMER_RTCC_CC1 - RTCC CC1 Consumer Selection . . . . . . . . . 37513.5.32 PRS_CONSUMER_RTCC_CC2 - RTCC CC2 Consumer Selection . . . . . . . . . 37613.5.33 PRS_CONSUMER_CORE_CTIIN0 - CTI0 Consumer Selection . . . . . . . . . . 37613.5.34 PRS_CONSUMER_CORE_CTIIN1 - CTI1 Consumer Selection . . . . . . . . . . 37713.5.35 PRS_CONSUMER_CORE_CTIIN2 - CTI2 Consumer Selection . . . . . . . . . . 37713.5.36 PRS_CONSUMER_CORE_CTIIN3 - CTI3 Consumer Selection . . . . . . . . . . 37813.5.37 PRS_CONSUMER_CORE_M33RXEV - M33 Consumer Selection . . . . . . . . .37813.5.38 PRS_CONSUMER_TIMER0_CC0 - TIMER0 CC0 Consumer Selection . . . . . . .37913.5.39 PRS_CONSUMER_TIMER0_CC1 - TIMER0 CC1 Consumer Selection . . . . . . .37913.5.40 PRS_CONSUMER_TIMER0_CC2 - TIMER0 CC2 Consumer Selection . . . . . . .38013.5.41 PRS_CONSUMER_TIMER0_DTI - TIMER0 DTI Consumer Selection . . . . . . . . 38013.5.42 PRS_CONSUMER_TIMER0_DTIFS1 - TIMER0 DTIFS1 Consumer Selection . . . . .38113.5.43 PRS_CONSUMER_TIMER0_DTIFS2 - TIMER0 DTIFS2 Consumer Selection . . . . .38113.5.44 PRS_CONSUMER_TIMER1_CC0 - TIMER1 CC0 Consumer Selection . . . . . . .38213.5.45 PRS_CONSUMER_TIMER1_CC1 - TIMER1 CC1 Consumer Selection . . . . . . .38213.5.46 PRS_CONSUMER_TIMER1_CC2 - TIMER1 CC2 Consumer Selection . . . . . . .38313.5.47 PRS_CONSUMER_TIMER1_DTI - TIMER1 DTI Consumer Selection . . . . . . . . 38313.5.48 PRS_CONSUMER_TIMER1_DTIFS1 - TIMER1 DTIFS1 Consumer Selection . . . . .38413.5.49 PRS_CONSUMER_TIMER1_DTIFS2 - TIMER1 DTIFS2 Consumer Selection . . . . .38413.5.50 PRS_CONSUMER_TIMER2_CC0 - TIMER2 CC0 Consumer Selection . . . . . . .38513.5.51 PRS_CONSUMER_TIMER2_CC1 - TIMER2 CC1 Consumer Selection . . . . . . .38513.5.52 PRS_CONSUMER_TIMER2_CC2 - TIMER2 CC2 Consumer Selection . . . . . . .38613.5.53 PRS_CONSUMER_TIMER2_DTI - TIMER2 DTI Consumer Selection . . . . . . . . 38613.5.54 PRS_CONSUMER_TIMER2_DTIFS1 - TIMER2 DTIFS1 Consumer Selection . . . . .38713.5.55 PRS_CONSUMER_TIMER2_DTIFS2 - TIMER2 DTIFS2 Consumer Selection . . . . .38713.5.56 PRS_CONSUMER_TIMER3_CC0 - TIMER3 CC0 Consumer Selection . . . . . . .38813.5.57 PRS_CONSUMER_TIMER3_CC1 - TIMER3 CC1 Consumer Selection . . . . . . .38813.5.58 PRS_CONSUMER_TIMER3_CC2 - TIMER3 CC2 Consumer Selection . . . . . . .38913.5.59 PRS_CONSUMER_TIMER3_DTI - TIMER3 DTI Consumer Selection . . . . . . . . 38913.5.60 PRS_CONSUMER_TIMER3_DTIFS1 - TIMER3 DTIFS1 Consumer Selection . . . . .39013.5.61 PRS_CONSUMER_TIMER3_DTIFS2 - TIMER3 DTIFS2 Consumer Selection . . . . .39013.5.62 PRS_CONSUMER_TIMER4_CC0 - TIMER4 CC0 Consumer Selection . . . . . . .39113.5.63 PRS_CONSUMER_TIMER4_CC1 - TIMER4 CC1 Consumer Selection . . . . . . .39113.5.64 PRS_CONSUMER_TIMER4_CC2 - TIMER4 CC2 Consumer Selection . . . . . . .39213.5.65 PRS_CONSUMER_TIMER4_DTI - TIMER4 DTI Consumer Selection . . . . . . . . 392

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

  • 13.5.66 PRS_CONSUMER_TIMER4_DTIFS1 - TIMER4 DTIFS1 Consumer Selection . . . . .39313.5.67 PRS_CONSUMER_TIMER4_DTIFS2 - TIMER4 DTIFS2 Consumer Selection . . . . .39313.5.68 PRS_CONSUMER_USART0_CLK - USART0 CLK Consumer Selection . . . . . . .39413.5.69 PRS_CONSUMER_USART0_IR - USART0 IR Consumer Selection . . . . . . . .39413.5.70 PRS_CONSUMER_USART0_RX - USART0 RX Consumer Selection . . . . . . . . 39513.5.71 PRS_CONSUMER_USART0_TRIGGER - USART0 TRIGGER Consumer Selection . . . 39513.5.72 PRS_CONSUMER_USART1_CLK - USART1 CLK Consumer Selection . . . . . . .39613.5.73 PRS_CONSUMER_USART1_IR - USART1 IR Consumer Selection . . . . . . . .39613.5.74 PRS_CONSUMER_USART1_RX - USART1 RX Consumer Selection . . . . . . . . 39713.5.75 PRS_CONSUMER_USART1_TRIGGER - USART1 TRIGGER Consumer Selection . . . 39713.5.76 PRS_CONSUMER_WDOG0_SRC0 - WDOG0 SRC0 Consumer Selection . . . . . .39813.5.77 PRS_CONSUMER_WDOG0_SRC1 - WDOG0 SRC1 Consumer Selection . . . . . .398

    14. GPCRC - General Purpose Cyclic Redundancy Check . . . . . . . . . . . . . .39914.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

    14.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .399

    14.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 40014.3.1 Polynomial Specification . . . . . . . . . . . . . . . . . . . . . . . . 40114.3.2 Input and Output Specification . . . . . . . . . . . . . . . . . . . . . . 40114.3.3 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . .40114.3.4 DMA Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40114.3.5 Byte-Level Bit Reversal and Byte Reordering . . . . . . . . . . . . . . . . . 402

    14.4 GPCRC Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . 405

    14.5 GPCRC Register Description . . . . . . . . . . . . . . . . . . . . . . . . 40614.5.1 GPCRC_IPVERSION - IP Version ID . . . . . . . . . . . . . . . . . . .40614.5.2 GPCRC_EN - CRC Enable . . . . . . . . . . . . . . . . . . . . . . . 40714.5.3 GPCRC_CTRL - Control Register . . . . . . . . . . . . . . . . . . . . . 40814.5.4 GPCRC_CMD - Command Register . . . . . . . . . . . . . . . . . . . . 40914.5.5 GPCRC_INIT - CRC Init Value . . . . . . . . . . . . . . . . . . . . . . 40914.5.6 GPCRC_POLY - CRC Polynomial Value . . . . . . . . . . . . . . . . . .41014.5.7 GPCRC_INPUTDATA - Input 32-bit Data Register . . . . . . . . . . . . . . . 41014.5.8 GPCRC_INPUTDATAHWORD - Input 16-bit Data Register . . . . . . . . . . . . 41114.5.9 GPCRC_INPUTDATABYTE - Input 8-bit Data Register . . . . . . . . . . . . .41114.5.10 GPCRC_DATA - CRC Data Register . . . . . . . . . . . . . . . . . . .41214.5.11 GPCRC_DATAREV - CRC Data Reverse Register . . . . . . . . . . . . . .41214.5.12 GPCRC_DATABYTEREV - CRC Data Byte Reverse Register . . . . . . . . . . . 413

    15. RTCC - Real Time Clock with Capture. . . . . . . . . . . . . . . . . . . . . 41415.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

    15.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .414

    15.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 41515.3.1 RTCC Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . 41615.3.2 Capture/Compare Channels . . . . . . . . . . . . . . . . . . . . . .41815.3.3 Interrupts and PRS Output . . . . . . . . . . . . . . . . . . . . . . . 41915.3.4 Register Lock . . . . . . . . . . . . . . . . . . . . . . . . . . .42015.3.5 Programmer's Model . . . . . . . . . . . . . . . . . . . . . . . . . 42015.3.6 Debug Features and Description . . . . . . . . . . . . . . . . . . . . . 420

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

  • 15.4 RTCC Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . 421

    15.5 RTCC Register Description . . . . . . . . . . . . . . . . . . . . . . . .42315.5.1 RTCC_IPVERSION - IP VERSION . . . . . . . . . . . . . . . . . . . .42315.5.2 RTCC_EN - Module Enable Register . . . . . . . . . . . . . . . . . . .42315.5.3 RTCC_CFG - Configuration Register . . . . . . . . . . . . . . . . . . .42415.5.4 RTCC_CMD - Command Register . . . . . . . . . . . . . . . . . . . .42515.5.5 RTCC_STATUS - Status register . . . . . . . . . . . . . . . . . . . . . 42615.5.6 RTCC_IF - RTCC Interrupt Flags . . . . . . . . . . . . . . . . . . . . . 42715.5.7 RTCC_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . . . 42815.5.8 RTCC_PRECNT - Pre-Counter Value Register . . . . . . . . . . . . . . . .42915.5.9 RTCC_CNT - Counter Value Register . . . . . . . . . . . . . . . . . . .42915.5.10 RTCC_COMBCNT - Combined Pre-Counter and Counter Valu... . . . . . . . . . . 43015.5.11 RTCC_SYNCBUSY - Synchronization Busy Register . . . . . . . . . . . . . . 43015.5.12 RTCC_LOCK - Configuration Lock Register . . . . . . . . . . . . . . . . . 43115.5.13 RTCC_CCx_CTRL - CC Channel Control Register . . . . . . . . . . . . . .43215.5.14 RTCC_CCx_OCVALUE - Output Compare Value Register . . . . . . . . . . . . 43315.5.15 RTCC_CCx_ICVALUE - Input Capture Value Register . . . . . . . . . . . . .433

    16. BURTC - Back-Up Real Time Counter . . . . . . . . . . . . . . . . . . . . . 43416.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434

    16.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .434

    16.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 43516.3.1 Clock Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . 43516.3.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . .43516.3.3 Debug Features and Description . . . . . . . . . . . . . . . . . . . . . 43516.3.4 Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43616.3.5 Compare Channel . . . . . . . . . . . . . . . . . . . . . . . . . . 43616.3.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43716.3.7 Register Lock . . . . . . . . . . . . . . . . . . . . . . . . . . .437

    16.4 BURTC Register Map . . . . . . . . . . . . . . . . . . . . . . . . . .438

    16.5 BURTC Register Description . . . . . . . . . . . . . . . . . . . . . . . . 43916.5.1 BURTC_IPVERSION - IP version ID . . . . . . . . . . . . . . . . . . . . 43916.5.2 BURTC_EN - Module Enable Register . . . . . . . . . . . . . . . . . . . 44016.5.3 BURTC_CFG - Configuration Register . . . . . . . . . . . . . . . . . . . 44116.5.4 BURTC_CMD - Command Register . . . . . . . . . . . . . . . . . . . . 44216.5.5 BURTC_STATUS - Status Register . . . . . . . . . . . . . . . . . . . . 44316.5.6 BURTC_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . . 44316.5.7 BURTC_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . .44416.5.8 BURTC_PRECNT - Pre-Counter Value Register . . . . . . . . . . . . . . . . 44416.5.9 BURTC_CNT - Counter Value Register . . . . . . . . . . . . . . . . . . . 44516.5.10 BURTC_EM4WUEN - EM4 wakeup request Enable Register . . . . . . . . . . . 44516.5.11 BURTC_SYNCBUSY - Synchronization Busy Register . . . . . . . . . . . . .44616.5.12 BURTC_LOCK - Configuration Lock Register . . . . . . . . . . . . . . . .44716.5.13 BURTC_COMP - Compare Value Register . . . . . . . . . . . . . . . . . 447

    17. BURAM - Backup RAM . . . . . . . . . . . . . . . . . . . . . . . . . .44817.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448

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

  • 17.2 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 448

    17.3 BURAM Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . 448

    17.4 BURAM Register Description . . . . . . . . . . . . . . . . . . . . . . . . 44917.4.1 BURAM_RETx_REG - Retention Register . . . . . . . . . . . . . . . . . . 449

    18. LETIMER - Low Energy Timer . . . . . . . . . . . . . . . . . . . . . . . . 45018.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450

    18.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .450

    18.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 45118.3.1 Internal Overview . . . . . . . . . . . . . . . . . . . . . . . . . .45218.3.2 Free Running Mode . . . . . . . . . . . . . . . . . . . . . . . . .45318.3.3 One-shot Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 45418.3.4 Buffered Mode . . . . . . . . . . . . . . . . . . . . . . . . . . .45518.3.5 Double Mode . . . . . . . . . . . . . . . . . . . . . . . . . . .456

    18.4 Clock Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457

    18.5 PRS Input Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . 458

    18.6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .458

    18.7 Output Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459

    18.8 PRS Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . .459

    18.9 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .459

    18.10 Using the LETIMER in EM3 . . . . . . . . . . . . . . . . . . . . . . . . 459

    18.11 Register access . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459

    18.12 Programmer's Model . . . . . . . . . . . . . . . . . . . . . . . . . . 46018.12.1 FREE Running Mode . . . . . . . . . . . . . . . . . . . . . . . .46118.12.2 One Shot Mode . . . . . . . . . . . . . . . . . . . . . . . . . .46218.12.3 DOUBLE Mode . . . . . . . . . . . . . . . . . . . . . . . . . .46218.12.4 BUFFERED Mode . . . . . . . . . . . . . . . . . . . . . . . . .46318.12.5 Continuous Output Generation . . . . . . . . . . . . . . . . . . . . .46418.12.6 PWM Output . . . . . . . . . . . . . . . . . . . . . . . . . . .465

    18.13 LETIMER Register Map . . . . . . . . . . . . . . . . . . . . . . . . . 466

    18.14 LETIMER Register Description . . . . . . . . . . . . . . . . . . . . . . . 46818.14.1 LETIMER_IPVERSION - IP version. . . . . . . . . . . . . . . . . . . . 46818.14.2 LETIMER_EN - module en . . . . . . . . . . . . . . . . . . . . . .46818.14.3 LETIMER_CTRL - Control Register . . . . . . . . . . . . . . . . . . . . 46918.14.4 LETIMER_CMD - Command Register . . . . . . . . . . . . . . . . . . . 47118.14.5 LETIMER_STATUS - Status Register . . . . . . . . . . . . . . . . . . . 47218.14.6 LETIMER_CNT - Counter Value Register. . . . . . . . . . . . . . . . . . 47218.14.7 LETIMER_COMP0 - Compare Value Register 0 . . . . . . . . . . . . . . .47318.14.8 LETIMER_COMP1 - Compare Value Register 1 . . . . . . . . . . . . . . .47318.14.9 LETIMER_TOP - Counter TOP Value Register . . . . . . . . . . . . . . . . 47418.14.10 LETIMER_TOPBUFF - Buffered Counter TOP Value . . . . . . . . . . . . .47418.14.11 LETIMER_REP0 - Repeat Counter Register 0. . . . . . . . . . . . . . . . 47518.14.12 LETIMER_REP1 - Repeat Counter Register 1. . . . . . . . . . . . . . . . 47518.14.13 LETIMER_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . .476

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

  • 18.14.14 LETIMER_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . 47718.14.15 LETIMER_SYNCBUSY - Synchronization Busy Register . . . . . . . . . . . . 47818.14.16 LETIMER_PRSMODE - PRS Input mode select Register . . . . . . . . . . . . 479

    19. TIMER - Timer/Counter . . . . . . . . . . . . . . . . . . . . . . . . . .48119.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481

    19.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .482

    19.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 48319.3.1 Register Access. . . . . . . . . . . . . . . . . . . . . . . . . . . 48319.3.2 Counter Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . 48419.3.3 Compare/Capture Channels . . . . . . . . . . . . . . . . . . . . . .49019.3.4 Dead-Time Insertion Unit . . . . . . . . . . . . . . . . . . . . . . .50119.3.5 Debug Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50519.3.6 Interrupts, DMA and PRS Output . . . . . . . . . . . . . . . . . . . . . 50519.3.7 GPIO Input/Output . . . . . . . . . . . . . . . . . . . . . . . . . . 505

    19.4 TIMER Register Map . . . . . . . . . . . . . . . . . . . . . . . . . .506

    19.5 TIMER Register Description . . . . . . . . . . . . . . . . . . . . . . . . 50919.5.1 TIMER_IPVERSION - IP version ID . . . . . . . . . . . . . . . . . . . . 50919.5.2 TIMER_CFG - Configuration Register . . . . . . . . . . . . . . . . . . .51019.5.3 TIMER_CTRL - Control Register . . . . . . . . . . . . . . . . . . . . . 51319.5.4 TIMER_CMD - Command Register . . . . . . . . . . . . . . . . . . . .51419.5.5 TIMER_STATUS - Status Register . . . . . . . . . . . . . . . . . . . .51519.5.6 TIMER_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . .51819.5.7 TIMER_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . . . 52019.5.8 TIMER_TOP - Counter Top Value Register . . . . . . . . . . . . . . . . .52119.5.9 TIMER_TOPB - Counter Top Value Buffer Register . . . . . . . . . . . . . . . 52119.5.10 TIMER_CNT - Counter Value Register . . . . . . . . . . . . . . . . . .52219.5.11 TIMER_LOCK - TIMER Configuration Lock Register . . . . . . . . . . . . . . 52219.5.12 TIMER_EN - module en . . . . . . . . . . . . . . . . . . . . . . .52319.5.13 TIMER_CCx_CFG - CC Channel Configuration Register . . . . . . . . . . . .52419.5.14 TIMER_CCx_CTRL - CC Channel Control Register . . . . . . . . . . . . . .52619.5.15 TIMER_CCx_OC - OC Channel Value Register . . . . . . . . . . . . . . .52719.5.16 TIMER_CCx_OCB - OC Channel Value Buffer Register . . . . . . . . . . . . . 52819.5.17 TIMER_CCx_ICF - IC Channel Value Register . . . . . . . . . . . . . . . . 52819.5.18 TIMER_CCx_ICOF - IC Channel Value Overflow Register . . . . . . . . . . . . 52819.5.19 TIMER_DTCFG - DTI Configuration Register . . . . . . . . . . . . . . . .52919.5.20 TIMER_DTTIMECFG - DTI Time Configuration Register . . . . . . . . . . . .53019.5.21 TIMER_DTFCFG - DTI Fault Configuration Register . . . . . . . . . . . . . . 53119.5.22 TIMER_DTCTRL - DTI Control Register . . . . . . . . . . . . . . . . . .53219.5.23 TIMER_DTOGEN - DTI Output Generation Enable Register . . . . . . . . . . .53319.5.24 TIMER_DTFAULT - DTI Fault Register . . . . . . . . . . . . . . . . . .53419.5.25 TIMER_DTFAULTC - DTI Fault Clear Register . . . . . . . . . . . . . . . . 53519.5.26 TIMER_DTLOCK - DTI Configuration Lock Register . . . . . . . . . . . . . . 536

    20. PDM - PDM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . .53720.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537

    20.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .538

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

  • 20.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 53820.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53920.3.2 PDM Clock Generation . . . . . . . . . . . . . . . . . . . . . . . .53920.3.3 Filter Order . . . . . . . . . . . . . . . . . . . . . . . . . . . .53920.3.4 Down Sample Rate . . . . . . . . . . . . . . . . . . . . . . . . .54020.3.5 Multi Channel Operation . . . . . . . . . . . . . . . . . . . . . . . . 54020.3.6 Output Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 54020.3.7 FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54020.3.8 DMA Support . . . . . . . . . . . . . . . . . . . . . . . . . . .54120.3.9 PRS Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54120.3.10 PDM Energy Modes . . . . . . . . . . . . . . . . . . . . . . . . . 54120.3.11 Debug Mode . . . . . . . . . . . . . . . . . . . . . . . . . . .54120.3.12 Pin Configurations . . . . . . . . . . . . . . . . . . . . . . . . .54120.3.13 Programmer's Model. . . . . . . . . . . . . . . . . . . . . . . . . 542

    20.4 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54420.4.1 PDM Microphones . . . . . . . . . . . . . . . . . . . . . . . . . . 54420.4.2 Isolated Sigma Delta Modulators . . . . . . . . . . . . . . . . . . . . . 545

    20.5 PDM Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . .546

    20.6 PDM Register Description . . . . . . . . . . . . . . . . . . . . . . . . . 54720.6.1 PDM_IPVERSION - IP Version ID . . . . . . . . . . . . . . . . . . . .54720.6.2 PDM_EN - PDM Module enable Register . . . . . . . . . . . . . . . . . .54820.6.3 PDM_CTRL - PDM Core Control Register . . . . . . . . . . . . . . . . . . 54820.6.4 PDM_CMD - PDM Core Command Register . . . . . . . . . . . . . . . . . 54920.6.5 PDM_STATUS - PDM Status register . . . . . . . . . . . . . . . . . . .55020.6.6 PDM_CFG0 - PDM Core Configuration Register0 . . . . . . . . . . . . . . .55120.6.7 PDM_CFG1 - PDM Core Configuration Register1 . . . . . . . . . . . . . . .55320.6.8 PDM_RXDATA - PDM Received Data Register . . . . . . . . . . . . . . . . 55320.6.9 PDM_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . . . 55420.6.10 PDM_IEN - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . . 55420.6.11 PDM_SYNCBUSY - Synchronization Busy Register . . . . . . . . . . . . . . 555

    21. USART - Universal Synchronous Asynchronous Receiver/Transmitter . . . . . . . .55621.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556

    21.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .557

    21.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 55821.3.1 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . .55921.3.2 Asynchronous Operation . . . . . . . . . . . . . . . . . . . . . . . . 55921.3.3 Synchronous Operation . . . . . . . . . . . . . . . . . . . . . . . . 57521.3.4 Hardware Flow Control . . . . . . . . . . . . . . . . . . . . . . . .58121.3.5 Debug Halt . . . . . . . . . . . . . . . . . . . . . . . . . . . .58121.3.6 PRS-triggered Transmissions . . . . . . . . . . . . . . . . . . . . . . 58121.3.7 PRS RX Input . . . . . . . . . . . . . . . . . . . . . . . . . . .58121.3.8 PRS CLK Input . . . . . . . . . . . . . . . . . . . . . . . . . . . 58221.3.9 DMA Support . . . . . . . . . . . . . . . . . . . . . . . . . . .58221.3.10 Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58321.3.11 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . .58821.3.12 IrDA Modulator/ Demodulator . . . . . . . . . . . . . . . . . . . . . . 589

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

  • 21.4 USART Register Map . . . . . . . . . . . . . . . . . . . . . . . . . .590

    21.5 USART Register Description . . . . . . . . . . . . . . . . . . . . . . . . 59321.5.1 USART_IPVERSION - IPVERSION . . . . . . . . . . . . . . . . . . . . 59321.5.2 USART_EN - USART Enable . . . . . . . . . . . . . . . . . . . . . .59321.5.3 USART_CTRL - Control Register . . . . . . . . . . . . . . . . . . . . . 59421.5.4 USART_FRAME - USART Frame Format Register . . . . . . . . . . . . . . . 59921.5.5 USART_TRIGCTRL - USART Trigger Control register . . . . . . . . . . . . . . 60121.5.6 USART_CMD - Command Register . . . . . . . . . . . . . . . . . . . . 60221.5.7 USART_STATUS - USART Status Register . . . . . . . . . . . . . . . . .60321.5.8 USART_CLKDIV - Clock Control Register . . . . . . . . . . . . . . . . . . 60421.5.9 USART_RXDATAX - RX Buffer Data Extended Register . . . . . . . . . . . . . 60521.5.10 USART_RXDATA - RX Buffer Data Register . . . . . . . . . . . . . . . .60521.5.11 USART_RXDOUBLEX - RX Buffer Double Data Extended Register . . . . . . . . . 60621.5.12 USART_RXDOUBLE - RX FIFO Double Data Register . . . . . . . . . . . . . 60721.5.13 USART_RXDATAXP - RX Buffer Data Extended Peek Register . . . . . . . . . . 60721.5.14 USART_RXDOUBLEXP - RX Buffer Double Data Extended Peek R... . . . . . . . . 60821.5.15 USART_TXDATAX - TX Buffer Data Extended Register . . . . . . . . . . . . . 60921.5.16 USART_TXDATA - TX Buffer Data Register . . . . . . . . . . . . . . . . . 61021.5.17 USART_TXDOUBLEX - TX Buffer Double Data Extended Register . . . . . . . . . 61121.5.18 USART_TXDOUBLE - TX Buffer Double Data Register . . . . . . . . . . . . . 61221.5.19 USART_IF - Interrupt Flag Register. . . . . . . . . . . . . . . . . . . . 61321.5.20 USART_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . .61521.5.21 USART_IRCTRL - IrDA Control Register . . . . . . . . . . . . . . . . . . 61621.5.22 USART_I2SCTRL - I2S Control Register . . . . . . . . . . . . . . . . . . 61721.5.23 USART_TIMING - Timing Register . . . . . . . . . . . . . . . . . . . . 61921.5.24 USART_CTRLX - Control Register Extended . . . . . . . . . . . . . . . .62121.5.25 USART_TIMECMP0 - Used to generate interrupts and vario... . . . . . . . . . .62321.5.26 USART_TIMECMP1 - Used to generate interrupts and vario... . . . . . . . . . .62521.5.27 USART_TIMECMP2 - Used to generate interrupts and vario... . . . . . . . . . .627

    22. EUART - Enhanced Universal Asynchronous Receiver/Transmitter . . . . . . . . .62922.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629

    22.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .630

    22.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 63122.3.1 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . .63122.3.2 Frame Format . . . . . . . . . . . . . . . . . . . . . . . . . . .63222.3.3 Parity bit Calculation and Handling . . . . . . . . . . . . . . . . . . . .63322.3.4 Clock Generation . . . . . . . . . . . . . . . . . . . . . . . . . .63422.3.5 Auto Baud Detection . . . . . . . . . . . . . . . . . . . . . . . . .63522.3.6 Data Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . 63622.3.7 Transmit FIFO Operation . . . . . . . . . . . . . . . . . . . . . . .63722.3.8 Frame Transmission Control . . . . . . . . . . . . . . . . . . . . . .63822.3.9 Transmission Delay . . . . . . . . . . . . . . . . . . . . . . . . .63822.3.10 Data Reception . . . . . . . . . . . . . . . . . . . . . . . . . .63822.3.11 Receive FIFO Operation . . . . . . . . . . . . . . . . . . . . . . .63922.3.12 Blocking Incoming Data. . . . . . . . . . . . . . . . . . . . . . . . 64022.3.13 Data Sampling and Filtering . . . . . . . . . . . . . . . . . . . . . .64122.3.14 Parity Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642

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

  • 22.3.15 Framing Error and Break Detection . . . . . . . . . . . . . . . . . . . . 64222.3.16 Programmable Start Frame . . . . . . . . . . . . . . . . . . . . . .64322.3.17 Programmable Signal Frame . . . . . . . . . . . . . . . . . . . . . . 64322.3.18 Local Loopback . . . . . . . . . . . . . . . . . . . . . . . . . .64322.3.19 Half Duplex Communication . . . . . . . . . . . . . . . . . . . . . .64322.3.20 Single Data-link . . . . . . . . . . . . . . . . . . . . . . . . . .64422.3.21 Single Data-link with External Driver . . . . . . . . . . . . . . . . . . .64422.3.22 Two Data-links . . . . . . . . . . . . . . . . . . . . . . . . . . . 64422.3.23 Multi-Processor Mode . . . . . . . . . . . . . . . . . . . . . . . .64522.3.24 Collision Detection . . . . . . . . . . . . . . . . . . . . . . . . .64522.3.25 Hardware Flow Control . . . . . . . . . . . . . . . . . . . . . . . . 64522.3.26 Debug Halt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64622.3.27 PRS-triggered Transmissions. . . . . . . . . . . . . . . . . . . . . . 64622.3.28 PRS RX Input . . . . . . . . . . . . . . . . . . . . . . . . . . . 64622.3.29 DMA Support . . . . . . . . . . . . . . . . . . . . . . . . . . .64622.3.30 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . .64722.3.31 EM2 Operation (LF Mode Only) . . . . . . . . . . . . . . . . . . . . . 64722.3.32 IrDA Modulator/ Demodulator . . . . . . . . . . . . . . . . . . . . . . 648

    22.4 EUSART Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . 649

    22.5 EUSART Register Description . . . . . . . . . . . . . . . . . . . . . . .65122.5.1 EUSART_IPVERSION - IP version ID . . . . . . . . . . . . . . . . . . .65122.5.2 EUSART_EN - Enable Register . . . . . . . . . . . . . . . . . . . . .65222.5.3 EUSART_CFG0 - Configuration 0 Register . . . . . . . . . . . . . . . . .65322.5.4 EUSART_CFG1 - Configuration 1 Register . . . . . . . . . . . . . . . . .65622.5.5 EUSART_FRAMECFG - Frame Format Register . . . . . . . . . . . . . . .65922.5.6 EUSART_IRHFCFG - HF IrDA Mod Config Register . . . . . . . . . . . . . .66022.5.7 EUSART_IRLFCFG - LF IrDA Pulse Config Register . . . . . . . . . . . . . .66122.5.8 EUSART_TIMINGCFG - Timing Register . . . . . . . . . . . . . . . . . .66122.5.9 EUSART_STARTFRAMECFG - Start Frame Register . . . . . . . . . . . . . . 66222.5.10 EUSART_SIGFRAMECFG - Signal Frame Register . . . . . . . . . . . . . .66222.5.11 EUSART_CLKDIV - Clock Divider Register . . . . . . . . . . . . . . . . . 66322.5.12 EUSART_TRIGCTRL - Trigger Control Register . . . . . . . . . . . . . . .66322.5.13 EUSART_CMD - Command Register . . . . . . . . . . . . . . . . . . . 66422.5.14 EUSART_RXDATA - RX Data Register . . . . . . . . . . . . . . . . . .66522.5.15 EUSART_RXDATAP - RX Data Peek Register . . . . . . . . . . . . . . . . 66522.5.16 EUSART_TXDATA - TX Data Register . . . . . . . . . . . . . . . . . .66622.5.17 EUSART_STATUS - Status Register . . . . . . . . . . . . . . . . . . .66722.5.18 EUSART_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . .66922.5.19 EUSART_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . .67122.5.20 EUSART_SYNCBUSY - Synchronization Busy Register . . . . . . . . . . . . . 673

    23. I2C - Inter-Integrated Circuit Interface . . . . . . . . . . . . . . . . . . . . . 67523.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675

    23.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .675

    23.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 67623.3.1 I2C-Bus Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 67723.3.2 Enable and Reset . . . . . . . . . . . . . . . . . . . . . . . . . . 681

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

  • 23.3.3 Pin Configuration . . . . . . . . . . . . . . . . . . . . . . . . . .68123.3.4 Safely Disabling and Changing Slave Configuration. . . . . . . . . . . . . . . 68123.3.5 Clock Generation . . . . . . . . . . . . . . . . . . . . . . . . . .68223.3.6 Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68223.3.7 Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68223.3.8 Master Operation . . . . . . . . . . . . . . . . . . . . . . . . . .68523.3.9 Bus States . . . . . . . . . . . . . . . . . . . . . . . . . . . .69323.3.10 Slave Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 69323.3.11 Transfer Automation . . . . . . . . . . . . . . . . . . . . . . . . . 69723.3.12 Using 10-bit Addresses . . . . . . . . . . . . . . . . . . . . . . . . 69823.3.13 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . 69823.3.14 DMA Support . . . . . . . . . . . . . . . . . . . . . . . . . . .70023.3.15 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . .70023.3.16 Wake-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700

    23.4 I2C Register Map. . . . . . . . . . . . . . . . . . . . . . . . . . . . 701

    23.5 I2C Register Description . . . . . . . . . . . . . . . . . . . . . . . . .70323.5.1 I2C_IPVERSION - IP VERSION Register . . . . . . . . . . . . . . . . . .70323.5.2 I2C_EN - Enable Register . . . . . . . . . . . . . . . . . . . . . . .70323.5.3 I2C_CTRL - Control Register . . . . . . . . . . . . . . . . . . . . . .70423.5.4 I2C_CMD - Command Register . . . . . . . . . . . . . . . . . . . . .70823.5.5 I2C_STATE - State Register . . . . . . . . . . . . . . . . . . . . . .70923.5.6 I2C_STATUS - Status Register . . . . . . . . . . . . . . . . . . . . .71023.5.7 I2C_CLKDIV - Clock Division Register . . . . . . . . . . . . . . . . . . .71123.5.8 I2C_SADDR - Slave Address Register . . . . . . . . . . . . . . . . . . . 71123.5.9 I2C_SADDRMASK - Slave Address Mask Register . . . . . . . . . . . . . . . 71223.5.10 I2C_RXDATA - Receive Buffer Data Register . . . . . . . . . . . . . . . .71223.5.11 I2C_RXDOUBLE - Receive Buffer Double Data Register . . . . . . . . . . . .71323.5.12 I2C_RXDATAP - Receive Buffer Data Peek Register . . . . . . . . . . . . . . 71323.5.13 I2C_RXDOUBLEP - Receive Buffer Double Data Peek Register . . . . . . . . . . 71423.5.14 I2C_TXDATA - Transmit Buffer Data Register . . . . . . . . . . . . . . . .71423.5.15 I2C_TXDOUBLE - Transmit Buffer Double Data Register . . . . . . . . . . . .71523.5.16 I2C_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . . . 71623.5.17 I2C_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . . .718

    24. IADC - Incremental Analog to Digital Converter . . . . . . . . . . . . . . . . .72024.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720

    24.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .721

    24.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 72224.3.1 Register Access. . . . . . . . . . . . . . . . . . . . . . . . . . . 72324.3.2 Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72424.3.3 Conversion Timing . . . . . . . . . . . . . . . . . . . . . . . . . . 72524.3.4 Reference Selection and Analog Gain . . . . . . . . . . . . . . . . . . .73224.3.5 Input and Configuration Selection . . . . . . . . . . . . . . . . . . . . . 73224.3.6 Gain and Offset Correction . . . . . . . . . . . . . . . . . . . . . . . 73724.3.7 Output Data FIFOs . . . . . . . . . . . . . . . . . . . . . . . . . . 74124.3.8 Window Compare . . . . . . . . . . . . . . . . . . . . . . . . . . 74424.3.9 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745

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

  • 24.4 IADC Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . 746

    24.5 IADC Register Description. . . . . . . . . . . . . . . . . . . . . . . . . 74924.5.1 IADC_IPVERSION - IPVERSION . . . . . . . . . . . . . . . . . . . . . 74924.5.2 IADC_EN - Enable . . . . . . . . . . . . . . . . . . . . . . . . . . 74924.5.3 IADC_CTRL - Control . . . . . . . . . . . . . . . . . . . . . . . .75024.5.4 IADC_CMD - Command . . . . . . . . . . . . . . . . . . . . . . . . 75224.5.5 IADC_TIMER - Timer . . . . . . . . . . . . . . . . . . . . . . . . . 75324.5.6 IADC_STATUS - Status . . . . . . . . . . . . . . . . . . . . . . . . 75424.5.7 IADC_MASKREQ - Mask Request . . . . . . . . . . . . . . . . . . . .75524.5.8 IADC_STMASK - Scan Table Mask . . . . . . . . . . . . . . . . . . . . 75624.5.9 IADC_CMPTHR - Digital Window Comparator Threshold . . . . . . . . . . . . . 75624.5.10 IADC_IF - Interrupt Flags . . . . . . . . . . . . . . . . . . . . . . .75724.5.11 IADC_IEN - Interrupt Enable . . . . . . . . . . . . . . . . . . . . . . 75924.5.12 IADC_TRIGGER - Trigger . . . . . . . . . . . . . . . . . . . . . . . 76124.5.13 IADC_CFGx - Configuration . . . . . . . . . . . . . . . . . . . . . .76424.5.14 IADC_SCALEx - Scaling . . . . . . . . . . . . . . . . . . . . . . .76624.5.15 IADC_SCHEDx - Scheduling . . . . . . . . . . . . . . . . . . . . . . 76624.5.16 IADC_SINGLEFIFOCFG - Single FIFO Configuration . . . . . . . . . . . . .76724.5.17 IADC_SINGLEFIFODATA - Single FIFO Read Data . . . . . . . . . . . . . . 76824.5.18 IADC_SINGLEFIFOSTAT - Single FIFO Status . . . . . . . . . . . . . . . . 76824.5.19 IADC_SINGLEDATA - Single Data . . . . . . . . . . . . . . . . . . . . 76924.5.20 IADC_SCANFIFOCFG - Scan FIFO Configuration . . . . . . . . . . . . . . . 77024.5.21 IADC_SCANFIFODATA - Scan FIFO Read Data . . . . . . . . . . . . . . .77124.5.22 IADC_SCANFIFOSTAT - Scan FIFO Status . . . . . . . . . . . . . . . . . 77124.5.23 IADC_SCANDATA - Scan Data . . . . . . . . . . . . . . . . . . . . . 77224.5.24 IADC_SINGLE - Single Queue Port Selection . . . . . . . . . . . . . . . . 77324.5.25 IADC_SCANx - SCAN Entry . . . . . . . . . . . . . . . . . . . . . . 775

    25. GPIO - General Purpose Input/Output . . . . . . . . . . . . . . . . . . . . . 77725.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .777

    25.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .778

    25.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 77925.3.1 Pin Configuration . . . . . . . . . . . . . . . . . . . . . . . . . .78025.3.2 Alternate Port Control . . . . . . . . . . . . . . . . . . . . . . . .78225.3.3 Slew Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78225.3.4 Input Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78225.3.5 Configuration Lock . . . . . . . . . . . . . . . . . . . . . . . . . . 78225.3.6 EM2 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . 78225.3.7 EM4 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . 78225.3.8 EM4 Wakeup . . . . . . . . . . . . . . . . . . . . . . . . . . .78325.3.9 Debug Connections . . . . . . . . . . . . . . . . . . . . . . . . .78325.3.10 Interrupt Generation . . . . . . . . . . . . . . . . . . . . . . . . . 78425.3.11 Output to PRS . . . . . . . . . . . . . . . . . . . . . . . . . . . 78525.3.12 Peripheral Resource Routing . . . . . . . . . . . . . . . . . . . . . . 785

    25.4 Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . .790

    25.5 GPIO Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . 791

    25.6 GPIO Register Description . . . . . . . . . . . . . . . . . . . . . . . .811

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

  • 25.6.1 GPIO_PORTA_CTRL - Port control . . . . . . . . . . . . . . . . . . . . 81125.6.2 GPIO_PORTA_MODEL - mode low . . . . . . . . . . . . . . . . . . . . 81225.6.3 GPIO_PORTA_MODEH - mode high . . . . . . . . . . . . . . . . . . .81725.6.4 GPIO_PORTA_DOUT - data out . . . . . . . . . . . . . . . . . . . . . 81825.6.5 GPIO_PORTA_DIN - data in . . . . . . . . . . . . . . . . . . . . . .81825.6.6 GPIO_PORTB_CTRL - Port control . . . . . . . . . . . . . . . . . . . . 81925.6.7 GPIO_PORTB_MODEL - mode low . . . . . . . . . . . . . . . . . . . . 82025.6.8 GPIO_PORTB_DOUT - data out . . . . . . . . . . . . . . . . . . . . . 82325.6.9 GPIO_PORTB_DIN - data in . . . . . . . . . . . . . . . . . . . . . .82325.6.10 GPIO_PORTC_CTRL - Port control . . . . . . . . . . . . . . . . . . .82425.6.11 GPIO_PORTC_MODEL - mode low . . . . . . . . . . . . . . . . . . .82525.6.12 GPIO_PORTC_DOUT - data out . . . . . . . . . . . . . . . . . . . .83025.6.13 GPIO_PORTC_DIN - data in . . . . . . . . . . . . . . . . . . . . . . 83025.6.14 GPIO_PORTD_CTRL - Port control . . . . . . . . . . . . . . . . . . .83125.6.15 GPIO_PORTD_MODEL - mode low . . . . . . . . . . . . . . . . . . .83225.6.16 GPIO_PORTD_DOUT - data out . . . . . . . . . . . . . . . . . . . .83425.6.17 GPIO_PORTD_DIN - data in . . . . . . . . . . . . . . . . . . . . . . 83525.6.18 GPIO_LOCK - Lock Register . . . . . . . . . . . . . . . . . . . . . . 83525.6.19 GPIO_GPIOLOCKSTATUS - Lock Status . . . . . . . . . . . . . . . . .83625.6.20 GPIO_ABUSALLOC - A Bus allocation . . . . . . . . . . . . . . . . . .83725.6.21 GPIO_BBUSALLOC - B Bus allocation . . . . . . . . . . . . . . . . . .83925.6.22 GPIO_CDBUSALLOC - CD Bus allocation . . . . . . . . . . . . . . . . .84125.6.23 GPIO_EXTIPSELL - External Interrupt Port Select Low . . . . . . . . . . . . . 84325.6.24 GPIO_EXTIPSELH - External interrupt Port Select High . . . . . . . . . . . . . 84625.6.25 GPIO_EXTIPINSELL - External Interrupt Pin Select Low . . . . . . . . . . . .84825.6.26 GPIO_EXTIPINSELH - External Interrupt Pin Select High . . . . . . . . . . . .85125.6.27 GPIO_EXTIRISE - External Interrupt Rising Edge Trigger . . . . . . . . . . . .85225.6.28 GPIO_EXTIFALL - External Interrupt Falling Edge Trigger . . . . . . . . . . . . 85325.6.29 GPIO_IF - Interrupt Flag . . . . . . . . . . . . . . . . . . . . . . .85425.6.30 GPIO_IEN - Interrupt Enable . . . . . . . . . . . . . . . . . . . . . . 85625.6.31 GPIO_EM4WUEN - EM4 wakeup enable . . . . . . . . . . . . . . . . . . 85825.6.32 GPIO_EM4WUPOL - EM4 wakeup polarity . . . . . . . . . . . . . . . . . 85825.6.33 GPIO_DBGROUTEPEN - Debugger Route Pin enable . . . . . . . . . . . . .85925.6.34 GPIO_TRACEROUTEPEN - Trace Route Pin Enable . . . . . . . . . . . . .86025.6.35 GPIO_CMU_ROUTEEN - CMU pin enable . . . . . . . . . . . . . . . . .86125.6.36 GPIO_CMU_CLKIN0ROUTE - CLKIN0 port/pin select . . . . . . . . . . . . .86125.6.37 GPIO_CMU_CLKOUT0ROUTE - CLKOUT0 port/pin select . . . . . . . . . . .86225.6.38 GPIO_CMU_CLKOUT1ROUTE - CLKOUT1 port/pin select . . . . . . . . . . .86225.6.39 GPIO_CMU_CLKOUT2ROUTE - CLKOUT2 port/pin select . . . . . . . . . . .86325.6.40 GPIO_DCDC_ROUTEEN - DCDC pin enable . . . . . . . . . . . . . . . .86325.6.41 GPIO_FRC_ROUTEEN - FRC pin enable . . . . . . . . . . . . . . . . .86425.6.42 GPIO_FRC_DCLKROUTE - DCLK port/pin select . . . . . . . . . . . . . . . 86425.6.43 GPIO_FRC_DFRAMEROUTE - DFRAME port/pin select . . . . . . . . . . . .86525.6.44 GPIO_FRC_DOUTROUTE - DOUT port/pin select . . . . . . . . . . . . . .86525.6.45 GPIO_I2C0_ROUTEEN - I2C0 pin enable . . . . . . . . . . . . . . . . .86625.6.46 GPIO_I2C0_SCLROUTE - SCL port/pin select . . . . . . . . . . . . . . . . 86625.6.47 GPIO_I2C0_SDAROUTE - SDA port/pin select . . . . . . . . . . . . . . . . 86725.6.48 GPIO_I2C1_ROUTEEN - I2C1 pin enable . . . . . . . . . . . . . . . . .867

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

  • 25.6.49 GPIO_I2C1_SCLROUTE - SCL port/pin select . . . . . . . . . . . . . . . . 86825.6.50 GPIO_I2C1_SDAROUTE - SDA port/pin select . . . . . . . . . . . . . . . . 86825.6.51 GPIO_LETIMER0_ROUTEEN - LETIMER pin enable . . . . . . . . . . . . .86925.6.52 GPIO_LETIMER0_OUT0ROUTE - OUT0 port/pin select . . . . . . . . . . . .86925.6.53 GPIO_LETIMER0_OUT1ROUTE - OUT1 port/pin select . . . . . . . . . . . .87025.6.54 GPIO_EUART0_ROUTEEN - EUART pin enable . . . . . . . . . . . . . . . 87025.6.55 GPIO_EUART0_CTSROUTE - CTS port/pin select . . . . . . . . . . . . . .87125.6.56 GPIO_EUART0_RTSROUTE - RTS port/pin select . . . . . . . . . . . . . .87125.6.57 GPIO_EUART0_RXROUTE - RX port/pin select . . . . . . . . . . . . . . .87225.6.58 GPIO_EUART0_TXROUTE - TX port/pin select . . . . . . . . . . . . . . .87225.6.59 GPIO_MODEM_ROUTEEN - MODEM pin enable . . . . . . . . . . . . . . . 87325.6.60 GPIO_MODEM_ANT0ROUTE - ANT0 port/pin select . . . . . . . . . . . . .87425.6.61 GPIO_MODEM_ANT1ROUTE - ANT1 port/pin select . . . . . . . . . . . . .87525.6.62 GPIO_MODEM_ANTROLLOVERROUTE - ANTROLLOVER port/pin select . . . . . . 87525.6.63 GPIO_MODEM_ANTRR0ROUTE - ANTRR0 port/pin select . . . . . . . . . . .87625.6.64 GPIO_MODEM_ANTRR1ROUTE - ANTRR1 port/pin select . . . . . . . . . . .87625.6.65 GPIO_MODEM_ANTRR2ROUTE - ANTRR2 port/pin select . . . . . . . . . . .87725.6.66 GPIO_MODEM_ANTRR3ROUTE - ANTRR3 port/pin select . . . . . . . . . . .87725.6.67 GPIO_MODEM_ANTRR4ROUTE - ANTRR4 port/pin select . . . . . . . . . . .87825.6.68 GPIO_MODEM_ANTRR5ROUTE - ANTRR5 port/pin select . . . . . . . . . . .87825.6.69 GPIO_MODEM_ANTSWENROUTE - ANTSWEN port/pin select . . . . . . . . . . 87925.6.70 GPIO_MODEM_ANTSWUSROUTE - ANTSWUS port/pin select . . . . . . . . . . 87925.6.71 GPIO_MODEM_ANTTRIGROUTE - ANTTRIG port/pin select . . . . . . . . . . . 88025.6.72 GPIO_MODEM_ANTTRIGSTOPROUTE - ANTTRIGSTOP port/pin select . . . . . .88025.6.73 GPIO_MODEM_DCLKROUTE - DCLK port/pin select . . . . . . . . . . . . .88125.6.74 GPIO_MODEM_DINROUTE - DIN port/pin select . . . . . . . . . . . . . . . 88125.6.75 GPIO_MODEM_DOUTROUTE - DOUT port/pin select . . . . . . . . . . . . .88225.6.76 GPIO_PDM_ROUTEEN - PDM pin enable . . . . . . . . . . . . . . . . .88225.6.77 GPIO_PDM_CLKROUTE - CLK port/pin select . . . . . . . . . . . . . . . . 88325.6.78 GPIO_PDM_DAT0ROUTE - DAT0 port/pin select . . . . . . . . . . . . . . . 88325.6.79 GPIO_PDM_DAT1ROUTE - DAT1 port/pin select . . . . . . . . . . . . . . . 88425.6.80 GPIO_PRS0_ROUTEEN - PRS0 pin enable. . . . . . . . . . . . . . . . . 88525.6.81 GPIO_PRS0_ASYNCH0ROUTE - ASYNCH0 port/pin select . . . . . . . . . . .88625.6.82 GPIO_PRS0_ASYNCH1ROUTE - ASYNCH1 port/pin select . . . . . . . . . . .88725.6.83 GPIO_PRS0_ASYNCH2ROUTE - ASYNCH2 port/pin select . . . . . . . . . . .88725.6.84 GPIO_PRS0_ASYNCH3ROUTE - ASYNCH3 port/pin select . . . . . . . . . . .88825.6.85 GPIO_PRS0_ASYNCH4ROUTE - ASYNCH4 port/pin select . . . . . . . . . . .88825.6.86 GPIO_PRS0_ASYNCH5ROUTE - ASYNCH5 port/pin select . . . . . . . . . . .88925.6.87 GPIO_PRS0_ASYNCH6ROUTE - ASYNCH6 port/pin select . . . . . . . . . . .88925.6.88 GPIO_PRS0_ASYNCH7ROUTE - ASYNCH7 port/pin select . . . . . . . . . . .89025.6.89 GPIO_PRS0_ASYNCH8ROUTE - ASYNCH8 port/pin select . . . . . . . . . . .89025.6.90 GPIO_PRS0_ASYNCH9ROUTE - ASYNCH9 port/pin select . . . . . . . . . . .89125.6.91 GPIO_PRS0_ASYNCH10ROUTE - ASYNCH10 port/pin select . . . . . . . . . .89125.6.92 GPIO_PRS0_ASYNCH11ROUTE - ASYNCH11 port/pin select . . . . . . . . . .89225.6.93 GPIO_PRS0_SYNCH0ROUTE - SYNCH0 port/pin select . . . . . . . . . . . .89225.6.94 GPIO_PRS0_SYNCH1ROUTE - SYNCH1 port/pin select . . . . . . . . . . . .89325.6.95 GPIO_PRS0_SYNCH2ROUTE - SYNCH2 port/pin select . . . . . . . . . . . .89325.6.96 GPIO_PRS0_SYNCH3ROUTE - SYNCH3 port/pin select . . . . . . . . . . . .894

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

  • 25.6.97 GPIO_TIMER0_ROUTEEN - TIMER0 pin enable . . . . . . . . . . . . . . . 89525.6.98 GPIO_TIMER0_CC0ROUTE - CC0 port/pin select . . . . . . . . . . . . . .89625.6.99 GPIO_TIMER0_CC1ROUTE - CC1 port/pin select . . . . . . . . . . . . . .89625.6.100 GPIO_TIMER0_CC2ROUTE - CC2 port/pin select . . . . . . . . . . . . . .89725.6.101 GPIO_TIMER0_CCC0ROUTE - CCC0 port/pin select . . . . . . . . . . . . . 89725.6.102 GPIO_TIMER0_CCC1ROUTE - CCC1 port/pin select . . . . . . . . . . . . . 89825.6.103 GPIO_TIMER0_CCC2ROUTE - CCC2 port/pin select . . . . . . . . . . . . . 89825.6.104 GPIO_TIMER1_ROUTEEN - TIMER1 pin enable . . . . . . . . . . . . . .89925.6.105 GPIO_TIMER1_CC0ROUTE - CC0 port/pin select . . . . . . . . . . . . . .90025.6.106 GPIO_TIMER1_CC1ROUTE - CC1 port/pin select . . . . . . . . . . . . . .90025.6.107 GPIO_TIMER1_CC2ROUTE - CC2 port/pin select . . . . . . . . . . . . . .90125.6.108 GPIO_TIMER1_CCC0ROUTE - CCC0 port/pin select . . . . . . . . . . . . . 90125.6.109 GPIO_TIMER1_CCC1ROUTE - CCC1 port/pin select . . . . . . . . . . . . . 90225.6.110 GPIO_TIMER1_CCC2ROUTE - CCC2 port/pin select . . . . . . . . . . . . . 90225.6.111 GPIO_TIMER2_ROUTEEN - TIMER2 pin enable . . . . . . . . . . . . . .90325.6.112 GPIO_TIMER2_CC0ROUTE - CC0 port/pin select . . . . . . . . . . . . . .90425.6.113 GPIO_TIMER2_CC1ROUTE - CC1 port/pin select . . . . . . . . . . . . . .90425.6.114 GPIO_TIMER2_CC2ROUTE - CC2 port/pin select . . . . . . . . . . . . . .90525.6.115 GPIO_TIMER2_CCC0ROUTE - CCC0 port/pin select . . . . . . . . . . . . . 90525.6.116 GPIO_TIMER2_CCC1ROUTE - CCC1 port/pin select . . . . . . . . . . . . . 90625.6.117 GPIO_TIMER2_CCC2ROUTE - CCC2 port/pin select . . . . . . . . . . . . . 90625.6.118 GPIO_TIMER3_ROUTEEN - TIMER3 pin enable . . . . . . . . . . . . . .90725.6.119 GPIO_TIMER3_CC0ROUTE - CC0 port/pin select . . . . . . . . . . . . . .90825.6.120 GPIO_TIMER3_CC1ROUTE - CC1 port/pin select . . . . . . . . . . . . . .90825.6.121 GPIO_TIMER3_CC2ROUTE - CC2 port/pin select . . . . . . . . . . . . . .90925.6.122 GPIO_TIMER3_CCC0ROUTE - CCC0 port/pin select . . . . . . . . . . . . . 90925.6.123 GPIO_TIMER3_CCC1ROUTE - CCC1 port/pin select . . . . . . . . . . . . . 91025.6.124 GPIO_TIMER3_CCC2ROUTE - CCC2 port/pin select . . . . . . . . . . . . . 91025.6.125 GPIO_TIMER4_ROUTEEN - TIMER4 pin enable . . . . . . . . . . . . . .91125.6.126 GPIO_TIMER4_CC0ROUTE - CC0 port/pin select . . . . . . . . . . . . . .91225.6.127 GPIO_TIMER4_CC1ROUTE - CC1 port/pin select . . . . . . . . . . . . . .91225.6.128 GPIO_TIMER4_CC2ROUTE - CC2 port/pin select . . . . . . . . . . . . . .91325.6.129 GPIO_TIMER4_CCC0ROUTE - CCC0 port/pin select . . . . . . . . . . . . . 91325.6.130 GPIO_TIMER4_CCC1ROUTE - CCC1 port/pin select . . . . . . . . . . . . . 91425.6.131 GPIO_TIMER4_CCC2ROUTE - CCC2 port/pin select . . . . . . . . . . . . . 91425.6.132 GPIO_USART0_ROUTEEN - USART0 pin enable . . . . . . . . . . . . . .91525.6.133 GPIO_USART0_CSROUTE - CS port/pin select . . . . . . . . . . . . . . . 91625.6.134 GPIO_USART0_CTSROUTE - CTS port/pin select . . . . . . . . . . . . . . 91625.6.135 GPIO_USART0_RTSROUTE - RTS port/pin select . . . . . . . . . . . . . . 91725.6.136 GPIO_USART0_RXROUTE - RX port/pin select . . . . . . . . . . . . . . . 91725.6.137 GPIO_USART0_CLKROUTE - SCLK port/pin select . . . . . . . . . . . . .91825.6.138 GPIO_USART0_TXROUTE - TX port/pin select . . . . . . . . . . . . . . . 91825.6.139 GPIO_USART1_ROUTEEN - USART1 pin enable . . . . . . . . . . . . . .91925.6.140 GPIO_USART1_CSROUTE - CS port/pin select . . . . . . . . . . . . . . . 92025.6.141 GPIO_USART1_CTSROUTE - CTS port/pin select . . . . . . . . . . . . . . 92025.6.142 GPIO_USART1_RTSROUTE - RTS port/pin select . . . . . . . . . . . . . . 92125.6.143 GPIO_USART1_RXROUTE - RX port/pin select . . . . . . . . . . . . . . . 92125.6.144 GPIO_USART1_CLKROUTE - SCLK port/pin select . . . . . . . . . . . . .922

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

  • 25.6.145 GPIO_USART1_TXROUTE - TX port/pin select . . . . . . . . . . . . . . . 922

    26. LDMA - Linked DMA . . . . . . . . . . . . . . . . . . . . . . . . . . .92326.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923

    26.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .924

    26.2 Block Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925

    26.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 92626.3.1 Channel Descriptor . . . . . . . . . . . . . . . . . . . . . . . . .92626.3.2 Channel Configuration . . . . . . . . . . . . . . . . . . . . . . . .93126.3.3 Channel Select Configuration . . . . . . . . . . . . . . . . . . . . . .93126.3.4 Starting a transfer . . . . . . . . . . . . . . . . . . . . . . . . . . 93126.3.5 Managing Transfer Errors . . . . . . . . . . . . . . . . . . . . . . .93226.3.6 Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93226.3.7 Channel descriptor data structure . . . . . . . . . . . . . . . . . . . . . 93426.3.8 Interaction with the EMU . . . . . . . . . . . . . . . . . . . . . . . . 93726.3.9 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93826.3.10 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938

    26.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93826.4.1 Single Direct Register DMA Transfer . . . . . . . . . . . . . . . . . . . . 93826.4.2 Descriptor Linked List . . . . . . . . . . . . . . . . . . . . . . . . . 93926.4.3 Single Descriptor Looped Transfer . . . . . . . . . . . . . . . . . . . .94126.4.4 Descriptor List with Looping . . . . . . . . . . . . . . . . . . . . . . . 94226.4.5 Simple Inter-Channel Synchronization . . . . . . . . . . . . . . . . . . .94326.4.6 2D Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94526.4.7 Ping-Pong . . . . . . . . . . . . . . . . . . . . . . . . . . . .94726.4.8 Scatter-Gather . . . . . . . . . . . . . . . . . . . . . . . . . . .948

    26.5 LDMA Source Selection Details . . . . . . . . . . . . . . . . . . . . . . . 94826.5.1 LDMA Source Selection Details . . . . . . . . . . . . . . . . . . . . .949

    26.6 LDMA Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . 951

    26.7 LDMA Register Description . . . . . . . . . . . . . . . . . . . . . . . .95426.7.1 LDMA_IPVERSION - DMA Channel Request Clear Register . . . . . . . . . . .95426.7.2 LDMA_EN - DMA module enable disable Register . . . . . . . . . . . . . . . 95426.7.3 LDMA_CTRL - DMA Control Register . . . . . . . . . . . . . . . . . . .95526.7.4 LDMA_STATUS - DMA Status Register. . . . . . . . . . . . . . . . . . . 95626.7.5 LDMA_SYNCSWSET - DMA Sync Trig Sw Set Register . . . . . . . . . . . . . 95726.7.6 LDMA_SYNCSWCLR - DMA Sync Trig Sw Clear register . . . . . . . . . . . .95726.7.7 LDMA_SYNCHWEN - DMA Sync HW trigger enable register . . . . . . . . . . .95826.7.8 LDMA_SYNCHWSEL - DMA Sync HW trigger selection register . . . . . . . . . .95926.7.9 LDMA_SYNCSTATUS - DMA Sync Trigger Status Register . . . . . . . . . . . . 96026.7.10 LDMA_CHEN - DMA Channel Enable Register . . . . . . . . . . . . . . . . 96026.7.11 LDMA_CHDIS - DMA Channel Disable Register . . . . . . . . . . . . . . .96126.7.12 LDMA_CHSTATUS - DMA Channel Status Register . . . . . . . . . . . . . . 96126.7.13 LDMA_CHBUSY - DMA Channel Busy Register . . . . . . . . . . . . . . .96226.7.14 LDMA_CHDONE - DMA Channel Linking Done Register . . . . . . . . . . . .96326.7.15 LDMA_DBGHALT - DMA Channel Debug Halt Register . . . . . . . . . . . . . 96426.7.16 LDMA_SWREQ - DMA Channel Software Transfer Request . . . . . . . . . . .96426.7.17 LDMA_REQDIS - DMA Channel Request Disable Register . . . . . . . . . . . . 965

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

  • 26.7.18 LDMA_REQPEND - DMA Channel Requests Pending Register . . . . . . . . . .96526.7.19 LDMA_LINKLOAD - DMA Channel Link Load Register . . . . . . . . . . . . .96626.7.20 LDMA_REQCLEAR - DMA Channel Request Clear Register . . . . . . . . . . .96626.7.21 LDMA_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . .96726.7.22 LDMA_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . .96826.7.23 LDMA_CHx_CFG - Channel Configuration Register . . . . . . . . . . . . . .96926.7.24 LDMA_CHx_LOOP - Channel Loop Counter Register . . . . . . . . . . . . .97026.7.25 LDMA_CHx_CTRL - Channel Descriptor Control Word Register . . . . . . . . . . 97126.7.26 LDMA_CHx_SRC - Channel Descriptor Source Address . . . . . . . . . . . .97426.7.27 LDMA_CHx_DST - Channel Descriptor Destination Address . . . . . . . . . . .97426.7.28 LDMA_CHx_LINK - Channel Descriptor Link Address . . . . . . . . . . . . .975

    26.8 LDMAXBAR Register Map . . . . . . . . . . . . . . . . . . . . . . . .975

    26.9 LDMAXBAR Register Description . . . . . . . . . . . . . . . . . . . . . .97626.9.1 LDMAXBAR_CHx_REQSEL - Channel Peripheral Request Select Reg... . . . . . . .976

    27. WDOG - Watch Dog Timer . . . . . . . . . . . . . . . . . . . . . . . . . 97727.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .977

    27.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .977

    27.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . 97727.3.1 Clock Source . . . . . . . . . . . . . . . . . . . . . . . . . . .97827.3.2 Debug Functionality . . . . . . . . . . . . . . . . . . . . . . . . .97827.3.3 Energy Mode Handling . . . . . . . . . . . . . . . . . . . . . . . .97827.3.4 Warning Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . .97827.3.5 Window Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . .97927.3.6 PRS as Watchdog Clear . . . . . . . . . . . . . . . . . . . . . . . . 98027.3.7 PRS Rising Edge Monitoring . . . . . . . . . . . . . . . . . . . . . .980

    27.4 WDOG Register Map . . . . . . . . . . . . . . . . . . . . . . . . . .981

    27.5 WDOG Register Description . . . . . . . . . . . . . . . . . . . . . . . . 98227.5.1 WDOG_IPVERSION - IP Version Register . . . . . . . . . . . . . . . . . . 98227.5.2 WDOG_EN - Enable Register . . . . . . . . . . . . . . . . . . . . . . 98227.5.3 WDOG_CFG - Configuration Register . . . . . . . . . . . . . . . . . . .98327.5.4 WDOG_CMD - Command Register . . . . . . . . . . . . . . . . . . . .98627.5.5 WDOG_STATUS - Status Register . . . . . . . . . . . . . . . . . . . .98627.5.6 WDOG_IF - Interrupt Flag Register . . . . . . . . . . . . . . . . . . . .98727.5.7 WDOG_IEN - Interrupt Enable Register . . . . . . . . . . . . . . . . . . . 98827.5.8 WDOG_LOCK - Lock Register . . . . . . . . . . . . . . . . . . . . . . 98927.5.9 WDOG_SYNCBUSY - Synchronization Busy Register . . . . . . . . . . . . . . 989

    28. Revision History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 990

    Appendix 1. Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . .991

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

  • 1. About This Document

    1.1 Introduction

    This document contains reference material for the EFR32xG22 devices. All modules and peripherals in the EFR32xG22 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. 1.0 | 24

  • 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 37), 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 25.

    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