SWCU191
February 2022
CC1311P3
,
CC1311R3
,
CC2651P3
,
CC2651R3
,
CC2651R3SIPA
1
Read This First
About This Manual
Devices
Register, Field, and Bit Calls
Related Documentation
1.1
Trademarks
2
Architectural Overview
2.1
Target Applications
2.2
Overview
2.3
Functional Overview
2.3.1
Arm® Cortex®-M4
2.3.1.1
Processor Core
2.3.1.2
System Timer (SysTick)
2.3.1.3
Nested Vector Interrupt Controller (NVIC)
2.3.1.4
System Control Block
2.3.2
On-Chip Memory
2.3.2.1
SRAM
2.3.2.2
Flash Memory
2.3.2.3
ROM
2.3.3
Radio
2.3.4
Security Core
2.3.5
General-Purpose Timers
2.3.5.1
Watchdog Timer
2.3.5.2
Always-On Domain
2.3.6
Direct Memory Access
2.3.7
System Control and Clock
2.3.8
Serial Communication Peripherals
2.3.8.1
UART
2.3.8.2
I2C
2.3.8.3
I2S
2.3.8.4
SSI
2.3.9
Programmable I/Os
2.3.10
Analog Peripherals
2.3.11
Random Number Generator
2.3.12
cJTAG and JTAG
2.3.13
Power Supply System
2.3.13.1
Supply System
2.3.13.1.1
VDDS
2.3.13.1.2
VDDR
2.3.13.1.3
Digital Core Supply
2.3.13.1.4
Other Internal Supplies
2.3.13.2
DC/DC Converter
3
Arm® Cortex®-M4 Processor
3.1
Arm® Cortex®-M4 Processor Introduction
3.2
Block Diagram
3.3
Overview
3.3.1
System-Level Interface
3.3.2
Integrated Configurable Debug
3.3.3
Trace Port Interface Unit
3.3.4
Arm® Cortex®-M4 System Component Details
3.4
Programming Model
3.4.1
Processor Mode and Privilege Levels for Software Execution
3.4.2
Stacks
3.4.3
Exceptions and Interrupts
3.4.4
Data Types
3.5
Arm® Cortex®-M4 Core Registers
3.5.1
Core Register Map
3.5.2
Core Register Descriptions
3.5.2.1
Cortex®General-Purpose Register 0 (R0)
3.5.2.2
Cortex® General-Purpose Register 1 (R1)
3.5.2.3
Cortex® General-Purpose Register 2 (R2)
3.5.2.4
Cortex® General-Purpose Register 3 (R3)
3.5.2.5
Cortex® General-Purpose Register 4 (R4)
3.5.2.6
Cortex® General-Purpose Register 5 (R5)
3.5.2.7
Cortex® General-Purpose Register 6 (R6)
3.5.2.8
Cortex® General-Purpose Register 7 (R7)
3.5.2.9
Cortex® General-Purpose Register 8 (R8)
3.5.2.10
Cortex® General-Purpose Register 9 (R9)
3.5.2.11
Cortex® General-Purpose Register 10 (R10)
3.5.2.12
Cortex® General-Purpose Register 11 (R11)
3.5.2.13
Cortex® General-Purpose Register 12 (R12)
3.5.2.14
Stack Pointer (SP)
3.5.2.15
Link Register (LR)
3.5.2.16
Program Counter (PC)
3.5.2.17
Program Status Register (PSR)
3.5.2.18
Priority Mask Register (PRIMASK)
3.5.2.19
Fault Mask Register (FAULTMASK)
3.5.2.20
Base Priority Mask Register (BASEPRI)
3.5.2.21
Control Register (CONTROL)
3.6
Instruction Set Summary
3.6.1
Arm® Cortex®-M4 Instructions
3.6.2
Load and Store Timings
3.6.3
Binary Compatibility With Other Cortex® Processors
3.7
Arm® Cortex®-M4 Processor Registers
3.7.1
CPU_DWT Registers
3.7.2
CPU_FPB Registers
3.7.3
CPU_ITM Registers
3.7.4
CPU_SCS Registers
3.7.5
CPU_TPIU Registers
4
Memory Map
4.1
Memory Map
5
Arm® Cortex®-M4 Peripherals
5.1
Arm® Cortex®-M4 Peripherals Introduction
5.2
Functional Description
5.2.1
SysTick
5.2.2
NVIC
5.2.2.1
Level-Sensitive and Pulse Interrupts
5.2.2.2
Hardware and Software Control of Interrupts
5.2.3
SCB
5.2.4
ITM
5.2.5
FPB
5.2.6
TPIU
5.2.7
DWT
6
Interrupts and Events
6.1
Exception Model
6.1.1
Exception States
6.1.2
Exception Types
6.1.3
Exception Handlers
6.1.4
Vector Table
6.1.5
Exception Priorities
6.1.6
Interrupt Priority Grouping
6.1.7
Exception Entry and Return
6.1.7.1
Exception Entry
6.1.7.2
Exception Return
6.2
Fault Handling
6.2.1
Fault Types
6.2.2
Fault Escalation and Hard Faults
6.2.3
Fault Status Registers and Fault Address Registers
6.2.4
Lockup
6.3
Event Fabric
6.3.1
Introduction
6.3.2
Event Fabric Overview
6.3.2.1
Registers
6.4
AON Event Fabric
6.4.1
Common Input Event List
6.4.2
Event Subscribers
6.4.2.1
Wake-Up Controller (WUC)
6.4.2.2
Real-Time Clock
6.4.2.3
MCU Event Fabric
6.5
MCU Event Fabric
6.5.1
Common Input Event List
6.5.2
Event Subscribers
6.5.2.1
System CPU
6.5.2.2
NMI
6.5.2.3
Freeze
6.6
AON Events
6.7
Interrupts and Events Registers
6.7.1
AON_EVENT Registers
6.7.2
EVENT Registers
7
JTAG Interface
7.1
Top-Level Debug System
7.2
cJTAG
7.2.1
cJTAG Commands
7.2.1.1
Mandatory Commands
7.2.2
Programming Sequences
7.2.2.1
Opening Command Window
7.2.2.2
Changing to 4-Pin Mode
7.2.2.3
Close Command Window
7.3
ICEPick
7.3.1
Secondary TAPs
7.3.1.1
Slave DAP (CPU DAP)
7.3.1.2
Ordering Slave TAPs and DAPs
7.3.2
ICEPick Registers
7.3.2.1
IR Instructions
7.3.2.2
Data Shift Register
7.3.2.3
Instruction Register
7.3.2.4
Bypass Register
7.3.2.5
Device Identification Register
7.3.2.6
User Code Register
7.3.2.7
ICEPick Identification Register
7.3.2.8
Connect Register
7.3.3
Router Scan Chain
7.3.4
TAP Routing Registers
7.3.4.1
ICEPick Control Block
7.3.4.1.1
All0s Register
7.3.4.1.2
ICEPick Control Register
7.3.4.1.3
Linking Mode Register
7.3.4.2
Test TAP Linking Block
7.3.4.2.1
Secondary Test TAP Register
7.3.4.3
Debug TAP Linking Block
7.3.4.3.1
Secondary Debug TAP Register
7.4
ICEMelter
7.5
Serial Wire Viewer (SWV)
7.6
Halt In Boot (HIB)
7.7
Debug and Shutdown
7.8
Debug Features Supported Through WUC TAP
7.9
Profiler Register
7.10
Boundary Scan
8
Power, Reset and Clock Management (PRCM)
8.1
Introduction
8.2
System CPU Mode
8.3
Supply System
8.3.1
Internal DC/DC Converter and Global LDO
8.4
Digital Power Partitioning
8.4.1
MCU_VD
8.4.1.1
MCU_VD Power Domains
8.4.2
AON_VD
8.4.2.1
AON_VD Power Domains
8.5
Clock Management
8.5.1
System Clocks
8.5.1.1
Controlling the Oscillators
8.5.2
Clocks in MCU_VD
8.5.2.1
Clock Gating
8.5.2.2
Scaler to GPTs
8.5.2.3
Scaler to WDT
8.5.3
Clocks in AON_VD
8.6
Power Modes
8.6.1
Start-Up State
8.6.2
Active Mode
8.6.3
Idle Mode
8.6.4
Standby Mode
8.6.5
Shutdown Mode
8.7
Reset
8.7.1
System Resets
8.7.1.1
Clock Loss Detection
8.7.1.2
Software-Initiated System Reset
8.7.1.3
Warm Reset Converted to System Reset
8.7.2
Reset of the MCU_VD Power Domains and Modules
8.7.3
Reset of AON_VD
8.8
PRCM Registers
8.8.1
OSC_DIG Registers
8.8.2
PRCM Registers
8.8.3
AON_PMCTL Registers
9
Versatile Instruction Memory System (VIMS)
9.1
Introduction
9.2
VIMS Configurations
9.2.1
VIMS Modes
9.2.1.1
GPRAM Mode
9.2.1.2
Off Mode
9.2.1.3
Cache Mode
9.2.2
VIMS FLASH Line Buffers
9.2.3
VIMS Arbitration
9.2.4
VIMS Cache TAG Prefetch
9.3
VIMS Software Remarks
9.3.1
FLASH Program or Update
9.3.2
VIMS Retention
9.3.2.1
Mode 1
9.3.2.2
Mode 2
9.3.2.3
Mode 3
9.4
ROM
9.5
FLASH
9.5.1
FLASH Memory Protection
9.5.2
Memory Programming
9.5.3
FLASH Memory Programming
9.5.4
Power Management Requirements
9.6
ROM Functions
9.7
VIMS Registers
9.7.1
FLASH Registers
9.7.2
VIMS Registers
10
SRAM
10.1
Introduction
10.2
Main Features
10.3
Data Retention
10.4
Parity and SRAM Error Support
10.5
SRAM Auto-Initialization
10.6
Parity Debug Behavior
10.7
SRAM Registers
10.7.1
SRAM Registers
11
Bootloader
11.1
Bootloader Functionality
11.1.1
Bootloader Disabling
11.1.2
Bootloader Backdoor
11.2
Bootloader Interfaces
11.2.1
Packet Handling
11.2.1.1
Packet Acknowledge and Not-Acknowledge Bytes
11.2.2
Transport Layer
11.2.2.1
UART Transport
11.2.2.1.1
UART Baud Rate Automatic Detection
11.2.2.2
SSI Transport
11.2.3
Serial Bus Commands
11.2.3.1
COMMAND_PING
11.2.3.2
COMMAND_DOWNLOAD
11.2.3.3
COMMAND_SEND_DATA
11.2.3.4
COMMAND_SECTOR_ERASE
11.2.3.5
COMMAND_GET_STATUS
11.2.3.6
COMMAND_RESET
11.2.3.7
COMMAND_GET_CHIP_ID
11.2.3.8
COMMAND_CRC32
11.2.3.9
COMMAND_BANK_ERASE
11.2.3.10
COMMAND_MEMORY_READ
11.2.3.11
COMMAND_MEMORY_WRITE
11.2.3.12
COMMAND_SET_CCFG
11.2.3.13
COMMAND_DOWNLOAD_CRC
12
Device Configuration
12.1
Customer Configuration (CCFG)
12.2
CCFG Registers
12.2.1
CCFG Registers
12.3
Factory Configuration (FCFG)
12.4
FCFG Registers
12.4.1
FCFG1 Registers
13
Cryptography
13.1
AES Cryptoprocessor Introduction
13.2
Functional Description
13.2.1
Debug Capabilities
13.2.2
Exception Handling
13.3
Power Management and Sleep Modes
13.4
Hardware Description
13.4.1
AHB Slave Bus
13.4.2
AHB Master Bus
13.4.3
Interrupts
13.5
Module Description
13.5.1
Introduction
13.5.2
Module Memory Map
13.5.3
DMA Controller
13.5.3.1
Internal Operation
13.5.3.2
Supported DMA Operations
13.5.4
Master Control and Select Module
13.5.4.1
Algorithm Select Register
13.5.4.1.1
Algorithm Select
13.5.4.2
Master Transfer Protection
13.5.4.2.1
Master Transfer Protection Control
13.5.4.3
Software Reset
13.5.5
AES Engine
13.5.5.1
Second Key Registers (Internal, But Clearable)
13.5.5.2
AES Initialization Vector (IV) Registers
13.5.5.3
AES I/O Buffer Control, Mode, and Length Registers
13.5.5.4
Data Input and Output Registers
13.5.5.5
TAG Registers
13.5.6
Key Area Registers
13.5.6.1
Key Write Area Register
13.5.6.2
Key Written Area Register
13.5.6.3
Key Size Register
13.5.6.4
Key Store Read Area Register
13.6
AES Module Performance
13.6.1
Introduction
13.6.2
Performance for DMA-Based Operations
13.7
Programming Guidelines
13.7.1
One-Time Initialization After a Reset
13.7.2
DMAC and Master Control
13.7.2.1
Regular Use
13.7.2.2
Interrupting DMA Transfers
13.7.2.3
Interrupts, Hardware, and Software Synchronization
13.7.3
Encryption and Decryption
13.7.3.1
Key Store
13.7.3.1.1
Load Keys From External Memory
13.7.3.2
Basic AES Modes
13.7.3.2.1
AES-ECB
13.7.3.2.2
AES-CBC
13.7.3.2.3
AES-CTR
13.7.3.2.4
Programming Sequence With DMA Data
13.7.3.3
CBC-MAC
13.7.3.3.1
Programming Sequence for CBC-MAC
13.7.3.4
AES-CCM
13.7.3.4.1
Programming Sequence for AES-CCM
13.7.4
Exceptions Handling
13.7.4.1
Soft Reset
13.7.4.2
External Port Errors
13.7.4.3
Key Store Errors
13.8
Conventions and Compliances
13.8.1
Conventions Used in This Manual
13.8.1.1
Terminology
13.8.1.2
Formulas and Nomenclature
13.8.2
Compliance
13.9
Cryptography Registers
13.9.1
CRYPTO Registers
14
I/O Controller (IOC)
14.1
Introduction
14.2
IOC Overview
14.3
I/O Mapping and Configuration
14.3.1
Basic I/O Mapping
14.3.2
Mapping AUXIOs to DIO Pins
14.3.3
Control External LNA/PA (Range Extender) With I/Os
14.3.4
Map the 32 kHz System Clock (LF Clock) to DIO
14.4
Edge Detection on DIO Pins
14.4.1
Configure DIO as GPIO Input to Generate Interrupt on EDGE DETECT
14.5
Unused I/O Pins
14.6
GPIO
14.7
I/O Pin Capability
14.8
Peripheral PORTIDs
14.9
I/O Pins
14.9.1
Input/Output Modes
14.9.1.1
Physical Pin
14.9.1.2
Pin Configuration
14.10
IOC Registers
14.10.1
AON_IOC Registers
14.10.2
GPIO Registers
14.10.3
IOC Registers
15
Micro Direct Memory Access (µDMA)
15.1
μDMA Introduction
15.2
Block Diagram
15.3
Functional Description
15.3.1
Channel Assignments
15.3.2
Priority
15.3.3
Arbitration Size
15.3.4
Request Types
15.3.4.1
Single Request
15.3.4.2
Burst Request
15.3.5
Channel Configuration
15.3.6
Transfer Modes
15.3.6.1
Stop Mode
15.3.6.2
Basic Mode
15.3.6.3
Auto Mode
15.3.6.4
Ping-Pong
15.3.6.5
Memory Scatter-Gather Mode
15.3.6.6
Peripheral Scatter-Gather Mode
15.3.7
Transfer Size and Increments
15.3.8
Peripheral Interface
15.3.9
Software Request
15.3.10
Interrupts and Errors
15.4
Initialization and Configuration
15.4.1
Module Initialization
15.4.2
Configuring a Memory-to-Memory Transfer
15.4.2.1
Configure the Channel Attributes
15.4.2.2
Configure the Channel Control Structure
15.4.2.3
Start the Transfer
15.5
µDMA Registers
15.5.1
μDMA Registers
16
Timers
16.1
General-Purpose Timers
16.2
Block Diagram
16.3
Functional Description
16.3.1
GPTM Reset Conditions
16.3.2
Timer Modes
16.3.2.1
One-Shot or Periodic Timer Mode
16.3.2.2
Input Edge-Count Mode
16.3.2.3
Input Edge-Time Mode
16.3.2.4
PWM Mode
16.3.2.5
Wait-for-Trigger Mode
16.3.3
Synchronizing GPT Blocks
16.3.4
Accessing Concatenated 16- and 32-Bit GPTM Register Values
16.4
Initialization and Configuration
16.4.1
One-Shot and Periodic Timer Modes
16.4.2
Input Edge-Count Mode
16.4.3
Input Edge-Timing Mode
16.4.4
PWM Mode
16.4.5
Producing DMA Trigger Events
16.5
GPTM Registers
16.5.1
GPT Registers
17
Real-Time Clock (RTC)
17.1
Introduction
17.2
Functional Specifications
17.2.1
Functional Overview
17.2.2
Free-Running Counter
17.2.3
Channels
17.2.3.1
Capture and Compare
17.2.4
Events
17.3
RTC Register Information
17.3.1
Register Access
17.3.2
Entering Sleep and Wakeup From Sleep
17.3.3
AON_RTC:SYNC Register
17.4
RTC Registers
17.4.1
AON_RTC Registers
18
Watchdog Timer (WDT)
18.1
Introduction
18.2
Functional Description
18.3
Initialization and Configuration
18.4
WDT Registers
18.4.1
WDT Registers
19
True Random Number Generator (TRNG)
19.1
Introduction
19.2
Block Diagram
19.3
TRNG Software Reset
19.4
Interrupt Requests
19.5
TRNG Operation Description
19.5.1
TRNG Shutdown
19.5.2
TRNG Alarms
19.5.3
TRNG Entropy
19.6
TRNG Low-Level Programing Guide
19.6.1
Initialization
19.6.1.1
Interfacing Modules
19.6.1.2
TRNG Main Sequence
19.6.1.3
TRNG Operating Modes
19.6.1.3.1
Polling Mode
19.6.1.3.2
Interrupt Mode
19.7
TRNG Registers
19.7.1
TRNG Registers
20
AUX Domain Peripherals
20.1
Introduction
20.1.1
AUX Block Diagram
20.2
Power and Clock Management
20.2.1
Operational Modes
20.2.1.1
Dual-Rate AUX Clock
20.2.2
Use Scenarios
20.2.2.1
MCU
20.2.3
SCE Clock Emulation
20.3
Digital Peripheral Modules
20.3.1
Overview
20.3.1.1
DDI Control-Configuration
20.3.2
AIODIO
20.3.2.1
Introduction
20.3.2.2
Functional Description
20.3.2.2.1
Mapping to DIO Pins
20.3.2.2.2
Configuration
20.3.2.2.3
GPIO Mode
20.3.2.2.4
Input Buffer
20.3.2.2.5
Data Output Source
20.3.3
SMPH
20.3.3.1
Introduction
20.3.3.2
Functional Description
20.3.3.3
Semaphore Allocation in TI Software
20.3.4
Time-to-Digital Converter (TDC)
20.3.4.1
Introduction
20.3.4.2
Functional Description
20.3.4.2.1
Command
20.3.4.2.2
Conversion Time Configuration
20.3.4.2.3
Status and Result
20.3.4.2.4
Clock Source Selection
20.3.4.2.4.1
Counter Clock
20.3.4.2.4.2
Reference Clock
20.3.4.2.5
Start and Stop Events
20.3.4.2.6
Prescaler
20.3.4.3
Supported Measurement Types
20.3.4.3.1
Measure Pulse Width
20.3.4.3.2
Measure Frequency
20.3.4.3.3
Measure Time Between Edges of Different Events Sources
20.3.4.3.3.1
Asynchronous Counter Start – Ignore 0 Stop Events
20.3.4.3.3.2
Synchronous Counter Start – Ignore 0 Stop Events
20.3.4.3.3.3
Asynchronous Counter Start – Ignore Stop Events
20.3.4.3.3.4
Synchronous Counter Start – Ignore Stop Events
20.3.4.3.4
Pulse Counting
20.3.5
Timer01
20.3.5.1
Introduction
20.3.5.2
Functional Description
20.4
Analog Peripheral Modules
20.4.1
Overview
20.4.1.1
ADI Control-Configuration
20.4.1.2
Block Diagram
20.4.2
Analog-to-Digital Converter (ADC)
20.4.2.1
Introduction
20.4.2.2
Functional Description
20.4.2.2.1
Input Selection and Scaling
20.4.2.2.2
Reference Selection
20.4.2.2.3
ADC Sample Mode
20.4.2.2.4
ADC Clock Source
20.4.2.2.5
ADC Trigger
20.4.2.2.6
Sample FIFO
20.4.2.2.7
µDMA Interface
20.4.2.2.8
Resource Ownership and Usage
20.4.3
COMPA
20.4.3.1
Introduction
20.4.3.2
Functional Description
20.4.3.2.1
Input Selection
20.4.3.2.2
Reference Selection
20.4.3.2.3
LPM Bias and COMPA Enable
20.4.3.2.4
Resource Ownership and Usage
20.4.4
COMPB
20.4.4.1
Introduction
20.4.4.2
Functional Description
20.4.4.2.1
Input Selection
20.4.4.2.2
Reference Selection
20.4.4.2.3
Resource Ownership and Usage
20.4.4.2.3.1
System CPU Wakeup
20.4.5
Reference DAC
20.4.5.1
Introduction
20.4.5.2
Functional Description
20.4.5.2.1
Reference Selection
20.4.5.2.2
Output Voltage Control and Range
20.4.5.2.3
Sample Clock
20.4.5.2.3.1
Automatic Phase Control
20.4.5.2.3.2
Manual Phase Control
20.4.5.2.3.3
Operational Mode Dependency
20.4.5.2.4
Output Selection
20.4.5.2.4.1
Buffer
20.4.5.2.4.2
External Load
20.4.5.2.4.3
COMPA_REF
20.4.5.2.4.4
COMPB_REF
20.4.5.2.5
LPM Bias
20.4.5.2.6
Resource Ownership and Usage
20.4.6
ISRC
20.4.6.1
Introduction
20.4.6.2
Functional Description
20.4.6.2.1
Programmable Current
20.4.6.2.2
Voltage Reference
20.4.6.2.3
ISRC Enable
20.4.6.2.4
Temperature Dependency
20.4.6.2.5
Resource Ownership and Usage
20.5
Event Routing and Usage
20.5.1
AUX Event Bus
20.5.1.1
Event Signals
20.5.1.2
Event Subscribers
20.5.1.2.1
Event Detection
20.5.1.2.1.1
Detection of Asynchronous Events
20.5.1.2.1.2
Detection of Synchronous Events
20.5.2
Event Observation on External Pin
20.5.3
Events From MCU Domain
20.5.4
Events to MCU Domain
20.5.5
Events From AON Domain
20.5.6
Events to AON Domain
20.5.7
µDMA Interface
20.6
AUX Domain Peripheral Registers
20.6.1
ADI_4_AUX Registers
20.6.2
AUX_AIODIO Registers
20.6.3
AUX_EVCTL Registers
20.6.4
AUX_SMPH Registers
20.6.5
AUX_TDC Registers
20.6.6
AUX_TIMER01 Registers
20.6.7
AUX_ANAIF Registers
20.6.8
AUX_SYSIF Registers
21
Battery Monitor and Temperature Sensor (BATMON)
21.1
Introduction
21.2
Functional Description
21.3
BATMON Registers
21.3.1
AON_BATMON Registers
22
Universal Asynchronous Receiver/Transmitter (UART)
22.1
Introduction
22.2
Block Diagram
22.3
Signal Description
22.4
Functional Description
22.4.1
Transmit and Receive Logic
22.4.2
Baud-rate Generation
22.4.3
Data Transmission
22.4.4
Modem Handshake Support
22.4.4.1
Signaling
22.4.4.2
Flow Control
22.4.4.2.1
Hardware Flow Control (RTS and CTS)
22.4.4.2.2
Software Flow Control (Modem Status Interrupts)
22.4.5
FIFO Operation
22.4.6
Interrupts
22.4.7
Loopback Operation
22.5
Interface to DMA
22.6
Initialization and Configuration
22.7
UART Registers
22.7.1
UART Registers
23
Synchronous Serial Interface (SSI)
23.1
Introduction
23.2
Block Diagram
23.3
Signal Description
23.4
Functional Description
23.4.1
Bit Rate Generation
23.4.2
FIFO Operation
23.4.2.1
Transmit FIFO
23.4.2.2
Receive FIFO
23.4.3
Interrupts
23.4.4
Frame Formats
23.4.4.1
Texas Instruments Synchronous Serial Frame Format
23.4.4.2
Motorola SPI Frame Format
23.4.4.2.1
SPO Clock Polarity Bit
23.4.4.2.2
SPH Phase-Control Bit
23.4.4.3
Motorola SPI Frame Format With SPO = 0 and SPH = 0
23.4.4.4
Motorola SPI Frame Format With SPO = 0 and SPH = 1
23.4.4.5
Motorola SPI Frame Format With SPO = 1 and SPH = 0
23.4.4.6
Motorola SPI Frame Format With SPO = 1 and SPH = 1
23.4.4.7
MICROWIRE Frame Format
23.5
DMA Operation
23.6
Initialization and Configuration
23.7
SSI Registers
23.7.1
SSI Registers
24
Inter-Integrated Circuit (I2C)
24.1
Introduction
24.2
Block Diagram
24.3
Functional Description
24.3.1
I2C Bus Functional Overview
24.3.1.1
Start and Stop Conditions
24.3.1.2
Data Format With 7-Bit Address
24.3.1.3
Data Validity
24.3.1.4
Acknowledge
24.3.1.5
Arbitration
24.3.2
Available Speed Modes
24.3.2.1
Standard and Fast Modes
24.3.3
Interrupts
24.3.3.1
I2C Master Interrupts
24.3.3.2
I2C Slave Interrupts
24.3.4
Loopback Operation
24.3.5
Command Sequence Flow Charts
24.3.5.1
I2C Master Command Sequences
24.3.5.2
I2C Slave Command Sequences
24.4
Initialization and Configuration
24.5
I2C Registers
24.5.1
I2C Registers
25
Inter-IC Sound (I2S)
25.1
Introduction
25.2
Block Diagram
25.3
Signal Description
25.4
Functional Description
25.4.1
Dependencies
25.4.1.1
System CPU Deep-Sleep Mode
25.4.2
Pin Configuration
25.4.3
Serial Format Configuration
25.4.4
I2S
25.4.4.1
Register Configuration
25.4.5
Left-Justified (LJF)
25.4.5.1
Register Configuration
25.4.6
Right-Justified (RJF)
25.4.6.1
Register Configuration
25.4.7
DSP
25.4.7.1
Register Configuration
25.4.8
Clock Configuration
25.4.8.1
Internal Audio Clock Source
25.4.8.2
External Audio Clock Source
25.5
Memory Interface
25.5.1
Sample Word Length
25.5.2
Channel Mapping
25.5.3
Sample Storage in Memory
25.5.4
DMA Operation
25.5.4.1
Start-Up
25.5.4.2
Operation
25.5.4.3
Shutdown
25.6
Samplestamp Generator
25.6.1
Samplestamp Counters
25.6.2
Start-Up Triggers
25.6.3
Samplestamp Capture
25.6.4
Achieving Constant Audio Latency
25.7
Error Detection
25.8
Usage
25.8.1
Start-Up Sequence
25.8.2
Shutdown Sequence
25.9
I2S Registers
25.9.1
I2S Registers
26
Radio
26.1
RF Core
26.1.1
High-Level Description and Overview
26.2
Radio Doorbell
26.2.1
Special Boot Process
26.2.2
Command and Status Register and Events
26.2.3
RF Core Interrupts
26.2.3.1
RF Command and Packet Engine Interrupts
26.2.3.2
RF Core Hardware Interrupts
26.2.3.3
RF Core Command Acknowledge Interrupt
26.2.4
Radio Timer
26.2.4.1
Compare and Capture Events
26.2.4.2
Radio Timer Outputs
26.2.4.3
Synchronization With Real-Time Clock
26.3
RF Core HAL
26.3.1
Hardware Support
26.3.2
Firmware Support
26.3.2.1
Commands
26.3.2.2
Command Status
26.3.2.3
Interrupts
26.3.2.4
Passing Data
26.3.2.5
Command Scheduling
26.3.2.5.1
Triggers
26.3.2.5.2
Conditional Execution
26.3.2.5.3
Handling Before Start of Command
26.3.2.6
Command Data Structures
26.3.2.6.1
Radio Operation Command Structure
26.3.2.7
Data Entry Structures
26.3.2.7.1
Data Entry Queue
26.3.2.7.2
Data Entry
26.3.2.7.3
Pointer Entry
26.3.2.7.4
Partial Read RX Entry
26.3.2.8
External Signaling
26.3.3
Command Definitions
26.3.3.1
Protocol-Independent Radio Operation Commands
26.3.3.1.1
CMD_NOP: No Operation Command
26.3.3.1.2
CMD_RADIO_SETUP: Set Up Radio Settings Command
26.3.3.1.3
CMD_FS_POWERUP: Power Up Frequency Synthesizer
26.3.3.1.4
CMD_FS_POWERDOWN: Power Down Frequency Synthesizer
26.3.3.1.5
CMD_FS: Frequency Synthesizer Controls Command
26.3.3.1.6
CMD_FS_OFF: Turn Off Frequency Synthesizer
26.3.3.1.7
CMD_RX_TEST: Receiver Test Command
26.3.3.1.8
CMD_TX_TEST: Transmitter Test Command
26.3.3.1.9
CMD_SYNC_STOP_RAT: Synchronize and Stop Radio Timer Command
26.3.3.1.10
CMD_SYNC_START_RAT: Synchronously Start Radio Timer Command
26.3.3.1.11
CMD_COUNT: Counter Command
26.3.3.1.12
CMD_SCH_IMM: Run Immediate Command as Radio Operation
26.3.3.1.13
CMD_COUNT_BRANCH: Counter Command With Branch of Command Chain
26.3.3.1.14
CMD_PATTERN_CHECK: Check a Value in Memory Against a Pattern
26.3.3.2
Protocol-Independent Direct and Immediate Commands
26.3.3.2.1
CMD_ABORT: ABORT Command
26.3.3.2.2
CMD_STOP: Stop Command
26.3.3.2.3
CMD_GET_RSSI: Read RSSI Command
26.3.3.2.4
CMD_UPDATE_RADIO_SETUP: Update Radio Settings Command
26.3.3.2.5
CMD_TRIGGER: Generate Command Trigger
26.3.3.2.6
CMD_GET_FW_INFO: Request Information on the Firmware Being Run
26.3.3.2.7
CMD_START_RAT: Asynchronously Start Radio Timer Command
26.3.3.2.8
CMD_PING: Respond With Interrupt
26.3.3.2.9
CMD_READ_RFREG: Read RF Core Register
26.3.3.2.10
CMD_SET_RAT_CMP: Set RAT Channel to Compare Mode
26.3.3.2.11
CMD_SET_RAT_CPT: Set RAT Channel to Capture Mode
26.3.3.2.12
CMD_DISABLE_RAT_CH: Disable RAT Channel
26.3.3.2.13
CMD_SET_RAT_OUTPUT: Set RAT Output to a Specified Mode
26.3.3.2.14
CMD_ARM_RAT_CH: Arm RAT Channel
26.3.3.2.15
CMD_DISARM_RAT_CH: Disarm RAT Channel
26.3.3.2.16
CMD_SET_TX_POWER: Set Transmit Power
26.3.3.2.17
CMD_SET_TX20_POWER: Set Transmit Power of the 20 dBm PA
26.3.3.2.18
CMD_UPDATE_FS: Set New Synthesizer Frequency Without Recalibration (Depricated)
26.3.3.2.19
CMD_MODIFY_FS: Set New Synthesizer Frequency Without Recalibration
26.3.3.2.20
CMD_BUS_REQUEST: Request System BUS Available for RF Core
26.3.4
Immediate Commands for Data Queue Manipulation
26.3.4.1
CMD_ADD_DATA_ENTRY: Add Data Entry to Queue
26.3.4.2
CMD_REMOVE_DATA_ENTRY: Remove First Data Entry From Queue
26.3.4.3
CMD_FLUSH_QUEUE: Flush Queue
26.3.4.4
CMD_CLEAR_RX: Clear All RX Queue Entries
26.3.4.5
CMD_REMOVE_PENDING_ENTRIES: Remove Pending Entries From Queue
26.4
Data Queue Usage
26.4.1
Operations on Data Queues Available Only for Internal Radio CPU Operations
26.4.1.1
PROC_ALLOCATE_TX: Allocate TX Entry for Reading
26.4.1.2
PROC_FREE_DATA_ENTRY: Free Allocated Data Entry
26.4.1.3
PROC_FINISH_DATA_ENTRY: Finish Use of First Data Entry From Queue
26.4.1.4
PROC_ALLOCATE_RX: Allocate RX Buffer for Storing Data
26.4.1.5
PROC_FINISH_RX: Commit Received Data to RX Data Entry
26.4.2
Radio CPU Usage Model
26.4.2.1
Receive Queues
26.4.2.2
Transmit Queues
26.5
IEEE 802.15.4
26.5.1
IEEE 802.15.4 Commands
26.5.1.1
IEEE 802.15.4 Radio Operation Command Structures
26.5.1.2
IEEE 802.15.4 Immediate Command Structures
26.5.1.3
Output Structures
26.5.1.4
Other Structures and Bit Fields
26.5.2
Interrupts
26.5.3
Data Handling
26.5.3.1
Receive Buffers
26.5.3.2
Transmit Buffers
26.5.4
Radio Operation Commands
26.5.4.1
RX Operation
26.5.4.1.1
Frame Filtering and Source Matching
26.5.4.1.1.1
Frame Filtering
26.5.4.1.1.2
Source Matching
26.5.4.1.2
Frame Reception
26.5.4.1.3
ACK Transmission
26.5.4.1.4
End of Receive Operation
26.5.4.1.5
CCA Monitoring
26.5.4.2
Energy Detect Scan Operation
26.5.4.3
CSMA-CA Operation
26.5.4.4
Transmit Operation
26.5.4.5
Receive Acknowledgment Operation
26.5.4.6
Abort Background-Level Operation Command
26.5.5
Immediate Commands
26.5.5.1
Modify CCA Parameter Command
26.5.5.2
Modify Frame-Filtering Parameter Command
26.5.5.3
Enable or Disable Source Matching Entry Command
26.5.5.4
Abort Foreground-Level Operation Command
26.5.5.5
Stop Foreground-Level Operation Command
26.5.5.6
Request CCA and RSSI Information Command
26.6
Bluetooth® low energy
26.6.1
Bluetooth® low energy Commands
26.6.1.1
Command Data Definitions
26.6.1.1.1
Bluetooth® low energy Command Structures
26.6.1.2
Parameter Structures
26.6.1.3
Output Structures
26.6.1.4
Other Structures and Bit Fields
26.6.2
Interrupts
26.7
Data Handling
26.7.1
Receive Buffers
26.7.2
Transmit Buffers
26.8
Radio Operation Command Descriptions
26.8.1
Bluetooth® 5 Radio Setup Command
26.8.2
Radio Operation Commands for Bluetooth® low energy Packet Transfer
26.8.3
Coding Selection for Coded PHY
26.8.4
Parameter Override
26.8.5
Link Layer Connection
26.8.6
Slave Command
26.8.7
Master Command
26.8.8
Legacy Advertiser
26.8.8.1
Connectable Undirected Advertiser Command
26.8.8.2
Connectable Directed Advertiser Command
26.8.8.3
Nonconnectable Advertiser Command
26.8.8.4
Scannable Undirected Advertiser Command
26.8.9
Bluetooth® 5 Advertiser Commands
26.8.9.1
Common Extended Advertising Packets
26.8.9.2
Extended Advertiser Command
26.8.9.3
Secondary Channel Advertiser Command
26.8.10
Scanner Commands
26.8.10.1
Scanner Receiving Legacy Advertising Packets on Primary Channel
26.8.10.2
Scanner Receiving Extended Advertising Packets on Primary Channel
26.8.10.3
Scanner Receiving Extended Advertising Packets on Secondary Channel
26.8.10.4
ADI Filtering
26.8.10.5
End of Scanner Commands
26.8.11
Initiator Command
26.8.11.1
Initiator Receiving Legacy Advertising Packets on Primary Channel
26.8.11.2
Initiator Receiving Extended Advertising Packets on Primary Channel
26.8.11.3
Initiator Receiving Extended Advertising Packets on Secondary Channel
26.8.11.4
Automatic Window Offset Insertion
26.8.11.5
End of Initiator Commands
26.8.12
Generic Receiver Command
26.8.13
PHY Test Transmit Command
26.8.14
Whitelist Processing
26.8.15
Backoff Procedure
26.8.16
AUX Pointer Processing
26.8.17
Dynamic Change of Device Address
26.9
Immediate Commands
26.9.1
Update Advertising Payload Command
26.10
Proprietary Radio
26.10.1
Packet Formats
26.10.2
Commands
26.10.2.1
Command Data Definitions
26.10.2.1.1
Command Structures
26.10.2.2
Output Structures
26.10.2.3
Other Structures and Bit Fields
26.10.3
Interrupts
26.10.4
Data Handling
26.10.4.1
Receive Buffers
26.10.4.2
Transmit Buffers
26.10.5
Radio Operation Command Descriptions
26.10.5.1
End of Operation
26.10.5.2
Proprietary Mode Setup Command
26.10.5.2.1
IEEE 802.15.4g Packet Format
26.10.5.3
Transmitter Commands
26.10.5.3.1
Standard Transmit Command, CMD_PROP_TX
26.10.5.3.2
Advanced Transmit Command, CMD_PROP_TX_ADV
26.10.5.4
Receiver Commands
26.10.5.4.1
Standard Receive Command, CMD_PROP_RX
26.10.5.4.2
Advanced Receive Command, CMD_PROP_RX_ADV
26.10.5.5
Carrier-Sense Operation
26.10.5.5.1
Common Carrier-Sense Description
26.10.5.5.2
Carrier-Sense Command, CMD_PROP_CS
26.10.5.5.3
Sniff Mode Receiver Commands, CMD_PROP_RX_SNIFF and CMD_PROP_RX_ADV_SNIFF
26.10.6
Immediate Commands
26.10.6.1
Set Packet Length Command, CMD_PROP_SET_LEN
26.10.6.2
Restart Packet RX Command, CMD_PROP_RESTART_RX
26.11
Radio Registers
26.11.1
RFC_RAT Registers
26.11.2
RFC_DBELL Registers
26.11.3
RFC_PWR Registers
Revision History
23.4.2
FIFO Operation