Apollo Apollo2 MCU Data Sheet.book

gwhitacre

Apollo3 Blue Datasheet

Feb 2019. IMPORTANT NOTICE: This datasheet includes content which

Apollo3 Datasheet

SparkFun LoRa Thing Plus - expLoRaBLE - WRL-17506 - SparkFun Electronics

Apollo3 Blue MCU Data Sheet v0 9 1
Apollo3 Blue Datasheet

Apollo3 Blue Datasheet
Doc. ID: DS-A3-0p9p1 Revision 0.9.1 Feb 2019
IMPORTANT NOTICE: This datasheet includes content which is accurate to the extent possible, but is preliminary and certain content may
not be fully validated.

DS-A3-0p9p1

Page 1 of 912

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet Ultra-Low Power MCU Family

Features
Ultra-low supply current: - 6 µA/MHz executing from flash at 3.3 V - 6 µA/MHz executing from RAM at 3.3 V - 1 µA deep sleep mode (BLE Off) with RTC at 3.3 V
High-performance ARM Cortex-M4 Processor - 48 MHz nominal clock frequency, with 96 MHz high performance "TurboSPOT" Burst Mode - Floating point unit - Memory protection unit - Wake-up interrupt controller with 32 interrupts
Integrated Bluetooth1 5 low-energy module - RF sensitivity: -93 dBm (typical) - TX: 3 mA @ 0 dBm, RX: 3 mA - Tx peak output power: 4.0 dBm (max)
Ultra-low power memory:
- Up to 1 MB of flash memory for code/data - Up to 384 KB of low leakage RAM for code/data - 16 kB 2-way Associative/Direct-Mapped Cache
Ultra-low power interface for off-chip sensors: - 14 bit ADC at up to 1.2 MS/s, 15 selectable input channels available - Voltage Comparator - Temperature sensor with +/-3ºCaccuracy
ISO7816 Secure interface
Flexible serial peripherals: - 1x 2/4/8-bit SPI master interface - 6x I2C/SPI masters for peripheral communication - I2C/SPI slave for host communications - 2x UART modules with 32-location Tx and Rx FIFOs - PDM for mono and stereo audio microphone - 1x I2S slave for PDM audio pass-through
Rich set of clock sources: - 32.768 kHz XTAL oscillator - Low frequency RC oscillator ­ 1.024 kHz - High frequency RC oscillator ­ 48/96 MHz - RTC based on Ambiq's AM08X5/18X5 families
Wide operating range: 1.755-3.63 V, ­40 to 85°C
1. The Bluetooth® word mark and logos are registered trade-
marks owned by the Bluetooth SIG, Inc. and any use of such marks is under license. Other trademarks and trade names are those of their respective owners.

Compact package option: - 3.37 x 3.25 mm(<0.35mm thk pkg) 66-pin CSP with 37 GPIO - 5 x 5 mm (<0.5mm thk pkg) 81-pin BGA with 50 GPIO
Applications
 Always-listening keyword detect for voice assistants  Always-listening local audio command recognition for smart
home, IoT, and industrial devices  Hearable devices including bluetooth headsets, earbuds, and
truly wireless earbuds  Hearing aids  Remote and Gaming Controls  Digital Health Monitoring and Sensing Devices  Wearable electronics including smart watches and fitness/activity
trackers  Home Automation, Security and Lighting control applications
Description
The Apollo3 MCU Family is an ultra-low power, highly integrated microcontroller designed for battery-powered and portable, mobile devices. At the heart of the Apollo3 Blue MCU is Ambiq Micro's patented Subthreshold Power Optimized Technology (SPOTTM) and a powerful ARM Cortex-M4 processor with Floating Point Unit. This combination dramatically reduces energy consumption while still enabling abundant application processing power to add greater capability and extended life to battery-operated devices.
By combining ultra-low power sensor conversion electronics with the powerful ARM Cortex-M4 processor with Floating Point Unit, the Apollo3 Blue MCU enables complex sensor processing tasks to be completed with unprecedented battery life. Weeks, months, and years of battery life are achievable while doing complex context detection, gesture recognition, and activity monitoring.
The Apollo3 Blue MCU builds upon the industry's best power management efficiency of the Apollo2 MCU Family to deliver a totally integrated Bluetooth low energy connectivity solution. The device offers Bluetooth 5 ready radio and integrates 1 MB of flash memory and 384 KB of RAM to accommodate radio and sensor overhead while leaving space for application code. This microcontroller also includes several masters and one slave SPI and I2C ports and two UART ports for communicating with sensors including accelerometers, gyroscopes, and magnetometers.

Typical Application Circuit for the Apollo3 MCU

Host Processor (optional)

SPI/I2C Slave Port

Ambiq Micro

Apollo3

MCU

Multi-bit SPI

SPI/I2C Master, UART

External Flash

DS-A3-0p9p1

GPS / WiFi

Magnetometer with Digital Output

Gyroscope with Digital
Output

Accelerometer with Digital Output

Display

Page 2 of 912

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table of Content
1. Apollo3 Blue MCU Package Pins ..................................................................................... 47 1.1 Pin Configuration ....................................................................................................... 47 1.2 Pin Connections ......................................................................................................... 48
2. System Core ....................................................................................................................... 66 3. MCU Core Details ............................................................................................................. 68
3.1 Interrupts .................................................................................................................... 68 3.2 Memory Map ............................................................................................................. 71 3.3 Memory Protection Unit (MPU) ................................................................................ 73 3.4 System Busses ............................................................................................................ 74 3.5 Power Management ................................................................................................... 74
3.5.1 Cortex-M4 Power Modes .................................................................................. 74 3.5.2 System Power Modes ........................................................................................ 75 3.5.3 Power Control ................................................................................................... 77 3.6 Debug Interfaces ........................................................................................................ 94 3.6.1 Debugger Attachment ....................................................................................... 94 3.6.2 Instrumentation Trace Macrocell (ITM) ........................................................... 94 3.6.3 Trace Port Interface Unit (TPIU) ...................................................................... 94 3.6.4 Faulting Address Trapping Hardware ............................................................... 94 3.7 ITM Registers ............................................................................................................ 94 3.7.1 Register Memory Map ...................................................................................... 95 3.7.2 ITM Registers ................................................................................................... 97 3.8 MCUCTRL Registers .............................................................................................. 122 3.8.1 Register Memory Map .................................................................................... 123 3.8.2 MCUCTRL Registers ..................................................................................... 125 3.9 Memory Subsystem ................................................................................................. 154 3.9.1 Features ........................................................................................................... 155 3.9.2 Functional Overview ....................................................................................... 156 3.9.3 Flash Cache ..................................................................................................... 157 3.9.4 SRAM Interface .............................................................................................. 171 4. Security ............................................................................................................................ 173 4.1 Functional Overview ................................................................................................ 173 4.2 Secure Boot .............................................................................................................. 173 4.3 Secure OTA ............................................................................................................. 174 4.4 Secure Key Storage .................................................................................................. 174 4.5 External Flash Inline Encrypt/Decrypt .................................................................... 174 5. DMA ................................................................................................................................ 176 5.1 Functional Overview ................................................................................................ 176 5.1.1 General Usage ................................................................................................. 176 5.1.2 Auto Power Down .......................................................................................... 177 5.1.3 Priority ............................................................................................................ 177 5.1.4 Hardware Handshake / Hardware Triggering ................................................. 177 6. BLE Module .................................................................................................................... 178 6.1 Functional Overview ................................................................................................ 178 6.1.1 Introduction ..................................................................................................... 178

DS-A3-0p9p1

Page 3 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

6.1.2 Main Features ................................................................................................. 178 6.2 Functional Description ............................................................................................. 179
6.2.1 Data Transfers ................................................................................................. 179 6.3 BLEIF Registers ...................................................................................................... 180
6.3.1 Register Memory Map .................................................................................... 181 6.3.2 BLEIF Registers ............................................................................................. 183 7. MSPI Master Module ....................................................................................................... 216 7.1 Functional Overview ................................................................................................ 216 7.2 Configuration ........................................................................................................... 217 7.3 PIO Operations ........................................................................................................ 217 7.3.1 Paired-Quad Device Operation (QUADCMD) ............................................... 218 7.4 DMA Operations ...................................................................................................... 219 7.5 Execute in Place (XIP) Operations .......................................................................... 220 7.5.1 XIPMM Operation .......................................................................................... 220 7.5.2 Optimized XIP Addressing ............................................................................. 220 7.5.3 Micron XIP Support ........................................................................................ 221 7.6 Command Queueing (CQ) ....................................................................................... 221 7.6.1 Command Queue Data Format ....................................................................... 221 7.6.2 CQ Interrupts .................................................................................................. 222 7.6.3 Pausing CQ Operations ................................................................................... 223 7.6.4 Using the CQ Index registers .......................................................................... 224 7.6.5 MSPI and IOM Intercommunication .............................................................. 225 7.7 Data Scrambling ...................................................................................................... 225 7.8 Auto Power Down ................................................................................................... 225 7.9 Pad Configuration and Enables ................................................................................ 225 7.9.1 Internal Pin Muxing Options ......................................................................... 226 7.9.2 MSPI Pin Timing Board/Package Considerations .......................................... 227 7.10 MSPI Registers ...................................................................................................... 228 7.10.1 Register Memory Map .................................................................................. 229 7.10.2 MSPI Registers ............................................................................................. 230 8. I2C/SPI Master Module ................................................................................................... 258 8.1 Functional Overview ................................................................................................ 258 8.1.1 Main Features ................................................................................................. 259 8.2 Functional Description ............................................................................................. 259 8.2.1 Power Control ................................................................................................. 259 8.2.2 Clocking and Resets ........................................................................................ 259 8.2.3 FIFO ................................................................................................................ 262 8.2.4 Data Alignment ............................................................................................... 262 8.2.5 Transaction Initiation ...................................................................................... 264 8.2.6 Command Queue ............................................................................................ 265 8.3 Programmer's Reference ......................................................................................... 268 8.4 Interface Clock Generation ...................................................................................... 268 8.5 Command Operation ................................................................................................ 269 8.6 FIFO ......................................................................................................................... 270 8.7 I2C Interface ............................................................................................................ 270 8.7.1 Bus Not Busy .................................................................................................. 270

DS-A3-0p9p1

Page 4 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

8.7.2 Start Data Transfer .......................................................................................... 271 8.7.3 Stop Data Transfer .......................................................................................... 271 8.7.4 Data Valid ....................................................................................................... 271 8.7.5 Acknowledge .................................................................................................. 271 8.7.6 I2C Slave Addressing ..................................................................................... 271 8.7.7 I2C Offset Address Transmission ................................................................... 272 8.7.8 I2C Normal Write Operation .......................................................................... 272 8.7.9 I2C Normal Read Operation ........................................................................... 273 8.7.10 I2C Raw Write Operation ............................................................................. 273 8.7.11 I2C Raw Read Operation .............................................................................. 273 8.7.12 Holding the Interface with CONT ................................................................ 274 8.7.13 I2C Multi-master Arbitration ........................................................................ 274 8.8 SPI Operations ......................................................................................................... 274 8.8.1 SPI Configuration ........................................................................................... 274 8.8.2 SPI Slave Addressing ...................................................................................... 275 8.8.3 SPI Normal Write ........................................................................................... 275 8.8.4 SPI Normal Read ............................................................................................ 275 8.8.5 SPI Raw Write ................................................................................................ 276 8.8.6 SPI Raw Read ................................................................................................. 276 8.8.7 SPI 3-wire Mode ............................................................................................. 277 8.8.8 Complex SPI Operations ................................................................................ 277 8.8.9 SPI Polarity and Phase .................................................................................... 277 8.9 Repeating a Command ............................................................................................. 278 8.10 Bit Orientation ....................................................................................................... 279 8.11 Full Duplex Operations .......................................................................................... 279 8.12 SPI Flow Control ................................................................................................... 279 8.13 Pre-read Control ..................................................................................................... 281 8.14 Minimizing Power ................................................................................................. 281 8.15 IOM Registers ........................................................................................................ 282 8.15.1 Register Memory Map .................................................................................. 283 8.15.2 IOM Registers ............................................................................................... 288 9. I2C/SPI Slave Module ..................................................................................................... 325 9.1 Functional Overview ................................................................................................ 325 9.2 Local RAM Allocation ............................................................................................ 325 9.3 Direct Area Functions .............................................................................................. 326 9.4 FIFO Area Functions ............................................................................................... 329 9.5 Rearranging the FIFO .............................................................................................. 330 9.6 Interface Interrupts ................................................................................................... 331 9.7 Command Completion Interrupts ............................................................................ 332 9.8 Host Address Space and Registers ........................................................................... 332 9.9 I2C Interface ............................................................................................................ 332 9.9.1 Bus Not Busy .................................................................................................. 333 9.9.2 Start Data Transfer .......................................................................................... 333 9.9.3 Stop Data Transfer .......................................................................................... 333 9.9.4 Data Valid ....................................................................................................... 333 9.9.5 Acknowledge .................................................................................................. 333

DS-A3-0p9p1

Page 5 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

9.9.6 Address Operation .......................................................................................... 334 9.9.7 Offset Address Transmission .......................................................................... 334 9.9.8 Write Operation .............................................................................................. 335 9.9.9 Read Operation ............................................................................................... 335 9.9.10 General Address Detection ........................................................................... 336 9.10 SPI Interface .......................................................................................................... 336 9.10.1 Write Operation ............................................................................................ 336 9.10.2 Read Operation ............................................................................................. 337 9.10.3 Configuring 3-wire vs. 4-wire SPI Mode ..................................................... 337 9.10.4 SPI Polarity and Phase .................................................................................. 337 9.11 Bit Orientation ....................................................................................................... 338 9.12 Wakeup Using the I2C/SPI Slave .......................................................................... 338 9.13 IOSLAVE Registers .............................................................................................. 338 9.13.1 Register Memory Map .................................................................................. 339 9.13.2 IOSLAVE Registers ..................................................................................... 340 9.14 Host Side Address Space and Register .................................................................. 352 9.14.1 Host Address Space and Registers ................................................................ 352 10. PDM/I2S Module ........................................................................................................... 357 10.1 Features .................................................................................................................. 357 10.2 Functional Overview .............................................................................................. 357 10.2.1 PDM-to-PCM Conversion ............................................................................ 358 10.2.2 Clock Generation .......................................................................................... 358 10.2.3 Clock Switching ............................................................................................ 359 10.2.4 Operating Modes ........................................................................................... 360 10.2.5 FIFO Control and Interrupts ......................................................................... 361 10.2.6 Digital Volume Gain ..................................................................................... 361 10.2.7 Low Pass Filter (LPF) ................................................................................... 362 10.2.8 High Pass Filter ............................................................................................. 362 10.3 I2S Slave Interface ................................................................................................. 362 10.4 PDM Registers ....................................................................................................... 363 10.4.1 Register Memory Map .................................................................................. 364 10.4.2 PDM Registers .............................................................................................. 365 11. GPIO and Pad Configuration Module ........................................................................... 379 11.1 Functional Overview .............................................................................................. 379 11.2 Pad Configuration Functions ................................................................................. 379 11.3 General Purpose I/O (GPIO) Functions ................................................................. 386 11.3.1 Configuring the GPIO Functions .................................................................. 386 11.3.2 Reading from a GPIO Pad ............................................................................ 386 11.3.3 Writing to a GPIO Pad .................................................................................. 386 11.3.4 GPIO Interrupts ............................................................................................. 386 11.4 Pad Connection Summary ..................................................................................... 387 11.4.1 Output Selection ........................................................................................... 387 11.4.2 Output Control .............................................................................................. 387 11.4.3 Input Control ................................................................................................. 389 11.4.4 Pull-up Control ............................................................................................. 389 11.4.5 Analog Pad Configuration ............................................................................ 389

DS-A3-0p9p1

Page 6 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

11.5 Module-specific Pad Configuration ....................................................................... 389 11.5.1 Implementing IO Master Connections .......................................................... 389 11.5.2 MSPI Connection .......................................................................................... 396 11.5.3 Implementing IO Slave Connections ............................................................ 396 11.5.4 Implementing Counter/Timer Connections .................................................. 397 11.5.5 Implementing UART Connections ............................................................... 399 11.5.6 Implementing Audio Connections ................................................................ 403 11.5.7 Implementing Secure Card Connections ...................................................... 405 11.5.8 Implementing GPIO Connections ................................................................. 405 11.5.9 Implementing CLKOUT Connections .......................................................... 406 11.5.10 Implementing 32kHz CLKOUT Connections ............................................ 406 11.5.11 Implementing ADC Connections ................................................................ 406 11.5.12 mplementing Voltage Comparator Connections ......................................... 407 11.5.13 Implementing the Software Debug Port Connections ................................ 408 11.5.14 Fast GPIO ................................................................................................... 408
11.6 FASTGPIO Registers ............................................................................................ 408 11.6.1 Register Memory Map .................................................................................. 409 11.6.2 FASTGPIO Registers ................................................................................... 410
11.7 GPIO Registers ...................................................................................................... 412 11.7.1 Register Memory Map .................................................................................. 414 11.7.2 GPIO Registers ............................................................................................. 417
12. Clock Generator and Real Time Clock Module ............................................................ 523 12.1 Clock Generator ..................................................................................................... 523 12.1.1 Functional Overview ..................................................................................... 523 12.1.2 Low Frequency RC Oscillator (LFRC) ....................................................... 524 12.1.3 High Precision XT Oscillator (XT) .............................................................. 525 12.1.4 High Frequency RC Oscillator (HFRC) ....................................................... 526 12.1.5 HFRC Auto-adjustment ................................................................................ 527 12.1.6 Burst Mode Support ...................................................................................... 528 12.1.7 Frequency Measurement ............................................................................... 528 12.1.8 Generating 100 Hz ........................................................................................ 529 12.2 CLKGEN Registers ............................................................................................... 529 12.2.1 Register Memory Map .................................................................................. 530 12.2.2 CLKGEN Registers ...................................................................................... 531 12.3 Real Time Clock .................................................................................................... 547 12.3.1 RTC Functional Overview ............................................................................ 547 12.3.2 Calendar Counters ......................................................................................... 547 12.3.3 Calendar Counter Reads ............................................................................... 547 12.3.4 Alarms ........................................................................................................... 548 12.3.5 12/24 Hour Mode .......................................................................................... 548 12.3.6 Century Control and Leap Year Management .............................................. 548 12.3.7 Weekday Function ........................................................................................ 549 12.4 RTC Registers ........................................................................................................ 549 12.4.1 Register Memory Map .................................................................................. 549 12.4.2 RTC Registers ............................................................................................... 550
13. Counter/Timer Module .................................................................................................. 557

DS-A3-0p9p1

Page 7 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

13.1 Functional Overview .............................................................................................. 557 13.2 Counter/Timer Functions ....................................................................................... 558
13.2.1 Single Count (FN = 0) .................................................................................. 558 13.2.2 Repeated Count (FN = 1) .............................................................................. 559 13.2.3 Single Pulse (FN = 2) .................................................................................... 559 13.2.4 Repeated Pulse (FN = 3) ............................................................................... 560 13.2.5 Single Pattern (FN = 4) ................................................................................. 561 13.2.6 Repeat Pattern (FN = 5) ................................................................................ 561 13.2.7 Continuous (FN = 6) ..................................................................................... 562 13.2.8 Alternate Pulse (FN = 7) ............................................................................... 563 13.3 Creating 32-bit Counters ........................................................................................ 563 13.4 Creating a Secondary Output with CMPR2/3 ........................................................ 564 13.5 Generating Dual Patterns ....................................................................................... 564 13.6 Synchronized A/B Patterns .................................................................................... 565 13.7 Triggering Functions .............................................................................................. 565 13.7.1 Initiating a One-shot Operation .................................................................... 565 13.7.2 Terminating a Repeat Operation ................................................................... 565 13.7.3 Complex Patterns with Triggers ................................................................... 566 13.7.4 Dual Edge Triggers ....................................................................................... 566 13.7.5 Trigger Controlled Inversion ........................................................................ 566 13.8 Clocking Timer/Counters with Other Counter/Timer Outputs .............................. 566 13.9 Global Timer/Counter Enable ................................................................................ 566 13.10 Power Optimization by Measuring HCLK .......................................................... 566 13.11 Generating the Sample Rate for the ADC ........................................................... 567 13.12 Software Generated Serial Data Stream .............................................................. 567 13.13 Software Generated PWM Audio Output ............................................................ 567 13.14 Stepper Motors Driven by Pattern Generation .................................................... 567 13.15 Pattern-based Sine Wave Examples .................................................................... 568 13.15.1 PWM-based Pulse Trains ............................................................................ 568 13.15.2 Pattern-based Pulse Trains .......................................................................... 569 13.15.3 Selecting the Optimal Method .................................................................... 569 13.16 CLR and EN Details ............................................................................................ 569 13.17 NOSYNC Function .............................................................................................. 570 13.18 Counter Functions ................................................................................................ 570 13.18.1 Counting External Edges ............................................................................ 570 13.18.2 Counting Buck Converter Edges ................................................................ 571 13.19 Interconnecting CTIMERs ................................................................................... 571 13.20 Pad Connections from the Timer/Counter ........................................................... 572 13.21 CTIMER Registers .............................................................................................. 577 13.21.1 Register Memory Map ................................................................................ 578 13.21.2 CTIMER Registers ..................................................................................... 580 14. System Timer Module ................................................................................................... 669 14.1 Functional Overview .............................................................................................. 669 14.2 STIMER Registers ................................................................................................. 670 14.2.1 Register Memory Map .................................................................................. 671 14.2.2 STIMER Registers ........................................................................................ 672

DS-A3-0p9p1

Page 8 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

15. Watchdog Timer Module ............................................................................................... 690 15.1 Functional Overview .............................................................................................. 690 15.2 WDT Registers ...................................................................................................... 690 15.2.1 Register Memory Map .................................................................................. 691 15.2.2 WDT Registers ............................................................................................. 692
16. Reset Generator Module ................................................................................................ 698 16.1 Functional Overview .............................................................................................. 698 16.2 External Reset Pin .................................................................................................. 698 16.3 Power-on Event ...................................................................................................... 699 16.4 Brown-out Events .................................................................................................. 699 16.5 Software Reset ....................................................................................................... 700 16.6 Software Power On Initialization .......................................................................... 700 16.7 Watchdog Expiration ............................................................................................. 700 16.8 RSTGEN Registers ................................................................................................ 700 16.8.1 Register Memory Map .................................................................................. 700 16.8.2 RSTGEN Registers ....................................................................................... 701
17. UART Module ............................................................................................................... 707 17.1 Features .................................................................................................................. 707 17.2 Functional Overview .............................................................................................. 707 17.3 Enabling and Selecting the UART Clock .............................................................. 708 17.4 Configuration ......................................................................................................... 708 17.5 Transmit FIFO and Receive FIFO ......................................................................... 709 17.6 UART Registers ..................................................................................................... 709 17.6.1 Register Memory Map .................................................................................. 709 17.6.2 UART Registers ............................................................................................ 711
18. ADC and Temperature Sensor Module ......................................................................... 723 18.1 Features .................................................................................................................. 723 18.2 Functional Overview .............................................................................................. 724 18.2.1 Clock Source and Dividers ........................................................................... 724 18.2.2 Channel Analog Mux .................................................................................... 724 18.2.3 Triggering and Trigger Sources .................................................................... 725 18.2.4 Voltage Reference Sources ........................................................................... 725 18.2.5 Eight Automatically Managed Conversion Slots .......................................... 725 18.2.6 Automatic Sample Accumulation and Scaling ............................................. 726 18.2.7 Sixteen Entry Result FIFO ............................................................................ 727 18.2.8 DMA ............................................................................................................. 730 18.2.9 Window Comparator ..................................................................................... 731 18.3 Operating Modes and the Mode Controller ........................................................... 732 18.3.1 Single Mode .................................................................................................. 733 18.3.2 Repeat Mode ................................................................................................. 734 18.3.3 Low Power Modes ........................................................................................ 734 18.4 Interrupts ................................................................................................................ 735 18.5 Voltage Divider and Switchable Battery Load ...................................................... 735
19. Voltage Comparator Module ......................................................................................... 764 19.1 Functional Overview .............................................................................................. 764 19.2 VCOMP Registers ................................................................................................. 764

DS-A3-0p9p1

Page 9 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
19.2.1 Register Memory Map .................................................................................. 765 19.2.2 VCOMP Registers ........................................................................................ 766 20. Voltage Regulator Module ............................................................................................. 771 20.1 Functional Overview .............................................................................................. 771 20.2 SIMO Buck ............................................................................................................ 771 20.3 BLE/Burst Buck ..................................................................................................... 772 20.3.1 BLE/Burst Buck Ton Adjustment ................................................................. 772 20.3.2 BLE/Burst Buck zero length detect .............................................................. 773 21. Electrical Characteristics ............................................................................................... 774 21.1 Absolute Maximum Ratings .................................................................................. 774 21.2 Recommended Operating Conditions .................................................................... 776 21.3 Current Consumption ............................................................................................. 776 21.4 Power Mode Transitions ........................................................................................ 778 21.5 Clocks/Oscillators .................................................................................................. 778 21.6 Bluetooth Low Energy (BLE) ................................................................................ 779 21.7 Analog-to-Digital Converter (ADC) ...................................................................... 779 21.8 Buck Converter ...................................................................................................... 783 21.9 Power-On RESET (POR) and Brown-Out Detector (BOD) ................................. 785 21.10 Resets ................................................................................................................... 786 21.11 Voltage Comparator (VCOMP) ........................................................................... 787 21.12 Inter-Integrated Circuit (I2C) Interface .............................................................. 788 21.13 Serial Peripheral Interface (SPI) Master Interface .............................................. 789 21.14 Serial Peripheral Interface (SPI) Slave Interface ................................................. 791 21.15 PDM Interface ...................................................................................................... 793 21.16 I2S Interface ......................................................................................................... 793 21.17 Universal Asynchronous Receiver/Transmitter (UART) .................................... 793 21.18 Counter/Timer (CTIMER) ................................................................................... 794 21.19 Flash Memory ...................................................................................................... 794 21.20 General Purpose Input/Output (GPIO) ................................................................ 794 21.21 Serial Wire Debug (SWD) ................................................................................... 796 22. Package Mechanical Information .................................................................................. 797 22.1 CSP Package ......................................................................................................... 797 22.2 BGA Package ......................................................................................................... 798 23. Appendix 1. FLASH OTP 0 Customer Info Space (Info0) ........................................... 804 23.1 Flash OTP INSTANCE0 INFO0 Words ............................................................... 804 23.1.1 Register Memory Map .................................................................................. 805 23.1.2 Flash OTP INSTANCE0 INFO0 Words ...................................................... 810 24. Ordering Information ..................................................................................................... 907 25. Document Revision History ........................................................................................... 908

DS-A3-0p9p1

Page 10 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

List of Figures
Figure 1. Apollo3 Blue MCU BGA Pin Configuration Diagram ............................................... 47 Figure 2. Apollo3 Blue MCU CSP Pin Configuration Diagram - Top View ............................. 48 Figure 3. Block Diagram for the Ultra-Low Power Apollo3 Blue MCU ................................... 66 Figure 4. ARM Cortex-M4 Vector Table for Apollo3 Blue MCU ............................................. 69 Figure 5. Block Diagram for Flash and OTP Memory Subsystem ........................................... 155 Figure 6. Block Diagram for Apollo3 Blue MCU with Flash Cache ....................................... 157 Figure 7. Block diagram for the Flash Memory Controller ...................................................... 170 Figure 8. Block diagram for the SRAM Interface .................................................................... 171 Figure 9. Secure Boot Flow ...................................................................................................... 173 Figure 10. Secure OTA Flow .................................................................................................... 174 Figure 11. Block Diagram for the BLE Module ....................................................................... 178 Figure 12. Block Diagram for the MSPI Master Module ......................................................... 216 Figure 13. MSPI Interface Diagram ......................................................................................... 227 Figure 14. Block Diagram for the I2C/SPI Master Module ..................................................... 258 Figure 15. Clocking Structure for IOM Module ....................................................................... 260 Figure 16. IO_CLK Generation ................................................................................................ 261 Figure 17. Direct Mode 5-byte Write Transfer ......................................................................... 263 Figure 18. Direct Mode 5-byte Read ........................................................................................ 263 Figure 19. Register Write Data Fetches ................................................................................... 265 Figure 20. IOM Pause Example ............................................................................................... 266 Figure 21. CQ Pause Bit Fetching ............................................................................................ 267 Figure 22. I2C/SPI Master Clock Generation ........................................................................... 269 Figure 23. Basic I2C Conditions ............................................................................................... 270 Figure 24. I2C Acknowledge .................................................................................................... 271 Figure 25. I2C 7-bit Address Operation ................................................................................... 272 Figure 26. I2C 10-bit Address Operation ................................................................................. 272 Figure 27. I2C Offset Address Transmission ........................................................................... 272 Figure 28. I2C Normal Write Operation ................................................................................... 273 Figure 29. I2C Normal Read Operation .................................................................................... 273 Figure 30. I2C Raw Write Operation ........................................................................................ 273 Figure 31. I2C Raw Read Operation ........................................................................................ 274 Figure 32. SPI Normal Write Operation ................................................................................... 275 Figure 33. SPI Normal Read Operation .................................................................................... 276 Figure 34. SPI Raw Write Operation ........................................................................................ 276 Figure 35. SPI Raw Read Operation ......................................................................................... 276 Figure 36. SPI Combined Operation ......................................................................................... 277 Figure 37. SPI CPOL and CPHA .............................................................................................. 278 Figure 38. Flow Control at Beginning of a Write Transfer ...................................................... 280 Figure 39. Flow Control at Beginning of a Raw Read Transfer ............................................... 280 Figure 40. Flow Control in the Middle of a Write Transfer ..................................................... 281 Figure 41. Flow Control in the Middle of a Read Transfer ...................................................... 281 Figure 42. Block diagram for the I2C/SPI Slave Module ......................................................... 325 Figure 43. I2C/SPI Slave Module LRAM Addressing ............................................................. 326 Figure 44. I2C/SPI Slave Module FIFO ................................................................................... 330

DS-A3-0p9p1

Page 11 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Figure 45. Basic I2C Conditions ............................................................................................... 333 Figure 46. I2C Acknowledge .................................................................................................... 334 Figure 47. I2C 7-bit Address Operation ................................................................................... 334 Figure 48. I2C 10-bit Address Operation ................................................................................. 334 Figure 49. I2C Offset Address Transmission ........................................................................... 335 Figure 50. I2C Write Operation ................................................................................................ 335 Figure 51. I2C Read Operation ................................................................................................. 335 Figure 52. SPI Write Operation ................................................................................................ 336 Figure 53. SPI Read Operation ................................................................................................. 337 Figure 54. SPI CPOL and CPHA .............................................................................................. 337 Figure 55. Block Diagram for PDM Module ............................................................................ 357 Figure 56. Stereo PDM to PCM Conversion Path .................................................................... 358 Figure 57. PDM Clock Timing Diagram .................................................................................. 358 Figure 58. PDM Clock Source Switching Flow ....................................................................... 360 Figure 59. I2S Interface Data Format Timing .......................................................................... 363 Figure 60. I2S Interface Setup and Hold Timing Diagram ....................................................... 363 Figure 61. Block diagram for the General Purpose I/O (GPIO) Module .................................. 379 Figure 62. Pad Connection Details ........................................................................................... 388 Figure 63. Block diagram for the Clock Generator and Real Time Clock Module .................. 523 Figure 64. Apollo3 Blue Clock Tree ........................................................................................ 524 Figure 65. Block diagram for the Real Time Clock Module .................................................... 547 Figure 66. Block Diagram for One Counter/Timer Pair ........................................................... 557 Figure 67. Counter/Timer Operation, FN = 0 ........................................................................... 558 Figure 68. Counter/Timer Operation, FN = 1 ........................................................................... 559 Figure 69. Counter/Timer Operation, FN = 2 ........................................................................... 560 Figure 70. Counter/Timer Operation, FN = 3 ........................................................................... 560 Figure 71. Counter/Timer Operation, FN = 4 ........................................................................... 561 Figure 72. Counter/Timer Operation, FN = 5 ........................................................................... 562 Figure 73. Counter/Timer Operation, FN = 4 ........................................................................... 563 Figure 74. Counter/Timer Operation, FN = 7 ........................................................................... 563 Figure 75. Complex Operations with CMPR2 and CMPR3 ..................................................... 564 Figure 76. Dual Pattern Generation .......................................................................................... 565 Figure 77. Triggered One-Shot Patterns ................................................................................... 565 Figure 78. Terminated Repeat Patterns ..................................................................................... 566 Figure 79. Creating a Sine Wave .............................................................................................. 568 Figure 80. PWM-based Pulse Train .......................................................................................... 569 Figure 81. Pattern-based Pulse Train ........................................................................................ 569 Figure 82. CLR and EN Operation ........................................................................................... 570 Figure 83. CTIMER Interconnection ........................................................................................ 571 Figure 84. Block Diagram for the System Timer .................................................................... 669 Figure 85. Block diagram for the Watchdog Timer Module .................................................... 690 Figure 86. Block diagram for the Reset Generator Module ...................................................... 698 Figure 87. Block diagram of circuitry for Reset pin ................................................................. 699 Figure 88. Block Diagram for the UART Module .................................................................... 707 Figure 89. Block Diagram for ADC and Temperature Sensor ................................................. 723 Figure 90. Scan Flowchart ........................................................................................................ 733

DS-A3-0p9p1

Page 12 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Figure 91. Switchable Battery Load ......................................................................................... 736 Figure 92. Block diagram for the Voltage Comparator Module ............................................... 764 Figure 93. Block Diagram for the Voltage Regulator Module ................................................. 771 Figure 94. BLE/Burst Buck Ton Adjustment Diagram ............................................................ 773 Figure 95. External Components for SIMO Buck .................................................................... 783 Figure 96. External Components for BLE Buck ....................................................................... 784 Figure 97. I2C Timing .............................................................................................................. 788 Figure 98. SPI Master Mode, Phase = 0 ................................................................................... 789 Figure 99. SPI Master Mode, Phase = 1 ................................................................................... 790 Figure 100. SPI Slave Mode, Phase = 0 ................................................................................... 792 Figure 101. SPI Slave Mode, Phase = 1 ................................................................................... 792 Figure 102. Serial Wire Debug Timing .................................................................................... 796 Figure 103. CSP Package Drawing ........................................................................................... 797 Figure 104. BGA Package Drawing ......................................................................................... 799

DS-A3-0p9p1

Page 13 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

List of Tables
Table 1: Pin List and Function Table .......................................................................................... 49 Table 2: MCU Interrupt Assignments ........................................................................................ 70 Table 3: ARM Cortex-M4 Memory Map ................................................................................... 71 Table 4: MCU System Memory Map ......................................................................................... 71 Table 5: MCU Peripheral Device Memory Map ........................................................................ 72 Table 6: PWRCTRL Register Map ............................................................................................. 78 Table 7: SUPPLYSRC Register ................................................................................................. 79 Table 8: SUPPLYSRC Register Bits .......................................................................................... 79 Table 9: SUPPLYSTATUS Register .......................................................................................... 80 Table 10: SUPPLYSTATUS Register Bits ................................................................................ 80 Table 11: DEVPWREN Register ................................................................................................ 80 Table 12: DEVPWREN Register Bits ........................................................................................ 81 Table 13: MEMPWDINSLEEP Register ................................................................................... 82 Table 14: MEMPWDINSLEEP Register Bits ............................................................................ 82 Table 15: MEMPWREN Register .............................................................................................. 84 Table 16: MEMPWREN Register Bits ....................................................................................... 84 Table 17: MEMPWRSTATUS Register ..................................................................................... 85 Table 18: MEMPWRSTATUS Register Bits ............................................................................. 85 Table 19: DEVPWRSTATUS Register ...................................................................................... 86 Table 20: DEVPWRSTATUS Register Bits .............................................................................. 87 Table 21: SRAMCTRL Register ................................................................................................ 88 Table 22: SRAMCTRL Register Bits ......................................................................................... 88 Table 23: ADCSTATUS Register .............................................................................................. 89 Table 24: ADCSTATUS Register Bits ....................................................................................... 89 Table 25: MISC Register ............................................................................................................ 90 Table 26: MISC Register Bits ..................................................................................................... 90 Table 27: DEVPWREVENTEN Register ................................................................................... 91 Table 28: DEVPWREVENTEN Register Bits ........................................................................... 91 Table 29: MEMPWREVENTEN Register ................................................................................. 93 Table 30: MEMPWREVENTEN Register Bits .......................................................................... 93 Table 31: ITM Register Map ...................................................................................................... 95 Table 32: STIM0 Register .......................................................................................................... 97 Table 33: STIM0 Register Bits ................................................................................................... 97 Table 34: STIM1 Register .......................................................................................................... 97 Table 35: STIM1 Register Bits ................................................................................................... 97 Table 36: STIM2 Register .......................................................................................................... 98 Table 37: STIM2 Register Bits ................................................................................................... 98 Table 38: STIM3 Register .......................................................................................................... 98 Table 39: STIM3 Register Bits ................................................................................................... 98 Table 40: STIM4 Register .......................................................................................................... 99 Table 41: STIM4 Register Bits ................................................................................................... 99 Table 42: STIM5 Register .......................................................................................................... 99 Table 43: STIM5 Register Bits ................................................................................................... 99 Table 44: STIM6 Register ........................................................................................................ 100

DS-A3-0p9p1

Page 14 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 45: STIM6 Register Bits ................................................................................................. 100 Table 46: STIM7 Register ........................................................................................................ 100 Table 47: STIM7 Register Bits ................................................................................................. 100 Table 48: STIM8 Register ........................................................................................................ 101 Table 49: STIM8 Register Bits ................................................................................................. 101 Table 50: STIM9 Register ........................................................................................................ 101 Table 51: STIM9 Register Bits ................................................................................................. 101 Table 52: STIM10 Register ...................................................................................................... 102 Table 53: STIM10 Register Bits ............................................................................................... 102 Table 54: STIM11 Register ...................................................................................................... 102 Table 55: STIM11 Register Bits ............................................................................................... 102 Table 56: STIM12 Register ...................................................................................................... 103 Table 57: STIM12 Register Bits ............................................................................................... 103 Table 58: STIM13 Register ...................................................................................................... 103 Table 59: STIM13 Register Bits ............................................................................................... 103 Table 60: STIM14 Register ...................................................................................................... 104 Table 61: STIM14 Register Bits ............................................................................................... 104 Table 62: STIM15 Register ...................................................................................................... 104 Table 63: STIM15 Register Bits ............................................................................................... 104 Table 64: STIM16 Register ...................................................................................................... 105 Table 65: STIM16 Register Bits ............................................................................................... 105 Table 66: STIM17 Register ...................................................................................................... 105 Table 67: STIM17 Register Bits ............................................................................................... 105 Table 68: STIM18 Register ...................................................................................................... 106 Table 69: STIM18 Register Bits ............................................................................................... 106 Table 70: STIM19 Register ...................................................................................................... 106 Table 71: STIM19 Register Bits ............................................................................................... 106 Table 72: STIM20 Register ...................................................................................................... 107 Table 73: STIM20 Register Bits ............................................................................................... 107 Table 74: STIM21 Register ...................................................................................................... 107 Table 75: STIM21 Register Bits ............................................................................................... 107 Table 76: STIM22 Register ...................................................................................................... 108 Table 77: STIM22 Register Bits ............................................................................................... 108 Table 78: STIM23 Register ...................................................................................................... 108 Table 79: STIM23 Register Bits ............................................................................................... 108 Table 80: STIM24 Register ...................................................................................................... 109 Table 81: STIM24 Register Bits ............................................................................................... 109 Table 82: STIM25 Register ...................................................................................................... 109 Table 83: STIM25 Register Bits ............................................................................................... 109 Table 84: STIM26 Register ...................................................................................................... 110 Table 85: STIM26 Register Bits ............................................................................................... 110 Table 86: STIM27 Register ...................................................................................................... 110 Table 87: STIM27 Register Bits ............................................................................................... 110 Table 88: STIM28 Register ...................................................................................................... 111 Table 89: STIM28 Register Bits ............................................................................................... 111 Table 90: STIM29 Register ...................................................................................................... 111

DS-A3-0p9p1

Page 15 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 91: STIM29 Register Bits ............................................................................................... 111 Table 92: STIM30 Register ...................................................................................................... 112 Table 93: STIM30 Register Bits ............................................................................................... 112 Table 94: STIM31 Register ...................................................................................................... 112 Table 95: STIM31 Register Bits ............................................................................................... 112 Table 96: TER Register ............................................................................................................ 113 Table 97: TER Register Bits ..................................................................................................... 113 Table 98: TPR Register ............................................................................................................. 113 Table 99: TPR Register Bits ..................................................................................................... 113 Table 100: TCR Register .......................................................................................................... 114 Table 101: TCR Register Bits ................................................................................................... 114 Table 102: LOCKAREG Register ............................................................................................ 115 Table 103: LOCKAREG Register Bits ..................................................................................... 115 Table 104: LOCKSREG Register ............................................................................................. 115 Table 105: LOCKSREG Register Bits ..................................................................................... 115 Table 106: PID4 Register ......................................................................................................... 116 Table 107: PID4 Register Bits .................................................................................................. 116 Table 108: PID5 Register ......................................................................................................... 116 Table 109: PID5 Register Bits .................................................................................................. 117 Table 110: PID6 Register ......................................................................................................... 117 Table 111: PID6 Register Bits .................................................................................................. 117 Table 112: PID7 Register ......................................................................................................... 117 Table 113: PID7 Register Bits .................................................................................................. 118 Table 114: PID0 Register ......................................................................................................... 118 Table 115: PID0 Register Bits .................................................................................................. 118 Table 116: PID1 Register ......................................................................................................... 118 Table 117: PID1 Register Bits .................................................................................................. 119 Table 118: PID2 Register ......................................................................................................... 119 Table 119: PID2 Register Bits .................................................................................................. 119 Table 120: PID3 Register ......................................................................................................... 119 Table 121: PID3 Register Bits .................................................................................................. 120 Table 122: CID0 Register ......................................................................................................... 120 Table 123: CID0 Register Bits .................................................................................................. 120 Table 124: CID1 Register ......................................................................................................... 120 Table 125: CID1 Register Bits .................................................................................................. 121 Table 126: CID2 Register ......................................................................................................... 121 Table 127: CID2 Register Bits .................................................................................................. 121 Table 128: CID3 Register ......................................................................................................... 121 Table 129: CID3 Register Bits .................................................................................................. 122 Table 130: MCUCTRL Register Map ...................................................................................... 123 Table 131: CHIPPN Register .................................................................................................... 125 Table 132: CHIPPN Register Bits ............................................................................................ 125 Table 133: CHIPID0 Register ................................................................................................... 126 Table 134: CHIPID0 Register Bits ........................................................................................... 126 Table 135: CHIPID1 Register ................................................................................................... 126 Table 136: CHIPID1 Register Bits ........................................................................................... 126

DS-A3-0p9p1

Page 16 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 137: CHIPREV Register ................................................................................................. 127 Table 138: CHIPREV Register Bits ......................................................................................... 127 Table 139: VENDORID Register ............................................................................................. 127 Table 140: VENDORID Register Bits ...................................................................................... 127 Table 141: SKU Register .......................................................................................................... 128 Table 142: SKU Register Bits .................................................................................................. 128 Table 143: FEATUREENABLE Register ................................................................................ 128 Table 144: FEATUREENABLE Register Bits ......................................................................... 129 Table 145: DEBUGGER Register ............................................................................................ 129 Table 146: DEBUGGER Register Bits ..................................................................................... 130 Table 147: BODCTRL Register ............................................................................................... 130 Table 148: BODCTRL Register Bits ........................................................................................ 130 Table 149: ADCPWRDLY Register ......................................................................................... 131 Table 150: ADCPWRDLY Register Bits ................................................................................. 131 Table 151: ADCCAL Register ................................................................................................. 131 Table 152: ADCCAL Register Bits .......................................................................................... 132 Table 153: ADCBATTLOAD Register .................................................................................... 132 Table 154: ADCBATTLOAD Register Bits ............................................................................ 132 Table 155: ADCTRIM Register ............................................................................................... 133 Table 156: ADCTRIM Register Bits ........................................................................................ 133 Table 157: ADCREFCOMP Register ....................................................................................... 133 Table 158: ADCREFCOMP Register Bits ............................................................................... 134 Table 159: XTALCTRL Register ............................................................................................. 134 Table 160: XTALCTRL Register Bits ...................................................................................... 134 Table 161: XTALGENCTRL Register ..................................................................................... 135 Table 162: XTALGENCTRL Register Bits ............................................................................. 136 Table 163: MISCCTRL Register .............................................................................................. 136 Table 164: MISCCTRL Register Bits ...................................................................................... 136 Table 165: BOOTLOADER Register ....................................................................................... 137 Table 166: BOOTLOADER Register Bits ............................................................................... 137 Table 167: SHADOWVALID Register .................................................................................... 138 Table 168: SHADOWVALID Register Bits ............................................................................ 138 Table 169: SCRATCH0 Register ............................................................................................. 139 Table 170: SCRATCH0 Register Bits ...................................................................................... 139 Table 171: SCRATCH1 Register ............................................................................................. 139 Table 172: SCRATCH1 Register Bits ...................................................................................... 139 Table 173: ICODEFAULTADDR Register ............................................................................. 140 Table 174: ICODEFAULTADDR Register Bits ...................................................................... 140 Table 175: DCODEFAULTADDR Register ............................................................................ 140 Table 176: DCODEFAULTADDR Register Bits .................................................................... 140 Table 177: SYSFAULTADDR Register .................................................................................. 141 Table 178: SYSFAULTADDR Register Bits ........................................................................... 141 Table 179: FAULTSTATUS Register ...................................................................................... 141 Table 180: FAULTSTATUS Register Bits .............................................................................. 141 Table 181: FAULTCAPTUREEN Register ............................................................................. 142 Table 182: FAULTCAPTUREEN Register Bits ...................................................................... 142

DS-A3-0p9p1

Page 17 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 183: DBGR1 Register ..................................................................................................... 143 Table 184: DBGR1 Register Bits ............................................................................................. 143 Table 185: DBGR2 Register ..................................................................................................... 143 Table 186: DBGR2 Register Bits ............................................................................................. 143 Table 187: PMUENABLE Register ......................................................................................... 144 Table 188: PMUENABLE Register Bits .................................................................................. 144 Table 189: TPIUCTRL Register ............................................................................................... 144 Table 190: TPIUCTRL Register Bits ....................................................................................... 144 Table 191: OTAPOINTER Register ......................................................................................... 145 Table 192: OTAPOINTER Register Bits ................................................................................. 145 Table 193: APBDMACTRL Register ....................................................................................... 146 Table 194: APBDMACTRL Register Bits ............................................................................... 146 Table 195: SRAMMODE Register ........................................................................................... 147 Table 196: SRAMMODE Register Bits ................................................................................... 147 Table 197: KEXTCLKSEL Register ........................................................................................ 148 Table 198: KEXTCLKSEL Register Bits ................................................................................. 148 Table 199: SIMOBUCK4 Register ........................................................................................... 148 Table 200: SIMOBUCK4 Register Bits ................................................................................... 148 Table 201: BLEBUCK2 Register ............................................................................................. 150 Table 202: BLEBUCK2 Register Bits ...................................................................................... 150 Table 203: FLASHWPROT0 Register ..................................................................................... 150 Table 204: FLASHWPROT0 Register Bits .............................................................................. 151 Table 205: FLASHWPROT1 Register ..................................................................................... 151 Table 206: FLASHWPROT1 Register Bits .............................................................................. 151 Table 207: FLASHRPROT0 Register ...................................................................................... 151 Table 208: FLASHRPROT0 Register Bits ............................................................................... 152 Table 209: FLASHRPROT1 Register ...................................................................................... 152 Table 210: FLASHRPROT1 Register Bits ............................................................................... 152 Table 211: DMASRAMWRITEPROTECT0 Register ............................................................. 152 Table 212: DMASRAMWRITEPROTECT0 Register Bits ..................................................... 153 Table 213: DMASRAMWRITEPROTECT1 Register ............................................................. 153 Table 214: DMASRAMWRITEPROTECT1 Register Bits ..................................................... 153 Table 215: DMASRAMREADPROTECT0 Register ............................................................... 153 Table 216: DMASRAMREADPROTECT0 Register Bits ....................................................... 154 Table 217: DMASRAMREADPROTECT1 Register ............................................................... 154 Table 218: DMASRAMREADPROTECT1 Register Bits ....................................................... 154 Table 219: CACHECTRL Register Map .................................................................................. 159 Table 220: CACHECFG Register ............................................................................................. 160 Table 221: CACHECFG Register Bits ..................................................................................... 160 Table 222: FLASHCFG Register ............................................................................................. 161 Table 223: FLASHCFG Register Bits ...................................................................................... 161 Table 224: CTRL Register ........................................................................................................ 162 Table 225: CTRL Register Bits ................................................................................................ 162 Table 226: NCR0START Register ........................................................................................... 163 Table 227: NCR0START Register Bits .................................................................................... 164 Table 228: NCR0END Register ............................................................................................... 164

DS-A3-0p9p1

Page 18 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 229: NCR0END Register Bits ........................................................................................ 164 Table 230: NCR1START Register ........................................................................................... 165 Table 231: NCR1START Register Bits .................................................................................... 165 Table 232: NCR1END Register ............................................................................................... 165 Table 233: NCR1END Register Bits ........................................................................................ 165 Table 234: DMON0 Register .................................................................................................... 166 Table 235: DMON0 Register Bits ............................................................................................ 166 Table 236: DMON1 Register .................................................................................................... 166 Table 237: DMON1 Register Bits ............................................................................................ 166 Table 238: DMON2 Register .................................................................................................... 167 Table 239: DMON2 Register Bits ............................................................................................ 167 Table 240: DMON3 Register .................................................................................................... 167 Table 241: DMON3 Register Bits ............................................................................................ 167 Table 242: IMON0 Register ..................................................................................................... 168 Table 243: IMON0 Register Bits .............................................................................................. 168 Table 244: IMON1 Register ..................................................................................................... 168 Table 245: IMON1 Register Bits .............................................................................................. 168 Table 246: IMON2 Register ..................................................................................................... 169 Table 247: IMON2 Register Bits .............................................................................................. 169 Table 248: IMON3 Register ..................................................................................................... 169 Table 249: IMON3 Register Bits .............................................................................................. 169 Table 250: BLEIF Register Map .............................................................................................. 181 Table 251: FIFO Register ......................................................................................................... 183 Table 252: FIFO Register Bits .................................................................................................. 183 Table 253: FIFOPTR Register .................................................................................................. 183 Table 254: FIFOPTR Register Bits .......................................................................................... 184 Table 255: FIFOTHR Register ................................................................................................. 184 Table 256: FIFOTHR Register Bits .......................................................................................... 184 Table 257: FIFOPOP Register .................................................................................................. 185 Table 258: FIFOPOP Register Bits .......................................................................................... 185 Table 259: FIFOPUSH Register ............................................................................................... 185 Table 260: FIFOPUSH Register Bits ........................................................................................ 186 Table 261: FIFOCTRL Register ............................................................................................... 186 Table 262: FIFOCTRL Register Bits ........................................................................................ 186 Table 263: FIFOLOC Register ................................................................................................. 187 Table 264: FIFOLOC Register Bits .......................................................................................... 187 Table 265: CLKCFG Register .................................................................................................. 187 Table 266: CLKCFG Register Bits ........................................................................................... 188 Table 267: CMD Register ......................................................................................................... 188 Table 268: CMD Register Bits ................................................................................................. 189 Table 269: CMDRPT Register ................................................................................................. 189 Table 270: CMDRPT Register Bits .......................................................................................... 190 Table 271: OFFSETHI Register ............................................................................................... 190 Table 272: OFFSETHI Register Bits ........................................................................................ 190 Table 273: CMDSTAT Register ............................................................................................... 191 Table 274: CMDSTAT Register Bits ....................................................................................... 191

DS-A3-0p9p1

Page 19 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 275: INTEN Register ...................................................................................................... 191 Table 276: INTEN Register Bits .............................................................................................. 192 Table 277: INTSTAT Register ................................................................................................. 193 Table 278: INTSTAT Register Bits .......................................................................................... 193 Table 279: INTCLR Register ................................................................................................... 195 Table 280: INTCLR Register Bits ............................................................................................ 195 Table 281: INTSET Register .................................................................................................... 197 Table 282: INTSET Register Bits ............................................................................................. 197 Table 283: DMATRIGEN Register .......................................................................................... 199 Table 284: DMATRIGEN Register Bits .................................................................................. 199 Table 285: DMATRIGSTAT Register ..................................................................................... 199 Table 286: DMATRIGSTAT Register Bits .............................................................................. 200 Table 287: DMACFG Register ................................................................................................. 200 Table 288: DMACFG Register Bits ......................................................................................... 200 Table 289: DMATOTCOUNT Register ................................................................................... 201 Table 290: DMATOTCOUNT Register Bits ............................................................................ 201 Table 291: DMATARGADDR Register .................................................................................. 202 Table 292: DMATARGADDR Register Bits ........................................................................... 202 Table 293: DMASTAT Register ............................................................................................... 202 Table 294: DMASTAT Register Bits ....................................................................................... 203 Table 295: CQCFG Register ..................................................................................................... 203 Table 296: CQCFG Register Bits ............................................................................................. 203 Table 297: CQADDR Register ................................................................................................. 204 Table 298: CQADDR Register Bits .......................................................................................... 204 Table 299: CQSTAT Register .................................................................................................. 205 Table 300: CQSTAT Register Bits ........................................................................................... 205 Table 301: CQFLAGS Register ................................................................................................ 205 Table 302: CQFLAGS Register Bits ........................................................................................ 206 Table 303: CQSETCLEAR Register ........................................................................................ 206 Table 304: CQSETCLEAR Register Bits ................................................................................. 206 Table 305: CQPAUSEEN Register .......................................................................................... 207 Table 306: CQPAUSEEN Register Bits ................................................................................... 207 Table 307: CQCURIDX Register ............................................................................................. 208 Table 308: CQCURIDX Register Bits ...................................................................................... 208 Table 309: CQENDIDX Register ............................................................................................. 208 Table 310: CQENDIDX Register Bits ...................................................................................... 208 Table 311: STATUS Register ................................................................................................... 209 Table 312: STATUS Register Bits ........................................................................................... 209 Table 313: MSPICFG Register ................................................................................................. 210 Table 314: MSPICFG Register Bits ......................................................................................... 210 Table 315: BLECFG Register ................................................................................................... 211 Table 316: BLECFG Register Bits ........................................................................................... 211 Table 317: PWRCMD Register ................................................................................................ 213 Table 318: PWRCMD Register Bits ......................................................................................... 213 Table 319: BSTATUS Register ................................................................................................ 214 Table 320: BSTATUS Register Bits ......................................................................................... 214

DS-A3-0p9p1

Page 20 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 321: BLEDBG Register .................................................................................................. 215 Table 322: BLEDBG Register Bits .......................................................................................... 215 Table 323: Command Queue Example ..................................................................................... 222 Table 324: CQFLAGS .............................................................................................................. 223 Table 325: MSPI Pin Muxing ................................................................................................... 226 Table 326: PADCFG Description ............................................................................................. 226 Table 327: MSPI Register Map ................................................................................................ 229 Table 328: CTRL Register ........................................................................................................ 230 Table 329: CTRL Register Bits ................................................................................................ 230 Table 330: CFG Register .......................................................................................................... 231 Table 331: CFG Register Bits ................................................................................................... 231 Table 332: ADDR Register ....................................................................................................... 232 Table 333: ADDR Register Bits ............................................................................................... 232 Table 334: INSTR Register ...................................................................................................... 233 Table 335: INSTR Register Bits ............................................................................................... 233 Table 336: TXFIFO Register .................................................................................................... 233 Table 337: TXFIFO Register Bits ............................................................................................ 233 Table 338: RXFIFO Register .................................................................................................... 234 Table 339: RXFIFO Register Bits ............................................................................................ 234 Table 340: TXENTRIES Register ............................................................................................ 234 Table 341: TXENTRIES Register Bits ..................................................................................... 234 Table 342: RXENTRIES Register ............................................................................................ 235 Table 343: RXENTRIES Register Bits .................................................................................... 235 Table 344: THRESHOLD Register .......................................................................................... 235 Table 345: THRESHOLD Register Bits ................................................................................... 235 Table 346: MSPICFG Register ................................................................................................. 236 Table 347: MSPICFG Register Bits ......................................................................................... 236 Table 348: PADCFG Register .................................................................................................. 238 Table 349: PADCFG Register Bits ........................................................................................... 238 Table 350: PADOUTEN Register ............................................................................................ 239 Table 351: PADOUTEN Register Bits ..................................................................................... 239 Table 352: FLASH Register ..................................................................................................... 239 Table 353: FLASH Register Bits .............................................................................................. 239 Table 354: SCRAMBLING Register ........................................................................................ 241 Table 355: SCRAMBLING Register Bits ................................................................................ 241 Table 356: INTEN Register ...................................................................................................... 241 Table 357: INTEN Register Bits .............................................................................................. 242 Table 358: INTSTAT Register ................................................................................................. 243 Table 359: INTSTAT Register Bits .......................................................................................... 243 Table 360: INTCLR Register ................................................................................................... 244 Table 361: INTCLR Register Bits ............................................................................................ 244 Table 362: INTSET Register .................................................................................................... 245 Table 363: INTSET Register Bits ............................................................................................. 245 Table 364: DMACFG Register ................................................................................................. 246 Table 365: DMACFG Register Bits ......................................................................................... 246 Table 366: DMASTAT Register ............................................................................................... 247

DS-A3-0p9p1

Page 21 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 367: DMASTAT Register Bits ....................................................................................... 247 Table 368: DMATARGADDR Register .................................................................................. 248 Table 369: DMATARGADDR Register Bits ........................................................................... 248 Table 370: DMADEVADDR Register ..................................................................................... 248 Table 371: DMADEVADDR Register Bits .............................................................................. 249 Table 372: DMATOTCOUNT Register ................................................................................... 249 Table 373: DMATOTCOUNT Register Bits ............................................................................ 249 Table 374: DMABCOUNT Register ........................................................................................ 249 Table 375: DMABCOUNT Register Bits ................................................................................. 250 Table 376: DMATHRESH Register ......................................................................................... 250 Table 377: DMATHRESH Register Bits .................................................................................. 250 Table 378: CQCFG Register ..................................................................................................... 251 Table 379: CQCFG Register Bits ............................................................................................. 251 Table 380: CQADDR Register ................................................................................................. 252 Table 381: CQADDR Register Bits .......................................................................................... 252 Table 382: CQSTAT Register .................................................................................................. 252 Table 383: CQSTAT Register Bits ........................................................................................... 252 Table 384: CQFLAGS Register ................................................................................................ 253 Table 385: CQFLAGS Register Bits ........................................................................................ 253 Table 386: CQSETCLEAR Register ........................................................................................ 254 Table 387: CQSETCLEAR Register Bits ................................................................................. 255 Table 388: CQPAUSE Register ................................................................................................ 255 Table 389: CQPAUSE Register Bits ........................................................................................ 255 Table 390: CQCURIDX Register ............................................................................................. 256 Table 391: CQCURIDX Register Bits ...................................................................................... 257 Table 392: CQENDIDX Register ............................................................................................. 257 Table 393: CQENDIDX Register Bits ...................................................................................... 257 Table 394: Recommended Mode Settings for Standard I2C Clock Speeds ............................. 261 Table 395: IOM Register Map .................................................................................................. 283 Table 396: FIFO Register ......................................................................................................... 288 Table 397: FIFO Register Bits .................................................................................................. 288 Table 398: FIFOPTR Register .................................................................................................. 289 Table 399: FIFOPTR Register Bits .......................................................................................... 289 Table 400: FIFOTHR Register ................................................................................................. 289 Table 401: FIFOTHR Register Bits .......................................................................................... 290 Table 402: FIFOPOP Register .................................................................................................. 290 Table 403: FIFOPOP Register Bits .......................................................................................... 291 Table 404: FIFOPUSH Register ............................................................................................... 291 Table 405: FIFOPUSH Register Bits ........................................................................................ 291 Table 406: FIFOCTRL Register ............................................................................................... 292 Table 407: FIFOCTRL Register Bits ........................................................................................ 292 Table 408: FIFOLOC Register ................................................................................................. 293 Table 409: FIFOLOC Register Bits .......................................................................................... 293 Table 410: INTEN Register ...................................................................................................... 293 Table 411: INTEN Register Bits .............................................................................................. 294 Table 412: INTSTAT Register ................................................................................................. 295

DS-A3-0p9p1

Page 22 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 413: INTSTAT Register Bits .......................................................................................... 295 Table 414: INTCLR Register ................................................................................................... 297 Table 415: INTCLR Register Bits ............................................................................................ 297 Table 416: INTSET Register .................................................................................................... 298 Table 417: INTSET Register Bits ............................................................................................. 299 Table 418: CLKCFG Register .................................................................................................. 300 Table 419: CLKCFG Register Bits ........................................................................................... 300 Table 420: SUBMODCTRL Register ....................................................................................... 301 Table 421: SUBMODCTRL Register Bits ............................................................................... 302 Table 422: CMD Register ......................................................................................................... 302 Table 423: CMD Register Bits ................................................................................................. 303 Table 424: DCX Register ......................................................................................................... 304 Table 425: DCX Register Bits .................................................................................................. 304 Table 426: OFFSETHI Register ............................................................................................... 305 Table 427: OFFSETHI Register Bits ........................................................................................ 305 Table 428: CMDSTAT Register ............................................................................................... 305 Table 429: CMDSTAT Register Bits ....................................................................................... 306 Table 430: DMATRIGEN Register .......................................................................................... 306 Table 431: DMATRIGEN Register Bits .................................................................................. 307 Table 432: DMATRIGSTAT Register ..................................................................................... 307 Table 433: DMATRIGSTAT Register Bits .............................................................................. 307 Table 434: DMACFG Register ................................................................................................. 308 Table 435: DMACFG Register Bits ......................................................................................... 308 Table 436: DMATOTCOUNT Register ................................................................................... 309 Table 437: DMATOTCOUNT Register Bits ............................................................................ 309 Table 438: DMATARGADDR Register .................................................................................. 310 Table 439: DMATARGADDR Register Bits ........................................................................... 310 Table 440: DMASTAT Register ............................................................................................... 311 Table 441: DMASTAT Register Bits ....................................................................................... 311 Table 442: CQCFG Register ..................................................................................................... 312 Table 443: CQCFG Register Bits ............................................................................................. 312 Table 444: CQADDR Register ................................................................................................. 313 Table 445: CQADDR Register Bits .......................................................................................... 313 Table 446: CQSTAT Register .................................................................................................. 314 Table 447: CQSTAT Register Bits ........................................................................................... 314 Table 448: CQFLAGS Register ................................................................................................ 314 Table 449: CQFLAGS Register Bits ........................................................................................ 315 Table 450: CQSETCLEAR Register ........................................................................................ 315 Table 451: CQSETCLEAR Register Bits ................................................................................. 315 Table 452: CQPAUSEEN Register .......................................................................................... 316 Table 453: CQPAUSEEN Register Bits ................................................................................... 316 Table 454: CQCURIDX Register ............................................................................................. 318 Table 455: CQCURIDX Register Bits ...................................................................................... 318 Table 456: CQENDIDX Register ............................................................................................. 318 Table 457: CQENDIDX Register Bits ...................................................................................... 318 Table 458: STATUS Register ................................................................................................... 319

DS-A3-0p9p1

Page 23 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 459: STATUS Register Bits ........................................................................................... 319 Table 460: MSPICFG Register ................................................................................................. 320 Table 461: MSPICFG Register Bits ......................................................................................... 320 Table 462: MI2CCFG Register ................................................................................................. 322 Table 463: MI2CCFG Register Bits ......................................................................................... 322 Table 464: DEVCFG Register .................................................................................................. 323 Table 465: DEVCFG Register Bits .......................................................................................... 323 Table 466: IOMDBG Register .................................................................................................. 324 Table 467: IOMDBG Register Bits .......................................................................................... 324 Table 468: Mapping of Direct Area Access Interrupts and Corresponding REGACCINTSTAT Bits ............................................................................................................................................. 328 Table 469: I/O Interface Interrupt Control ................................................................................ 331 Table 470: IOSLAVE Register Map ........................................................................................ 339 Table 471: FIFOPTR Register .................................................................................................. 340 Table 472: FIFOPTR Register Bits .......................................................................................... 340 Table 473: FIFOCFG Register ................................................................................................. 340 Table 474: FIFOCFG Register Bits .......................................................................................... 341 Table 475: FIFOTHR Register ................................................................................................. 341 Table 476: FIFOTHR Register Bits .......................................................................................... 341 Table 477: FUPD Register ........................................................................................................ 342 Table 478: FUPD Register Bits ................................................................................................ 342 Table 479: FIFOCTR Register ................................................................................................. 342 Table 480: FIFOCTR Register Bits .......................................................................................... 342 Table 481: FIFOINC Register .................................................................................................. 343 Table 482: FIFOINC Register Bits ........................................................................................... 343 Table 483: CFG Register .......................................................................................................... 343 Table 484: CFG Register Bits ................................................................................................... 344 Table 485: PRENC Register ..................................................................................................... 344 Table 486: PRENC Register Bits .............................................................................................. 345 Table 487: IOINTCTL Register ............................................................................................... 345 Table 488: IOINTCTL Register Bits ........................................................................................ 345 Table 489: GENADD Register ................................................................................................. 346 Table 490: GENADD Register Bits .......................................................................................... 346 Table 491: INTEN Register ...................................................................................................... 346 Table 492: INTEN Register Bits .............................................................................................. 346 Table 493: INTSTAT Register ................................................................................................. 347 Table 494: INTSTAT Register Bits .......................................................................................... 347 Table 495: INTCLR Register ................................................................................................... 348 Table 496: INTCLR Register Bits ............................................................................................ 348 Table 497: INTSET Register .................................................................................................... 349 Table 498: INTSET Register Bits ............................................................................................. 349 Table 499: REGACCINTEN Register ...................................................................................... 350 Table 500: REGACCINTEN Register Bits .............................................................................. 350 Table 501: REGACCINTSTAT Register ................................................................................. 350 Table 502: REGACCINTSTAT Register Bits .......................................................................... 351 Table 503: REGACCINTCLR Register ................................................................................... 351

DS-A3-0p9p1

Page 24 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 504: REGACCINTCLR Register Bits ............................................................................ 351 Table 505: REGACCINTSET Register .................................................................................... 351 Table 506: REGACCINTSET Register Bits ............................................................................ 352 Table 507: HOST_IER Register ............................................................................................... 352 Table 508: HOST_IER Register Bits ........................................................................................ 352 Table 509: HOST_ISR Register ............................................................................................... 353 Table 510: HOST_ISR Register Bits ........................................................................................ 353 Table 511: HOST_WCR Register ............................................................................................ 353 Table 512: HOST_WCR Register Bits ..................................................................................... 354 Table 513: HOST_WCS Register ............................................................................................. 354 Table 514: HOST_WCS Register Bits ..................................................................................... 354 Table 515: FIFOCTRLO Register ............................................................................................ 355 Table 516: FIFOCTRLO Register Bits ..................................................................................... 355 Table 517: FIFOCTRUP Register ............................................................................................ 355 Table 518: FIFOCTRUP Register Bits ..................................................................................... 355 Table 519: FIFO Register ......................................................................................................... 356 Table 520: FIFO Register Bits .................................................................................................. 356 Table 521: PDM Clock Output Reference Table ...................................................................... 359 Table 522: PDM Operating Modes and Data Formats ............................................................. 360 Table 523: Digital Volume Control .......................................................................................... 361 Table 524: LPF Digital Filter Parameters ................................................................................. 362 Table 525: PDM Register Map ................................................................................................. 364 Table 526: PCFG Register ........................................................................................................ 365 Table 527: PCFG Register Bits ................................................................................................ 365 Table 528: VCFG Register ....................................................................................................... 368 Table 529: VCFG Register Bits ................................................................................................ 368 Table 530: VOICESTAT Register ............................................................................................ 370 Table 531: VOICESTAT Register Bits .................................................................................... 370 Table 532: FIFOREAD Register .............................................................................................. 370 Table 533: FIFOREAD Register Bits ....................................................................................... 370 Table 534: FIFOFLUSH Register ............................................................................................. 371 Table 535: FIFOFLUSH Register Bits ..................................................................................... 371 Table 536: FIFOTHR Register ................................................................................................. 371 Table 537: FIFOTHR Register Bits .......................................................................................... 371 Table 538: INTEN Register ...................................................................................................... 372 Table 539: INTEN Register Bits .............................................................................................. 372 Table 540: INTSTAT Register ................................................................................................. 372 Table 541: INTSTAT Register Bits .......................................................................................... 373 Table 542: INTCLR Register ................................................................................................... 373 Table 543: INTCLR Register Bits ............................................................................................ 373 Table 544: INTSET Register .................................................................................................... 374 Table 545: INTSET Register Bits ............................................................................................. 374 Table 546: DMATRIGEN Register .......................................................................................... 375 Table 547: DMATRIGEN Register Bits .................................................................................. 375 Table 548: DMATRIGSTAT Register ..................................................................................... 375 Table 549: DMATRIGSTAT Register Bits .............................................................................. 375

DS-A3-0p9p1

Page 25 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 550: DMACFG Register ................................................................................................. 376 Table 551: DMACFG Register Bits ......................................................................................... 376 Table 552: DMATOTCOUNT Register ................................................................................... 377 Table 553: DMATOTCOUNT Register Bits ............................................................................ 377 Table 554: DMATARGADDR Register .................................................................................. 377 Table 555: DMATARGADDR Register Bits ........................................................................... 377 Table 556: DMASTAT Register ............................................................................................... 378 Table 557: DMASTAT Register Bits ....................................................................................... 378 Table 558: Drive Strength Control Bits .................................................................................... 380 Table 559: Apollo3 Blue MCU Pad Function Mapping ........................................................... 381 Table 560: ................................................................................................................................ 382 Table 561: Pad Function Color and Symbol Code .................................................................. 382 Table 562: Special Pad Types ................................................................................................... 382 Table 563: I2C Pullup Resistor Selection ................................................................................. 383 Table 564: NCE Encoding Table .............................................................................................. 385 Table 565: Interrupt Configuration ........................................................................................... 387 Table 566: IO Master 0 I2C Configuration .............................................................................. 390 Table 567: IO Master 1 I2C Configuration .............................................................................. 390 Table 568: IO Master 2 I2C Configuration .............................................................................. 390 Table 569: IO Master 3 I2C Configuration .............................................................................. 391 Table 570: IO Master I2C Configuration ................................................................................. 391 Table 571: IO Master 5 I2C Configuration .............................................................................. 391 Table 572: IO Master 0 4-wire SPI Configuration ................................................................... 391 Table 573: IO Master 1 4-wire SPI Configuration ................................................................... 392 Table 574: IO Master 2 4-wire SPI Configuration ................................................................... 392 Table 575: IO Master 3 4-wire SPI Configuration ................................................................... 392 Table 576: IO Master 4 4-wire SPI Configuration ................................................................... 393 Table 577: IO Master 5 4-wire SPI Configuration ................................................................... 393 Table 578: IO Master 0 3-wire SPI Configuration ................................................................... 393 Table 579: IO Master 1 3-wire SPI Configuration ................................................................... 394 Table 580: IO Master 2 3-wire SPI Configuration ................................................................... 394 Table 581: IO Master 3 3-wire SPI Configuration ................................................................... 394 Table 582: IO Master 4 3-wire SPI Configuration ................................................................... 395 Table 583: IO Master 3-wire SPI Configuration ...................................................................... 395 Table 584: MSPI REG_MSPI_PADCFG Input Mux Configuration ....................................... 396 Table 585: MSPI REG_MSPI_PADCFG Output Mux Configuration ..................................... 396 Table 586: IO Slave I2C Configuration .................................................................................... 397 Table 587: IO Slave 4-wire SPI Configuration ........................................................................ 397 Table 588: IO Slave 3-wire SPI Configuration ........................................................................ 397 Table 589: Counter/Timer Pad Configuration .......................................................................... 398 Table 591: UART0 RX Configuration ..................................................................................... 400 Table 590: UART0 TX Configuration ...................................................................................... 400 Table 592: UART0 RTS Configuration .................................................................................... 401 Table 593: UART0 CTS Configuration .................................................................................... 401 Table 594: UART1 TX Configuration ...................................................................................... 402 Table 595: UART1 RX Configuration ..................................................................................... 402

DS-A3-0p9p1

Page 26 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 596: UART1 RTS Configuration .................................................................................... 403 Table 597: UART1 CTS Configuration .................................................................................... 403 Table 599: PDM DATA Configuration .................................................................................... 404 Table 600: I2S BCLK Configuration ........................................................................................ 404 Table 601: I2S WCLK Configuration ...................................................................................... 404 Table 598: PDM CLK Configuration ....................................................................................... 404 Table 603: Secure Card Clock Configuration ........................................................................... 405 Table 604: Secure Card IO Configuration ................................................................................ 405 Table 605: Secure Card RST Configuration ............................................................................. 405 Table 602: I2S DAT Configuration .......................................................................................... 405 Table 606: CLKOUT Configuration ......................................................................................... 406 Table 607: 32kHz CLKOUT Configuration ............................................................................. 406 Table 608: ADC Analog Input Configuration .......................................................................... 406 Table 609: ADC Trigger Input Configuration .......................................................................... 407 Table 610: Voltage Comparator Reference Configuration ....................................................... 407 Table 611: Voltage Comparator Input Configuration ............................................................... 407 Table 612: SWO Configuration ................................................................................................ 408 Table 613: FASTGPIO Register Map ...................................................................................... 409 Table 614: BBVALUE Register ............................................................................................... 410 Table 615: BBVALUE Register Bits ........................................................................................ 410 Table 616: BBSETCLEAR Register ........................................................................................ 410 Table 617: BBSETCLEAR Register Bits ................................................................................. 411 Table 618: BBINPUT Register ................................................................................................. 411 Table 619: BBINPUT Register Bits ......................................................................................... 411 Table 620: DEBUGDATA Register ......................................................................................... 412 Table 621: DEBUGDATA Register Bits .................................................................................. 412 Table 622: DEBUG Register .................................................................................................... 412 Table 623: DEBUG Register Bits ............................................................................................. 412 Table 624: GPIO Register Map ................................................................................................ 414 Table 625: PADREGA Register ............................................................................................... 417 Table 626: PADREGA Register Bits ........................................................................................ 417 Table 627: PADREGB Register ............................................................................................... 419 Table 628: PADREGB Register Bits ........................................................................................ 420 Table 629: PADREGC Register ............................................................................................... 422 Table 630: PADREGC Register Bits ........................................................................................ 422 Table 631: PADREGD Register ............................................................................................... 424 Table 632: PADREGD Register Bits ........................................................................................ 425 Table 633: PADREGE Register ............................................................................................... 427 Table 634: PADREGE Register Bits ........................................................................................ 427 Table 635: PADREGF Register ................................................................................................ 429 Table 636: PADREGF Register Bits ........................................................................................ 429 Table 637: PADREGG Register ............................................................................................... 432 Table 638: PADREGG Register Bits ........................................................................................ 432 Table 639: PADREGH Register ............................................................................................... 434 Table 640: PADREGH Register Bits ........................................................................................ 434 Table 641: PADREGI Register ................................................................................................. 437

DS-A3-0p9p1

Page 27 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 642: PADREGI Register Bits ......................................................................................... 437 Table 643: PADREGJ Register ................................................................................................ 439 Table 644: PADREGJ Register Bits ......................................................................................... 439 Table 645: PADREGK Register ............................................................................................... 442 Table 646: PADREGK Register Bits ........................................................................................ 442 Table 647: PADREGL Register ............................................................................................... 444 Table 648: PADREGL Register Bits ........................................................................................ 445 Table 649: PADREGM Register .............................................................................................. 447 Table 650: PADREGM Register Bits ....................................................................................... 447 Table 651: CFGA Register ....................................................................................................... 448 Table 652: CFGA Register Bits ................................................................................................ 449 Table 653: CFGB Register ....................................................................................................... 453 Table 654: CFGB Register Bits ................................................................................................ 453 Table 655: CFGC Register ....................................................................................................... 457 Table 656: CFGC Register Bits ................................................................................................ 458 Table 657: CFGD Register ....................................................................................................... 462 Table 658: CFGD Register Bits ................................................................................................ 462 Table 659: CFGE Register ........................................................................................................ 466 Table 660: CFGE Register Bits ................................................................................................ 467 Table 661: CFGF Register ........................................................................................................ 471 Table 662: CFGF Register Bits ................................................................................................ 471 Table 663: CFGG Register ....................................................................................................... 475 Table 664: CFGG Register Bits ................................................................................................ 475 Table 665: PADKEY Register .................................................................................................. 477 Table 666: PADKEY Register Bits .......................................................................................... 477 Table 667: RDA Register ......................................................................................................... 477 Table 668: RDA Register Bits .................................................................................................. 477 Table 669: RDB Register .......................................................................................................... 478 Table 670: RDB Register Bits .................................................................................................. 478 Table 671: WTA Register ......................................................................................................... 478 Table 672: WTA Register Bits ................................................................................................. 478 Table 673: WTB Register ......................................................................................................... 479 Table 674: WTB Register Bits .................................................................................................. 479 Table 675: WTSA Register ....................................................................................................... 479 Table 676: WTSA Register Bits ............................................................................................... 479 Table 677: WTSB Register ....................................................................................................... 480 Table 678: WTSB Register Bits ............................................................................................... 480 Table 679: WTCA Register ...................................................................................................... 480 Table 680: WTCA Register Bits ............................................................................................... 480 Table 681: WTCB Register ...................................................................................................... 481 Table 682: WTCB Register Bits ............................................................................................... 481 Table 683: ENA Register .......................................................................................................... 481 Table 684: ENA Register Bits .................................................................................................. 481 Table 685: ENB Register .......................................................................................................... 482 Table 686: ENB Register Bits .................................................................................................. 482 Table 687: ENSA Register ....................................................................................................... 482

DS-A3-0p9p1

Page 28 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 688: ENSA Register Bits ................................................................................................ 482 Table 689: ENSB Register ........................................................................................................ 483 Table 690: ENSB Register Bits ................................................................................................ 483 Table 691: ENCA Register ....................................................................................................... 483 Table 692: ENCA Register Bits ................................................................................................ 483 Table 693: ENCB Register ....................................................................................................... 484 Table 694: ENCB Register Bits ................................................................................................ 484 Table 695: STMRCAP Register ............................................................................................... 484 Table 696: STMRCAP Register Bits ........................................................................................ 484 Table 697: IOM0IRQ Register ................................................................................................. 485 Table 698: IOM0IRQ Register Bits .......................................................................................... 485 Table 699: IOM1IRQ Register ................................................................................................. 486 Table 700: IOM1IRQ Register Bits .......................................................................................... 486 Table 701: IOM2IRQ Register ................................................................................................. 486 Table 702: IOM2IRQ Register Bits .......................................................................................... 486 Table 703: IOM3IRQ Register ................................................................................................. 487 Table 704: IOM3IRQ Register Bits .......................................................................................... 487 Table 705: IOM4IRQ Register ................................................................................................. 487 Table 706: IOM4IRQ Register Bits .......................................................................................... 487 Table 707: IOM5IRQ Register ................................................................................................. 488 Table 708: IOM5IRQ Register Bits .......................................................................................... 488 Table 709: BLEIFIRQ Register ................................................................................................ 488 Table 710: BLEIFIRQ Register Bits ........................................................................................ 488 Table 711: GPIOOBS Register ................................................................................................. 489 Table 712: GPIOOBS Register Bits ......................................................................................... 489 Table 713: ALTPADCFGA Register ....................................................................................... 489 Table 714: ALTPADCFGA Register Bits ................................................................................ 489 Table 715: ALTPADCFGB Register ........................................................................................ 491 Table 716: ALTPADCFGB Register Bits ................................................................................ 491 Table 717: ALTPADCFGC Register ........................................................................................ 492 Table 718: ALTPADCFGC Register Bits ................................................................................ 492 Table 719: ALTPADCFGD Register ....................................................................................... 493 Table 720: ALTPADCFGD Register Bits ................................................................................ 493 Table 721: ALTPADCFGE Register ........................................................................................ 495 Table 722: ALTPADCFGE Register Bits ................................................................................ 495 Table 723: ALTPADCFGF Register ........................................................................................ 496 Table 724: ALTPADCFGF Register Bits ................................................................................. 496 Table 725: ALTPADCFGG Register ....................................................................................... 497 Table 726: ALTPADCFGG Register Bits ................................................................................ 497 Table 727: ALTPADCFGH Register ....................................................................................... 499 Table 728: ALTPADCFGH Register Bits ................................................................................ 499 Table 729: ALTPADCFGI Register ......................................................................................... 500 Table 730: ALTPADCFGI Register Bits .................................................................................. 500 Table 731: ALTPADCFGJ Register ......................................................................................... 501 Table 732: ALTPADCFGJ Register Bits ................................................................................. 501 Table 733: ALTPADCFGK Register ....................................................................................... 503

DS-A3-0p9p1

Page 29 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 734: ALTPADCFGK Register Bits ................................................................................ 503 Table 735: ALTPADCFGL Register ........................................................................................ 504 Table 736: ALTPADCFGL Register Bits ................................................................................ 504 Table 737: ALTPADCFGM Register ....................................................................................... 505 Table 738: ALTPADCFGM Register Bits ............................................................................... 505 Table 739: SCDET Register ..................................................................................................... 506 Table 740: SCDET Register Bits .............................................................................................. 506 Table 741: CTENCFG Register ................................................................................................ 507 Table 742: CTENCFG Register Bits ........................................................................................ 507 Table 743: INT0EN Register .................................................................................................... 510 Table 744: INT0EN Register Bits ............................................................................................ 510 Table 745: INT0STAT Register ............................................................................................... 511 Table 746: INT0STAT Register Bits ........................................................................................ 512 Table 747: INT0CLR Register ................................................................................................. 513 Table 748: INT0CLR Register Bits .......................................................................................... 513 Table 749: INT0SET Register .................................................................................................. 515 Table 750: INT0SET Register Bits ........................................................................................... 515 Table 751: INT1EN Register .................................................................................................... 517 Table 752: INT1EN Register Bits ............................................................................................ 517 Table 753: INT1STAT Register ............................................................................................... 518 Table 754: INT1STAT Register Bits ........................................................................................ 518 Table 755: INT1CLR Register ................................................................................................. 520 Table 756: INT1CLR Register Bits .......................................................................................... 520 Table 757: INT1SET Register .................................................................................................. 521 Table 758: INT1SET Register Bits ........................................................................................... 521 Table 759: CLKGEN Register Map ......................................................................................... 530 Table 760: CALXT Register ..................................................................................................... 531 Table 761: CALXT Register Bits ............................................................................................. 531 Table 762: CALRC Register ..................................................................................................... 532 Table 763: CALRC Register Bits ............................................................................................. 532 Table 764: ACALCTR Register ............................................................................................... 532 Table 765: ACALCTR Register Bits ........................................................................................ 532 Table 766: OCTRL Register ..................................................................................................... 533 Table 767: OCTRL Register Bits ............................................................................................. 533 Table 768: CLKOUT Register .................................................................................................. 534 Table 769: CLKOUT Register Bits .......................................................................................... 534 Table 770: CLKKEY Register .................................................................................................. 536 Table 771: CLKKEY Register Bits .......................................................................................... 536 Table 772: CCTRL Register ..................................................................................................... 536 Table 773: CCTRL Register Bits .............................................................................................. 536 Table 774: STATUS Register ................................................................................................... 537 Table 775: STATUS Register Bits ........................................................................................... 537 Table 776: HFADJ Register ..................................................................................................... 537 Table 777: HFADJ Register Bits .............................................................................................. 537 Table 778: CLOCKENSTAT Register ..................................................................................... 538 Table 779: CLOCKENSTAT Register Bits .............................................................................. 539

DS-A3-0p9p1

Page 30 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 780: CLOCKEN2STAT Register ................................................................................... 539 Table 781: CLOCKEN2STAT Register Bits ............................................................................ 540 Table 782: CLOCKEN3STAT Register ................................................................................... 540 Table 783: CLOCKEN3STAT Register Bits ............................................................................ 541 Table 784: FREQCTRL Register ............................................................................................. 541 Table 785: FREQCTRL Register Bits ...................................................................................... 541 Table 786: BLEBUCKTONADJ Register ................................................................................ 542 Table 787: BLEBUCKTONADJ Register Bits ........................................................................ 542 Table 788: INTRPTEN Register ............................................................................................... 544 Table 789: INTRPTEN Register Bits ....................................................................................... 544 Table 790: INTRPTSTAT Register .......................................................................................... 544 Table 791: INTRPTSTAT Register Bits .................................................................................. 544 Table 792: INTRPTCLR Register ............................................................................................ 545 Table 793: INTRPTCLR Register Bits ..................................................................................... 545 Table 794: INTRPTSET Register ............................................................................................. 546 Table 795: INTRPTSET Register Bits ..................................................................................... 546 Table 796: Alarm RPT Function .............................................................................................. 548 Table 797: RTC Register Map .................................................................................................. 549 Table 798: CTRLOW Register ................................................................................................. 550 Table 799: CTRLOW Register Bits .......................................................................................... 550 Table 800: CTRUP Register ..................................................................................................... 551 Table 801: CTRUP Register Bits .............................................................................................. 551 Table 802: ALMLOW Register ................................................................................................ 552 Table 803: ALMLOW Register Bits ........................................................................................ 552 Table 804: ALMUP Register .................................................................................................... 552 Table 805: ALMUP Register Bits ............................................................................................ 553 Table 806: RTCCTL Register ................................................................................................... 553 Table 807: RTCCTL Register Bits ........................................................................................... 553 Table 808: INTEN Register ...................................................................................................... 554 Table 809: INTEN Register Bits .............................................................................................. 554 Table 810: INTSTAT Register ................................................................................................. 555 Table 811: INTSTAT Register Bits .......................................................................................... 555 Table 812: INTCLR Register ................................................................................................... 555 Table 813: INTCLR Register Bits ............................................................................................ 555 Table 814: INTSET Register .................................................................................................... 556 Table 815: INTSET Register Bits ............................................................................................. 556 Table 816: Counter/Timer Pad Configuration .......................................................................... 573 Table 817: Counter/Timer Pad Configuration .......................................................................... 574 Table 818: Counter/Timer Pad Configuration .......................................................................... 575 Table 819: CTIMER Pad Input Connections ............................................................................ 576 Table 820: CTIMER Register Map .......................................................................................... 578 Table 821: TMR0 Register ....................................................................................................... 580 Table 822: TMR0 Register Bits ................................................................................................ 580 Table 823: CMPRA0 Register .................................................................................................. 580 Table 824: CMPRA0 Register Bits .......................................................................................... 581 Table 825: CMPRB0 Register .................................................................................................. 581

DS-A3-0p9p1

Page 31 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 826: CMPRB0 Register Bits ........................................................................................... 581 Table 827: CTRL0 Register ...................................................................................................... 582 Table 828: CTRL0 Register Bits .............................................................................................. 582 Table 829: CMPRAUXA0 Register ......................................................................................... 585 Table 830: CMPRAUXA0 Register Bits .................................................................................. 586 Table 831: CMPRAUXB0 Register ......................................................................................... 586 Table 832: CMPRAUXB0 Register Bits .................................................................................. 586 Table 833: AUX0 Register ....................................................................................................... 587 Table 834: AUX0 Register Bits ................................................................................................ 587 Table 835: TMR1 Register ....................................................................................................... 589 Table 836: TMR1 Register Bits ................................................................................................ 589 Table 837: CMPRA1 Register .................................................................................................. 589 Table 838: CMPRA1 Register Bits .......................................................................................... 589 Table 839: CMPRB1 Register .................................................................................................. 590 Table 840: CMPRB1 Register Bits ........................................................................................... 590 Table 841: CTRL1 Register ...................................................................................................... 590 Table 842: CTRL1 Register Bits .............................................................................................. 590 Table 843: CMPRAUXA1 Register ......................................................................................... 594 Table 844: CMPRAUXA1 Register Bits .................................................................................. 594 Table 845: CMPRAUXB1 Register ......................................................................................... 594 Table 846: CMPRAUXB1 Register Bits .................................................................................. 595 Table 847: AUX1 Register ....................................................................................................... 595 Table 848: AUX1 Register Bits ................................................................................................ 595 Table 849: TMR2 Register ....................................................................................................... 597 Table 850: TMR2 Register Bits ................................................................................................ 597 Table 851: CMPRA2 Register .................................................................................................. 598 Table 852: CMPRA2 Register Bits .......................................................................................... 598 Table 853: CMPRB2 Register .................................................................................................. 598 Table 854: CMPRB2 Register Bits ........................................................................................... 598 Table 855: CTRL2 Register ...................................................................................................... 599 Table 856: CTRL2 Register Bits .............................................................................................. 599 Table 857: CMPRAUXA2 Register ......................................................................................... 602 Table 858: CMPRAUXA2 Register Bits .................................................................................. 603 Table 859: CMPRAUXB2 Register ......................................................................................... 603 Table 860: CMPRAUXB2 Register Bits .................................................................................. 603 Table 861: AUX2 Register ....................................................................................................... 604 Table 862: AUX2 Register Bits ................................................................................................ 604 Table 863: TMR3 Register ....................................................................................................... 606 Table 864: TMR3 Register Bits ................................................................................................ 606 Table 865: CMPRA3 Register .................................................................................................. 606 Table 866: CMPRA3 Register Bits .......................................................................................... 606 Table 867: CMPRB3 Register .................................................................................................. 607 Table 868: CMPRB3 Register Bits ........................................................................................... 607 Table 869: CTRL3 Register ...................................................................................................... 607 Table 870: CTRL3 Register Bits .............................................................................................. 607 Table 871: CMPRAUXA3 Register ......................................................................................... 611

DS-A3-0p9p1

Page 32 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 872: CMPRAUXA3 Register Bits .................................................................................. 612 Table 873: CMPRAUXB3 Register ......................................................................................... 612 Table 874: CMPRAUXB3 Register Bits .................................................................................. 612 Table 875: AUX3 Register ....................................................................................................... 613 Table 876: AUX3 Register Bits ................................................................................................ 613 Table 877: TMR4 Register ....................................................................................................... 615 Table 878: TMR4 Register Bits ................................................................................................ 615 Table 879: CMPRA4 Register .................................................................................................. 615 Table 880: CMPRA4 Register Bits .......................................................................................... 615 Table 881: CMPRB4 Register .................................................................................................. 616 Table 882: CMPRB4 Register Bits ........................................................................................... 616 Table 883: CTRL4 Register ...................................................................................................... 616 Table 884: CTRL4 Register Bits .............................................................................................. 616 Table 885: CMPRAUXA4 Register ......................................................................................... 620 Table 886: CMPRAUXA4 Register Bits .................................................................................. 620 Table 887: CMPRAUXB4 Register ......................................................................................... 620 Table 888: CMPRAUXB4 Register Bits .................................................................................. 621 Table 889: AUX4 Register ....................................................................................................... 621 Table 890: AUX4 Register Bits ................................................................................................ 621 Table 891: TMR5 Register ....................................................................................................... 623 Table 892: TMR5 Register Bits ................................................................................................ 624 Table 893: CMPRA5 Register .................................................................................................. 624 Table 894: CMPRA5 Register Bits .......................................................................................... 624 Table 895: CMPRB5 Register .................................................................................................. 624 Table 896: CMPRB5 Register Bits ........................................................................................... 625 Table 897: CTRL5 Register ...................................................................................................... 625 Table 898: CTRL5 Register Bits .............................................................................................. 625 Table 899: CMPRAUXA5 Register ......................................................................................... 629 Table 900: CMPRAUXA5 Register Bits .................................................................................. 629 Table 901: CMPRAUXB5 Register ......................................................................................... 629 Table 902: CMPRAUXB5 Register Bits .................................................................................. 630 Table 903: AUX5 Register ....................................................................................................... 630 Table 904: AUX5 Register Bits ................................................................................................ 630 Table 905: TMR6 Register ....................................................................................................... 632 Table 906: TMR6 Register Bits ................................................................................................ 633 Table 907: CMPRA6 Register .................................................................................................. 633 Table 908: CMPRA6 Register Bits .......................................................................................... 633 Table 909: CMPRB6 Register .................................................................................................. 633 Table 910: CMPRB6 Register Bits ........................................................................................... 634 Table 911: CTRL6 Register ...................................................................................................... 634 Table 912: CTRL6 Register Bits .............................................................................................. 634 Table 913: CMPRAUXA6 Register ......................................................................................... 638 Table 914: CMPRAUXA6 Register Bits .................................................................................. 638 Table 915: CMPRAUXB6 Register ......................................................................................... 638 Table 916: CMPRAUXB6 Register Bits .................................................................................. 639 Table 917: AUX6 Register ....................................................................................................... 639

DS-A3-0p9p1

Page 33 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 918: AUX6 Register Bits ................................................................................................ 639 Table 919: TMR7 Register ....................................................................................................... 641 Table 920: TMR7 Register Bits ................................................................................................ 641 Table 921: CMPRA7 Register .................................................................................................. 642 Table 922: CMPRA7 Register Bits .......................................................................................... 642 Table 923: CMPRB7 Register .................................................................................................. 642 Table 924: CMPRB7 Register Bits ........................................................................................... 642 Table 925: CTRL7 Register ...................................................................................................... 643 Table 926: CTRL7 Register Bits .............................................................................................. 643 Table 927: CMPRAUXA7 Register ......................................................................................... 646 Table 928: CMPRAUXA7 Register Bits .................................................................................. 647 Table 929: CMPRAUXB7 Register ......................................................................................... 647 Table 930: CMPRAUXB7 Register Bits .................................................................................. 647 Table 931: AUX7 Register ....................................................................................................... 648 Table 932: AUX7 Register Bits ................................................................................................ 648 Table 933: GLOBEN Register .................................................................................................. 650 Table 934: GLOBEN Register Bits .......................................................................................... 650 Table 935: OUTCFG0 Register ................................................................................................ 651 Table 936: OUTCFG0 Register Bits ........................................................................................ 652 Table 937: OUTCFG1 Register ................................................................................................ 654 Table 938: OUTCFG1 Register Bits ........................................................................................ 654 Table 939: OUTCFG2 Register ................................................................................................ 656 Table 940: OUTCFG2 Register Bits ........................................................................................ 656 Table 941: OUTCFG3 Register ................................................................................................ 659 Table 942: OUTCFG3 Register Bits ........................................................................................ 659 Table 943: INCFG Register ...................................................................................................... 659 Table 944: INCFG Register Bits .............................................................................................. 660 Table 945: INTEN Register ...................................................................................................... 661 Table 946: INTEN Register Bits .............................................................................................. 661 Table 947: INTSTAT Register ................................................................................................. 663 Table 948: INTSTAT Register Bits .......................................................................................... 663 Table 949: INTCLR Register ................................................................................................... 665 Table 950: INTCLR Register Bits ............................................................................................ 665 Table 951: INTSET Register .................................................................................................... 667 Table 952: INTSET Register Bits ............................................................................................. 667 Table 953: STIMER Register Map ........................................................................................... 671 Table 954: STCFG Register ..................................................................................................... 672 Table 955: STCFG Register Bits .............................................................................................. 672 Table 956: STTMR Register ..................................................................................................... 674 Table 957: STTMR Register Bits ............................................................................................. 674 Table 958: CAPTURECONTROL Register ............................................................................. 674 Table 959: CAPTURECONTROL Register Bits ..................................................................... 675 Table 960: SCMPR0 Register ................................................................................................... 675 Table 961: SCMPR0 Register Bits ........................................................................................... 675 Table 962: SCMPR1 Register ................................................................................................... 676 Table 963: SCMPR1 Register Bits ........................................................................................... 676

DS-A3-0p9p1

Page 34 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 964: SCMPR2 Register ................................................................................................... 676 Table 965: SCMPR2 Register Bits ........................................................................................... 677 Table 966: SCMPR3 Register ................................................................................................... 677 Table 967: SCMPR3 Register Bits ........................................................................................... 677 Table 968: SCMPR4 Register ................................................................................................... 678 Table 969: SCMPR4 Register Bits ........................................................................................... 678 Table 970: SCMPR5 Register ................................................................................................... 678 Table 971: SCMPR5 Register Bits ........................................................................................... 678 Table 972: SCMPR6 Register ................................................................................................... 679 Table 973: SCMPR6 Register Bits ........................................................................................... 679 Table 974: SCMPR7 Register ................................................................................................... 679 Table 975: SCMPR7 Register Bits ........................................................................................... 680 Table 976: SCAPT0 Register ................................................................................................... 680 Table 977: SCAPT0 Register Bits ............................................................................................ 680 Table 978: SCAPT1 Register ................................................................................................... 680 Table 979: SCAPT1 Register Bits ............................................................................................ 681 Table 980: SCAPT2 Register ................................................................................................... 681 Table 981: SCAPT2 Register Bits ............................................................................................ 681 Table 982: SCAPT3 Register ................................................................................................... 681 Table 983: SCAPT3 Register Bits ............................................................................................ 682 Table 984: SNVR0 Register ..................................................................................................... 682 Table 985: SNVR0 Register Bits .............................................................................................. 682 Table 986: SNVR1 Register ..................................................................................................... 682 Table 987: SNVR1 Register Bits .............................................................................................. 683 Table 988: SNVR2 Register ..................................................................................................... 683 Table 989: SNVR2 Register Bits .............................................................................................. 683 Table 990: SNVR3 Register ..................................................................................................... 683 Table 991: SNVR3 Register Bits .............................................................................................. 684 Table 992: STMINTEN Register .............................................................................................. 684 Table 993: STMINTEN Register Bits ...................................................................................... 684 Table 994: STMINTSTAT Register ......................................................................................... 685 Table 995: STMINTSTAT Register Bits .................................................................................. 686 Table 996: STMINTCLR Register ........................................................................................... 687 Table 997: STMINTCLR Register Bits .................................................................................... 687 Table 998: STMINTSET Register ............................................................................................ 688 Table 999: STMINTSET Register Bits .................................................................................... 688 Table 1000: WDT Register Map .............................................................................................. 691 Table 1001: CFG Register ........................................................................................................ 692 Table 1002: CFG Register Bits ................................................................................................. 692 Table 1003: RSTRT Register ................................................................................................... 693 Table 1004: RSTRT Register Bits ............................................................................................ 693 Table 1005: LOCK Register ..................................................................................................... 694 Table 1006: LOCK Register Bits .............................................................................................. 694 Table 1007: COUNT Register .................................................................................................. 694 Table 1008: COUNT Register Bits ........................................................................................... 694 Table 1009: INTEN Register .................................................................................................... 695

DS-A3-0p9p1

Page 35 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1010: INTEN Register Bits ............................................................................................ 695 Table 1011: INTSTAT Register ............................................................................................... 695 Table 1012: INTSTAT Register Bits ........................................................................................ 695 Table 1013: INTCLR Register ................................................................................................. 696 Table 1014: INTCLR Register Bits .......................................................................................... 696 Table 1015: INTSET Register .................................................................................................. 696 Table 1016: INTSET Register Bits ........................................................................................... 697 Table 1017: RSTGEN Register Map ........................................................................................ 700 Table 1018: CFG Register ........................................................................................................ 701 Table 1019: CFG Register Bits ................................................................................................. 701 Table 1020: SWPOI Register ................................................................................................... 701 Table 1021: SWPOI Register Bits ............................................................................................ 702 Table 1022: SWPOR Register .................................................................................................. 702 Table 1023: SWPOR Register Bits ........................................................................................... 702 Table 1024: TPIURST Register ................................................................................................ 703 Table 1025: TPIURST Register Bits ........................................................................................ 703 Table 1026: INTEN Register .................................................................................................... 703 Table 1027: INTEN Register Bits ............................................................................................ 703 Table 1028: INTSTAT Register ............................................................................................... 704 Table 1029: INTSTAT Register Bits ........................................................................................ 704 Table 1030: INTCLR Register ................................................................................................. 704 Table 1031: INTCLR Register Bits .......................................................................................... 704 Table 1032: INTSET Register .................................................................................................. 705 Table 1033: INTSET Register Bits ........................................................................................... 705 Table 1034: STAT Register ...................................................................................................... 705 Table 1035: STAT Register Bits .............................................................................................. 706 Table 1036: UART Register Map ............................................................................................. 709 Table 1037: DR Register .......................................................................................................... 711 Table 1038: DR Register Bits ................................................................................................... 711 Table 1039: RSR Register ........................................................................................................ 712 Table 1040: RSR Register Bits ................................................................................................. 712 Table 1041: FR Register ........................................................................................................... 713 Table 1042: FR Register Bits .................................................................................................... 713 Table 1043: ILPR Register ....................................................................................................... 714 Table 1044: ILPR Register Bits ................................................................................................ 714 Table 1045: IBRD Register ...................................................................................................... 714 Table 1046: IBRD Register Bits ............................................................................................... 714 Table 1047: FBRD Register ..................................................................................................... 715 Table 1048: FBRD Register Bits .............................................................................................. 715 Table 1049: LCRH Register ..................................................................................................... 715 Table 1050: LCRH Register Bits .............................................................................................. 715 Table 1051: CR Register ........................................................................................................... 716 Table 1052: CR Register Bits ................................................................................................... 716 Table 1053: IFLS Register ........................................................................................................ 717 Table 1054: IFLS Register Bits ................................................................................................ 718 Table 1055: IER Register ......................................................................................................... 718

DS-A3-0p9p1

Page 36 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1056: IER Register Bits .................................................................................................. 718 Table 1057: IES Register .......................................................................................................... 719 Table 1058: IES Register Bits .................................................................................................. 719 Table 1059: MIS Register ......................................................................................................... 720 Table 1060: MIS Register Bits ................................................................................................. 720 Table 1061: IEC Register ......................................................................................................... 721 Table 1062: IEC Register Bits .................................................................................................. 721 Table 1063: One SLOT Configuration Register ....................................................................... 726 Table 1064: 10.6 ADC Sample Format .................................................................................... 726 Table 1065: Per Slot Sample Accumulator ............................................................................... 727 Table 1066: Accumulator Scaling ............................................................................................ 727 Table 1067: FIFO Register ....................................................................................................... 728 Table 1068: 14-bit FIFO Data Format ...................................................................................... 728 Table 1069: 12-bit FIFO Data Format ...................................................................................... 728 Table 1070: 10-bit FIFO Data Format ...................................................................................... 728 Table 1071: 8-bit FIFO Data Format ........................................................................................ 729 Table 1072: Window Comparator Lower Limit Register ......................................................... 731 Table 1073: Window Comparator Upper Limit Register ......................................................... 731 Table 1074: ADC Power Modes ............................................................................................... 734 Table 1075: ADC Register Map ............................................................................................... 736 Table 1076: CFG Register ........................................................................................................ 738 Table 1077: CFG Register Bits ................................................................................................. 738 Table 1078: STAT Register ...................................................................................................... 740 Table 1079: STAT Register Bits .............................................................................................. 740 Table 1080: SWT Register ....................................................................................................... 740 Table 1081: SWT Register Bits ................................................................................................ 740 Table 1082: SL0CFG Register ................................................................................................. 741 Table 1083: SL0CFG Register Bits .......................................................................................... 741 Table 1084: SL1CFG Register ................................................................................................. 742 Table 1085: SL1CFG Register Bits .......................................................................................... 742 Table 1086: SL2CFG Register ................................................................................................. 744 Table 1087: SL2CFG Register Bits .......................................................................................... 744 Table 1088: SL3CFG Register ................................................................................................. 745 Table 1089: SL3CFG Register Bits .......................................................................................... 745 Table 1090: SL4CFG Register ................................................................................................. 747 Table 1091: SL4CFG Register Bits .......................................................................................... 747 Table 1092: SL5CFG Register ................................................................................................. 748 Table 1093: SL5CFG Register Bits .......................................................................................... 748 Table 1094: SL6CFG Register ................................................................................................. 750 Table 1095: SL6CFG Register Bits .......................................................................................... 750 Table 1096: SL7CFG Register ................................................................................................. 751 Table 1097: SL7CFG Register Bits .......................................................................................... 751 Table 1098: WULIM Register .................................................................................................. 753 Table 1099: WULIM Register Bits .......................................................................................... 753 Table 1100: WLLIM Register .................................................................................................. 753 Table 1101: WLLIM Register Bits ........................................................................................... 753

DS-A3-0p9p1

Page 37 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1102: FIFO Register ....................................................................................................... 754 Table 1103: FIFO Register Bits ................................................................................................ 754 Table 1104: FIFOPR Register .................................................................................................. 754 Table 1105: FIFOPR Register Bits ........................................................................................... 755 Table 1106: INTEN Register .................................................................................................... 755 Table 1107: INTEN Register Bits ............................................................................................ 755 Table 1108: INTSTAT Register ............................................................................................... 756 Table 1109: INTSTAT Register Bits ........................................................................................ 756 Table 1110: INTCLR Register ................................................................................................. 757 Table 1111: INTCLR Register Bits .......................................................................................... 757 Table 1112: INTSET Register .................................................................................................. 758 Table 1113: INTSET Register Bits ........................................................................................... 758 Table 1114: DMATRIGEN Register ........................................................................................ 759 Table 1115: DMATRIGEN Register Bits ................................................................................ 759 Table 1116: DMATRIGSTAT Register ................................................................................... 760 Table 1117: DMATRIGSTAT Register Bits ............................................................................ 760 Table 1118: DMACFG Register ............................................................................................... 760 Table 1119: DMACFG Register Bits ....................................................................................... 760 Table 1120: DMABCOUNT Register ...................................................................................... 761 Table 1121: DMABCOUNT Register Bits ............................................................................... 762 Table 1122: DMATOTCOUNT Register ................................................................................. 762 Table 1123: DMATOTCOUNT Register Bits .......................................................................... 762 Table 1124: DMATARGADDR Register ................................................................................ 763 Table 1125: DMATARGADDR Register Bits ......................................................................... 763 Table 1126: DMASTAT Register ............................................................................................. 763 Table 1127: DMASTAT Register Bits ..................................................................................... 763 Table 1128: VCOMP Register Map ......................................................................................... 765 Table 1129: CFG Register ........................................................................................................ 766 Table 1130: CFG Register Bits ................................................................................................. 766 Table 1131: STAT Register ...................................................................................................... 767 Table 1132: STAT Register Bits .............................................................................................. 767 Table 1133: PWDKEY Register ............................................................................................... 768 Table 1134: PWDKEY Register Bits ....................................................................................... 768 Table 1135: INTEN Register .................................................................................................... 768 Table 1136: INTEN Register Bits ............................................................................................ 768 Table 1137: INTSTAT Register ............................................................................................... 769 Table 1138: INTSTAT Register Bits ........................................................................................ 769 Table 1139: INTCLR Register ................................................................................................. 769 Table 1140: INTCLR Register Bits .......................................................................................... 769 Table 1141: INTSET Register .................................................................................................. 770 Table 1142: INTSET Register Bits ........................................................................................... 770 Table 1143: Absolute Maximum Ratings ................................................................................. 774 Table 1144: Recommended Operating Conditions ................................................................... 776 Table 1145: Current Consumption ........................................................................................... 776 Table 1146: Power Mode Transitions ....................................................................................... 778 Table 1147: Clocks/Oscillators ................................................................................................. 778

DS-A3-0p9p1

Page 38 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1148: BLE Crystal Oscillator ......................................................................................... 778 Table 1149: Analog to Digital Converter (ADC) ..................................................................... 779 Table 1150: SIMO Buck Converter .......................................................................................... 783 Table 1151: BLE Buck Converter ............................................................................................ 783 Table 1152: Power-On Reset (POR) and Brown-Out Detector (BOD) .................................... 785 Table 1153: Resets .................................................................................................................... 786 Table 1154: Voltage Comparator (VCOMP) ............................................................................ 787 Table 1155: Inter-Integrated Circuit (I2C) Interface ................................................................ 788 Table 1156: Serial Peripheral Interface (SPI) Master Interface ............................................... 789 Table 1157: Serial Peripheral Interface (SPI) Slave Interface .................................................. 791 Table 1158: Pulse Density Modulation (PDM) Interface ........................................................ 793 Table 1159: Inter-Integrated Serial (I2S) Interface ................................................................. 793 Table 1160: Universal Asynchronous Receiver/Transmitter (UART) ..................................... 793 Table 1161: Counter/Timer (CTIMER) .................................................................................... 794 Table 1162: Flash Memory ....................................................................................................... 794 Table 1163: General Purpose Input/Output (GPIO) ................................................................. 794 Table 1164: Serial Wire Debug (SWD) .................................................................................... 796 Table 1165: Flash OTP INSTANCE0 INFO0 Register Map ................................................... 805 Table 1166: SIGNATURE0 Register ....................................................................................... 810 Table 1167: SIGNATURE0 Register Bits ................................................................................ 810 Table 1168: SIGNATURE1 Register ....................................................................................... 810 Table 1169: SIGNATURE1 Register Bits ................................................................................ 810 Table 1170: SIGNATURE2 Register ....................................................................................... 811 Table 1171: SIGNATURE2 Register Bits ................................................................................ 811 Table 1172: SIGNATURE3 Register ....................................................................................... 811 Table 1173: SIGNATURE3 Register Bits ................................................................................ 811 Table 1174: SECURITY Register ............................................................................................ 812 Table 1175: SECURITY Register Bits ..................................................................................... 812 Table 1176: CUSTOMERTRIM Register ................................................................................ 813 Table 1177: CUSTOMERTRIM Register Bits ......................................................................... 814 Table 1178: CUSTOMERTRIM2 Register .............................................................................. 814 Table 1179: CUSTOMERTRIM2 Register Bits ....................................................................... 814 Table 1180: SECURITYOVR Register .................................................................................... 815 Table 1181: SECURITYOVR Register Bits ............................................................................ 815 Table 1182: SECURITYWIREDCFG Register ....................................................................... 815 Table 1183: SECURITYWIREDCFG Register Bits ................................................................ 815 Table 1184: SECURITYWIREDIFCCFG0 Register ............................................................... 816 Table 1185: SECURITYWIREDIFCCFG0 Register Bits ........................................................ 816 Table 1186: SECURITYWIREDIFCCFG1 Register ............................................................... 817 Table 1187: SECURITYWIREDIFCCFG1 Register Bits ........................................................ 817 Table 1188: SECURITYWIREDIFCCFG2 Register ............................................................... 817 Table 1189: SECURITYWIREDIFCCFG2 Register Bits ........................................................ 818 Table 1190: SECURITYWIREDIFCCFG3 Register ............................................................... 818 Table 1191: SECURITYWIREDIFCCFG3 Register Bits ........................................................ 818 Table 1192: SECURITYWIREDIFCCFG4 Register ............................................................... 819 Table 1193: SECURITYWIREDIFCCFG4 Register Bits ........................................................ 819

DS-A3-0p9p1

Page 39 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1194: SECURITYWIREDIFCCFG5 Register ............................................................... 819 Table 1195: SECURITYWIREDIFCCFG5 Register Bits ........................................................ 819 Table 1196: SECURITYVERSION Register ........................................................................... 820 Table 1197: SECURITYVERSION Register Bits .................................................................... 820 Table 1198: SECURITYSRAMRESV Register ....................................................................... 820 Table 1199: SECURITYSRAMRESV Register Bits ............................................................... 821 Table 1200: WRITEPROTECTL Register ............................................................................... 821 Table 1201: WRITEPROTECTL Register Bits ........................................................................ 821 Table 1202: WRITEPROTECTH Register ............................................................................... 821 Table 1203: WRITEPROTECTH Register Bits ....................................................................... 822 Table 1204: COPYPROTECTL Register ................................................................................. 822 Table 1205: COPYPROTECTL Register Bits .......................................................................... 822 Table 1206: COPYPROTECTH Register ................................................................................. 822 Table 1207: COPYPROTECTH Register Bits ......................................................................... 823 Table 1208: WRITEPROTECTSBLL Register ........................................................................ 823 Table 1209: WRITEPROTECTSBLL Register Bits ................................................................ 823 Table 1210: WRITEPROTECTSBLH Register ....................................................................... 823 Table 1211: WRITEPROTECTSBLH Register Bits ................................................................ 824 Table 1212: COPYPROTECTSBLL Register .......................................................................... 824 Table 1213: COPYPROTECTSBLL Register Bits .................................................................. 824 Table 1214: COPYPROTECTSBLH Register ......................................................................... 824 Table 1215: COPYPROTECTSBLH Register Bits .................................................................. 825 Table 1216: MAINPTR0 Register ............................................................................................ 825 Table 1217: MAINPTR0 Register Bits .................................................................................... 825 Table 1218: MAINPTR1 Register ............................................................................................ 825 Table 1219: MAINPTR1 Register Bits .................................................................................... 826 Table 1220: KREVTRACK Register ....................................................................................... 826 Table 1221: KREVTRACK Register Bits ................................................................................ 826 Table 1222: AREVTRACK Register ....................................................................................... 826 Table 1223: AREVTRACK Register Bits ................................................................................ 827 Table 1224: OTADESCRIPTOR Register ............................................................................... 827 Table 1225: OTADESCRIPTOR Register Bits ........................................................................ 827 Table 1226: MAINCNT0 Register ........................................................................................... 827 Table 1227: MAINCNT0 Register Bits .................................................................................... 828 Table 1228: MAINCNT1 Register ........................................................................................... 828 Table 1229: MAINCNT1 Register Bits .................................................................................... 828 Table 1230: CUSTKEKW0 Register ........................................................................................ 828 Table 1231: CUSTKEKW0 Register Bits ................................................................................ 829 Table 1232: CUSTKEKW1 Register ........................................................................................ 829 Table 1233: CUSTKEKW1 Register Bits ................................................................................ 829 Table 1234: CUSTKEKW2 Register ........................................................................................ 829 Table 1235: CUSTKEKW2 Register Bits ................................................................................ 830 Table 1236: CUSTKEKW3 Register ........................................................................................ 830 Table 1237: CUSTKEKW3 Register Bits ................................................................................ 830 Table 1238: CUSTKEKW4 Register ........................................................................................ 830 Table 1239: CUSTKEKW4 Register Bits ................................................................................ 831

DS-A3-0p9p1

Page 40 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1240: CUSTKEKW5 Register ........................................................................................ 831 Table 1241: CUSTKEKW5 Register Bits ................................................................................ 831 Table 1242: CUSTKEKW6 Register ........................................................................................ 831 Table 1243: CUSTKEKW6 Register Bits ................................................................................ 832 Table 1244: CUSTKEKW7 Register ........................................................................................ 832 Table 1245: CUSTKEKW7 Register Bits ................................................................................ 832 Table 1246: CUSTKEKW8 Register ........................................................................................ 832 Table 1247: CUSTKEKW8 Register Bits ................................................................................ 833 Table 1248: CUSTKEKW9 Register ........................................................................................ 833 Table 1249: CUSTKEKW9 Register Bits ................................................................................ 833 Table 1250: CUSTKEKW10 Register ...................................................................................... 833 Table 1251: CUSTKEKW10 Register Bits .............................................................................. 834 Table 1252: CUSTKEKW11 Register ...................................................................................... 834 Table 1253: CUSTKEKW11 Register Bits .............................................................................. 834 Table 1254: CUSTKEKW12 Register ...................................................................................... 834 Table 1255: CUSTKEKW12 Register Bits .............................................................................. 835 Table 1256: CUSTKEKW13 Register ...................................................................................... 835 Table 1257: CUSTKEKW13 Register Bits .............................................................................. 835 Table 1258: CUSTKEKW14 Register ...................................................................................... 835 Table 1259: CUSTKEKW14 Register Bits .............................................................................. 836 Table 1260: CUSTKEKW15 Register ...................................................................................... 836 Table 1261: CUSTKEKW15 Register Bits .............................................................................. 836 Table 1262: CUSTKEKW16 Register ...................................................................................... 836 Table 1263: CUSTKEKW16 Register Bits .............................................................................. 837 Table 1264: CUSTKEKW17 Register ...................................................................................... 837 Table 1265: CUSTKEKW17 Register Bits .............................................................................. 837 Table 1266: CUSTKEKW18 Register ...................................................................................... 837 Table 1267: CUSTKEKW18 Register Bits .............................................................................. 838 Table 1268: CUSTKEKW19 Register ...................................................................................... 838 Table 1269: CUSTKEKW19 Register Bits .............................................................................. 838 Table 1270: CUSTKEKW20 Register ...................................................................................... 838 Table 1271: CUSTKEKW20 Register Bits .............................................................................. 839 Table 1272: CUSTKEKW21 Register ...................................................................................... 839 Table 1273: CUSTKEKW21 Register Bits .............................................................................. 839 Table 1274: CUSTKEKW22 Register ...................................................................................... 839 Table 1275: CUSTKEKW22 Register Bits .............................................................................. 840 Table 1276: CUSTKEKW23 Register ...................................................................................... 840 Table 1277: CUSTKEKW23 Register Bits .............................................................................. 840 Table 1278: CUSTKEKW24 Register ...................................................................................... 840 Table 1279: CUSTKEKW24 Register Bits .............................................................................. 841 Table 1280: CUSTKEKW25 Register ...................................................................................... 841 Table 1281: CUSTKEKW25 Register Bits .............................................................................. 841 Table 1282: CUSTKEKW26 Register ...................................................................................... 841 Table 1283: CUSTKEKW26 Register Bits .............................................................................. 842 Table 1284: CUSTKEKW27 Register ...................................................................................... 842 Table 1285: CUSTKEKW27 Register Bits .............................................................................. 842

DS-A3-0p9p1

Page 41 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1286: CUSTKEKW28 Register ...................................................................................... 842 Table 1287: CUSTKEKW28 Register Bits .............................................................................. 843 Table 1288: CUSTKEKW29 Register ...................................................................................... 843 Table 1289: CUSTKEKW29 Register Bits .............................................................................. 843 Table 1290: CUSTKEKW30 Register ...................................................................................... 843 Table 1291: CUSTKEKW30 Register Bits .............................................................................. 844 Table 1292: CUSTKEKW31 Register ...................................................................................... 844 Table 1293: CUSTKEKW31 Register Bits .............................................................................. 844 Table 1294: CUSTAUTHW0 Register ..................................................................................... 844 Table 1295: CUSTAUTHW0 Register Bits ............................................................................. 845 Table 1296: CUSTAUTHW1 Register ..................................................................................... 845 Table 1297: CUSTAUTHW1 Register Bits ............................................................................. 845 Table 1298: CUSTAUTHW2 Register ..................................................................................... 845 Table 1299: CUSTAUTHW2 Register Bits ............................................................................. 846 Table 1300: CUSTAUTHW3 Register ..................................................................................... 846 Table 1301: CUSTAUTHW3 Register Bits ............................................................................. 846 Table 1302: CUSTAUTHW4 Register ..................................................................................... 846 Table 1303: CUSTAUTHW4 Register Bits ............................................................................. 847 Table 1304: CUSTAUTHW5 Register ..................................................................................... 847 Table 1305: CUSTAUTHW5 Register Bits ............................................................................. 847 Table 1306: CUSTAUTHW6 Register ..................................................................................... 847 Table 1307: CUSTAUTHW6 Register Bits ............................................................................. 848 Table 1308: CUSTAUTHW7 Register ..................................................................................... 848 Table 1309: CUSTAUTHW7 Register Bits ............................................................................. 848 Table 1310: CUSTAUTHW8 Register ..................................................................................... 848 Table 1311: CUSTAUTHW8 Register Bits ............................................................................. 849 Table 1312: CUSTAUTHW9 Register ..................................................................................... 849 Table 1313: CUSTAUTHW9 Register Bits ............................................................................. 849 Table 1314: CUSTAUTHW10 Register ................................................................................... 849 Table 1315: CUSTAUTHW10 Register Bits ........................................................................... 850 Table 1316: CUSTAUTHW11 Register ................................................................................... 850 Table 1317: CUSTAUTHW11 Register Bits ........................................................................... 850 Table 1318: CUSTAUTHW12 Register ................................................................................... 850 Table 1319: CUSTAUTHW12 Register Bits ........................................................................... 851 Table 1320: CUSTAUTHW13 Register ................................................................................... 851 Table 1321: CUSTAUTHW13 Register Bits ........................................................................... 851 Table 1322: CUSTAUTHW14 Register ................................................................................... 851 Table 1323: CUSTAUTHW14 Register Bits ........................................................................... 852 Table 1324: CUSTAUTHW15 Register ................................................................................... 852 Table 1325: CUSTAUTHW15 Register Bits ........................................................................... 852 Table 1326: CUSTAUTHW16 Register ................................................................................... 852 Table 1327: CUSTAUTHW16 Register Bits ........................................................................... 853 Table 1328: CUSTAUTHW17 Register ................................................................................... 853 Table 1329: CUSTAUTHW17 Register Bits ........................................................................... 853 Table 1330: CUSTAUTHW18 Register ................................................................................... 853 Table 1331: CUSTAUTHW18 Register Bits ........................................................................... 854

DS-A3-0p9p1

Page 42 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1332: CUSTAUTHW19 Register ................................................................................... 854 Table 1333: CUSTAUTHW19 Register Bits ........................................................................... 854 Table 1334: CUSTAUTHW20 Register ................................................................................... 854 Table 1335: CUSTAUTHW20 Register Bits ........................................................................... 855 Table 1336: CUSTAUTHW21 Register ................................................................................... 855 Table 1337: CUSTAUTHW21 Register Bits ........................................................................... 855 Table 1338: CUSTAUTHW22 Register ................................................................................... 855 Table 1339: CUSTAUTHW22 Register Bits ........................................................................... 856 Table 1340: CUSTAUTHW23 Register ................................................................................... 856 Table 1341: CUSTAUTHW23 Register Bits ........................................................................... 856 Table 1342: CUSTAUTHW24 Register ................................................................................... 856 Table 1343: CUSTAUTHW24 Register Bits ........................................................................... 857 Table 1344: CUSTAUTHW25 Register ................................................................................... 857 Table 1345: CUSTAUTHW25 Register Bits ........................................................................... 857 Table 1346: CUSTAUTHW26 Register ................................................................................... 857 Table 1347: CUSTAUTHW26 Register Bits ........................................................................... 858 Table 1348: CUSTAUTHW27 Register ................................................................................... 858 Table 1349: CUSTAUTHW27 Register Bits ........................................................................... 858 Table 1350: CUSTAUTHW28 Register ................................................................................... 858 Table 1351: CUSTAUTHW28 Register Bits ........................................................................... 859 Table 1352: CUSTAUTHW29 Register ................................................................................... 859 Table 1353: CUSTAUTHW29 Register Bits ........................................................................... 859 Table 1354: CUSTAUTHW30 Register ................................................................................... 859 Table 1355: CUSTAUTHW30 Register Bits ........................................................................... 860 Table 1356: CUSTAUTHW31 Register ................................................................................... 860 Table 1357: CUSTAUTHW31 Register Bits ........................................................................... 860 Table 1358: CUSTPUBKEYW0 Register ................................................................................ 860 Table 1359: CUSTPUBKEYW0 Register Bits ........................................................................ 861 Table 1360: CUSTPUBKEYW1 Register ................................................................................ 861 Table 1361: CUSTPUBKEYW1 Register Bits ........................................................................ 861 Table 1362: CUSTPUBKEYW2 Register ................................................................................ 861 Table 1363: CUSTPUBKEYW2 Register Bits ........................................................................ 862 Table 1364: CUSTPUBKEYW3 Register ................................................................................ 862 Table 1365: CUSTPUBKEYW3 Register Bits ........................................................................ 862 Table 1366: CUSTPUBKEYW4 Register ................................................................................ 862 Table 1367: CUSTPUBKEYW4 Register Bits ........................................................................ 863 Table 1368: CUSTPUBKEYW5 Register ................................................................................ 863 Table 1369: CUSTPUBKEYW5 Register Bits ........................................................................ 863 Table 1370: CUSTPUBKEYW6 Register ................................................................................ 863 Table 1371: CUSTPUBKEYW6 Register Bits ........................................................................ 864 Table 1372: CUSTPUBKEYW7 Register ................................................................................ 864 Table 1373: CUSTPUBKEYW7 Register Bits ........................................................................ 864 Table 1374: CUSTPUBKEYW8 Register ................................................................................ 864 Table 1375: CUSTPUBKEYW8 Register Bits ........................................................................ 865 Table 1376: CUSTPUBKEYW9 Register ................................................................................ 865 Table 1377: CUSTPUBKEYW9 Register Bits ........................................................................ 865

DS-A3-0p9p1

Page 43 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1378: CUSTPUBKEYW10 Register .............................................................................. 865 Table 1379: CUSTPUBKEYW10 Register Bits ...................................................................... 866 Table 1380: CUSTPUBKEYW11 Register .............................................................................. 866 Table 1381: CUSTPUBKEYW11 Register Bits ...................................................................... 866 Table 1382: CUSTPUBKEYW12 Register .............................................................................. 866 Table 1383: CUSTPUBKEYW12 Register Bits ...................................................................... 867 Table 1384: CUSTPUBKEYW13 Register .............................................................................. 867 Table 1385: CUSTPUBKEYW13 Register Bits ...................................................................... 867 Table 1386: CUSTPUBKEYW14 Register .............................................................................. 867 Table 1387: CUSTPUBKEYW14 Register Bits ...................................................................... 868 Table 1388: CUSTPUBKEYW15 Register .............................................................................. 868 Table 1389: CUSTPUBKEYW15 Register Bits ...................................................................... 868 Table 1390: CUSTPUBKEYW16 Register .............................................................................. 868 Table 1391: CUSTPUBKEYW16 Register Bits ...................................................................... 869 Table 1392: CUSTPUBKEYW17 Register .............................................................................. 869 Table 1393: CUSTPUBKEYW17 Register Bits ...................................................................... 869 Table 1394: CUSTPUBKEYW18 Register .............................................................................. 869 Table 1395: CUSTPUBKEYW18 Register Bits ...................................................................... 870 Table 1396: CUSTPUBKEYW19 Register .............................................................................. 870 Table 1397: CUSTPUBKEYW19 Register Bits ...................................................................... 870 Table 1398: CUSTPUBKEYW20 Register .............................................................................. 870 Table 1399: CUSTPUBKEYW20 Register Bits ...................................................................... 871 Table 1400: CUSTPUBKEYW21 Register .............................................................................. 871 Table 1401: CUSTPUBKEYW21 Register Bits ...................................................................... 871 Table 1402: CUSTPUBKEYW22 Register .............................................................................. 871 Table 1403: CUSTPUBKEYW22 Register Bits ...................................................................... 872 Table 1404: CUSTPUBKEYW23 Register .............................................................................. 872 Table 1405: CUSTPUBKEYW23 Register Bits ...................................................................... 872 Table 1406: CUSTPUBKEYW24 Register .............................................................................. 872 Table 1407: CUSTPUBKEYW24 Register Bits ...................................................................... 873 Table 1408: CUSTPUBKEYW25 Register .............................................................................. 873 Table 1409: CUSTPUBKEYW25 Register Bits ...................................................................... 873 Table 1410: CUSTPUBKEYW26 Register .............................................................................. 873 Table 1411: CUSTPUBKEYW26 Register Bits ...................................................................... 874 Table 1412: CUSTPUBKEYW27 Register .............................................................................. 874 Table 1413: CUSTPUBKEYW27 Register Bits ...................................................................... 874 Table 1414: CUSTPUBKEYW28 Register .............................................................................. 874 Table 1415: CUSTPUBKEYW28 Register Bits ...................................................................... 875 Table 1416: CUSTPUBKEYW29 Register .............................................................................. 875 Table 1417: CUSTPUBKEYW29 Register Bits ...................................................................... 875 Table 1418: CUSTPUBKEYW30 Register .............................................................................. 875 Table 1419: CUSTPUBKEYW30 Register Bits ...................................................................... 876 Table 1420: CUSTPUBKEYW31 Register .............................................................................. 876 Table 1421: CUSTPUBKEYW31 Register Bits ...................................................................... 876 Table 1422: CUSTPUBKEYW32 Register .............................................................................. 876 Table 1423: CUSTPUBKEYW32 Register Bits ...................................................................... 877

DS-A3-0p9p1

Page 44 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1424: CUSTPUBKEYW33 Register .............................................................................. 877 Table 1425: CUSTPUBKEYW33 Register Bits ...................................................................... 877 Table 1426: CUSTPUBKEYW34 Register .............................................................................. 877 Table 1427: CUSTPUBKEYW34 Register Bits ...................................................................... 878 Table 1428: CUSTPUBKEYW35 Register .............................................................................. 878 Table 1429: CUSTPUBKEYW35 Register Bits ...................................................................... 878 Table 1430: CUSTPUBKEYW36 Register .............................................................................. 878 Table 1431: CUSTPUBKEYW36 Register Bits ...................................................................... 879 Table 1432: CUSTPUBKEYW37 Register .............................................................................. 879 Table 1433: CUSTPUBKEYW37 Register Bits ...................................................................... 879 Table 1434: CUSTPUBKEYW38 Register .............................................................................. 879 Table 1435: CUSTPUBKEYW38 Register Bits ...................................................................... 880 Table 1436: CUSTPUBKEYW39 Register .............................................................................. 880 Table 1437: CUSTPUBKEYW39 Register Bits ...................................................................... 880 Table 1438: CUSTPUBKEYW40 Register .............................................................................. 880 Table 1439: CUSTPUBKEYW40 Register Bits ...................................................................... 881 Table 1440: CUSTPUBKEYW41 Register .............................................................................. 881 Table 1441: CUSTPUBKEYW41 Register Bits ...................................................................... 881 Table 1442: CUSTPUBKEYW42 Register .............................................................................. 881 Table 1443: CUSTPUBKEYW42 Register Bits ...................................................................... 882 Table 1444: CUSTPUBKEYW43 Register .............................................................................. 882 Table 1445: CUSTPUBKEYW43 Register Bits ...................................................................... 882 Table 1446: CUSTPUBKEYW44 Register .............................................................................. 882 Table 1447: CUSTPUBKEYW44 Register Bits ...................................................................... 883 Table 1448: CUSTPUBKEYW45 Register .............................................................................. 883 Table 1449: CUSTPUBKEYW45 Register Bits ...................................................................... 883 Table 1450: CUSTPUBKEYW46 Register .............................................................................. 883 Table 1451: CUSTPUBKEYW46 Register Bits ...................................................................... 884 Table 1452: CUSTPUBKEYW47 Register .............................................................................. 884 Table 1453: CUSTPUBKEYW47 Register Bits ...................................................................... 884 Table 1454: CUSTPUBKEYW48 Register .............................................................................. 884 Table 1455: CUSTPUBKEYW48 Register Bits ...................................................................... 885 Table 1456: CUSTPUBKEYW49 Register .............................................................................. 885 Table 1457: CUSTPUBKEYW49 Register Bits ...................................................................... 885 Table 1458: CUSTPUBKEYW50 Register .............................................................................. 885 Table 1459: CUSTPUBKEYW50 Register Bits ...................................................................... 886 Table 1460: CUSTPUBKEYW51 Register .............................................................................. 886 Table 1461: CUSTPUBKEYW51 Register Bits ...................................................................... 886 Table 1462: CUSTPUBKEYW52 Register .............................................................................. 886 Table 1463: CUSTPUBKEYW52 Register Bits ...................................................................... 887 Table 1464: CUSTPUBKEYW53 Register .............................................................................. 887 Table 1465: CUSTPUBKEYW53 Register Bits ...................................................................... 887 Table 1466: CUSTPUBKEYW54 Register .............................................................................. 887 Table 1467: CUSTPUBKEYW54 Register Bits ...................................................................... 888 Table 1468: CUSTPUBKEYW55 Register .............................................................................. 888 Table 1469: CUSTPUBKEYW55 Register Bits ...................................................................... 888

DS-A3-0p9p1

Page 45 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Table 1470: CUSTPUBKEYW56 Register .............................................................................. 888 Table 1471: CUSTPUBKEYW56 Register Bits ...................................................................... 889 Table 1472: CUSTPUBKEYW57 Register .............................................................................. 889 Table 1473: CUSTPUBKEYW57 Register Bits ...................................................................... 889 Table 1474: CUSTPUBKEYW58 Register .............................................................................. 889 Table 1475: CUSTPUBKEYW58 Register Bits ...................................................................... 890 Table 1476: CUSTPUBKEYW59 Register .............................................................................. 890 Table 1477: CUSTPUBKEYW59 Register Bits ...................................................................... 890 Table 1478: CUSTPUBKEYW60 Register .............................................................................. 890 Table 1479: CUSTPUBKEYW60 Register Bits ...................................................................... 891 Table 1480: CUSTPUBKEYW61 Register .............................................................................. 891 Table 1481: CUSTPUBKEYW61 Register Bits ...................................................................... 891 Table 1482: CUSTPUBKEYW62 Register .............................................................................. 891 Table 1483: CUSTPUBKEYW62 Register Bits ...................................................................... 892 Table 1484: CUSTPUBKEYW63 Register .............................................................................. 892 Table 1485: CUSTPUBKEYW63 Register Bits ...................................................................... 892 Table 1486: CUSTOMERKEY0 Register ................................................................................ 892 Table 1487: CUSTOMERKEY0 Register Bits ........................................................................ 893 Table 1488: CUSTOMERKEY1 Register ................................................................................ 893 Table 1489: CUSTOMERKEY1 Register Bits ........................................................................ 893 Table 1490: CUSTOMERKEY2 Register ................................................................................ 893 Table 1491: CUSTOMERKEY2 Register Bits ........................................................................ 894 Table 1492: CUSTOMERKEY3 Register ................................................................................ 894 Table 1493: CUSTOMERKEY3 Register Bits ........................................................................ 894 Table 1494: CUSTPUBHASHW0 Register ............................................................................. 894 Table 1495: CUSTPUBHASHW0 Register Bits ...................................................................... 895 Table 1496: CUSTPUBHASHW1 Register ............................................................................. 895 Table 1497: CUSTPUBHASHW1 Register Bits ...................................................................... 895 Table 1498: CUSTPUBHASHW2 Register ............................................................................. 895 Table 1499: CUSTPUBHASHW2 Register Bits ...................................................................... 896 Table 1500: CUSTPUBHASHW3 Register ............................................................................. 896 Table 1501: CUSTPUBHASHW3 Register Bits ...................................................................... 896 Table 1502: Ordering Information ............................................................................................ 907 Table 1503: Document Revision List ....................................................................................... 908

DS-A3-0p9p1

Page 46 of 909

2019 Ambiq Micro, Inc. All rights reserved.

1. Apollo3 Blue MCU Package Pins
1.1 Pin Configuration

Apollo3 Blue Datasheet

Figure 1. Apollo3 Blue MCU BGA Pin Configuration Diagram

DS-A3-0p9p1

Page 47 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Figure 2. Apollo3 Blue MCU CSP Pin Configuration Diagram - Top View
1.2 Pin Connections
The following table lists the external pins of the Apollo3 Blue MCU and their available functions.

DS-A3-0p9p1

Page 48 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

POWER

B2

B8

-

B1

B9

-

F3

F5

-

C4

C5

-

J4

H6

-

E1

D6

-

Function Select Number
-

Pad Function Name

Description

VDDP VDDB VDDH VDDA VCC VDDS

VDD Supply for SIMO Buck Converter VDD Supply for BLE/Burst Buck Converter VDD Supply for I/O Pads Analog Voltage Supply RF Voltage Supply High Voltage Digital Supply

G2

F9

-

-

VDCDCRF RF Voltage Supply

B3

B7

-

-

VSSP

Ground Connection for SIMO Buck Converter

Pin Type
Power Power Power Power Power Power Power Ground

E3

D5

-

-

VSSA

Ground for Analog Supply

Ground

C2

C7

-

-

VSSB

Ground Connection for BLE/Burst Buck Converter Ground

E2

F7

-

-

VSS

Ground for Digital

Ground

F2

G7

-

H1

E9

-

H2

H7

-

A6

A4

-

H3

E7

-

E4

-

-

BUCK

A3

A7

-

D2

C6

-

A1

A9

-

A2

A8

-

D1

C8

-

C1

C9

-

OSCILLATOR

A4

A6

-

B4

B6

-

G1

D9

-

F1

D8

-

RESET

-

VSSBA

Ground for BLE Analog Supply

-

VSSVCO

Ground for BLE VCO Supply

Ground Ground

-

VSSS

Ground for BLE RF Supply

Ground

-

ADCVREF Analog to Digital Converter Reference Voltage

Analog

-

DVDD

Deoupling Cap for BLE digital supply

Power

-

NC

No Connect

-

VDDC

SIMO Buck Converter Voltage Core Output Supply Power

-

VDDF

SIMO Buck Converter Voltage Flash/Memory Output Supply

Power

-

SIMOBUCK_SW

SIMO Buck Converter Inductor Switch Output

Power

-

SIMOBUCK_SWSEL

SIMO Buck Converter Inductor Switch Input

Power

-

VDDBH_SW BLE/Burst Buck Converter Inductor Switch

Power

-

VDDBH

BLE/Burst Buck Converter Voltage Output Supply

Power

-

XO

32.768 kHz Crystal Output

XT

-

XI

32.768 kHz Crystal Input

XT

-

XO32MM

32 MHz Crystal Input

XT

-

XO32MP

32 MHz Crystal Output

XT

DS-A3-0p9p1

Page 49 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

Function Select Number

Pad Function Name

Description

G3

G6

-

RF

J2

H8

-

J1

H9

-

J3

-

-

GPIO

H4

F6

0

-

RSTN

External Reset Input

-

RFIOM

RF I/O Negative

-

RFIOP

RF I/O Positive

-

TXEN

Transmitter Enable

0

SLSCL

I2C Slave Clock

1

SLSCK

SPI Slave Clock

2

CLKOUT

Programmable Output Clock

3

GPIO00

General Purpose I/O

4

RSV

Reserved

5

MSPI4

MSPI Master Interface Signal 4 See "MSPI Connection" on page 393.

6

RSV

Reserved

7

NCE0

IO Master N Chip Select 0 Table 564, "NCE Encoding Table," on page 382

0

SLSDAWIR3

I2C Slave I/O Data SPI Master 3 3 Wire Data

G4

G5

1

F4

G4

2

1

SLMOSI

SPI Slave Input Data

2

UART0TX UART0 Transmit

3

GPIO01

General Purpose I/O

4

RSV

Reserved

5

MSPI5

MSPI Master Interface Signal 5 See "MSPI Connection" on page 396.

6

RSV

Reserved

7

NCE1

IO Master N Chip Select 1 Table 564, "NCE Encoding Table," on page 382

0

UART1RX UART1 Receive

1

SLMISO

SPI Slave Output Data

2

UART0RX UART0 Receive

3

GPIO02

General Purpose I/O

4

RSV

Reserved

5

MSPI6

MSPI Master Interface Signal 6 See "MSPI Connection" on page 393.

6

RSV

Reserved

7

NCE2

IO Master N Chip Select 2 Table 564, "NCE Encoding Table," on page 382

Pin Type
Input/ Output
Analog Analog Output
Input Input Output Input/ Output
Input/ Output
Output Bidirec-
tional Open Drain Input Output Input/ Output Input Input/ Output
Output Input Output Input Input/ Output
Input/ Output
Output

DS-A3-0p9p1

Page 50 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

G5

F4

3

D9

C1

4

E9

D2

5

Function Select Number 0 1 2
3 4 5 6 7 0 1 2
3 4 5
6
7
0
1 2 3 4 5 6
7

Pad Function Name

Description

Pin Type

UA0RTS SLnCE NCE3
GPIO03 RSV MSPI7 TRIG1
I2SWCLK UA0CTS
SLINT NCE4
GPIO04 RSV
UART1RX
CT17
MSPI2
M0SCL
M0SCK UA0RTS GPIO05
RSV RSV RSV
CT8

UART0 Request To Send (RTS) SPI Slave Chip Enable IO Master N Chip Select 3 Table 564, "NCE Encoding Table," on page 382
General Purpose I/O
Reserved MSPI Master Interface Signal 7 See "MSPI Connection" on page 393. ADC Trigger Input I2S Word Clock UART0 Clear To Send (CTS) Configurable Slave Interrupt IO Master N Chip Select 4 Table 564, "NCE Encoding Table," on page 382
General Purpose I/O
Reserved UART1 Receive Timer/Counter Interface Signal 17 See "Implementing Counter/Timer Connections" on page 394. MSPI Master Interface Signal 2 See "MSPI Connection" on page 393.
I2C Master 0 Clock
SPI Master 0 Clock UART0 Request To Send (RTS)
General Purpose I/O
Reserved Reserved Reserved Timer/Counter Interface Signal 8 See "Implementing Counter/Timer Connections" on page 397.

Output Input Output Input/ Output
Input/ Output Input Input Input Output Output Input/ Output
Input
Output
Input/ Output Open Drain Output Output Output Input/ Output
Output

DS-A3-0p9p1

Page 51 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

E8

E2

6

F9

F2

7

F8

D1

8

Function Select Number
0
1 2 3 4
5
6 7 0 1 2 3 4 5 6
7
0
1 2
3 4 5 6 7

Pad Function Name

Description

Pin Type

M0SDAWIR3
M0MISO UA0CTS GPIO06
RSV
CT10
RSV I2SDAT NCE7 M0MOSI CLKOUT GPIO07 TRIG0 UART0TX
RSV
CT19
M1SCL
M1SCK NCE8
GPIO08 SCCCLK
RSV UART1TX
RSV

I2C Master 0 Data SPI Master 0 3 Wire Data
SPI Master 0 Input Data UART0 Clear To Send (CTS)
General Purpose I/O
Reserved Timer/Counter Interface Signal 10 See "Implementing Counter/Timer Connections" on page 394. Reserved I2S Data IO Master N Chip Select 7 Table 564, "NCE Encoding Table," on page 382 SPI Master 0 Output Data Programmable Output Clock
General Purpose I/O
ADC Trigger Input UART0 Transmit Reserved Timer/Counter Interface Signal 19 See "Implementing Counter/Timer Connections" on page 397.
I2C Master 1 Clock
SPI Master 1 Clock IO Master N Chip Select 8 Table 564, "NCE Encoding Table," on page 382
General Purpose I/O
Secure Card Controller Clock Reserved UART1 Transmit Reserved

Bidirectional Open Drain Input Input Input/ Output
Output
Output Output Output Output Input/ Output Input Output
Output
Open Drain Output Output Output Input/ Output Output
Output

DS-A3-0p9p1

Page 52 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

G7

F1

9

G8

E1

10

B5

E4

11

Function Select Number
0
1 2
3
4 5 6 7 0 1 2
3 4 5 6 7 0 1
2
3 4 5 6 7

Pad Function Name

Description

Pin Type

M1SDAWIR3
M1MISO NCE9
GPIO09
SCCIO RSV
UART1RX RSV
UART1TX M1MOSI NCE10
GPIO10 PDMCLK UA1RTS
RSV RSV ADCSE2 NCE11
CT31
GPIO11 SLINT UA1CTS UART0RX PDMDATA

I2C Master 1 Data SPI Master 1 3 Wire Data
SPI Master 1 Input Data IO Master N Chip Select 9 Table 564, "NCE Encoding Table," on page 382
General Purpose I/O
Secure Card Controller I/O
Reserved UART1 Receive Reserved UART1 Transmit SPI Master 1 Output Data IO Master N Chip Select 10 Table 564, "NCE Encoding Table," on page 382
General Purpose I/O
PDM Clock Output UART1 Request To Send Reserved Reserved Analog to Digital Converter Single-Ended Input 2 IO Master N Chip Select 11 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 31 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
Configurable Slave Interrupt UART1 Clear To Send UART0 Receive PDM Data

Bidirectional Open Drain Input Output Input/ Output Input/ Output
Input
Output Output Output Input/ Output Output Output
Input Output
Output
Input/ Output Output Input Input Input

DS-A3-0p9p1

Page 53 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

A7

B4

12

B7

B3

13

D7

A3

14

Function Select Number
0
1
2
3 4 5 6 7 0
1
2
3 4 5 6 7 0 1 2 3 4 5 6 7

Pad Function Name

Description

Pin Type

ADCD0NSE9
NCE12
CT0
GPIO12 SLnCE PDMCLK UA0CTS UART1TX ADCD0PSE8
NCE13
CT2
GPIO13 I2SBCLK
RSV UA0RTS UART1RX ADCD1P NCE14 UART1TX GPIO14 PDMCLK
RSV SWDCK 32kHzXT

Analog to Digital Converter Differential N Input 0 / Single-Ended Input 9 IO Master N Chip Select 12 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 0 See "Implementing Counter/Timer Connections" on page 397.
General Purpose I/O
SPI Slave Chip Enable PDM Clock Output UART0 Clear To Send (CTS) UART1 Transmit Analog to Digital Converter Differential P Input 0 / Single-Ended Input 9 IO Master N Chip Select 13 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 2 See "Implementing Counter/Timer Connections" on page 397.
General Purpose I/O
I2S Bit Clock Reserved UART0 Request To Send (RTS) UART1 Receive Analog to Digital Converter Differential P Input 1 IO Master N Chip Select 14 Table 564, "NCE Encoding Table," on page 382 UART1 Transmit
General Purpose I/O
PDM Output Clock Reserved Serial Wire Debug Clock 32kHz Clock

Input
Output
Output
Input/ Output Input Output Input Output Input
Output
Output
Input/ Output Input
Output Input Input Output Output Input/ Output Output
Input Output

DS-A3-0p9p1

Page 54 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

C7

C3

15

D4

A5

16

D3

D4

17

C5

E5

18

Function Select Number 0 1 2 3 4 5
6
7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1
2
3 4 5 6 7

Pad Function Name

Description

Pin Type

ADCD1N NCE15 UART1RX GPIO15 PDMDATA
RSV
SWDIO
SWO ADCSE0 NCE16
TRIG0 GPIO16 SCCRST CMPIN0 UART0TX UA1RTS CMPRF1 NCE17 TRIG3 GPIO17 SCCCLK
RSV UART0RX UA1CTS CMPIN1
NCE18
CT4
GPIO18 UA0RTS
RSV UART1TX
SCCIO

Analog to Digital Converter Differential N Input 1 IO Master N Chip Select 15 Table 564, "NCE Encoding Table," on page 382 UART1 Receive
General Purpose I/O
PDM Data Reserved
Serial Wire Debug I/O
Serial Wire Debug Output Analog to Digital Converter Single-Ended Input 0 IO Master N Chip Select 16 Table 564, "NCE Encoding Table," on page 382 ADC Trigger Input 0
General Purpose I/O
Secure Card Controller Reset Voltage Comparator Input 0 UART0 Transmit UART1 Request To Send (RTS) Voltage Comparator Reference 1 IO Master N Chip Select 17 Table 564, "NCE Encoding Table," on page 382 ADC Trigger Input 3
General Purpose I/O
Secure Card Controller Clock Reserved UART0 Receive UART1 Clear To Send (CTS) Voltage Comparator Input 1 IO Master N Chip Select 18 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 4 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
UART0 Request To Send Reserved UART1 Transmit
Secure Card Controller I/O

Input
Output
Input Input/ Output Input
Bidirectional 3-
state Output Input
Output
Input Input/ Output Output Input Output Output Input
Output
Input Input/ Output Output
Input Input Input
Output
Output
Input/ Output Output
Output Input/ Output

DS-A3-0p9p1

Page 55 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

C3

E6

19

G6

C2

20

F7

C4

21

Function Select Number 0 1
2
3 4 5 6 7 0 1 2 3 4 5 6 7
0
1 2 3 4 5 6 7

Pad Function Name

Description

Pin Type

CMPRF0 NCE19
CT6
GPIO19 SCCCLK
RSV UART1RX I2SBCLK SWDCK
NCE20 RSV
GPIO20 UART0TX UART1TX I2SBCLK UA1RTS
SWDIO
NCE21 RSV
GPIO21 UART0RX UART1RX SCCRST UA1CTS

Comparator Reference 0 IO Master N Chip Select 19 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 6 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
Secure Card Controller Clock Reserved UART1 Receive I2S Bit Clock Software Debug Clock IO Master N Chip Select 20 Table 564, "NCE Encoding Table," on page 382 Reserved
General Purpose I/O
UART0 Transmit UART1 Transmit I2S Bit Clock UART1 Request To Send (RTS)
Software Data I/O
IO Master N Chip Select 21 Table 564, "NCE Encoding Table," on page 382 Reserved
General Purpose I/O
UART0 Receive UART1 Receive Secure Card Controller Reset UART1 Clear To Send (CTS)

Input
Output
Output
Input/ Output Output
Input Input Input
Output
Input/ Output Output Output Input Output Bidirectional 3-state
Output
Output Input/ Output Input Input Output Input

DS-A3-0p9p1

Page 56 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

C9

A1

22

D8

B1

23

C8

B2

24

Function Select Number 0 1
2
3 4 5 6 7 0 1
2
3 4 5 6 7 0 1
2
3 4
5
6 7

Pad Function Name

Description

Pin Type

UART0TX NCE22
CT12
GPIO22 PDMCLK
RSV MSPI0 SWO UART0RX NCE23
CT14
GPIO23 I2SWCLK CMPOUT
MSPI3 RSV UART1TX NCE24 MSPI8 GPIO24 UA0CTS CT21 32kHzXT SWO

UART0 Transmit
IO Master N Chip Select 22 Table 564, "NCE Encoding Table," on page 382
Timer/Counter Interface Signal 12 See "Implementing Counter/Timer Connections" on page 397.
General Purpose I/O
PDM Output Clock
Reserved
MSPI Master Interface Signal 0 See "MSPI Connection" on page 393.
Serial Wire Debug Output
UART0 Receive
IO Master N Chip Select 23 Table 564, "NCE Encoding Table," on page 382
Timer/Counter Interface Signal 14 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
I2S Word Clock
Voltage Comparator Output
MSPI Master Interface Signal 3 See "MSPI Connection" on page 393.
Reserved
UART1 Transmit
IO Master N Chip Select 24 Table 564, "NCE Encoding Table," on page 382
MSPI Master Interface Signal 8 See "MSPI Connection" on page 393.
General Purpose I/O
UART0 Clear To Send (CTS)
Timer/Counter Interface Signal 21 See "Implementing Counter/Timer Connections" on page 394.
32kHz Clock Output
Serial Wire Debug Output

Output Output
Output
Input/ Output Output
Input/ Output Output Input Output
Output
Input/ Output Input Output Input/ Output
Output Output Input/ Output Input/ Output Input
Output
Output Output

DS-A3-0p9p1

Page 57 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

A8

D3

25

B8

A2

26

B9

E3

27

Function Select Number 0 1
2
3
4
5 6 7 0 1
2
3 4 5 6 7 0 1
2
3
4 5 6 7

Pad Function Name

Description

Pin Type

UART1RX NCE25
CT1
GPIO25
M2SDAWIR3
M2MISO RSV RSV RSV
NCE26
CT3
GPIO26 SCCRST
MSPI1 UART0TX UA1CTS UART0RX
NCE27
CT5
GPIO27 M2SCL M2SCK
RSV RSV

UART1 Receive IO Master N Chip Select 25 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 1 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
I2C Master 2 I/O Data SPI Master 2 3 Wire Data
SPI Master 2 Input Data Reserved Reserved Reserved IO Master N Chip Select 26 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 3 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
Secure Card Controller Reset MSPI Master Interface Signal 1 See "MSPI Connection" on page 393. UART0 Transmit UART1 Clear To Send (CTS) UART0 Receive IO Master N Chip Select 27 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 5 See "Implementing Counter/Timer Connections" on page 397.
General Purpose I/O
I2C Master 2 Clock
SPI Master 2 Clock Reserved Reserved

Input Output
Output
Input/ Output Bidirectional OpenDrain Input
Output
Output
Input/ Output Output Input/ Output Output Input Input Output
Output
Input/ Output Open Drain Output

DS-A3-0p9p1

Page 58 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

A9

F3

28

A5

B5

29

F6

-

30

Function Select Number 0 1
2
3 4 5 6 7 0 1
2
3 4 5 6 7 0 1
2
3 4 5 6 7

Pad Function Name

Description

Pin Type

I2SWCLK NCE28
CT7
GPIO28 RSV
M2MOSI UART0TX
RSV ADCSE1 NCE29
CT9
GPIO29 UA0CTS UA1CTS UART0RX PDMDATA
RSV NCE30
CT11
GPIO30 UART0TX UA1RTS BLEIF_SCK
I2SDAT

I2S Word Clock IO Master N Chip Select 28 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 7 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
Reserved SPI Master 2 Output Data UART0 Transmit Reserved Analog to Digital Converter Single-Ended Input 1 IO Master N Chip Select 29 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 9 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
UART0 Clear To Send (CTS) UART1 Clear To Send (CTS) UART0 Receive PDM Data Reserved IO Master N Chip Select 30 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 11 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
UART0 Transmit UART1 Request To Send (RTS) BLE Interface SCK Observation I2S Data Output

Input Output
Output
Input/ Output
Output Output
Input Output
Output
Input/ Output Input Input Input Input
Output
Output
Input/ Output Output Output Output Output

DS-A3-0p9p1

Page 59 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

D5

-

31

E6

-

32

B6

-

33

Function Select Number 0 1
2
3 4 5 6 7 0 1
2
3
4 5 6 7 0 1 2 3 4 5
6
7

Pad Function Name

Description

Pin Type

ADCSE3 NCE31
CT13
GPIO31 UART0RX SCCCLK BLEIF_MISO UA1RTS ADCSE4
NCE32
CT15
GPIO32
SCCIO RSV
BLEIF_MOSI UA1CTS ADCSE5 NCE33 32kHzXT GPIO33
BLEIF_CSN UA0CTS
CT23
SWO

Analog to Digital Converter Single-Ended Input 3 IO Master N Chip Select 31 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 13 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
UART0 Receive Secure Card Controller Clock BLE Interface MISO Observation UART1 Request To Send (RTS) Analog to Digital Converter Single-Ended Input 4 IO Master N Chip Select 32 Table 564, "NCE Encoding Table," on page 385 Timer/Counter Interface Signal 15 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
Secure Card Controller I/O
Reserved BLE Interface MOSI Observation UART1 Clear To Send (CTS) Analog to Digital Converter Single-Ended Input 5 IO Master N Chip Select 33 Table 564, "NCE Encoding Table," on page 382 32kHz Clock Output
General Purpose I/O
BLE Interface Chip Select Observation UART0 Clear To Send (CTS) Timer/Counter Interface Signal 23 See "Implementing Counter/Timer Connections" on page 394. Serial Wire Debug Output

Input Output
Output
Input/ Output Input Output Output Output Input Output
Output
Input/ Output Input/ Output
Output Input Input Output Output Input/ Output Output Input
Output
SWO

DS-A3-0p9p1

Page 60 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

C6

-

34

D6

-

35

H6

-

36

H7

-

37

Function Select Number 0 1 2 3 4 5 6 7 0 1 2 3 4
5
6 7 0 1 2 3 4 5 6 7 0 1 2 3
4 5 6
7

Pad Function Name

Description

Pin Type

ADCSE6 NCE34 UA1RTS GPIO34 CMPRF2 UA0RTS UART0RX PDMDATA ADCSE7 NCE35 UART1TX GPIO35 I2SDAT
CT27
UA0RTS BLEIF_STA-
TUS TRIG1 NCE36 UART1RX GPIO36 32kHzXT UA1CTS UA0CTS PDMDATA TRIG2 NCE37 UA0RTS GPIO37
SCCIO UART1TX PDMCLK
CT29

Analog to Digital Converter Single-Ended Input 6 IO Master N Chip Select 34 Table 564, "NCE Encoding Table," on page 382 UART1 Request To Send (RTS)
General Purpose I/O
Voltage Comparator Reference 2 UART0 Request To Send (RTS) UART0 Receive PDM Data Analog to Digital Converter Single-Ended Input 7 IO Master N Chip Select 35 Table 564, "NCE Encoding Table," on page 382 UART1 Transmit
General Purpose I/O
I2S Data Timer/Counter Interface Signal 27 See "Implementing Counter/Timer Connections" on page 397. UART0 Request To Send (RTS)
BLE Interface STATUS Observation
ADC Trigger Input 1 IO Master N Chip Select 36 Table 564, "NCE Encoding Table," on page 382 UART1 Receive
General Purpose I/O
32kHz Clock Output UART1 Clear To Send (CTS) UART0 Clear To Send (CTS) PDM Data ADC Trigger Input 2 IO Master N Chip Select 37 Table 564, "NCE Encoding Table," on page 382 UART0 Request To Send (RTS)
General Purpose I/O
Secure Card Controller I/O
UART1 Transmit PDM Output Clock Timer/Counter Interface Signal 29 See "Implementing Counter/Timer Connections" on page 397.

Input
Output
Output Input/ Output Input Output Input Input Input
Output
Output Input/ Output Output
Output
Output
Output
Input
Output
Input Input/ Output Output Input Input Input Input
Output
Output Input/ Output Input/ Output Output Output
Output

DS-A3-0p9p1

Page 61 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

J6

-

38

J8

H2

39

J9

H1

40

E5

H3

41

Function Select Number 0 1 2 3 4 5 6 7 0 1
2
3
4 5 6 7 0 1 2 3
4
5 6 7 0 1 2 3 4 5 6 7

Pad Function Name

Description

Pin Type

TRIG3 NCE38 UA0CTS GPIO38
RSV M3MOSI UART1RX
RSV UART0TX UART1TX
CT25
GPIO39
M4SCL M4SCK
RSV RSV UART0RX UART1RX TRIG0 GPIO40
M4SDAWIR3
M4MISO RSV RSV
NCE41 BLEIF_IRQ
SWO GPIO41 I2SWCLK UA1RTS UART0TX UA0RTS

ADC Trigger Input 3 IO Master N Chip Select 38 Table 564, "NCE Encoding Table," on page 382 UART0 Clear To Send (CTS)
General Purpose I/O
Reserved SPI Master 3 Output Data UART1 Receive Reserved UART0 Transmit UART1 Transmit Timer/Counter Interface Signal 25 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
I2C Master 4 Clock
SPI Master 4 Clock Reserved Reserved UART0 Receive UART1 Receive ADC Trigger Input 0
General Purpose I/O
I2C Master 4 I/O Data SPI Master 4 3 Wire Data
SPI Master 4 Data Input Reserved Reserved IO Master N Chip Select 41 Table 564, "NCE Encoding Table," on page 382 BLE Interface IRQ Observation Serial Wire Debug Output
General Purpose I/O
I2S Word Clock UART1 Request To Send (RTS) UART0 Transmit UART0 Request To Send (RTS)

Input Output Input Input/ Output
Output Input
Output Output
Output
Input/ Output Open Drain Output
Input Input Input Input/ Output Bidirectional Open Drain Input
Output Output Output Input/ Output Input Output Output Output

DS-A3-0p9p1

Page 62 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

H5

-

42

J5

-

43

J7

H4

44

Function Select Number 0 1
2
3
4 5 6 7 0 1
2
3
4
5 6 7 0 1
2
3 4 5 6 7

Pad Function Name

Description

Pin Type

UART1TX NCE42 CT16 GPIO42 M3SCL M3SCK RSV RSV
UART1RX NCE43
CT18
GPIO43
M3SDAWIR3
M3MISO RSV RSV
UA1RTS NCE44
CT20
GPIO44 RSV
M4MOSI UART0TX
RSV

UART1 Transmit IO Master N Chip Select 42 Table 564, "NCE Encoding Table," on page 382 See "Implementing Counter/Timer Connections" on page 397.
General Purpose I/O
I2C Master 3 Clock
SPI Master 3 Clock Reserved Reserved UART1 Receive IO Master N Chip Select 43 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 18 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
I2C Master 3 I/O SPI Master 3 3 Wire Data
SPI Master 3 Input Data Reserved Reserved UART1 Request To Send (RTS) IO Master N Chip Select 44 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 20 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
Reserved SPI Master 4 Output Data UART0 Transmit Reserved

Output Output
Output Input/ Output Open Drain Output
Input Output
Output
Input/ Output Bidirectional Open Drain Input
Output Output
Output
Input/ Output
Output Output

DS-A3-0p9p1

Page 63 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

F5

-

45

E7

-

46

H9

G2

47

Function Select Number 0 1
2
3 4 5 6 7 0 1
2
3 4 5 6 7 0 1
2
3 4 5 6 7

Pad Function Name

Description

Pin Type

UA1CTS NCE45
CT22
GPIO45 I2SDAT PDMDATA UART0RX
SWO I2SBCLK NCE46
CT24
GPIO46 SCCRST PDMCLK UART1TX
SWO 32kHzXT NCE47
CT26
GPIO47 RSV
M5MOSI UART1RX
RSV

UART1 Clear To Send (CTS) IO Master N Chip Select 45 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 22 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
I2S Data PDM Data UART0 Receive Serial Wire Debug Output I2S Bit Clock IO Master N Chip Select 46 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 24 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
Secure Card Controller Reset PDM Output Clock UART1 Transmit Serial Wire Debug Output 32kHz Clock Output IO Master N Chip Select 47 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 26 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
Reserved SPI Master 5 Output Data UART1 Receive Reserved

Input Output
Output
Input/ Output Output Input Input Output Input Output
Output
Input/ Output Output Output Output Output Output Output
Output
Input/ Output
Output Input

DS-A3-0p9p1

Page 64 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1: Pin List and Function Table

BGA Pin Number

CSP Pin Number

GPIO Pad Number

G9

G3

48

H8

G1

49

Function Select Number 0 1
2
3
4 5 6 7 0 1
2
3
4
5 6 7

Pad Function Name

Description

Pin Type

UART0TX NCE48
CT28
GPIO48 M5SCL M5SCK
RSV RSV UART0RX NCE49
CT30
GPIO49
M5SDAWIR3
M5MISO RSV RSV

UART0 Transmit IO Master N Chip Select 48 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 28 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
I2C Master 5 Clock
SPI Master 5 Clock Reserved Reserved UART0 Receive IO Master N Chip Select 49 Table 564, "NCE Encoding Table," on page 382 Timer/Counter Interface Signal 30 See "Implementing Counter/Timer Connections" on page 394.
General Purpose I/O
I2C Master 5 I/O Data SPI Master 5 3 Wire Data
SPI Master 5 Input Data Reserved Reserved

Output Output
Output
Input/ Output Open Drain Output
Input
Output
Input/ Output Bidirectional Open Drain Input

DS-A3-0p9p1

Page 65 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

2. System Core

MCU
Cortex M4 with FPU, Up to 96MHz

Memory
1MB Flash

BTLE
BTLE 5 Controller

Sensor Peripherals
14b, 1.2MS/s, 15-Channel
ADC

16kB Flash Cache

Wake-Up Interrupt Controller

Power Management
Unit

Reset Controller

384kB RAM ... DDMMADAMA

Security BTLE Radio

Low Leakage Comparator
Temp Sensor

TiminSgecurity

Sys Timer / RTC

Timers / PWM (x8)

Stepper Motor
Programmable Controllers (x8)

Voltage

Serial

Monitoring Voltage Communication

Monitoring

Power-

Buck

On Reset Converters

50Channel
GPIO

UART (x2)

PDM I2S
Mas5te0r- Slave C(xh1annel (x1)
sterGePoI)O

LFRC HFRC XTAL

Complex Pattern Generators

BrownOut
Detector

Supply Voltage Monitor

I2C / SPI Master
(x6)

I2C / SPI Slave (x1)

Dual/ IMSOa7Is28tCe1r/6SPIQuad/
(xM1)asterOctal-SPI (x6) (x1)

Figure 3. Block Diagram for the Ultra-Low Power Apollo3 Blue MCU
The ultra-low power Apollo3 Blue MCU, shown in Figure 3, is an ideal solution for battery-powered applications requiring sensor measurement and data analysis. In a typical system, the Apollo3 Blue MCU serves as an applications processor for one or more sensors and has a fully integrated BLE 5 radio. The Apollo3 Blue MCU can measure analog sensor outputs using an integrated ADC and digital sensor outputs using the integrated serial master ports. The Cortex-M4 core with Floating Point Unit (referred to throughout this document as "M4", "M4 Core" or "Cortex-M4") integrated in the Apollo3 Blue MCU is capable of running complex data analysis and sensor fusion algorithms to process the sensor data. The Cortex-M4 core with FPU also enables accelerated time-to-market since application code may be efficiently executed in floating point form without the need to perform extensive fixed point optimizations. In other configurations, a host processor can communicate with the Apollo3 Blue MCU over its serial slave port using the I2C, SPI or I2S protocol.
With unprecedented energy efficiency for sensor conversion and data analysis, the Apollo3 Blue MCU enables months and years of battery life for products only achieving days or months of battery life today. For example, a fitness monitoring device with days or weeks of life on a rechargeable battery could be redesigned to achieve a year or more of life on a non-rechargeable battery. Similarly the Apollo3 Blue MCU enables the use of more complex sensor processing algorithms due to its extremely low active mode power of 6 µA/MHz. By using the Apollo3 Blue MCU, the aforementioned fitness monitoring device could achieve the current multi-day or multi-week battery life while adding new computation-intensive functions like context detection and gesture recognition.

DS-A3-0p9p1

Page 66 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
The Apollo3 Blue MCU provides support for higher performance operating modes through Ambiq's TurboSPOT technology. The TurboSPOT technology allows applications to meet critical timing as/when needed while still providing extremely high energy efficiency operation. The Apollo3 Blue MCU also supports secure boot using Ambiq's SecureSPOT technology enabling applications to establish and maintain a root of trust from boot to execution.
At the center of the Apollo3 Blue MCU is a 32-bit ARM Cortex-M4 processor with Floating Point Unit with several tightly coupled peripherals. The Ambiq Micro implementation of the Cortex-M4 core delivers both greater performance and much lower power than 8-bit, 16-bit, and other comparable 32-bit cores. Code and data may be stored in the 1 MB Flash Memory and the 384 KB Low Leakage RAM. The Wake-Up Interrupt Controller (WIC) coupled with the Cortex-M4 supports sophisticated and configurable sleep state transitions with a variety of interrupt sources.
An integrated Bluetooth low energy controller provides support for Bluetooth 5 at 3mA Rx/Tx. Apollo3 Blue MCU supports up to 4dBm transmit power with optional external power amplifier controls to enable even higher transmit range.
A rich set of sensor peripherals enable the monitoring of several sensors. An integrated temperature sensor enables the measurement of ambient temperature. A scalable ultra-low power Successive Approximation Register (SAR) Analog-to-Digital Converter (ADC) monitors the temperature sensor, several internal voltages, and up to eight external sensor signals. The ADC is uniquely tuned for minimum power with a configurable measurement mode that does not require MCU intervention. In addition to integrated analog sensor peripherals, I2C/SPI/PDM master ports and/or UART ports enables the MCU to communicate with external sensors and radios (such as Bluetooth transceivers) that have digital outputs. For higher bandwidth peripherals, the Apollo3 Blue MCU supports a multi-bit SPI (MSPI) controller for 1bit, 2-bit, 4-bit and 8-bit data. For devices requiring secure communication, it supports an ISO7816 compliant master controller.
The Apollo3 Blue MCU also includes a set of timing peripherals and an RTC which is based on Ambiq's AM08XX and AM18XX Real-Time Clock (RTC) families. The general purpose Timer/Counter Module (CTIMER), 32-bit System Timer (STIMER), and the RTC may be driven independently by one of three different clock sources: a low frequency RC oscillator, a high frequency RC oscillator, and a 32.768 kHz crystal (XTAL) oscillator. These clock sources use the proprietary advanced calibration techniques developed for the AM08XX and AM18XX products that achieve XTAL-like accuracy with RC-like power. Additionally, the Apollo3 Blue MCU includes clock reliability functions first offered in the AM08XX and AM18XX products. For example, the RTC can automatically switch from an XTAL source to an RC source in the event of an XTAL failure.
Apollo3 supports highly optimized PWM pattern generation for complex, efficient stepper motor control operation. Up to 8 independent motors can be controlled from the MCU supporting several different operating modes.
As with any ARM-based MCU, the Apollo3 Blue MCU is supported by a complete suite of standard software development tools. Ambiq Micro provides drivers for all peripherals along with basic application code to shorten development times. Software debug is facilitated by the addition of an Instrumentation Trace Macrocell (ITM), a Trace Port Interface Unit (TPIU) and through the use of a Serial Wire Debugger interface (SWD).

DS-A3-0p9p1

Page 67 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
3. MCU Core Details
At the center of the Apollo3 Blue MCU is a 32-bit ARM Cortex-M4 core with the floating point option. This 3-stage pipeline implementation of the ARM v7-M architecture offers highly efficient processing in a very low power design. The ARM M DAP enables debugging access via a Serial Wire Interface from outside of the MCU which allows access to all of the memory and peripheral devices of the MCU. The M4 core offers some other advantages including:
 Single 4 GB memory architecture with all Peripherals being memory-mapped  Low-Power Consumption Modes:
- Active - Sleep - Deep-Sleep - Power-Off  Interrupts and Events - NVIC ­ interrupt controller - WIC ­ Wake-Up Interrupt Controller - Sleep-on-Exit (reduces interrupt overhead, used in an ISR SW structure) - WFI (enter sleep modes, wait for interrupts)
The following sections provide behavioral and performance details about each of the peripherals controlled by the MCU core. Where multiple instances of a peripheral exist on Apollo3 Blue MCU (e.g., the I2C/SPI master modules), base memory addresses for the registers are provided for each and noted as INSTANCE 0, INSTANCE 1, etc.
3.1 Interrupts
Within the MCU, multiple peripherals can generate interrupts. In some cases, a single peripheral may be able to generate multiple different interrupts. Each interrupt signal generated by a peripheral is connected back to the M4 core in two places. First, the interrupts are connected to the Nested Vectored Interrupt Controller, NVIC, in the core. This connection provides the standard changes to program flow associated with interrupt processing. Additionally, they are connected to the WIC outside of the core, allowing the interrupt sources to wake the M4 core when it is in a deep sleep (SRPG) mode.
The MCU supports the M4 NMI as well as the normal interrupt types. For details on the Interrupt model of the M4, please see the "Cortex-M4 Devices Generic User Guide," document number DUI0553A.
Below is the M4 Vector Table for Apollo3 Blue MCU:

DS-A3-0p9p1

Page 68 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Exception Number IRQ Number

255

239

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1.8

2

1.7

1

1.6

0

1.5

-1

14

-2

13

12

11

-5

10

9

8

7

6

-10

5

-11

4

-12

3

-13

2

-14

1

Offset
0x03. FC
. .
0x00C0 0x00BC 0x009C 0x0098 0x0094 0x0090 0x008C 0x0088 0x0084 0x0080 0x007C 0x0078 0x0074 0x0070 0x006C 0x0068 0x0064 0x0060 0x005C 0x0058 0x0054 0x0050 0x004C 0x0048 0x0044 0x0040 0x003C 0x0038
0x002C
0x0018 0x0014 0x0010 0x000C 0x0008 0x0004 0x0000

Vector
IRQ239
. . .
IRQ31 IRQ23-30
IRQ22 IRQ21 IRQ20 IRQ19 IRQ18 IRQ17 IRQ16 IRQ15 IRQ14 IRQ13 IRQ12 IRQ11 IRQ10 IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 IRQ0 Systick PendSV Reserved Reserved for Debug SVCall
Reserved
Usage Fault Bus Fault
Memory management Fault Hard fault NMI Reset
Initial SP value

Peripheral/Description
Clock Control Stimer Compare[0:7] Stimer Capture/Overflow
SW INT MSPI PDM ADC
SCARD UART1 UART0 Counter/Timers GPIO
BLE I2C/SPI Master 5 I2C/SPI Master 4 I2C/SPI Master 3 I2C/SPI Master 2 I2C/SPI Master 1 I2C/SPI Master 0 I2C/SPI Slave Register Access
I2C/SPI Slave Voltage Comparator
RTC Watchdog Timer Brownout Detection
Unused

Figure 4. ARM Cortex-M4 Vector Table for Apollo3 Blue MCU

DS-A3-0p9p1

Page 69 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

The Cortex-M4 allows the user to assign various interrupts to different priority levels based on the requirements of the application. In this MCU implementation, 8 different priority levels are available.
One additional feature of the M4 interrupt architecture is the ability to relocate the Vector Table to a different address. This could be useful if the application requires a different set of interrupt service routines for a particular mode of an application. The software could move the Vector Table into SRAM and reassign the interrupt service routine entry addresses as needed.
Hardware interrupts are assigned in the MCU to the M4 NVIC as follows:

Table 2: MCU Interrupt Assignments

IRQ

Peripheral/Description

NMI

Unused

IRQ0

Brownout Detection

IRQ1

Watchdog Timer

IRQ2

RTC

IRQ3

Voltage Comparator

IRQ4

I2C / SPI Slave

IRQ5

I2C / SPI Slave Register Access

IRQ6

I2C / SPI Master0

IRQ7

I2C / SPI Master1

IRQ8

I2C / SPI Master2

IRQ9

I2C / SPI Master3

IRQ10

I2C / SPI Master4

IRQ11

I2C / SPI Master5

IRQ12

BLE

IRQ13

GPIO

IRQ14

Counter/Timers

IRQ15

UART0

IRQ16

UART1

IRQ17

SCARD

IRQ18

ADC

IRQ19

PDM

IRQ20

MSPI

IRQ21

SW INT

IRQ22

STimer Capture/Overflow

IRQ23-30 STimer Compare[0:7]

IRQ31

Clock Control

DS-A3-0p9p1

Page 70 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

3.2 Memory Map
ARM has a well-defined memory map for devices based on the ARM v7-M Architecture. The M4 further refines this map in the area of the Peripheral and System address ranges. Below is the system memory map as defined by ARM:

Table 3: ARM Cortex-M4 Memory Map

Address 0x00000000 ­ 0x1FFFFFFF 0x20000000 ­ 0x3FFFFFFF 0x40000000 ­ 0x5FFFFFFF 0x60000000 ­ 0x9FFFFFFF 0xA0000000 ­ 0xDFFFFFFF 0xE0000000 ­ 0xE00FFFFF 0xE0100000 ­ 0xFFFFFFFF

Name Code Reserved Peripheral External RAM External Device Private Peripheral Bus Vendor

Executable Y N N Y N N N

Description ROM or Flash Memory Reserved On-chip peripheral address space External / Off-chip Memory External device memory NVIC, System timers, System Control Block Vendor Defined

The MCU-specific implementation of this memory map is as follows:

Table 4: MCU System Memory Map

Address 0x00000000 ­ 0x000FFFFF 0x00100000 - 0x03FFFFFF 0x04000000 ­ 0x07FFFFFF
0x08000000 ­ 0x08000FFF
0x08001000 ­ 0x0FFFFFFF 0x10000000 ­ 0x1000FFFF 0x10010000 ­ 0x1005FFFF 0x10040000 ­ 0x3FFFFFFF 0x40000000 ­ 0x5FFFFFFF 0x60000000 ­ 0xDFFFFFFF 0xE0000000 ­ 0xE00FFFFF 0xE0100000 ­ 0xFFFFFFFF

Name Flash Reserved External MSPI Flash
Boot Loader ROM
Reserved SRAM (TCM) SRAM Reserved Peripheral Reserved PPB Reserved

Executable Y X Y
Y
X Y Y X N X N X

Description
Flash Memory No device at this address range XIP Read-Only External MSPI Flash Execute Only Boot Loader and Flash Helper Functions. No device at this address range Low-power / Low Latency SRAM (TCM) Main SRAM No device at this address range Peripheral devices No device at this address range NVIC, System timers, System Control Block No device at this address range

Peripheral devices within the memory map are allocated on 4 KB boundaries, allowing each device up to 1024 32-bit control and status registers. Peripherals will return undefined read data when an attempt to access a register which does not exist occurs. Peripherals, whether accessed via the APB or the AHB, will always accept any write data sent to their registers without attempting to return an ERROR response. Specifically, a write to a read-only register would just become a don't-care write.

DS-A3-0p9p1

Page 71 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 5 shows the address mapping for the peripheral devices of the Base Platform.

Table 5: MCU Peripheral Device Memory Map

Address

Device

0x40000000 ­ 0x400003FF 0x40000400 ­ 0x40003FFF 0x40004000 ­ 0x400041FF 0x40004200 - 0x400043FF 0x40004400 ­ 0x40007FFF 0x40008000 ­ 0x400083FF 0x40008400 ­ 0x4000BFFF 0x4000C000 ­ 0x4000C3FF 0x4000C400 ­ 0x4000FFFF 0x40010000 ­ 0x400103FF 0x40010400 ­ 0x40010FFF 0x40011000 ­ 0x400113FF 0x40011400 ­ 0x40017FFF 0x40018000 ­ 0x40018FFF 0x40019000 ­ 0x4001BFFF 0x4001C000 ­ 0x4001C3FF 0x4001C400 ­ 0x4001CFFF 0x4001D000 ­ 0x4001D3FF 0x4001D400 ­ 0x4001FFFF 0x40020000 ­ 0x400203FF 0x40020400 ­ 0x40020FFF 0x40021000 ­ 0x400213FF 0x40021400 ­ 0x40023FFF 0x40024000 ­ 0x400243FF 0x40024400 ­ 0x4007FFFF 0x40080000 - 0x400803FF 0x40080400 - 0x4FFFFFFF 0x50000000 ­ 0x500003FF 0x50000400 ­ 0x50003FFF 0x50004000 ­ 0x50004FFF
0x50005000 ­ 0x50005FFF
0x50006000 ­ 0x50006FFF

Reset / BoD Control Reserved Clock Generator RTC Reserved Timers Reserved Voltage Comparator Reserved GPIO Control Reserved Fast GPIO Control Reserved Flash Cache Control Reserved UART0 Reserved UART1 Reserved Miscellaneous Control Reserved Power Control Reserved Watchdog Timer Reserved Secure Card Reserved I2C / SPI Slave Reserved I2C / SPI Master0 I2C / SPI Master1 I2C / SPI Master2

DS-A3-0p9p1

Page 72 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 5: MCU Peripheral Device Memory Map

Address

Device

0x50007000 ­ 0x50007FFF 0x50008000 ­ 0x50008FFF 0x50009000 ­ 0x50009FFF 0x5000A000 ­ 0x5000BFFF 0x5000C000 ­ 0x5000CFFF 0x5000D000 ­ 0x5000FFFF 0x50010000 ­ 0x500103FF 0x50010400 ­ 0x50010FFF 0x50011000 ­ 0x500113FF 0x50011400 ­ 0x50013FFF 0x50014000 ­ 0x500143FF 0x50014400 ­ 0x5001FFFF 0x50020000 ­ 0x5002FFFF 0x50030000 ­ 0x5FFFFFFF
0x51000000 ­ 0x51FFFFFF

I2C / SPI Master3 I2C / SPI Master4 I2C / SPI Master5 Reserved BLE Reserved ADC Reserved PDM Reserved MSPI Master Reserved Flash OTP Reserved XIP MM (Read/Write to External MSPI Device) [Chip Rev B Only]

3.3 Memory Protection Unit (MPU)
The Apollo3 Blue MCU includes an MPU which is a core component for memory protection. The M4 processor supports the standard ARMv7 Protected Memory System Architecture model. The MPU provides full support for:
 Protection regions.  Overlapping protection regions, with ascending region priority:
- 7 = highest priority - 0 = lowest priority.  Access permissions  Exporting memory attributes to the system.
MPU mismatches and permission violations invoke the programmable-priority MemManage fault handler. See the ARM®v7-M Architecture Reference Manual for more information.

DS-A3-0p9p1

Page 73 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

You can use the MPU to:
 Enforce privilege rules.  Separate processes.  Enforce access rules.
3.4 System Busses
The ARM Cortex-M4 utilizes 3 instances of the AMBA AHB bus for communication with memory and peripherals. The ICode bus is designed for instruction fetches from the `Code' memory space while the DCode bus is designed for data and debug accesses in that same region. The System bus is designed for fetches to the SRAM and other peripheral devices of the MCU.
The Apollo3 Blue MCU maps the available SRAM memory onto an address space within the `Code' memory space. This gives the user the opportunity to perform instruction and data fetches from the lowerpower SRAM to effectively lower the power consumption of the MCU.
The peripherals of the Apollo3 Blue MCU which are infrequently accessed are located on an AMBA APB bus. A bridge exists which translates the accesses from the System AHB to the APB. Accesses to these peripherals will inject a single wait-state on the AHB during any access cycle.
3.5 Power Management
The Power Management Unit (PMU) is a finite-state machine that controls the transitions of the MCU between power modes. When moving from Active Mode to Deep Sleep Mode, the PMU manages the state-retention capability of the registers within the Cortex-M4 core and also controls the shutdown of the voltage regulators of the MCU. Once in the Deep Sleep Mode, the PMU, in conjunction with the Wake-Up Interrupt Controller, waits for a wakeup event. When the event is observed, the PMU begins the power restoration process by re-enabling the on-chip voltage regulators and restoring the CPU register state. The M4 is then returned to active mode once all state is ready.
The Apollo3 Blue MCU power modes are described in the subsequent discussion along with the operation of the PMU.
3.5.1 Cortex-M4 Power Modes
The ARM Cortex-M4 defines the following 3 power modes:
 Active  Sleep  Deep Sleep
In addition to the above ARM-defined modes, the Apollo3 Blue MCUwill support a Shutdown mode in which the entire device is powered down except for the logic required to support a Power-On Reset.
Each mode is described below.
3.5.1.1 Burst Mode
The Apollo3 Blue MCU supports the Ambiq TurboSPOT which enables a higher frequency operating mode (Burst Mode). In this mode, the M4 and all memory run at an elevated frequency. All of the non-debug ARM clocks (FCLK, HCLK) also operate at the elevated frequency level. All peripherals are maintained at the nominal frequency level during burst. This mode is entered and exited under software direction but transitions are completely handled in hardware.
NOTE
In Burst Mode on the Apollo3 Blue MCU, the SYSTICK increments at twice the normal (48 MHz) clock rate. Some RTOSes may use SYSTICK for scheduler timing by default, in which case scheduler event timing

DS-A3-0p9p1

Page 74 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
will be wrong when using Burst Mode. It is recommended not to use SYSTICK and Burst Mode together unless proper compensation is made.
3.5.1.2 Active Mode
In the Active Mode, the M4 is powered up, clocks are active, and instructions are being executed. In this mode, the M4 expects all (enabled) devices attached to the AHB and APB to be powered and clocked for normal access. All of the non-debug ARM clocks (FCLK, HCLK) are active in this state. To transition from the Active Mode to any of the lower-power modes, a specific sequence of instructions is executed on the M4 core. First, specific bits in the ARMv7-M System Control Register must be set to determine the mode to enter. See page B3-269 of the ARMv7-M Architecture Reference Manual for more details. After the SCR is setup, code can enter the low-power states using one of the 3 following methods:  Execute a Wait-For-Interrupt (WFI) instruction.  Execute a Wait-For-Event (WFE) instruction.  Set the SLEEPONEXIT bit of the SCR such that the exit from an ISR will automatically return to a sleep
state. The M4 will enter a low-power mode after one of these are performed (assuming all conditions are met) and remain there until some event causes the core to return to Active Mode. The possible reasons to return to Active Mode are:  A reset  An enabled Interrupt is received by the NVIC  An event is received by the NVIC  A Debug Event is received from the DAP
3.5.1.3 Sleep Mode
In the Sleep Mode, the M4 is powered up, but the clocks (HCLK, FCLK) are not active. The power supply is still applied to the M4 logic such that it can immediately become active on a wakeup event and begin executing instructions.
3.5.1.4 Deep Sleep Mode
In the Deep Sleep Mode, the M4 enters SRPG mode where the main power is removed, but the flops retain their state. The clocks are not active, and the MCU clock sources for HCLK and FCLK can be deactivated. To facilitate the removal of the source supply and entry into SRPG mode, the M4 will handshake with the Wake-up Interrupt Controller and Power Management Unit and set up the possible wakeup conditions.
3.5.2 System Power Modes
In addition to the CPU power states, there are system power states defined as follows.
3.5.2.1 SYS Active Burst (SACTB)
CPU is in Active Burst Mode and executing instructions. All peripheral devices are on and available.
3.5.2.2 SYS Active (SACT)
CPU is in Active Mode and executing instructions. All peripheral devices are on and available.

DS-A3-0p9p1

Page 75 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

3.5.2.3 SYS Sleep Mode 0 (SS0)
In SYS Sleep Mode 0, this is a low power state for the MCU. In this mode, all SRAM memory is retained (up to 384KB), Flash memory is in standby, HFRC is on, main core clock domain is gated but peripheral clock domains can be on. CPU is in Sleep Mode.
This state can be entered if a peripheral device (such as SPI/UART/I2C) is actively transferring data and the time window is sufficient for CPU to enter Sleep Mode but is not long enough to go into a Deep Sleep Mode.
3.5.2.4 SYS Sleep Mode 1 (SS1)
In SYS Sleep Mode 1, this is a low power state for the MCU. In this mode, all SRAM memory is retained (up to 384 KB), Flash memory is in standby, HFRC is on, all functional clocks are gated. CPU is in Sleep Mode.
This state can be entered if a no peripheral device (SPI/UART/I2C/MSPI/SCARD/BLE) is actively transferring data, however, communication may occur within a short time window which will prevent the CPU from entering Deep Sleep Mode (and subsequently the system from entering a lower power state).
This state is also referred to as "Active Idle". In other words, all power domains are powered on, but all clocks are gated. This state is a good power baseline for the system as it represents the active mode DC power level. Typically the power in this state is dominated by leakage and always-on functional blocks.
3.5.2.5 SYS Deep Sleep Mode 0 (SDS0)
In SYS Deep Sleep Mode 0, this is a deep low power state for the MCU. In this mode, SRAM is in retention (capacity controlled by software), cache memory is in retention (16 KB), Flash memory is in power down, HFRC is on, main core power domain is off but peripheral power domains can be on. CPU is in Deep Sleep. Core logic state is retained.
This state can be entered if a peripheral device (SPI/UART/I2C/MSPI/SCARD/BLE) is actively (or intermittently) transferring data but the window of acquisition is long enough to allow the CPU to go into a deeper low power state.
Note: For easier notation, SRAM memory retention is defined as follows:  384KB: SDS0-384RET  256KB: SDS0-256RET  128KB: SDS0-128RET  64KB: SDS0-64RET  8KB: SDS0-8RET  0KB: SDS0
3.5.2.6 SYS Deep Sleep Mode 1 (SDS1)
In SYS Deep Sleep Mode 1, this is a deep low power state for the MCU. In this mode, SRAM is in retention (capacity controlled by software), cache memory is powered down, Flash memory is in power down, HFRC is on, main core power domain is off but peripheral power domains can be on. CPU is in Deep Sleep. Core logic state is retained.
This state can be entered if the latency to warm up the cache can be tolerated. This could be an extended wait for peripheral communication event.
Note: For easier notation, SRAM memory retention is defined as follows:

DS-A3-0p9p1

Page 76 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

 384KB: SDS1-384RET  256KB: SDS1-256RET  128KB: SDS1-128RET  64KB: SDS1-64RET  8KB: SDS1-8RET  0KB: SDS1
3.5.2.7 SYS Deep Sleep Mode 2 (SDS2)
In SYS Deep Sleep Mode 2, this is the minimum power state that the MCU can resume normal operation. In this mode, minimal SRAM memory is retained as needed for software to resume (note that SRAM can have 0-384 KB in retention depending on the software/system functional and latency requirements), Cache is powered off (no retention), Flash memory is in power down, HFRC is off, XTAL is ON, all internal switched power domains are off/gated. CPU is in Deep Sleep. Core logic state is retained.
Note: For easier notation, SRAM memory retention is defined as follows:
 384KB: SDS2-384RET  256KB: SDS2-256RET  128KB: SDS2-128RET  64KB: SDS2-64RET  8KB: SDS2-8RET  0KB: SDS2
This state can be entered when all activity has suspended for a duration of time sufficient to sustain the longer exit latencies to resume. This could be a state where periodic data samples are taken and the data is locally processed/accumulated/transferred at long time intervals. This state can only be entered (vs SDS1) if the peripheral devices are either not enabled/active or if the application can afford to save/restore the state of the controller(s) on entry/exit of this mode.
3.5.2.8 SYS Deep Sleep Mode 3 (SDS3)
In SYS Deep Sleep Mode 3, this is a deep sleep power state for the MCU. In this mode, no memory is in retention, all memory is powered down, LFRC is on (HFRC and XTAL are off), all internal switched power domains are off/gated. CPU is in Deep Sleep. Core logic state is retained. Single timer is running.
This state can be entered on long inactivity periods. Also can be used for very low power ADC sampling without CPU interaction.
3.5.2.9 SYS OFF Mode (SOFF)
In SYS OFF Mode, MCU is completely powered down with no power supplied. CPU is in shutdown mode with no state retention. Only Flash memory is retained.
This mode is controlled external to the MCU by removing power to the device.
3.5.3 Power Control
Power control block provides control and status for the power state of all the power domains, voltage regulators in the SoC. Software can control these blocks via power control registers within this block.
The power control block controls the power sequence to power up or down a particular peripheral device and memory power domain. Status of each of these can be monitored in the respective power control

DS-A3-0p9p1

Page 77 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

status register. The power controller also supports event notification to indicate peripheral power transition completion. Event notification is the preferred power-optimized method in lieu of status polling.
The power controller is also the primary control block for the BLE/Burst and SIMO Buck converters as well as the LDO regulators when Bucks are disabled. Similarly, event notification is supported to provide the appropriate handshake to software as needed as well as status register indicators.
This block handles all power sequencing during initial power on and all power mode transitions.

3.5.3.1 PWRCTRL Registers
PWR Controller Register Bank INSTANCE 0 BASE ADDRESS:0x40021000 Power Controller register Bank - this is the place SW writes to.

3.5.3.1.1 Register Memory Map

Table 6: PWRCTRL Register Map

Address(s) 0x40021000 0x40021004 0x40021008 0x4002100C 0x40021010 0x40021014 0x40021018 0x4002101C 0x40021020 0x40021024

Register Name SUPPLYSRC SUPPLYSTATUS DEVPWREN MEMPWDINSLEEP MEMPWREN MEMPWRSTATUS DEVPWRSTATUS SRAMCTRL ADCSTATUS MISC

0x40021028 DEVPWREVENTEN

0x4002102C MEMPWREVENTEN

Description
Voltage Regulator Select Register Voltage Regulators status Device Power Enables Powerdown SRAM banks in Deep Sleep mode Enables individual banks of the MEMORY array Mem Power ON Status Device Power ON Status SRAM Control register Power Status Register for ADC Block Power Optimization Control Bits Event enable register to control which DEVPWRSTATUS bits are routed to event input of CPU. Event enable register to control which MEMPWRSTATUS bits are routed to event input of CPU.

DS-A3-0p9p1

Page 78 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
3.5.3.1.2 PWRCTRL Registers 3.5.3.1.2.1SUPPLYSRC Register
Voltage Regulator Select Register OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x40021000 This register controls the enable for BLE BUCK.
Table 7: SUPPLYSRC Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

BLEBUCKEN

Bit

Name

31:1

RSVD

0

BLEBUCKEN

Table 8: SUPPLYSRC Register Bits

Reset 0x0

RW RO RESERVED.

Description

Enables and Selects the BLE Buck as the supply for the BLE power domain

or for Burst LDO. It takes the initial value from Customer INFO space. Buck

will be powered up only if there is an active request for BLEH domain or

0x0

RW Burst mode and appropriate feature is allowed.

EN = 0x1 - Enable the BLE Buck. DIS = 0x0 - Disable the BLE Buck.

3.5.3.1.2.2SUPPLYSTATUS Register
Voltage Regulators status OFFSET: 0x00000004 INSTANCE 0 ADDRESS: 0x40021004 Provides an indicator for the BLE BUCK and SIMO BUCK status. Once the SIMO BUCK is powered up MEM and CORE LDOs are disabled.

DS-A3-0p9p1

Page 79 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 9: SUPPLYSTATUS Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

BLEBUCKON SIMOBUCKON

Bit

Name

31:2

RSVD

1

BLEBUCKON

0

SIMOBUCKON

Table 10: SUPPLYSTATUS Register Bits

Reset 0x0

RW RO RESERVED.

Description

Indicates whether the BLE (if supported) domain and burst (if supported)

domain is supplied from the LDO or the Buck. Buck will be powered up only

if there is an active request for BLEH domain or Burst mode and appropriate

reature is allowed.

0x0

RO

LDO = 0x0 - Indicates the the LDO is supplying the BLE/Burst power

domain

BUCK = 0x1 - Indicates the the Buck is supplying the BLE/Burst power

domain

Indicates whether the Core/Mem low-voltage domains are supplied from the

LDO or the Buck.

0x0

RO

OFF = 0x0 - Indicates the the SIMO Buck is OFF.

ON = 0x1 - Indicates the the SIMO Buck is ON.

3.5.3.1.2.3DEVPWREN Register
Device Power Enables OFFSET: 0x00000008 INSTANCE 0 ADDRESS: 0x40021008 This enables various peripherals power domains.

Table 11: DEVPWREN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

PWRBLEL PWRPDM PWRMSPI PWRSCARD PWRADC PWRUART1 PWRUART0 PWRIOM5 PWRIOM4 PWRIOM3 PWRIOM2 PWRIOM1 PWRIOM0 PWRIOS

DS-A3-0p9p1

Page 80 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:14

Name RSVD

13

PWRBLEL

12

PWRPDM

11

PWRMSPI

10

PWRSCARD

9

PWRADC

8

PWRUART1

7

PWRUART0

6

PWRIOM5

5

PWRIOM4

4

PWRIOM3

3

PWRIOM2

2

PWRIOM1

Table 12: DEVPWREN Register Bits

Reset 0x0

RW RO RESERVED.

Description

Power up BLE controller

0x0

RW EN = 0x1 - Power up BLE controller

DIS = 0x0 - Power down BLE controller

Power up PDM block

0x0

RW EN = 0x1 - Power up PDM

DIS = 0x0 - Power down PDM

Power up MSPI Controller

0x0

RW EN = 0x1 - Power up MSPI

DIS = 0x0 - Power down MSPI

Power up SCARD Controller

0x0

RW EN = 0x1 - Power up SCARD

DIS = 0x0 - Power down SCARD

Power up ADC Digital Controller

0x0

RW EN = 0x1 - Power up ADC

DIS = 0x0 - Power Down ADC

Power up UART Controller 1

0x0

RW EN = 0x1 - Power up UART 1

DIS = 0x0 - Power down UART 1

Power up UART Controller 0

0x0

RW EN = 0x1 - Power up UART 0

DIS = 0x0 - Power down UART 0

Power up IO Master 5

0x0

RW EN = 0x1 - Power up IO Master 5

DIS = 0x0 - Power down IO Master 5

Power up IO Master 4

0x0

RW EN = 0x1 - Power up IO Master 4

DIS = 0x0 - Power down IO Master 4

Power up IO Master 3

0x0

RW EN = 0x1 - Power up IO Master 3

DIS = 0x0 - Power down IO Master 3

Power up IO Master 2

0x0

RW EN = 0x1 - Power up IO Master 2

DIS = 0x0 - Power down IO Master 2

Power up IO Master 1

0x0

RW EN = 0x1 - Power up IO Master 1

DIS = 0x0 - Power down IO Master 1

DS-A3-0p9p1

Page 81 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

1

PWRIOM0

0

PWRIOS

Table 12: DEVPWREN Register Bits

Reset 0x0 0x0

RW

Description

Power up IO Master 0
RW EN = 0x1 - Power up IO Master 0 DIS = 0x0 - Power down IO Master 0

Power up IO Slave
RW EN = 0x1 - Power up IO slave DIS = 0x0 - Power down IO slave

3.5.3.1.2.4MEMPWDINSLEEP Register
Powerdown SRAM banks in Deep Sleep mode
OFFSET: 0x0000000C
INSTANCE 0 ADDRESS: 0x4002100C
This controls the power down of the SRAM banks in deep sleep mode. If this is set, then the power for that SRAM bank will be gated when the core goes into deep sleep. Upon wake, the data within the SRAMs will be erased. If this is not set, retention voltage will be applied to the SRAM bank when the core goes into deep sleep. Upon wake, the data within the SRAMs are retained. Do not set this if the SRAM bank is used as the target for DMA transfer while CPU in deepsleep.

Table 13: MEMPWDINSLEEP Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

SRAMPWDSLP

CACHEPWDSLP FLASH1PWDSLP FLASH0PWDSLP DTCMPWDSLP

Bit

Name

31

CACHEPWDSLP

30:15

RSVD

14

FLASH1PWDSLP

Table 14: MEMPWDINSLEEP Register Bits

Reset 0x0 0x0

RW

Description

power down cache in deep sleep
RW EN = 0x1 - Power down cache in deep sleep DIS = 0x0 - Retain cache in deep sleep
RO RESERVED.

Powerdown flash1 in deep sleep

0x1

RW EN = 0x1 - Flash1 is powered down during deepsleep

DIS = 0x0 - Flash1 is kept powered on during deepsleep

DS-A3-0p9p1

Page 82 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

13

FLASH0PWDSLP

12:3 SRAMPWDSLP

2:0

DTCMPWDSLP

Table 14: MEMPWDINSLEEP Register Bits

Reset 0x1

RW

Description

Powerdown flash0 in deep sleep
RW EN = 0x1 - Flash0 is powered down during deepsleep DIS = 0x0 - Flash0 is kept powered on during deepsleep

Selects which SRAM banks are powered down in deep sleep mode, causing the contents of the bank to be lost.

NONE = 0x0 - All banks retained

GROUP0 = 0x1 - SRAM GROUP0 powered down (64KB-96KB)

GROUP1 = 0x2 - SRAM GROUP1 powered down (96KB-128KB)

GROUP2 = 0x4 - SRAM GROUP2 powered down (128KB-160KB)

GROUP3 = 0x8 - SRAM GROUP3 powered down (160KB-192KB)

GROUP4 = 0x10 - SRAM GROUP4 powered down (192KB-224KB)

GROUP5 = 0x20 - SRAM GROUP5 powered down (224KB-256KB)

0x0

RW

GROUP6 = 0x40 - SRAM GROUP6 powered down (256KB-288KB) GROUP7 = 0x80 - SRAM GROUP7 powered down (288KB-320KB)

GROUP8 = 0x100 - SRAM GROUP8 powered down (320KB-352KB)

GROUP9 = 0x200 - SRAM GROUP9 powered down (352KB-384KB)

SRAM32K = 0x1 - Powerdown lower 32k SRAM (64KB-96KB)

SRAM64K = 0x3 - Powerdown lower 64k SRAM (64KB-128KB)

SRAM128K = 0xF - Powerdown lower 128k SRAM (64KB-192KB)

ALLBUTLOWER32K = 0x3FE - All SRAM banks but lower 32k powered

down (96KB-384KB).

ALLBUTLOWER64K = 0x3FC - All banks but lower 64k powered down.

ALLBUTLOWER128K = 0x3F0 - All banks but lower 128k powered down.

ALL = 0x3FF - All banks powered down.

power down DTCM in deep sleep

NONE = 0x0 - All DTCM retained

GROUP0DTCM0 = 0x1 - Group0_DTCM0 powered down in deep sleep

(0KB-8KB)

GROUP0DTCM1 = 0x2 - Group0_DTCM1 powered down in deep sleep

0x0

RW (8KB-32KB)

GROUP0 = 0x3 - Both DTCMs in group0 are powered down in deep sleep

(0KB-32KB)

ALLBUTGROUP0DTCM0 = 0x6 - Group1 and Group0_DTCM1 are pow-

ered down in deep sleep (8KB-64KB)

GROUP1 = 0x4 - Group1 DTCM powered down in deep sleep (32KB-64KB)

ALL = 0x7 - All DTCMs powered down in deep sleep (0KB-64KB)

3.5.3.1.2.5MEMPWREN Register
Enables individual banks of the MEMORY array
OFFSET: 0x00000010
INSTANCE 0 ADDRESS: 0x40021010
This register enables the individual banks for the memories. When set, power will be enabled to the banks. This register works in conjection with the MEMPWDINSLEEP register. When this register is set, then the MEMPWRINSLEEP register will determine whether power is enabled to the SRAMs in deep sleep. If this register is not set, then power will always be disabled to the memory bank.

DS-A3-0p9p1

Page 83 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 15: MEMPWREN Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

SRAM

DTCM

CACHEB2 CACHEB0 FLASH1 FLASH0

Bit

Name

31

CACHEB2

30

CACHEB0

29:15

RSVD

14

FLASH1

13

FLASH0

12:3

SRAM

Table 16: MEMPWREN Register Bits

Reset 0x1
0x1 0x0

RW

Description

Power up Cache Bank 2. This works in conjunction with Cache enable from flash_cache module. To power up cache bank2, cache has to be enabled RW and this bit has to be set.
EN = 0x1 - Power up Cache Bank 2 DIS = 0x0 - Power down Cache Bank 2

Power up Cache Bank 0. This works in conjunction with Cache enable from flash_cache module. To power up cache bank0, cache has to be enabled RW and this bit has to be set.
EN = 0x1 - Power up Cache Bank 0 DIS = 0x0 - Power down Cache Bank 0
RO RESERVED.

Power up Flash1

0x1

RW EN = 0x1 - Power up Flash1

DIS = 0x0 - Power down Flash1

Power up Flash0

0x1

RW EN = 0x1 - Power up Flash0

DIS = 0x0 - Power down Flash0

Power up SRAM groups

0x3ff

NONE = 0x0 - Do not power ON any of the SRAM banks

GROUP0 = 0x1 - Power ON only SRAM group0 (0KB-32KB)

GROUP1 = 0x2 - Power ON only SRAM group1 (32KB-64KB)

GROUP2 = 0x4 - Power ON only SRAM group2 (64KB-96KB)

GROUP3 = 0x8 - Power ON only SRAM group3 (96KB-128KB)

GROUP4 = 0x10 - Power ON only SRAM group4 (128KB-160KB)

RW

GROUP5 = 0x20 - Power ON only SRAM group5 (160KB-192KB) GROUP6 = 0x40 - Power ON only SRAM group6 (192KB-224KB)

GROUP7 = 0x80 - Power ON only SRAM group7 (224KB-256KB)

GROUP8 = 0x100 - Power ON only SRAM group8 (256KB-288KB)

GROUP9 = 0x200 - Power ON only SRAM group9 (288KB-320KB)

SRAM32K = 0x1 - Power ON only lower 32k

SRAM64K = 0x3 - Power ON only lower 64k

SRAM128K = 0xF - Power ON only lower 128k

SRAM256K = 0xFF - Power ON only lower 256k

ALL = 0x3FF - All SRAM banks (320K) powered ON

DS-A3-0p9p1

Page 84 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

2:0

DTCM

Table 16: MEMPWREN Register Bits

Reset

RW Power up DTCM

Description

NONE = 0x0 - Do not enable power to any DTCMs

0x7

RW

GROUP0DTCM0 = 0x1 - Power ON only GROUP0_DTCM0 GROUP0DTCM1 = 0x2 - Power ON only GROUP0_DTCM1

GROUP0 = 0x3 - Power ON only DTCMs in group0

GROUP1 = 0x4 - Power ON only DTCMs in group1

ALL = 0x7 - Power ON all DTCMs

3.5.3.1.2.6MEMPWRSTATUS Register
Mem Power ON Status
OFFSET: 0x00000014
INSTANCE 0 ADDRESS: 0x40021014
It provides the power status for all the memory banks including- caches, flash (0 and 1) and all the SRAM groups. The status here should reflect the enable provided by the MEMPWREN register. There may be a lag time between setting the bits in MEMPWREN register and MEMPWRSTATUS register, due to the need to cycle the power gate and isolation seqeunces to the memory banks.

Table 17: MEMPWRSTATUS Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CACHEB2 CACHEB0 FLASH1 FLASH0
SRAM9 SRAM8 SRAM7 SRAM6 SRAM5 SRAM4 SRAM3 SRAM2 SRAM1 SRAM0 DTCM1 DTCM01 DTCM00

Bit 31:17
16 15 14 13 12 11

Name RSVD CACHEB2 CACHEB0 FLASH1 FLASH0 SRAM9 SRAM8

Table 18: MEMPWRSTATUS Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RO This bit is 1 if power is supplied to Cache Bank 2

0x0

RO This bit is 1 if power is supplied to Cache Bank 0

0x1

RO This bit is 1 if power is supplied to FLASH 1

0x1

RO This bit is 1 if power is supplied to FLASH 0

0x1

RO This bit is 1 if power is supplied to SRAM GROUP9

0x1

RO This bit is 1 if power is supplied to SRAM GROUP8

DS-A3-0p9p1

Page 85 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

10

SRAM7

9

SRAM6

8

SRAM5

7

SRAM4

6

SRAM3

5

SRAM2

4

SRAM1

3

SRAM0

2

DTCM1

1

DTCM01

0

DTCM00

Table 18: MEMPWRSTATUS Register Bits

Reset 0x1

RW

Description

RO This bit is 1 if power is supplied to SRAM GROUP7

0x1

RO This bit is 1 if power is supplied to SRAM GROUP6

0x1

RO This bit is 1 if power is supplied to SRAM GROUP5

0x1

RO This bit is 1 if power is supplied to SRAM GROUP4

0x1

RO This bit is 1 if power is supplied to SRAM GROUP3

0x1

RO This bit is 1 if power is supplied to SRAM GROUP2

0x1

RO This bit is 1 if power is supplied to SRAM GROUP1

0x1

RO This bit is 1 if power is supplied to SRAM GROUP0

0x1

RO This bit is 1 if power is supplied to DTCM GROUP1

0x1

RO This bit is 1 if power is supplied to DTCM GROUP0_1

0x1

RO This bit is 1 if power is supplied to DTCM GROUP0_0

3.5.3.1.2.7DEVPWRSTATUS Register
Device Power ON Status
OFFSET: 0x00000018
INSTANCE 0 ADDRESS: 0x40021018
This provides the power status for the peripheral devices- BLEL, PDM, PDM, MSPI, SCARD, ADC, UART0 & 1, IOM5 to 0, IOSLAVE and MCUL (DMA and Fabrics) and MCUH (ARM core). The status here should reflect the enable provided by the DEVPWREN register. There may be a lag time between setting the bits in DEVPWREN register and DEVPWRSTATUS register, due to the need to cycle the power gate, isolation and reset seqeunces to the device power domains.

Table 19: DEVPWRSTATUS Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

SYSDEEPSLEEP COREDEEPSLEEP
CORESLEEP BLEH BLEL
PWRPDM PWRMSPI PWRADC
HCPC HCPB HCPA MCUH MCUL

DS-A3-0p9p1

Page 86 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31

SYSDEEPSLEEP

30

COREDEEPSLEEP

29

CORESLEEP

28:10

RSVD

9

BLEH

8

BLEL

7

PWRPDM

6

PWRMSPI

5

PWRADC

4

HCPC

3

HCPB

2

HCPA

1

MCUH

0

MCUL

Table 20: DEVPWRSTATUS Register Bits

Reset 0x0

RW

Description

This bit is 1 if SYSTEM has been in Deep Sleep. Write '1' to this bit to clear RO it.

0x0

RO This bit is 1 if CORE has been in Deep Sleep. Write '1' to this bit to clear it.

0x0

RO This bit is 1 if CORE has been in SLEEP State. Write '1' to this bit to clear it.

0x0

RO This bitfield is reserved for future use.

0x0

RO This bit is 1 if power is supplied to BLEH

0x0

RO This bit is 1 if power is supplied to BLEL

0x0

RO This bit is 1 if power is supplied to PDM

0x0

RO This bit is 1 if power is supplied to MSPI

0x0

RO This bit is 1 if power is supplied to ADC

0x0

RO This bit is 1 if power is supplied to HCPC domain (IO MASTER4, 5, 6)

0x0

RO This bit is 1 if power is supplied to HCPB domain (IO MASTER 0, 1, 2)

This bit is 1 if power is supplied to HCPA domain (IO SLAVE, UART0,

0x0

RO UART1, SCARD)

0x1

RO This bit is 1 if power is supplied to MCUH

0x1

RO This bit is 1 if power is supplied to MCUL

3.5.3.1.2.8SRAMCTRL Register
SRAM Control register
OFFSET: 0x0000001C
INSTANCE 0 ADDRESS: 0x4002101C
This register provides additional fine-tune power management controls for the SRAMs and the SRAM controller. This includes enabling light sleep for the SRAM and TCM banks, and clock gating for reduced dynamic power.

DS-A3-0p9p1

Page 87 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 21: SRAMCTRL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

SRAMLIGHTSLEEP

RSVD

SRAMMASTERCLKGATE SRAMCLKGATE RSVD

Bit 31:20

Name RSVD

19:8

SRAMLIGHTSLEEP

7:3

RSVD

2

SRAMMASTERCLKGATE

1

SRAMCLKGATE

0

RSVD

Table 22: SRAMCTRL Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

Light Sleep enable for each TCM/SRAM bank. When 1, corresponding

bank will be put into light sleep. For optimal power, banks should be put into

light sleep while the system is active but the bank has minimal or no

0x0

RW accesses.

ALL = 0xFF - Enable LIGHT SLEEP for ALL SRAMs DIS = 0x0 - Disables LIGHT SLEEP for ALL SRAMs

0x0

RO This bitfield is reserved for future use.

This bit is 1 when the master clock gate is enabled (top-level clock gate for

entire SRAM block)

0x0

RW

EN = 0x1 - Enable Master SRAM Clock Gate

DIS = 0x0 - Disables Master SRAM Clock Gating

This bit is 1 if clock gating is allowed for individual system SRAMs

0x0

RW EN = 0x1 - Enable Individual SRAM Clock Gating

DIS = 0x0 - Disables Individual SRAM Clock Gating

0x0

RO This bitfield is reserved for future use.

3.5.3.1.2.9ADCSTATUS Register
Power Status Register for ADC Block OFFSET: 0x00000020 INSTANCE 0 ADDRESS: 0x40021020 This provides the power status for various blocks within the ADC. These status comes directly from the ADC module and is captured through this interface.

DS-A3-0p9p1

Page 88 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 23: ADCSTATUS Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

REFBUFPWD REFKEEPPWD
VBATPWD VPTATPWD
BGTPWD ADCPWD

Bit

Name

31:6

RSVD

5

REFBUFPWD

4

REFKEEPPWD

3

VBATPWD

2

VPTATPWD

1

BGTPWD

0

ADCPWD

Table 24: ADCSTATUS Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x1

RO This bit indicates that the ADC REFBUF is powered down

0x1

RO This bit indicates that the ADC REFKEEP is powered down

0x1

RO This bit indicates that the ADC VBAT resistor divider is powered down

This bit indicates that the ADC temperature sensor input buffer is powered

0x1

RO down

0x1

RO This bit indicates that the ADC Band Gap is powered down

0x1

RO This bit indicates that the ADC is powered down

3.5.3.1.2.10MISC Register
Power Optimization Control Bits OFFSET: 0x00000024 INSTANCE 0 ADDRESS: 0x40021024 This register includes additional debug control bits. This is an internal Ambiq-only register. Customers should not attempt to change this or else functionality cannot be guaranteed.

DS-A3-0p9p1

Page 89 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Table 25: MISC Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

FORCEBLEBUCKACT MEMVRLPBLE
FORCEMEMVRADC FORCEMEMVRLPTIMERS FORCECOREVRLPTIMERS
FORCECOREVRLPPDM SIMOBUCKEN

Bit

Name

31:8

RSVD

7

FORCEBLEBUCKACT

6

MEMVRLPBLE

5:4

FORCEMEMVRADC

3

FORCEMEMVRLPTIMERS

2

FORCECOREVRLPTIMERS

1

FORCECOREVRLPPDM

Reset 0x0
0x0

Table 26: MISC Register Bits

RW RO RESERVED.

Description

Control Bit to enable BLE Buck to be in active state when BLE Buck is

RW

enabled. Default behavior is to be in active only when Burst or BLEH power on are requested.

Control Bit to let Mem VR go to lp mode in deep sleep even when BLEL or

BLEH is powered on given none of the other domains require it.

0x0

RW

EN = 0x1 - Mem VR can go to lp mode even when BLE is powered on.

DIS = 0x0 - Mem VR will stay in active mode when BLE is powered on.

Control Bit to force mem VR to LP or ACT mode in deep sleep when ADC is powered ON. 0x3 results in picking LP mode.

ACT = 0x2 - In this mode if all the other domains but ADC are powered

0x0

RW

down, mem VR will stay in ACT mode. LP = 0x1 - In this mode if all the other domains but ADC are powered down,

mem VR will stay in LP mode.

DIS = 0x0 - In this mode if all the other domains but ADC are powered

down, mem VR will duty cycle between active and LP modes depending on

ADC sampling.

Control Bit to force Mem VR to LP mode in deep sleep even when hfrc

0x0

RW based ctimer or stimer is running.

Control Bit to force Core VR to LP mode in deep sleep even when hfrc

0x0

RW based ctimer or stimer is running.

Control bit to enable the core VR to go into LP mode with HCPA/B/C/MSPI

0x0

RW are powered off but PDM is powered on

DS-A3-0p9p1

Page 90 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

SIMOBUCKEN

Reset 0x0

Table 26: MISC Register Bits

RW

Description

Enables and Selects the SIMO Buck as the supply for the low-voltage power domain. It takes the initial value from the bit set in Customer INFO space. RW EN = 0x1 - Enable the SIMO Buck DIS = 0x0 - Disable the SIMO Buck

3.5.3.1.2.11DEVPWREVENTEN Register
Event enable register to control which DEVPWRSTATUS bits are routed to event input of CPU.
OFFSET: 0x00000028
INSTANCE 0 ADDRESS: 0x40021028
This register controls which feature trigger will result in an event to the CPU. It includes all the power on status for the core domains, as well as the Burst event. If any bits are set, then if the domain is turned on, it will result in an event to the ARM core.

Table 27: DEVPWREVENTEN Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

BURSTEVEN BURSTFEATUREEVEN
BLEFEATUREEVEN BLELEVEN PDMEVEN MSPIEVEN ADCEVEN HCPCEVEN HCPBEVEN HCPAEVEN MCUHEVEN MCULEVEN

Bit

Name

31

BURSTEVEN

30

BURSTFEATUREEVEN

29

BLEFEATUREEVEN

28:9

RSVD

Table 28: DEVPWREVENTEN Register Bits

Reset 0x0 0x0 0x0 0x0

RW

Description

Control BURST status event
RW EN = 0x1 - Enable BURST status event DIS = 0x0 - Disable BURST status event
Control BURSTFEATURE status event
RW EN = 0x1 - Enable BURSTFEATURE status event DIS = 0x0 - Disable BURSTFEATURE status event
Control BLEFEATURE status event
RW EN = 0x1 - Enable BLEFEATURE status event DIS = 0x0 - Disable BLEFEATURE status event
RO RESERVED.

DS-A3-0p9p1

Page 91 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

8

BLELEVEN

7

PDMEVEN

6

MSPIEVEN

5

ADCEVEN

4

HCPCEVEN

3

HCPBEVEN

2

HCPAEVEN

1

MCUHEVEN

0

MCULEVEN

Table 28: DEVPWREVENTEN Register Bits

Reset 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0

RW

Description

Control BLE power-on status event
RW EN = 0x1 - Enable BLE power-on status event DIS = 0x0 - Disable BLE power-on status event
Control PDM power-on status event
RW EN = 0x1 - Enable PDM power-on status event DIS = 0x0 - Disable PDM power-on status event
Control MSPI power-on status event
RW EN = 0x1 - Enable MSPI power-on status event DIS = 0x0 - Disable MSPI power-on status event
Control ADC power-on status event
RW EN = 0x1 - Enable ADC power-on status event DIS = 0x0 - Disable ADC power-on status event
Control HCPC power-on status event
RW EN = 0x1 - Enable HCPC power-on status event DIS = 0x0 - Disable HCPC power-on status event
Control HCPB power-on status event
RW EN = 0x1 - Enable HCPB power-on status event DIS = 0x0 - Disable HCPB power-on status event
Control HCPA power-on status event
RW EN = 0x1 - Enable HCPA power-on status event DIS = 0x0 - Disable HCPA power-on status event
Control MCUH power-on status event
RW EN = 0x1 - Enable MCHU power-on status event DIS = 0x0 - Disable MCUH power-on status event
Control MCUL power-on status event
RW EN = 0x1 - Enable MCUL power-on status event DIS = 0x0 - Disable MCUL power-on status event

3.5.3.1.2.12MEMPWREVENTEN Register
Event enable register to control which MEMPWRSTATUS bits are routed to event input of CPU.
OFFSET: 0x0000002C
INSTANCE 0 ADDRESS: 0x4002102C
This register controls which power enable for the memories will result in an event to the CPU. It includes all the power on status for the memory domains. If any bits are set, then if the domain is turned on, it will result in an event to the ARM core.

DS-A3-0p9p1

Page 92 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 29: MEMPWREVENTEN Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

SRAMEN

CACHEB2EN CACHEB0EN FLASH1EN FLASH0EN
DTCMEN

Bit

Name

31

CACHEB2EN

30

CACHEB0EN

29:15

RSVD

14

FLASH1EN

13

FLASH0EN

12:3

SRAMEN

Table 30: MEMPWREVENTEN Register Bits

Reset 0x0
0x0 0x0

RW

Description

Control CACHEB2 power-on status event
RW EN = 0x1 - Enable CACHE BANK 2 status event DIS = 0x0 - Disable CACHE BANK 2 status event
Control CACHE BANK 0 power-on status event
RW EN = 0x1 - Enable CACHE BANK 0 status event DIS = 0x0 - Disable CACHE BANK 0 status event
RO RESERVED.

Control Flash power-on status event

0x0

RW EN = 0x1 - Enable FLASH status event

DIS = 0x0 - Disables FLASH status event

Control Flash power-on status event

0x0

RW EN = 0x1 - Enable FLASH status event

DIS = 0x0 - Disables FLASH status event

Control SRAM power-on status event

NONE = 0x0 - Disable SRAM power-on status event

GROUP0EN = 0x1 - Enable SRAM group0 (0KB-32KB) power on status

event

GROUP1EN = 0x2 - Enable SRAM group1 (32KB-64KB) power on status

event

GROUP2EN = 0x4 - Enable SRAM group2 (64KB-96KB) power on status

event

GROUP3EN = 0x8 - Enable SRAM group3 (96KB-128KB) power on status

event

0x0

RW GROUP4EN = 0x10 - Enable SRAM group4 (128KB-160KB) power on sta-

tus event

GROUP5EN = 0x20 - Enable SRAM group5 (160KB-192KB) power on sta-

tus event

GROUP6EN = 0x40 - Enable SRAM group6 (192KB-224KB) power on sta-

tus event

GROUP7EN = 0x80 - Enable SRAM group7 (224KB-256KB) power on sta-

tus event

GROUP8EN = 0x100 - Enable SRAM group8 (256KB-288KB) power on sta-

tus event

GROUP9EN = 0x200 - Enable SRAM group9 (288KB-320KB) power on sta-

tus event

DS-A3-0p9p1

Page 93 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

2:0

DTCMEN

Table 30: MEMPWREVENTEN Register Bits

Reset

RW

Description

Enable DTCM power-on status event

NONE = 0x0 - Do not enable DTCM power-on status event

GROUP0DTCM0EN = 0x1 - Enable GROUP0_DTCM0 power on status

0x0

RW

event GROUP0DTCM1EN = 0x2 - Enable GROUP0_DTCM1 power on status

event

GROUP0EN = 0x3 - Enable DTCMs in group0 power on status event

GROUP1EN = 0x4 - Enable DTCMs in group1 power on status event

ALL = 0x7 - Enable all DTCM power on status event

3.6 Debug Interfaces
A number of useful debug facilities are provided in the Apollo3 Blue MCU.
3.6.1 Debugger Attachment
An external debugger can be connected to the MCU using ARM's Serial Wire Debug (SWD) interface. The SWD interface is a 2-wire interface that is supported by a variety of off-the-shelf commercial debuggers, enabling customers to utilize their development environment of choice.
3.6.2 Instrumentation Trace Macrocell (ITM)
For system trace the processor integrates an Instrumentation Trace Macrocell (ITM) alongside data watchpoints and a profiling unit. To enable simple and cost-effective profiling of the system events these generate, a Serial Wire Viewer (SWV) can export a stream of software-generated messages, data trace, and profiling information through a single pin.
3.6.3 Trace Port Interface Unit (TPIU)
The Apollo3 Blue MCU includes a Cortex-M4 Trace Port Interface Unit (TPIU). The Cortex-M4 TPIU is an ARM IP component that acts as a bridge between the on-chip trace data from the ITM and the single pin supporting the Serial Wire Viewer Protocol. The TPIU includes a Trace Output Serializer that can format and send the SWV protocol in either a Manchester encoded form or as a standard UART stream.
3.6.4 Faulting Address Trapping Hardware
The Apollo3 Blue MCU offers an optional facility for trapping the address associated with bus faults occurring on any of the three AMBA AHB buses on the chip. This facility must be specifically enabled so that energy is not wasted when one is not actively debugging.
3.7 ITM Registers
ARM ITM Registers. INSTANCE 0 BASE ADDRESS:0xE0000000

DS-A3-0p9p1

Page 94 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

3.7.1 Register Memory Map

Table 31: ITM Register Map

Address(s)
0xE0000000 0xE0000004 0xE0000008 0xE000000C 0xE0000010 0xE0000014 0xE0000018 0xE000001C 0xE0000020 0xE0000024 0xE0000028 0xE000002C 0xE0000030 0xE0000034 0xE0000038 0xE000003C 0xE0000040 0xE0000044 0xE0000048 0xE000004C 0xE0000050 0xE0000054 0xE0000058 0xE000005C 0xE0000060 0xE0000064 0xE0000068 0xE000006C 0xE0000070 0xE0000074 0xE0000078 0xE000007C 0xE0000E00 0xE0000E40 0xE0000E80 0xE0000FB0

Register Name
STIM0 STIM1 STIM2 STIM3 STIM4 STIM5 STIM6 STIM7 STIM8 STIM9 STIM10 STIM11 STIM12 STIM13 STIM14 STIM15 STIM16 STIM17 STIM18 STIM19 STIM20 STIM21 STIM22 STIM23 STIM24 STIM25 STIM26 STIM27 STIM28 STIM29 STIM30 STIM31 TER TPR TCR LOCKAREG

Description
Stimulus Port Register 0 Stimulus Port Register 1 Stimulus Port Register 2 Stimulus Port Register 3 Stimulus Port Register 4 Stimulus Port Register 5 Stimulus Port Register 6 Stimulus Port Register 7 Stimulus Port Register 8 Stimulus Port Register 9 Stimulus Port Register 10 Stimulus Port Register 11 Stimulus Port Register 12 Stimulus Port Register 13 Stimulus Port Register 14 Stimulus Port Register 15 Stimulus Port Register 16 Stimulus Port Register 17 Stimulus Port Register 18 Stimulus Port Register 19 Stimulus Port Register 20 Stimulus Port Register 21 Stimulus Port Register 22 Stimulus Port Register 23 Stimulus Port Register 24 Stimulus Port Register 25 Stimulus Port Register 26 Stimulus Port Register 27 Stimulus Port Register 28 Stimulus Port Register 29 Stimulus Port Register 30 Stimulus Port Register 31 Trace Enable Register. Trace Privilege Register. Trace Control Register. Lock Access Register

DS-A3-0p9p1

Page 95 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 31: ITM Register Map

Address(s)
0xE0000FB4 0xE0000FD0 0xE0000FD4 0xE0000FD8 0xE0000FDC 0xE0000FE0 0xE0000FE4 0xE0000FE8 0xE0000FEC 0xE0000FF0 0xE0000FF4 0xE0000FF8 0xE0000FFC

Register Name
LOCKSREG PID4 PID5 PID6 PID7 PID0 PID1 PID2 PID3 CID0 CID1 CID2 CID3

Description
Lock Status Register Peripheral Identification Register 4 Peripheral Identification Register 5 Peripheral Identification Register 6 Peripheral Identification Register 7 Peripheral Identification Register 0 Peripheral Identification Register 1 Peripheral Identification Register 2 Peripheral Identification Register 3 Component Identification Register 1 Component Identification Register 1 Component Identification Register 2 Component Identification Register 3

DS-A3-0p9p1

Page 96 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

3.7.2 ITM Registers
3.7.2.1 STIM0 Register
Stimulus Port Register 0 OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0xE0000000 Stimulus Port Register 0
Table 32: STIM0 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM0

Bit

Name

31:0

STIM0

Table 33: STIM0 Register Bits

Reset 0x0

RW RW Stimulus Port Register 0.

Description

3.7.2.2 STIM1 Register
Stimulus Port Register 1 OFFSET: 0x00000004 INSTANCE 0 ADDRESS: 0xE0000004 Stimulus Port Register 1

Table 34: STIM1 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM1

Bit

Name

31:0

STIM1

Table 35: STIM1 Register Bits

Reset 0x0

RW RW Stimulus Port Register 1.

Description

DS-A3-0p9p1

Page 97 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

3.7.2.3 STIM2 Register
Stimulus Port Register 2 OFFSET: 0x00000008 INSTANCE 0 ADDRESS: 0xE0000008 Stimulus Port Register 2
Table 36: STIM2 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM2

Bit

Name

31:0

STIM2

Table 37: STIM2 Register Bits

Reset 0x0

RW RW Stimulus Port Register 2.

Description

3.7.2.4 STIM3 Register
Stimulus Port Register 3 OFFSET: 0x0000000C INSTANCE 0 ADDRESS: 0xE000000C Stimulus Port Register 3

Table 38: STIM3 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM3

Bit

Name

31:0

STIM3

Table 39: STIM3 Register Bits

Reset 0x0

RW RW Stimulus Port Register 3.

Description

3.7.2.5 STIM4 Register
Stimulus Port Register 4 OFFSET: 0x00000010 INSTANCE 0 ADDRESS: 0xE0000010

DS-A3-0p9p1

Page 98 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Stimulus Port Register 4
Table 40: STIM4 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM4

Bit

Name

31:0

STIM4

Table 41: STIM4 Register Bits

Reset 0x0

RW RW Stimulus Port Register 4.

Description

3.7.2.6 STIM5 Register
Stimulus Port Register 5 OFFSET: 0x00000014 INSTANCE 0 ADDRESS: 0xE0000014 Stimulus Port Register 5

Table 42: STIM5 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM5

Bit

Name

31:0

STIM5

Table 43: STIM5 Register Bits

Reset 0x0

RW RW Stimulus Port Register 5.

Description

3.7.2.7 STIM6 Register
Stimulus Port Register 6 OFFSET: 0x00000018 INSTANCE 0 ADDRESS: 0xE0000018 Stimulus Port Register 6

DS-A3-0p9p1

Page 99 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 44: STIM6 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM6

Bit

Name

31:0

STIM6

Table 45: STIM6 Register Bits

Reset 0x0

RW RW Stimulus Port Register 6.

Description

3.7.2.8 STIM7 Register
Stimulus Port Register 7 OFFSET: 0x0000001C INSTANCE 0 ADDRESS: 0xE000001C Stimulus Port Register 7

Table 46: STIM7 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM7

Bit

Name

31:0

STIM7

Table 47: STIM7 Register Bits

Reset 0x0

RW RW Stimulus Port Register 7.

Description

3.7.2.9 STIM8 Register
Stimulus Port Register 8 OFFSET: 0x00000020 INSTANCE 0 ADDRESS: 0xE0000020 Stimulus Port Register 8

DS-A3-0p9p1

Page 100 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 48: STIM8 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM8

Bit

Name

31:0

STIM8

Table 49: STIM8 Register Bits

Reset 0x0

RW RW Stimulus Port Register 8.

Description

3.7.2.10 STIM9 Register
Stimulus Port Register 9 OFFSET: 0x00000024 INSTANCE 0 ADDRESS: 0xE0000024 Stimulus Port Register 9

Table 50: STIM9 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM9

Bit

Name

31:0

STIM9

Table 51: STIM9 Register Bits

Reset 0x0

RW RW Stimulus Port Register 9.

Description

3.7.2.11 STIM10 Register
Stimulus Port Register 10 OFFSET: 0x00000028 INSTANCE 0 ADDRESS: 0xE0000028 Stimulus Port Register 10

DS-A3-0p9p1

Page 101 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 52: STIM10 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM10

Bit

Name

31:0

STIM10

Table 53: STIM10 Register Bits

Reset 0x0

RW RW Stimulus Port Register 10.

Description

3.7.2.12 STIM11 Register
Stimulus Port Register 11 OFFSET: 0x0000002C INSTANCE 0 ADDRESS: 0xE000002C Stimulus Port Register 11

Table 54: STIM11 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM11

Bit

Name

31:0

STIM11

Table 55: STIM11 Register Bits

Reset 0x0

RW RW Stimulus Port Register 11.

Description

3.7.2.13 STIM12 Register
Stimulus Port Register 12 OFFSET: 0x00000030 INSTANCE 0 ADDRESS: 0xE0000030 Stimulus Port Register 12

DS-A3-0p9p1

Page 102 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 56: STIM12 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM12

Bit

Name

31:0

STIM12

Table 57: STIM12 Register Bits

Reset 0x0

RW RW Stimulus Port Register 12.

Description

3.7.2.14 STIM13 Register
Stimulus Port Register 13 OFFSET: 0x00000034 INSTANCE 0 ADDRESS: 0xE0000034 Stimulus Port Register 13

Table 58: STIM13 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM13

Bit

Name

31:0

STIM13

Table 59: STIM13 Register Bits

Reset 0x0

RW RW Stimulus Port Register 13.

Description

3.7.2.15 STIM14 Register
Stimulus Port Register 14 OFFSET: 0x00000038 INSTANCE 0 ADDRESS: 0xE0000038 Stimulus Port Register 14

DS-A3-0p9p1

Page 103 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 60: STIM14 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM14

Bit

Name

31:0

STIM14

Table 61: STIM14 Register Bits

Reset 0x0

RW RW Stimulus Port Register 14.

Description

3.7.2.16 STIM15 Register
Stimulus Port Register 15 OFFSET: 0x0000003C INSTANCE 0 ADDRESS: 0xE000003C Stimulus Port Register 15

Table 62: STIM15 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM15

Bit

Name

31:0

STIM15

Table 63: STIM15 Register Bits

Reset 0x0

RW RW Stimulus Port Register 15.

Description

3.7.2.17 STIM16 Register
Stimulus Port Register 16 OFFSET: 0x00000040 INSTANCE 0 ADDRESS: 0xE0000040 Stimulus Port Register 16

DS-A3-0p9p1

Page 104 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 64: STIM16 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM16

Bit

Name

31:0

STIM16

Table 65: STIM16 Register Bits

Reset 0x0

RW RW Stimulus Port Register 16.

Description

3.7.2.18 STIM17 Register
Stimulus Port Register 17 OFFSET: 0x00000044 INSTANCE 0 ADDRESS: 0xE0000044 Stimulus Port Register 17

Table 66: STIM17 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM17

Bit

Name

31:0

STIM17

Table 67: STIM17 Register Bits

Reset 0x0

RW RW Stimulus Port Register 17.

Description

3.7.2.19 STIM18 Register
Stimulus Port Register 18 OFFSET: 0x00000048 INSTANCE 0 ADDRESS: 0xE0000048 Stimulus Port Register 18

DS-A3-0p9p1

Page 105 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 68: STIM18 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM18

Bit

Name

31:0

STIM18

Table 69: STIM18 Register Bits

Reset 0x0

RW RW Stimulus Port Register 18.

Description

3.7.2.20 STIM19 Register
Stimulus Port Register 19 OFFSET: 0x0000004C INSTANCE 0 ADDRESS: 0xE000004C Stimulus Port Register 19

Table 70: STIM19 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM19

Bit

Name

31:0

STIM19

Table 71: STIM19 Register Bits

Reset 0x0

RW RW Stimulus Port Register 19.

Description

3.7.2.21 STIM20 Register
Stimulus Port Register 20 OFFSET: 0x00000050 INSTANCE 0 ADDRESS: 0xE0000050 Stimulus Port Register 20

DS-A3-0p9p1

Page 106 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 72: STIM20 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM20

Bit

Name

31:0

STIM20

Table 73: STIM20 Register Bits

Reset 0x0

RW RW Stimulus Port Register 20.

Description

3.7.2.22 STIM21 Register
Stimulus Port Register 21 OFFSET: 0x00000054 INSTANCE 0 ADDRESS: 0xE0000054 Stimulus Port Register 21

Table 74: STIM21 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM21

Bit

Name

31:0

STIM21

Table 75: STIM21 Register Bits

Reset 0x0

RW RW Stimulus Port Register 21.

Description

3.7.2.23 STIM22 Register
Stimulus Port Register 22 OFFSET: 0x00000058 INSTANCE 0 ADDRESS: 0xE0000058 Stimulus Port Register 22

DS-A3-0p9p1

Page 107 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 76: STIM22 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM22

Bit

Name

31:0

STIM22

Table 77: STIM22 Register Bits

Reset 0x0

RW RW Stimulus Port Register 22.

Description

3.7.2.24 STIM23 Register
Stimulus Port Register 23 OFFSET: 0x0000005C INSTANCE 0 ADDRESS: 0xE000005C Stimulus Port Register 23

Table 78: STIM23 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM23

Bit

Name

31:0

STIM23

Table 79: STIM23 Register Bits

Reset 0x0

RW RW Stimulus Port Register 23.

Description

3.7.2.25 STIM24 Register
Stimulus Port Register 24 OFFSET: 0x00000060 INSTANCE 0 ADDRESS: 0xE0000060 Stimulus Port Register 24

DS-A3-0p9p1

Page 108 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 80: STIM24 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM24

Bit

Name

31:0

STIM24

Table 81: STIM24 Register Bits

Reset 0x0

RW RW Stimulus Port Register 24.

Description

3.7.2.26 STIM25 Register
Stimulus Port Register 25 OFFSET: 0x00000064 INSTANCE 0 ADDRESS: 0xE0000064 Stimulus Port Register 25

Table 82: STIM25 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM25

Bit

Name

31:0

STIM25

Table 83: STIM25 Register Bits

Reset 0x0

RW RW Stimulus Port Register 25.

Description

3.7.2.27 STIM26 Register
Stimulus Port Register 26 OFFSET: 0x00000068 INSTANCE 0 ADDRESS: 0xE0000068 Stimulus Port Register 26

DS-A3-0p9p1

Page 109 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 84: STIM26 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM26

Bit

Name

31:0

STIM26

Table 85: STIM26 Register Bits

Reset 0x0

RW RW Stimulus Port Register 26.

Description

3.7.2.28 STIM27 Register
Stimulus Port Register 27 OFFSET: 0x0000006C INSTANCE 0 ADDRESS: 0xE000006C Stimulus Port Register 27

Table 86: STIM27 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM27

Bit

Name

31:0

STIM27

Table 87: STIM27 Register Bits

Reset 0x0

RW RW Stimulus Port Register 27.

Description

3.7.2.29 STIM28 Register
Stimulus Port Register 28 OFFSET: 0x00000070 INSTANCE 0 ADDRESS: 0xE0000070 Stimulus Port Register 28

DS-A3-0p9p1

Page 110 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 88: STIM28 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM28

Bit

Name

31:0

STIM28

Table 89: STIM28 Register Bits

Reset 0x0

RW RW Stimulus Port Register 28.

Description

3.7.2.30 STIM29 Register
Stimulus Port Register 29 OFFSET: 0x00000074 INSTANCE 0 ADDRESS: 0xE0000074 Stimulus Port Register 29

Table 90: STIM29 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM29

Bit

Name

31:0

STIM29

Table 91: STIM29 Register Bits

Reset 0x0

RW RW Stimulus Port Register 29.

Description

3.7.2.31 STIM30 Register
Stimulus Port Register 30 OFFSET: 0x00000078 INSTANCE 0 ADDRESS: 0xE0000078 Stimulus Port Register 30

DS-A3-0p9p1

Page 111 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 92: STIM30 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM30

Bit

Name

31:0

STIM30

Table 93: STIM30 Register Bits

Reset 0x0

RW RW Stimulus Port Register 30.

Description

3.7.2.32 STIM31 Register
Stimulus Port Register 31 OFFSET: 0x0000007C INSTANCE 0 ADDRESS: 0xE000007C Stimulus Port Register 31

Table 94: STIM31 Register
33222222222211111111110000000000 10987654321098765432109876543210
STIM31

Bit

Name

31:0

STIM31

Table 95: STIM31 Register Bits

Reset 0x0

RW RW Stimulus Port Register 31.

Description

3.7.2.33 TER Register
Trace Enable Register. OFFSET: 0x00000E00 INSTANCE 0 ADDRESS: 0xE0000E00 Trace Enable Register.

DS-A3-0p9p1

Page 112 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 96: TER Register
33222222222211111111110000000000 10987654321098765432109876543210
STIMENA

Bit

Name

31:0

STIMENA

Reset 0x0

Table 97: TER Register Bits

RW

Description

RW Bit mask to enable tracing on ITM stimulus ports. One bit per stimulus port..

3.7.2.34 TPR Register
Trace Privilege Register. OFFSET: 0x00000E40 INSTANCE 0 ADDRESS: 0xE0000E40 Trace Privilege Register.

Table 98: TPR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

PRIVMASK

Bit

Name

31:4

RSVD

3:0

PRIVMASK

Reset 0x0
0x0

Table 99: TPR Register Bits

RW RO RESERVED.

Description

Bit mask to enable tracing on ITM stimulus ports. bit[0] = stimulus ports[7:0],

RW

bit[1] = stimulus ports[15:8], bit[2] = stimulus ports[23:16], bit[3] = stimulus ports[31:24].

3.7.2.35 TCR Register
Trace Control Register. OFFSET: 0x00000E80 INSTANCE 0 ADDRESS: 0xE0000E80

DS-A3-0p9p1

Page 113 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Trace Control Register.

Table 100: TCR Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ATB_ID

RSVD

RSVD

BUSY TS_FREQ TS_PRESCALE SWV_ENABLE DWT_ENABLE SYNC_ENABLE TS_ENABLE ITM_ENABLE

Bit 31:24
23 22:16 15:12 11:10

Name RSVD BUSY ATB_ID RSVD TS_FREQ

9:8

TS_PRESCALE

7:5

RSVD

4

SWV_ENABLE

3

DWT_ENABLE

2

SYNC_ENABLE

1

TS_ENABLE

0

ITM_ENABLE

Reset 0x0 0x0 0x0 0x0 0x0
0x0

Table 101: TCR Register Bits

RW RO RESERVED.

Description

RW Set when ITM events present and being drained.

RW ATB ID for CoreSight system.

RO RESERVED.

RW Global Timestamp Frequency.

Timestamp prescaler: 0b00 = no prescaling 0b01 = divide by 4 0b10 = RW divide by 16 0b11 = divide by 64.

0x0

RO RESERVED.

0x0

RW Enable SWV behavior ­ count on TPIUEMIT and TPIUBAUD.

0x0

RW Enables the DWT stimulus.

0x0

RW Enables sync packets for TPIU.

Enables differential timestamps. Differential timestamps are emitted when a

packet is written to the FIFO with a non-zero timestamp counter, and when

0x0

RW

the timestamp counter overflows. Timestamps are emitted during idle times after a fixed number of cycles. This provides a time reference for packets

and inter-packet gaps.

Enable ITM. This is the master enable, and must be set before ITM Stimulus

0x0

RW and Trace Enable registers can be written.

DS-A3-0p9p1

Page 114 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

3.7.2.36 LOCKAREG Register
Lock Access Register OFFSET: 0x00000FB0 INSTANCE 0 ADDRESS: 0xE0000FB0 Lock Access Register
Table 102: LOCKAREG Register
33222222222211111111110000000000 10987654321098765432109876543210
LOCKAREG

Bit

Name

31:0

LOCKAREG

Table 103: LOCKAREG Register Bits

Reset 0x0

RW
Key register value. RW
Key = 0xC5ACCE55 - Key

Description

3.7.2.37 LOCKSREG Register
Lock Status Register OFFSET: 0x00000FB4 INSTANCE 0 ADDRESS: 0xE0000FB4 Lock Status Register

Table 104: LOCKSREG Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

BYTEACC ACCESS PRESENT

Bit

Name

31:3

RSVD

2

BYTEACC

Table 105: LOCKSREG Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RO You cannot implement 8-bit lock accesses.

DS-A3-0p9p1

Page 115 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

1

ACCESS

0

PRESENT

Table 105: LOCKSREG Register Bits

Reset 0x0

RW

Description

Write access to component is blocked. All writes are ignored, reads are perRO mitted.

0x1

RO Indicates that a lock mechanism exists for this component.

3.7.2.38 PID4 Register
Peripheral Identification Register 4 OFFSET: 0x00000FD0 INSTANCE 0 ADDRESS: 0xE0000FD0 Peripheral Identification Register 4

Table 106: PID4 Register
33222222222211111111110000000000 10987654321098765432109876543210
PID4

Bit

Name

31:0

PID4

Reset 0x4

Table 107: PID4 Register Bits

RW R0 Peripheral Identification 4.

Description

3.7.2.39 PID5 Register
Peripheral Identification Register 5 OFFSET: 0x00000FD4 INSTANCE 0 ADDRESS: 0xE0000FD4 Peripheral Identification Register 5

Table 108: PID5 Register
33222222222211111111110000000000 10987654321098765432109876543210
PID5

DS-A3-0p9p1

Page 116 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

PID5

Reset 0x0

Table 109: PID5 Register Bits

RW R0 Peripheral Identification 5.

Description

3.7.2.40 PID6 Register
Peripheral Identification Register 6 OFFSET: 0x00000FD8 INSTANCE 0 ADDRESS: 0xE0000FD8 Peripheral Identification Register 6

Table 110: PID6 Register
33222222222211111111110000000000 10987654321098765432109876543210
PID6

Bit

Name

31:0

PID6

Reset 0x0

Table 111: PID6 Register Bits

RW R0 Peripheral Identification 6.

Description

3.7.2.41 PID7 Register
Peripheral Identification Register 7 OFFSET: 0x00000FDC INSTANCE 0 ADDRESS: 0xE0000FDC Peripheral Identification Register 7

Table 112: PID7 Register
33222222222211111111110000000000 10987654321098765432109876543210
PID7

DS-A3-0p9p1

Page 117 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

PID7

Reset 0x0

Table 113: PID7 Register Bits

RW R0 Peripheral Identification 7.

Description

3.7.2.42 PID0 Register
Peripheral Identification Register 0 OFFSET: 0x00000FE0 INSTANCE 0 ADDRESS: 0xE0000FE0 Peripheral Identification Register 0

Table 114: PID0 Register
33222222222211111111110000000000 10987654321098765432109876543210
PID0

Bit

Name

31:0

PID0

Reset 0x1

Table 115: PID0 Register Bits

RW R0 Peripheral Identification 0.

Description

3.7.2.43 PID1 Register
Peripheral Identification Register 1 OFFSET: 0x00000FE4 INSTANCE 0 ADDRESS: 0xE0000FE4 Peripheral Identification Register 1

Table 116: PID1 Register
33222222222211111111110000000000 10987654321098765432109876543210
PID1

DS-A3-0p9p1

Page 118 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

PID1

Reset 0xb0

Table 117: PID1 Register Bits

RW R0 Peripheral Identification 1.

Description

3.7.2.44 PID2 Register
Peripheral Identification Register 2 OFFSET: 0x00000FE8 INSTANCE 0 ADDRESS: 0xE0000FE8 Peripheral Identification Register 2

Table 118: PID2 Register
33222222222211111111110000000000 10987654321098765432109876543210
PID2

Bit

Name

31:0

PID2

Reset 0x3b

Table 119: PID2 Register Bits

RW R0 Peripheral Identification 2.

Description

3.7.2.45 PID3 Register
Peripheral Identification Register 3 OFFSET: 0x00000FEC INSTANCE 0 ADDRESS: 0xE0000FEC Peripheral Identification Register 3

Table 120: PID3 Register
33222222222211111111110000000000 10987654321098765432109876543210
PID3

DS-A3-0p9p1

Page 119 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

PID3

Reset 0x0

Table 121: PID3 Register Bits

RW R0 Peripheral Identification 3.

Description

3.7.2.46 CID0 Register
Component Identification Register 1 OFFSET: 0x00000FF0 INSTANCE 0 ADDRESS: 0xE0000FF0 Component Identification Register 1

Table 122: CID0 Register
33222222222211111111110000000000 10987654321098765432109876543210
CID0

Bit

Name

31:0

CID0

Table 123: CID0 Register Bits

Reset 0xd

RW R0 Component Identification 1.

Description

3.7.2.47 CID1 Register
Component Identification Register 1 OFFSET: 0x00000FF4 INSTANCE 0 ADDRESS: 0xE0000FF4 Component Identification Register 1

Table 124: CID1 Register
33222222222211111111110000000000 10987654321098765432109876543210
CID1

DS-A3-0p9p1

Page 120 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CID1

Table 125: CID1 Register Bits

Reset 0xe0

RW R0 Component Identification 1.

Description

3.7.2.48 CID2 Register
Component Identification Register 2 OFFSET: 0x00000FF8 INSTANCE 0 ADDRESS: 0xE0000FF8 Component Identification Register 2

Table 126: CID2 Register
33222222222211111111110000000000 10987654321098765432109876543210
CID2

Bit

Name

31:0

CID2

Table 127: CID2 Register Bits

Reset 0x5

RW R0 Component Identification 2.

Description

3.7.2.49 CID3 Register
Component Identification Register 3 OFFSET: 0x00000FFC INSTANCE 0 ADDRESS: 0xE0000FFC Component Identification Register 3

Table 128: CID3 Register
33222222222211111111110000000000 10987654321098765432109876543210
CID3

DS-A3-0p9p1

Page 121 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CID3

Table 129: CID3 Register Bits

Reset 0xb1

RW R0 Component Identification 3.

Description

3.8 MCUCTRL Registers
MCU Miscellaneous Control Logic INSTANCE 0 BASE ADDRESS:0x40020000

DS-A3-0p9p1

Page 122 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

3.8.1 Register Memory Map

Table 130: MCUCTRL Register Map

Address(s)
0x40020000 0x40020004 0x40020008 0x4002000C 0x40020010 0x40020014 0x40020018 0x40020020 0x40020100 0x40020104 0x4002010C 0x40020110 0x40020118 0x4002011C 0x40020120 0x40020124 0x40020198 0x400201A0

Register Name
CHIPPN CHIPID0 CHIPID1 CHIPREV VENDORID SKU FEATUREENABLE DEBUGGER BODCTRL ADCPWRDLY ADCCAL ADCBATTLOAD ADCTRIM ADCREFCOMP XTALCTRL XTALGENCTRL MISCCTRL BOOTLOADER

0x400201A4 SHADOWVALID

0x400201B0 0x400201B4
0x400201C0

SCRATCH0 SCRATCH1
ICODEFAULTADDR

0x400201C4 DCODEFAULTADDR

0x400201C8 SYSFAULTADDR

0x400201CC FAULTSTATUS

0x400201D0 0x40020200 0x40020204 0x40020220

FAULTCAPTUREEN DBGR1 DBGR2 PMUENABLE

0x40020250 TPIUCTRL

Description
Chip Information Register Unique Chip ID 0 Unique Chip ID 1 Chip Revision Unique Vendor ID Unique Chip SKU Feature Enable on Burst and BLE Debugger Control BOD control Register ADC Power Up Delay Control ADC Calibration Control ADC Battery Load Enable ADC Trims ADC Referece Keeper and Comparator Control XTAL Oscillator Control XTAL Oscillator General Control Miscellaneous control register. Bootloader and secure boot functions Register to indicate whether the shadow registers have been successfully loaded from the Flash Information Space. Scratch register that is not reset by any reset Scratch register that is not reset by any reset ICODE bus address which was present when a bus fault occurred. DCODE bus address which was present when a bus fault occurred. System bus address which was present when a bus fault occurred. Reflects the status of the bus decoders' fault detection. Any write to this register will clear all of the status bits within the register. Enable the fault capture registers Read-only debug register 1 Read-only debug register 2 Control bit to enable/disable the PMU TPIU Control Register. Determines the clock enable and frequency for the M4's TPIU interface.

DS-A3-0p9p1

Page 123 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Address(s)
0x40020264
0x40020280
0x40020284
0x40020348
0x4002035C 0x40020368 0x400203A0 0x400203A4 0x400203B0 0x400203B4 0x400203C0 0x400203C4 0x400203D0 0x400203D4

Table 130: MCUCTRL Register Map

Register Name
OTAPOINTER
APBDMACTRL
SRAMMODE
KEXTCLKSEL
SIMOBUCK4 BLEBUCK2 FLASHWPROT0 FLASHWPROT1 FLASHRPROT0 FLASHRPROT1 DMASRAMWRITEPROTECT0 DMASRAMWRITEPROTECT1 DMASRAMREADPROTECT0 DMASRAMREADPROTECT1

Description
OTA (Over the Air) Update Pointer/Status. Reset only by POA DMA Control Register. Determines misc settings for DMA operation SRAM Controller mode bits Key Register to enable the use of external clock selects via the EXTCLKSEL reg SIMO Buck Control Reg1 BLEBUCK2 Control Reg Flash Write Protection Bits Flash Write Protection Bits Flash Read Protection Bits Flash Read Protection Bits SRAM write-protection bits. SRAM write-protection bits. SRAM read-protection bits. SRAM read-protection bits.

DS-A3-0p9p1

Page 124 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

3.8.2 MCUCTRL Registers
3.8.2.1 CHIPPN Register
Chip Information Register OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x40020000 Chip Information Register
Table 131: CHIPPN Register
33222222222211111111110000000000 10987654321098765432109876543210
PARTNUM

Table 132: CHIPPN Register Bits

Bit

Name

Reset

RW BCD part number.

Description

APOLLO3 = 0x6000000 - Apollo3 part number is 0x06xxxxxx.

APOLLO2 = 0x3000000 - Apollo2 part number is 0x03xxxxxx.

APOLLO = 0x1000000 - Apollo part number is 0x01xxxxxx.

PN_M = 0xFF000000 - Mask for the part number field.

PN_S = 0x18 - Bit position for the part number field.

FLASHSIZE_M = 0xF00000 - Mask for the FLASH_SIZE field.

FLASHSIZE_S = 0x14 - Bit position for the FLASH_SIZE field.

SRAMSIZE_M = 0xF0000 - Mask for the SRAM_SIZE field.

31:0

PARTNUM

0x4000000

RO

SRAMSIZE_S = 0x10 - Bit position for the SRAM_SIZE field. REV_M = 0xFF00 - Mask for the revision field. Bits [15:12] are major rev,

[11:8] are minor rev.

REV_S = 0x8 - Bit position for the revision field.

PKG_M = 0xC0 - Mask for the package field.

PKG_S = 0x6 - Bit position for the package field.

PINS_M = 0x38 - Mask for the pins field.

PINS_S = 0x3 - Bit position for the pins field.

TEMP_M = 0x6 - Mask for the temperature field.

TEMP_S = 0x1 - Bit position for the temperature field.

QUAL_M = 0x1 - Mask for the qualified field.

QUAL_S = 0x0 - Bit position for the qualified field.

3.8.2.2 CHIPID0 Register
Unique Chip ID 0 OFFSET: 0x00000004 INSTANCE 0 ADDRESS: 0x40020004 Unique Chip ID 0

DS-A3-0p9p1

Page 125 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 133: CHIPID0 Register
33222222222211111111110000000000 10987654321098765432109876543210
CHIPID0

Bit

Name

31:0

CHIPID0

Table 134: CHIPID0 Register Bits

Reset 0x0

RW

Description

Unique chip ID 0. RO
APOLLO3 = 0x0 - Apollo3 CHIPID0.

3.8.2.3 CHIPID1 Register
Unique Chip ID 1 OFFSET: 0x00000008 INSTANCE 0 ADDRESS: 0x40020008 Unique Chip ID 1

Table 135: CHIPID1 Register
33222222222211111111110000000000 10987654321098765432109876543210
CHIPID1

Bit

Name

31:0

CHIPID1

Table 136: CHIPID1 Register Bits

Reset 0x0

RW

Description

Unique chip ID 1. RO
APOLLO3 = 0x0 - Apollo3 CHIPID1.

3.8.2.4 CHIPREV Register
Chip Revision OFFSET: 0x0000000C INSTANCE 0 ADDRESS: 0x4002000C Chip Revision

DS-A3-0p9p1

Page 126 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 137: CHIPREV Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

SIPART

REVMAJ

REVMIN

Bit 31:20 19:8

Name RSVD SIPART

7:4

REVMAJ

3:0

REVMIN

Table 138: CHIPREV Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RO Silicon Part ID

Major Revision ID.

0x0

RO B = 0x2 - Apollo3 revision B

A = 0x1 - Apollo3 revision A

Minor Revision ID.

0x1

RO REV1 = 0x2 - Apollo3 minor rev 1.

REV0 = 0x1 - Apollo3 minor rev 0. Minor revision value, succeeding minor

revisions will increment from this value.

3.8.2.5 VENDORID Register
Unique Vendor ID OFFSET: 0x00000010 INSTANCE 0 ADDRESS: 0x40020010 Unique Vendor ID

Table 139: VENDORID Register
33222222222211111111110000000000 10987654321098765432109876543210
VENDORID

Bit

Name

31:0

VENDORID

Table 140: VENDORID Register Bits

Reset 0x0

RW

Description

Unique Vendor ID RO
AMBIQ = 0x414D4251 - Ambiq Vendor ID

DS-A3-0p9p1

Page 127 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
3.8.2.6 SKU Register
Unique Chip SKU OFFSET: 0x00000014 INSTANCE 0 ADDRESS: 0x40020014 Unique Chip SKU
Table 141: SKU Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

SECBOOT ALLOWBLE
ALLOW-

Bit

Name

31:3

RSVD

2

SECBOOT

1

ALLOWBLE

0

ALLOWBURST

Reset 0x0 0x0 0x0 0x0

Table 142: SKU Register Bits

RW RO RESERVED.

Description

RO Secure boot feature allowed

RO Allow BLE feature

RO Allow Burst feature

3.8.2.7 FEATUREENABLE Register
Feature Enable on Burst and BLE OFFSET: 0x00000018 INSTANCE 0 ADDRESS: 0x40020018 Feature Enable on Burst and BLE

Table 143: FEATUREENABLE Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

BURSTAVAIL BURSTACK BURSTREQ
RSVD BLEAVAIL BLEACK BLEREQ

DS-A3-0p9p1

Page 128 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:7

RSVD

6

BURSTAVAIL

5

BURSTACK

4

BURSTREQ

3

RSVD

2

BLEAVAIL

1

BLEACK

0

BLEREQ

Table 144: FEATUREENABLE Register Bits

Reset 0x0

RW RO RESERVED.

Description

Availability of Burst functionality

0x0

RO AVAIL = 0x1 - Burst functionality available

NOTAVAIL = 0x0 - Burst functionality not available

0x0

RO ACK for BURSTREQ

Controls the Burst functionality

0x0

RW EN = 0x1 - Enable the Burst functionality

DIS = 0x0 - Disable the Burst functionality

0x0

RO RESERVED.

AVAILABILITY of the BLE functionality

0x0

RO AVAIL = 0x1 - BLE functionality available

NOTAVAIL = 0x0 - BLE functionality not available

0x0

RO ACK for BLEREQ

Controls the BLE functionality

0x1

RW EN = 0x1 - Enable the BLE functionality

DIS = 0x0 - Disable the BLE functionality

3.8.2.8 DEBUGGER Register
Debugger Control OFFSET: 0x00000020 INSTANCE 0 ADDRESS: 0x40020020 Debugger Control

Table 145: DEBUGGER Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

LOCKOUT

DS-A3-0p9p1

Page 129 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:1

RSVD

0

LOCKOUT

Table 146: DEBUGGER Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Lockout of debugger (SWD).

3.8.2.9 BODCTRL Register
BOD control Register OFFSET: 0x00000100 INSTANCE 0 ADDRESS: 0x40020100 BOD control Register

Table 147: BODCTRL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

BODHVREFSEL BODLVREFSEL
BODFPWD BODCPWD BODHPWD BODLPWD

Bit

Name

31:6

RSVD

5

BODHVREFSEL

4

BODLVREFSEL

3

BODFPWD

2

BODCPWD

1

BODHPWD

0

BODLPWD

Table 148: BODCTRL Register Bits

Reset 0x0

RW RO RESERVED.

Description

BODH External Reference Select. Note: the SWE mux select in PWRSE-

0x0

RW Q2SWE must be set for this to take effect.

BODL External Reference Select. Note: the SWE mux select in PWRSE-

0x0

RW Q2SWE must be set for this to take effect.

0x0

RW BODF Power Down.

0x0

RW BODC Power Down.

0x0

RW BODH Power Down.

0x0

RW BODL Power Down.

DS-A3-0p9p1

Page 130 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

3.8.2.10 ADCPWRDLY Register
ADC Power Up Delay Control OFFSET: 0x00000104 INSTANCE 0 ADDRESS: 0x40020104 ADC Power Up Delay Control

Table 149: ADCPWRDLY Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ADCPWR1

ADCPWR0

Bit 31:16

Name RSVD

15:8

ADCPWR1

7:0

ADCPWR0

Table 150: ADCPWRDLY Register Bits

Reset 0x0

RW RO RESERVED.

Description

ADC Reference Keeper enable delay in 16 ADC CLK increments for ADC_-

0x0

RW CLKSEL = 0x1, 8 ADC CLOCK increments for ADC_CLKSEL = 0x2.

ADC Reference Buffer Power Enable delay in 64 ADC CLK increments for

0x0

RW ADC_CLKSEL = 0x1, 32 ADC CLOCK increments for ADC_CLKSEL = 0x2.

3.8.2.11 ADCCAL Register
ADC Calibration Control OFFSET: 0x0000010C INSTANCE 0 ADDRESS: 0x4002010C ADC Calibration Control

Table 151: ADCCAL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ADCCALIBRATED CALONPWRUP

DS-A3-0p9p1

Page 131 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:2

RSVD

1

ADCCALIBRATED

0

CALONPWRUP

Table 152: ADCCAL Register Bits

Reset 0x0

RW RO RESERVED.

Description

Status for ADC Calibration

0x0

RO FALSE = 0x0 - ADC is not calibrated

TRUE = 0x1 - ADC is calibrated

Run ADC Calibration on initial power up sequence

0x1

RW DIS = 0x0 - Disable automatic calibration on initial power up

EN = 0x1 - Enable automatic calibration on initial power up

3.8.2.12 ADCBATTLOAD Register
ADC Battery Load Enable OFFSET: 0x00000110 INSTANCE 0 ADDRESS: 0x40020110 ADC Battery Load Enable

Table 153: ADCBATTLOAD Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

BATTLOAD

Bit

Name

31:1

RSVD

0

BATTLOAD

Table 154: ADCBATTLOAD Register Bits

Reset 0x0

RW RO RESERVED.

Description

Enable the ADC battery load resistor

0x0

RW DIS = 0x0 - Battery load is disconnected

EN = 0x1 - Battery load is enabled

3.8.2.13 ADCTRIM Register
ADC Trims OFFSET: 0x00000118 INSTANCE 0 ADDRESS: 0x40020118 ADC Trims

DS-A3-0p9p1

Page 132 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 155: ADCTRIM Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

ADCRFBUFIBTRIM ADCREFBUFTRIM ADCREFKEEPIBTRIM

Bit

Name

31:13 12:11 10:6
5:2 1:0

RSVD
ADCRFBUFIBTRIM
ADCREFBUFTRIM
RSVD
ADCREFKEEPIBTRIM

Table 156: ADCTRIM Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW ADC reference buffer input bias trim

0x8

RW ADC Reference buffer trim

0x0

RO RESERVED.

0x0

RW ADC Reference Ibias trim

3.8.2.14 ADCREFCOMP Register
ADC Referece Keeper and Comparator Control OFFSET: 0x0000011C INSTANCE 0 ADDRESS: 0x4002011C ADC Referece Keeper and Comparator Control

Table 157: ADCREFCOMP Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

ADCRFCMPEN ADCREFKEEPTRIM ADC_REFCOMP_OUT

DS-A3-0p9p1

Page 133 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:17

Name RSVD

16

ADCRFCMPEN

15:13

RSVD

12:8

ADCREFKEEPTRIM

7:1

RSVD

0

ADC_REFCOMP_OUT

Table 158: ADCREFCOMP Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW ADC Reference comparator power down

0x0

RO RESERVED

0x0

RW ADC Reference Keeper Trim

0x0

RO RESERVED

0x0

RO Output of the ADC reference comparator

3.8.2.15 XTALCTRL Register
XTAL Oscillator Control OFFSET: 0x00000120 INSTANCE 0 ADDRESS: 0x40020120 XTAL Oscillator Control

Table 159: XTALCTRL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

XTALICOMPTRIM XTALIBUFTRIM PWDBODXTAL PDNBCMPRXTAL PDNBCOREXTAL BYPCMPRXTAL FDBKDSBLXTAL
XTALSWE

Bit

Name

31:10 9:8 7:6

RSVD
XTALICOMPTRIM
XTALIBUFTRIM

Table 160: XTALCTRL Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x3

RW XTAL ICOMP trim

0x1

RW XTAL IBUFF trim

DS-A3-0p9p1

Page 134 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

5

PWDBODXTAL

4

PDNBCMPRXTAL

3

PDNBCOREXTAL

2

BYPCMPRXTAL

1

FDBKDSBLXTAL

0

XTALSWE

Table 160: XTALCTRL Register Bits

Reset 0x0 0x1 0x1 0x0 0x0 0x0

RW

Description

XTAL Power down on brown out.
RW PWRUPBOD = 0x0 - Power up xtal on BOD PWRDNBOD = 0x1 - Power down XTAL on BOD.
XTAL Oscillator Power Down Comparator.
RW PWRUPCOMP = 0x1 - Power up XTAL oscillator comparator. PWRDNCOMP = 0x0 - Power down XTAL oscillator comparator.
XTAL Oscillator Power Down Core.
RW PWRUPCORE = 0x1 - Power up XTAL oscillator core. PWRDNCORE = 0x0 - Power down XTAL oscillator core.
XTAL Oscillator Bypass Comparator.
RW USECOMP = 0x0 - Use the XTAL oscillator comparator. BYPCOMP = 0x1 - Bypass the XTAL oscillator comparator.
XTAL Oscillator Disable Feedback.
RW EN = 0x0 - Enable XTAL oscillator comparator. DIS = 0x1 - Disable XTAL oscillator comparator.
XTAL Software Override Enable.
RW OVERRIDE_DIS = 0x0 - XTAL Software Override Disable. OVERRIDE_EN = 0x1 - XTAL Software Override Enable.

3.8.2.16 XTALGENCTRL Register
XTAL Oscillator General Control OFFSET: 0x00000124 INSTANCE 0 ADDRESS: 0x40020124 XTAL Oscillator General Control

Table 161: XTALGENCTRL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

XTALKSBIASTRIM XTALBIASTRIM ACWARMUP

DS-A3-0p9p1

Page 135 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:14

Name RSVD

13:8

XTALKSBIASTRIM

7:2

XTALBIASTRIM

1:0

ACWARMUP

Table 162: XTALGENCTRL Register Bits

Reset 0x0

RW RO RESERVED.

Description

XTAL IBIAS Kick start trim. This trim value is used during the startup pro-

0x1

RW cess to enable a faster lock.

0x0

RW XTAL BIAS trim

Auto-calibration delay control

0x0

RW

SEC1 = 0x0 - Warmup period of 1-2 seconds SEC2 = 0x1 - Warmup period of 2-4 seconds

SEC4 = 0x2 - Warmup period of 4-8 seconds

SEC8 = 0x3 - Warmup period of 8-16 seconds

3.8.2.17 MISCCTRL Register
Miscellaneous control register. OFFSET: 0x00000198 INSTANCE 0 ADDRESS: 0x40020198 Miscellaneous control register.

Table 163: MISCCTRL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

BLE_RESETN RESERVED_RW_0

Bit

Name

31:6

RSVD

5

BLE_RESETN

4:0

RESERVED_RW_0

Table 164: MISCCTRL Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW BLE reset signal.

Reserved bits, always leave unchanged. The MISCCTRL register must be

0x0

RW

modified via atomic RMW, leaving this bitfield completely unmodified. Failure to do so will result in unpredictable behavior.

DS-A3-0p9p1

Page 136 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
3.8.2.18 BOOTLOADER Register
Bootloader and secure boot functions OFFSET: 0x000001A0 INSTANCE 0 ADDRESS: 0x400201A0 Bootloader and secure boot functions
Table 165: BOOTLOADER Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

SECBOOTONRST SECBOOT
SECBOOTFEATURE PROTLOCK SBLOCK
BOOTLOADERLOW

Bit

Name

31:30

SECBOOTONRST

29:28

SECBOOT

27:26

SECBOOTFEATURE

25:3

RSVD

2

PROTLOCK

1

SBLOCK

Table 166: BOOTLOADER Register Bits

Reset

RW

Description

Indicates whether the secure boot on warm reset is enabled

0x0

RO DISABLED = 0x0 - Secure boot disabled

ENABLED = 0x1 - Secure boot enabled

ERROR = 0x2 - Error in secure boot configuration

Indicates whether the secure boot on cold reset is enabled

0x0

RO DISABLED = 0x0 - Secure boot disabled

ENABLED = 0x1 - Secure boot enabled

ERROR = 0x2 - Error in secure boot configuration

Indicates whether the secure boot feature is enabled.

0x0

RO DISABLED = 0x0 - Secure boot disabled

ENABLED = 0x1 - Secure boot enabled

ERROR = 0x2 - Error in secure boot configuration

0x0

RO RESERVED.

Flash protection lock. Always resets to 1, write 1 to clear. Enables writes to

0x1

RW flash protection register set.

LOCK = 0x1 - Enable the secure boot lock

Secure boot lock. Always resets to 1, write 1 to clear. Enables system visi-

0x1

RW bility to bootloader until set.

LOCK = 0x1 - Enable the secure boot lock

DS-A3-0p9p1

Page 137 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

BOOTLOADERLOW

Table 166: BOOTLOADER Register Bits

Reset 0x1

RW

Description

Determines whether the bootloader code is visible at address 0x00000000 RW or not. Resets to 1, write 1 to clear.
ADDR0 = 0x1 - Bootloader code at 0x00000000.

3.8.2.19 SHADOWVALID Register
Register to indicate whether the shadow registers have been successfully loaded from the Flash Information Space.
OFFSET: 0x000001A4
INSTANCE 0 ADDRESS: 0x400201A4
Register to indicate whether the shadow registers have been successfully loaded from the Flash Information Space.

Table 167: SHADOWVALID Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

INFO0_VALID BLDSLEEP VALID

Bit

Name

31:3

RSVD

2

INFO0_VALID

1

BLDSLEEP

0

VALID

Table 168: SHADOWVALID Register Bits

Reset 0x0

RW RO RESERVED.

Description

Indicates whether info0 contains valid data

0x1

RO

VALID = 0x1 - Flash info0 (customer) space contains valid data.

Indicates whether the bootloader should sleep or deep sleep if no image

loaded.

0x1

RO

DEEPSLEEP = 0x1 - Bootloader will go to deep sleep if no flash image

loaded

Indicates whether the shadow registers contain valid data from the Flash

0x1

RO Information Space.

VALID = 0x1 - Flash information space contains valid data.

3.8.2.20 SCRATCH0 Register
Scratch register that is not reset by any reset OFFSET: 0x000001B0

DS-A3-0p9p1

Page 138 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

INSTANCE 0 ADDRESS: 0x400201B0 Scratch register that is not reset by any reset
Table 169: SCRATCH0 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCRATCH0

Bit

Name

31:0

SCRATCH0

Table 170: SCRATCH0 Register Bits

Reset 0x0

RW RW Scratch register 0.

Description

3.8.2.21 SCRATCH1 Register
Scratch register that is not reset by any reset OFFSET: 0x000001B4 INSTANCE 0 ADDRESS: 0x400201B4 Scratch register that is not reset by any reset

Table 171: SCRATCH1 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCRATCH1

Bit

Name

31:0

SCRATCH1

Table 172: SCRATCH1 Register Bits

Reset 0x0

RW RW Scratch register 1.

Description

3.8.2.22 ICODEFAULTADDR Register
ICODE bus address which was present when a bus fault occurred. OFFSET: 0x000001C0 INSTANCE 0 ADDRESS: 0x400201C0 ICODE bus address which was present when a bus fault occurred.

DS-A3-0p9p1

Page 139 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 173: ICODEFAULTADDR Register
33222222222211111111110000000000 10987654321098765432109876543210
ICODEFAULTADDR

Bit

Name

31:0

ICODEFAULTADDR

Table 174: ICODEFAULTADDR Register Bits

Reset 0x0

RW

Description

The ICODE bus address observed when a Bus Fault occurred. Once an

RO

address is captured in this field, it is held until the corresponding Fault Observed bit is cleared in the FAULTSTATUS register.

3.8.2.23 DCODEFAULTADDR Register
DCODE bus address which was present when a bus fault occurred. OFFSET: 0x000001C4 INSTANCE 0 ADDRESS: 0x400201C4 DCODE bus address which was present when a bus fault occurred.

Table 175: DCODEFAULTADDR Register
33222222222211111111110000000000 10987654321098765432109876543210
DCODEFAULTADDR

Bit

Name

31:0

DCODEFAULTADDR

Table 176: DCODEFAULTADDR Register Bits

Reset 0x0

RW

Description

The DCODE bus address observed when a Bus Fault occurred. Once an

RO

address is captured in this field, it is held until the corresponding Fault Observed bit is cleared in the FAULTSTATUS register.

3.8.2.24 SYSFAULTADDR Register
System bus address which was present when a bus fault occurred. OFFSET: 0x000001C8 INSTANCE 0 ADDRESS: 0x400201C8 System bus address which was present when a bus fault occurred.

DS-A3-0p9p1

Page 140 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 177: SYSFAULTADDR Register
33222222222211111111110000000000 10987654321098765432109876543210
SYSFAULTADDR

Bit

Name

31:0

SYSFAULTADDR

Table 178: SYSFAULTADDR Register Bits

Reset 0x0

RW

Description

SYS bus address observed when a Bus Fault occurred. Once an address is

RO

captured in this field, it is held until the corresponding Fault Observed bit is cleared in the FAULTSTATUS register.

3.8.2.25 FAULTSTATUS Register
Reflects the status of the bus decoders' fault detection. Any write to this register will clear all of the status bits within the register.
OFFSET: 0x000001CC
INSTANCE 0 ADDRESS: 0x400201CC
Reflects the status of the bus decoders' fault detection. Any write to this register will clear all of the status bits within the register.

Table 179: FAULTSTATUS Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

SYSFAULT DCODEFAULT ICODEFAULT

Bit

Name

31:3

RSVD

2

SYSFAULT

Table 180: FAULTSTATUS Register Bits

Reset 0x0

RW RO RESERVED.

Description

SYS Bus Decoder Fault Detected bit. When set, a fault has been detected,

and the SYSFAULTADDR register will contain the bus address which gener-

0x0

RW ated the fault.

NOFAULT = 0x0 - No bus fault has been detected. FAULT = 0x1 - Bus fault detected.

DS-A3-0p9p1

Page 141 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

1

DCODEFAULT

0

ICODEFAULT

Table 180: FAULTSTATUS Register Bits

Reset 0x0
0x0

RW

Description

DCODE Bus Decoder Fault Detected bit. When set, a fault has been detected, and the DCODEFAULTADDR register will contain the bus address RW which generated the fault.
NOFAULT = 0x0 - No DCODE fault has been detected. FAULT = 0x1 - DCODE fault detected.

The ICODE Bus Decoder Fault Detected bit. When set, a fault has been detected, and the ICODEFAULTADDR register will contain the bus address RW which generated the fault.
NOFAULT = 0x0 - No ICODE fault has been detected. FAULT = 0x1 - ICODE fault detected.

3.8.2.26 FAULTCAPTUREEN Register
Enable the fault capture registers OFFSET: 0x000001D0 INSTANCE 0 ADDRESS: 0x400201D0 Enable the fault capture registers

Table 181: FAULTCAPTUREEN Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

FAULTCAPTUREEN

Bit

Name

31:1

RSVD

0

FAULTCAPTUREEN

Table 182: FAULTCAPTUREEN Register Bits

Reset 0x0

RW RO RESERVED.

Description

Fault Capture Enable field. When set, the Fault Capture monitors are

enabled and addresses which generate a hard fault are captured into the

0x0

RW FAULTADDR registers.

DIS = 0x0 - Disable fault capture. EN = 0x1 - Enable fault capture.

DS-A3-0p9p1

Page 142 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

3.8.2.27 DBGR1 Register
Read-only debug register 1 OFFSET: 0x00000200 INSTANCE 0 ADDRESS: 0x40020200 Read-only debug register 1
Table 183: DBGR1 Register
33222222222211111111110000000000 10987654321098765432109876543210
ONETO8

Table 184: DBGR1 Register Bits

Bit

Name

Reset

RW

Description

31:0

ONETO8

0x12345678 RO Read-only register for communication validation

3.8.2.28 DBGR2 Register
Read-only debug register 2 OFFSET: 0x00000204 INSTANCE 0 ADDRESS: 0x40020204 Read-only debug register 2

Table 185: DBGR2 Register
33222222222211111111110000000000 10987654321098765432109876543210
COOLCODE

Table 186: DBGR2 Register Bits

Bit

Name

Reset

RW

Description

31:0

COOLCODE

0xc001c0de RO Read-only register for communication validation

3.8.2.29 PMUENABLE Register
Control bit to enable/disable the PMU OFFSET: 0x00000220 INSTANCE 0 ADDRESS: 0x40020220

DS-A3-0p9p1

Page 143 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Control bit to enable/disable the PMU
Table 187: PMUENABLE Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

ENABLE

Bit

Name

31:1

RSVD

0

ENABLE

Table 188: PMUENABLE Register Bits

Reset 0x0

RW RO RESERVED.

Description

PMU Enable Control bit. When set, the MCU's PMU will place the MCU into

the lowest power consuming Deep Sleep mode upon execution of a WFI

instruction (dependent on the setting of the SLEEPDEEP bit in the ARM

SCR register). When cleared, regardless of the requested sleep mode, the

0x1

RW PMU will not enter the lowest power Deep Sleep mode, instead entering the

Sleep mode.

DIS = 0x0 - Disable MCU power management. EN = 0x1 - Enable MCU power management.

3.8.2.30 TPIUCTRL Register
TPIU Control Register. Determines the clock enable and frequency for the M4's TPIU interface. OFFSET: 0x00000250 INSTANCE 0 ADDRESS: 0x40020250 TPIU Control Register. Determines the clock enable and frequency for the M4's TPIU interface.

Table 189: TPIUCTRL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

CLKSEL ENABLE

Bit 31:11

Name RSVD

DS-A3-0p9p1

Table 190: TPIUCTRL Register Bits

Reset 0x0

RW RO RESERVED.

Description

Page 144 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

10:8

CLKSEL

Table 190: TPIUCTRL Register Bits

Reset

RW

Description

This field selects the frequency of the ARM M4 TPIU port.

LOWPWR = 0x0 - Low power state.

HFRCDIV2 = 0x1 - Selects HFRC divided by 2 as the source TPIU clk

HFRCDIV8 = 0x2 - Selects HFRC divided by 8 as the source TPIU clk

0x0

RW

HFRCDIV16 = 0x3 - Selects HFRC divided by 16 as the source TPIU clk HFRCDIV32 = 0x4 - Selects HFRC divided by 32 as the source TPIU clk

7:1

RSVD

0

ENABLE

0x0

RO RESERVED.

TPIU Enable field. When set, the ARM M4 TPIU is enabled and data can be

streamed out of the MCU's SWO port using the ARM ITM and TPIU mod-

0x0

RW ules.

DIS = 0x0 - Disable the TPIU. EN = 0x1 - Enable the TPIU.

3.8.2.31 OTAPOINTER Register
OTA (Over the Air) Update Pointer/Status. Reset only by POA OFFSET: 0x00000264 INSTANCE 0 ADDRESS: 0x40020264 OTA (Over the Air) Update Pointer/Status. Reset only by POA

Table 191: OTAPOINTER Register
33222222222211111111110000000000 10987654321098765432109876543210

OTAPOINTER

OTASBLUPDATE OTAVALID

Bit

Name

31:2

OTAPOINTER

1

OTASBLUPDATE

Table 192: OTAPOINTER Register Bits

Reset 0x0

RW

Description

RW Flash page pointer with updated OTA image

0x0

RW Indicates that the sbl_init has been updated

DS-A3-0p9p1

Page 145 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

OTAVALID

Table 192: OTAPOINTER Register Bits

Reset 0x0

RW

Description

RW Indicates that an OTA update is valid

3.8.2.32 APBDMACTRL Register
DMA Control Register. Determines misc settings for DMA operation OFFSET: 0x00000280 INSTANCE 0 ADDRESS: 0x40020280 DMA Control Register. Determines misc settings for DMA operation

Table 193: APBDMACTRL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

HYSTERESIS

RSVD

DECODEABORT DMA_ENABLE

Bit 31:16

Name RSVD

15:8

HYSTERESIS

7:2

RSVD

1

DECODEABORT

0

DMA_ENABLE

Table 194: APBDMACTRL Register Bits

Reset 0x0

RW RO RESERVED.

Description

This field determines how long the DMA will remain active during deep

sleep before shutting down and returning the system to full deep sleep. Val-

0x2

RW ues are based on a 94KHz clock and are roughly 10us increments for a

range of ~10us to 2.55ms

0x0

RO RESERVED.

APB Decode Abort. When set, the APB bridge will issue a data abort (bus fault) on transactions to peripherals that are powered down. When set to 0, writes are quietly discarded and reads return 0.

0x1

RW DISABLE = 0x0 - Bus operations to powered down peripherals are quietly

discarded

ENABLE = 0x1 - Bus operations to powered down peripherals result in a

bus fault.

Enable the DMA controller. When disabled, DMA requests will be ignored

by the controller

0x1

RW

DISABLE = 0x0 - DMA operations disabled

ENABLE = 0x1 - DMA operations enabled

DS-A3-0p9p1

Page 146 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
3.8.2.33 SRAMMODE Register
SRAM Controller mode bits OFFSET: 0x00000284 INSTANCE 0 ADDRESS: 0x40020284 SRAM Controller mode bits
Table 195: SRAMMODE Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

RSVD DPREFETCH_CACHE
DPREFETCH RSVD
IPREFETCH_CACHE IPREFETCH

Bit

Name

31:8

RSVD

7:6

RSVD

5

DPREFETCH_CACHE

4

DPREFETCH

3:2

RSVD

1

IPREFETCH_CACHE

0

IPREFETCH

Table 196: SRAMMODE Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RO RESERVED.

Secondary prefetch feature that will cache prefetched data across bus wait-

0x0

RW states (requires DPREFETCH to be set).

When set, data bus accesses to the SRAM banks will be prefetched (nor-

0x0

RW

mally 2 cycle read access). Use of this mode bit is only recommended if the work flow has a large number of sequential accesses.

0x0

RO RESERVED.

Secondary prefetch feature that will cache prefetched data across bus wait-

0x0

RW states (requires IPREFETCH to be set).

When set, instruction accesses to the SRAM banks will be prefetched (nor-

0x0

RW

mally 2 cycle read access). Generally, this mode bit should be set for improved performance when executing instructions from SRAM.

3.8.2.34 KEXTCLKSEL Register
Key Register to enable the use of external clock selects via the EXTCLKSEL reg OFFSET: 0x00000348 INSTANCE 0 ADDRESS: 0x40020348

DS-A3-0p9p1

Page 147 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Key Register to enable the use of external clock selects via the EXTCLKSEL reg
Table 197: KEXTCLKSEL Register
33222222222211111111110000000000 10987654321098765432109876543210
KEXTCLKSEL

Bit

Name

31:0

KEXTCLKSEL

Table 198: KEXTCLKSEL Register Bits

Reset 0x0

RW
Key register value. RW
Key = 0x53 - Key

Description

3.8.2.35 SIMOBUCK4 Register
SIMO Buck Control Reg1 OFFSET: 0x0000035C INSTANCE 0 ADDRESS: 0x4002035C SIMO Buck Control Reg1

Table 199: SIMOBUCK4 Register
33222222222211111111110000000000 10987654321098765432109876543210

SIMOBUCKIBIASTRIM SIMOBUCKUVLOMODE SIMOBUCKPRIORITYSEL SIMOBUCKCOMP2TIMEOUTEN SIMOBUCKCOMP2LPEN SIMOBUCKCLKDIVSEL SIMOBUCKEXTCLKSEL SIMOBUCKUVLODRVSTRTRIM SIMOBUCKUVLOCNTRTRIM
SIMOBUCKZXTRIM SIMOBUCKMEMLEAKAGETRIM SIMOBUCKMEMLPDRVSTRTRIM SIMOBUCKMEMACTDRVSTRTRIM SIMOBUCKMEMLPLOWTONTRIM

Bit 31:28

Name
SIMOBUCKIBIASTRIM

Table 200: SIMOBUCK4 Register Bits

Reset 0x3

RW RW simobuck_bias_trim

Description

DS-A3-0p9p1

Page 148 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

27:26

SIMOBUCKUVLOMODE

25 24 23 22:21 20 19:17

SIMOBUCKPRIORITYSEL
SIMOBUCKCOMP2TIME-
OUTEN
SIMOBUCKCOMP2LPEN
SIMOBUCKCLKDIVSEL
SIMOBUCKEXTCLKSEL
SIMOBUCKUVLODRVSTR-
TRIM

16:14

SIMOBUCKUVLOCNTRTRIM

13:10 9:8 7:6 5:4 3:0

SIMOBUCKZXTRIM
SIMOBUCKMEMLEAKAG-
ETRIM
SIMOBUCKMEMLP-
DRVSTRTRIM
SIMOBUCKMEMACTDRVSTR-
TRIM
SIMOBUCKMEMLPLOW-
TONTRIM

Table 200: SIMOBUCK4 Register Bits

Reset

RW

Description

simobuck_uvlo_mode. In B0, these bits are used as SIMOBUCK mode bits. uvlo_mode[0] enables use of tonclk_lp for all operations and uvlo_mode[1] controls core_low/mem_low synchronization.

0x3

RW

USE_LP_CLOCK = 0x1 - LP clock is used for simobuck in both active and low-power mode.

X_LOW_NOSYNC = 0x2 - No synchronization is applied to core_low/

mem_low inputs (A1 behavior)

X_LOW_SYNC = 0x0 - Synchronization is applied to core_low/mem_low

inputs

0x0

RW simobuck_priority_sel

0x0

RW simobuck_comp2_timeout_en

0x1

RW simobuck_comp2_lp_en

0x0

RW simobuck_clkdiv_sel

0x0

RW simobuck_extclk_sel

0x6

RW simobuck_uvlo_drvstr_trim

For B0, this register has been redefined as mode bits for the Simobuck. Each bit is independent: [0]=always enable LP clock [1]=enable priority_state [2]=enable zx_comp reset removal fix

ENABLE_LP_CLK = 0x1 - When set to 1, the LP clock will always be acti-

0x6

RW

vated. When 0, the logic will request the clock when needed DISABLE_PRIORITY_STATE = 0x2 - (Inverse polarity mode bit) When set

to 1, the priority state logic will be disabled and when set to 0, priority_state

will enforce that both core and mem bucks get equal priority.

ENABLE_ZXCOMP_SYNC = 0x4 - When set to 1, ZXCOMP will be routed

through a flop and removal synchronized to the internal clock. When set to

0, logic will act like A1 logic and will be asynchronous.

0x0

RW simobuck_zx_trim

0x0

RW simobuck_mem_leakage_trim

0x2

RW simobuck_mem_lp_drvstr_trim

0x2

RW simobuck_mem_act_drvstr_trim

0xa

RW simobuck_mem_lp_low_ton_trim

DS-A3-0p9p1

Page 149 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
3.8.2.36 BLEBUCK2 Register
BLEBUCK2 Control Reg OFFSET: 0x00000368 INSTANCE 0 ADDRESS: 0x40020368 BLEBUCK2 Control Reg
Table 201: BLEBUCK2 Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

BLEBUCKTOND2ATRIM BLEBUCKTONHITRIM BLEBUCKTONLOWTRIM

Bit

Name

31:18 17:12 11:6
5:0

RSVD
BLEBUCKTOND2ATRIM
BLEBUCKTONHITRIM
BLEBUCKTONLOWTRIM

Table 202: BLEBUCK2 Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RO blebuck_ton_trim

0x1

RW blebuck_ton_hi_trim

0xe

RW blebuck_ton_low_trim

3.8.2.37 FLASHWPROT0 Register
Flash Write Protection Bits OFFSET: 0x000003A0 INSTANCE 0 ADDRESS: 0x400203A0 These bits write-protect flash in 16KB chunks.

Table 203: FLASHWPROT0 Register
33222222222211111111110000000000 10987654321098765432109876543210
FW0BITS

DS-A3-0p9p1

Page 150 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

FW0BITS

Table 204: FLASHWPROT0 Register Bits

Reset 0x0

RW

Description

Write protect flash 0x00000000 - 0x0007FFFF. Each bit provides write protection for 16KB chunks of flash data space. Bits are cleared by writing a 1 RW to the bit. When read, 0 indicates the region is protected. Bits are sticky (can be set when PROTLOCK is 1, but only cleared by reset)

3.8.2.38 FLASHWPROT1 Register
Flash Write Protection Bits OFFSET: 0x000003A4 INSTANCE 0 ADDRESS: 0x400203A4 These bits write-protect flash in 16KB chunks.

Table 205: FLASHWPROT1 Register
33222222222211111111110000000000 10987654321098765432109876543210
FW1BITS

Bit

Name

31:0

FW1BITS

Table 206: FLASHWPROT1 Register Bits

Reset 0x0

RW

Description

Write protect flash 0x00080000 - 0x000FFFFF. Each bit provides write protection for 16KB chunks of flash data space. Bits are cleared by writing a 1 RW to the bit. When read, 0 indicates the region is protected. Bits are sticky (can be set when PROTLOCK is 1, but only cleared by reset)

3.8.2.39 FLASHRPROT0 Register
Flash Read Protection Bits OFFSET: 0x000003B0 INSTANCE 0 ADDRESS: 0x400203B0 These bits read-protect flash in 16KB chunks.

Table 207: FLASHRPROT0 Register
33222222222211111111110000000000 10987654321098765432109876543210
FR0BITS

DS-A3-0p9p1

Page 151 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

FR0BITS

Table 208: FLASHRPROT0 Register Bits

Reset 0x0

RW

Description

Copy (read) protect flash 0x00000000 - 0x0007FFFF. Each bit provides read protection for 16KB chunks of flash. Bits are cleared by writing a 1 to RW the bit. When read, 0 indicates the region is protected. Bits are sticky (can be set when PROTLOCK is 1, but only cleared by reset)

3.8.2.40 FLASHRPROT1 Register
Flash Read Protection Bits OFFSET: 0x000003B4 INSTANCE 0 ADDRESS: 0x400203B4 These bits read-protect flash in 16KB chunks.

Table 209: FLASHRPROT1 Register
33222222222211111111110000000000 10987654321098765432109876543210
FR1BITS

Bit

Name

31:0

FR1BITS

Table 210: FLASHRPROT1 Register Bits

Reset 0x0

RW

Description

Copy (read) protect flash 0x00080000 - 0x000FFFFF. Each bit provides read protection for 16KB chunks of flash. Bits are cleared by writing a 1 to RW the bit. When read, 0 indicates the region is protected. Bits are sticky (can be set when PROTLOCK is 1, but only cleared by reset)

3.8.2.41 DMASRAMWRITEPROTECT0 Register
SRAM write-protection bits. OFFSET: 0x000003C0 INSTANCE 0 ADDRESS: 0x400203C0 These bits write-protect system SRAM from DMA operations in 8KB chunks.

Table 211: DMASRAMWRITEPROTECT0 Register
33222222222211111111110000000000 10987654321098765432109876543210
DMA_WPROT0

DS-A3-0p9p1

Page 152 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 212: DMASRAMWRITEPROTECT0 Register Bits

Bit

Name

31:0 DMA_WPROT0

Reset 0x0

RW

Description

Write protect SRAM from DMA. Each bit provides write protection for an

RW

8KB region of memory. When set to 1, the region will be protected from DMA writes, when set to 0, DMA may write the region.

3.8.2.42 DMASRAMWRITEPROTECT1 Register
SRAM write-protection bits. OFFSET: 0x000003C4 INSTANCE 0 ADDRESS: 0x400203C4 These bits write-protect system SRAM from DMA operations in 8KB chunks.

Table 213: DMASRAMWRITEPROTECT1 Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

DMA_WPROT1

Bit 31:16
15:0

Table 214: DMASRAMWRITEPROTECT1 Register Bits

Name RSVD

Reset 0x0

RW RO RESERVED.

Description

Write protect SRAM from DMA. Each bit provides write protection for an

DMA_WPROT1

0x0

RW

8KB region of memory. When set to 1, the region will be protected from DMA writes, when set to 0, DMA may write the region.

3.8.2.43 DMASRAMREADPROTECT0 Register
SRAM read-protection bits. OFFSET: 0x000003D0 INSTANCE 0 ADDRESS: 0x400203D0 These bits read-protect system SRAM from DMA operations in 8KB chunks.

Table 215: DMASRAMREADPROTECT0 Register
33222222222211111111110000000000 10987654321098765432109876543210
DMA_RPROT0

DS-A3-0p9p1

Page 153 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 216: DMASRAMREADPROTECT0 Register Bits

Bit

Name

31:0 DMA_RPROT0

Reset 0x0

RW

Description

Read protect SRAM from DMA. Each bit provides write protection for an

RW

8KB region of memory. When set to 1, the region will be protected from DMA reads, when set to 0, DMA may read the region.

3.8.2.44 DMASRAMREADPROTECT1 Register
SRAM read-protection bits. OFFSET: 0x000003D4 INSTANCE 0 ADDRESS: 0x400203D4 These bits read-protect system SRAM from DMA operations in 8KB chunks.

Table 217: DMASRAMREADPROTECT1 Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

DMA_RPROT1

Bit 31:16
15:0

Table 218: DMASRAMREADPROTECT1 Register Bits

Name RSVD

Reset 0x0

RW RO RESERVED.

Description

Read protect SRAM from DMA. Each bit provides write protection for an

DMA_RPROT1

0x0

RW

8KB region of memory. When set to 1, the region will be protected from DMA reads, when set to 0, DMA may read the region.

3.9 Memory Subsystem

DS-A3-0p9p1

Page 154 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

32KB SRAM 32KB SRAM

32KB SRAM 32KB SRAM

32KB SRAM 32KB SRAM

32KB SRAM 32KB SRAM

32KB SRAM 32KB SRAM

8KB SRAM 32KB SRAM
24KB SRAM

Instruction
ARM M4 Data Core
SYS

AHB Fabric

Flash Cache
APB
Bridge

Boot Loader ROM
Up To 64MB External Flash Instance

Flash & OTP
Control

512KB Flash 512KB Flash Instance Instance

16KB OTP
Figure 5. Block Diagram for Flash and OTP Memory Subsystem
3.9.1 Features
The Apollo3 Blue MCU integrates four kinds of memory as shown in Figure 5:  SRAM  Integrated Flash / External Flash via MSPI (with Flash cache)  Boot Loader ROM  One Time Programmable (OTP) memory
Key features include:  384KB SRAM

DS-A3-0p9p1

Page 155 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
 2 instances of 512 KB flash Memory (up to 1 MB total)  16 KB Flash cache (2-way set-associative/Direct Mapped, 512 entry, 128b linesize)  16 KBytes OTP
- 8 KBytes contain factory preset per chip trim values. - 8 KBytes for customer use, including flash protection fields  Flash Protection specified in 16 KB Chunks - 64 OTP bits specify Write Protected Chunks - 64 OTP bits specify Read Protected Chunks - A Chunk is Execute Only if Both Corresponding Protection Bits Specified - OTP bits Specify Debugger Lock Out State - OTP bits Can Protect SRAM Contents From Debugger Inspection  External Flash with XiP (via MSPI) with cache support (up to 64MB)
3.9.2 Functional Overview
The Apollo3 Blue MCU Integrates up to 1024 KBytes of on-board flash memory and 16 Kbytes of one time programmable memory. These two memories are managed by the APB flash controller for write operations.
During normal MCU code execution, the Flash Cache Controller translates requests from the CPU core to the Flash Memory instance for instruction and data fetches. The Controller is designed to return data in zero wait-states when accesses hit into the cache and can operate up to the maximum operating frequency of the CPU core. On cache misses, the controller issues miss requests to the Flash memory controller.
The Flash Memory Controller facilitates flash erase and programming operations. When erase or programming operations are active, instructions cannot be fetched for execution from the Flash memory, so the on-chip SRAM would have to be used for code execution. The cache controller ensures these operations are synchronized. To facilitate the management of flash updates and OTP programming, a number of flash helper functions are provided in the boot loader ROM.
The boot loader ROM contains approximately 4 KB of instructions that are executed upon power up of the processor. Once a valid reset vector is establish at offset zero in the flash memory, the boot loader transfers control to users application by issuing a POR type reset which causes the core to enter the reset vector in flash.
The Apollo3 Blue MCU supports secure boot leveraging the SecureSPOT technology. The root of trust for the secure boot is the boot ROM and the Ambiq secure boot loader. Secure boot, if enabled, will be invoked on each boot and reset cycle. Some secure boot functionality is conditionally supported on reset leveraging the SECBOOTONRST configuration in OTP. More details on the Apollo3 Blue MCU security features are described in "Security" on page 173 and also in the Ambiq Apollo3 Blue MCU Security Whitepaper.

DS-A3-0p9p1

Page 156 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
3.9.3 Flash Cache 3.9.3.1 Functional Overview
Figure 6. Block Diagram for Apollo3 Blue MCU with Flash Cache

Apollo3 Blue MCU incorporates a Flash cache to the ICode and DCode path from the microcontroller. This controller is intended to provide single cycle read access to Flash and reduce overall accesses to the Flash to reduce power. The controller is a unified ICode and DCode cache controller. The cache fill path is arbitrated between cache misses as well as the other Flash read agents (Info, Reg, BIST). Caching is supported for the entire 1MB internal Flash and the 64MB external Flash aperture (via MSPI).
The cache is configurable 2-way set associative or direct mapped, 512 or 256 entry and 128b linesize.

DS-A3-0p9p1

Page 157 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
3.9.3.1.1 Cache Operation
To enable the cache, software should write the CACHECFG register with the desired setting. The ENABLE field in this register will power up the cache SRAMs and initiate the cache startup sequence which will flush the cache RAMs. Once the sequence is complete (indicated by the CACHE_READY bit in the CACHECTRL register), the cache will automatically begin servicing instruction and/or data fetches from the cache depending on the state of the ICACHE_ENABLE and DCACHE_ENABLE values. Software can choose to enable/disable these independently and they can be dynamically changed during operation. Additionally, the non-cachable region registers can be used to mark regions as non-cached, which supercedes the I/D enable bits and causes all fetches from within this range to be non-cached.
The cache will automatically flush data contents if flash is erased/programmed or if the primary cache enable bit is disabled. Additionally, software can invalidate the cache by writing the INVALIDATE bit of the CACHECTRL register. Since this register contains only status information (on reads) and activates controls based on bits set, there is no need to perform a read-modify-write.
For any mode changes, the cache should first be disabled by writing the ENABLE bit to 0, changing the configuration, then re-writing the enable bit to a 1.
3.9.3.1.2 Cache Performance Monitors
The cache also includes logic to monitor cache performance, which should be used in conjunction with the STIMER or CTIMER to determine elapsed time. The instruction and data buses have independent monitoring logic that keep counts of the following conditions:
 ACCESS_COUNT - total number of reads performed on the bus  LOOKUP_COUNT - number of tag lookups performed  HIT_COUNT - number of tag lookups that result in a hit  LINE_COUNT - number of reads that were serviced from the line buffers (on a miss or non-cached
access) or directly from the RAM because they fell within the same line as the previous lookup.
The LOOKUP and LINE counts should sum to the ACCESS COUNT and the number of cache misses can be calculated as LOOKUP_COUNT - HIT_COUNT.
NOTE: The DMONn and IMONn registers should be read with the cache monitor disabled ( CACHECFG[ENABLE_MONITOR] = 0x0).
Cache monitor counters will automatically freeze the counts when either of the access counters reaches a value of 0xFFFF0000 to prevent the counters from rolling over. The monitor counts can be reset at any time by writing the RESET_STAT bit in the CACHECTRL register.
The monitors do not provide an indication of waitstates added to accesses, so the elapsed time should be used to infer this value (waitstates are added as a result of cache misses or contention for the tag lookup if both busses require a simultaneous lookup).
3.9.3.2 CACHECTRL Registers
Flash Cache Controller
INSTANCE 0 BASE ADDRESS:0x40018000

DS-A3-0p9p1

Page 158 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

3.9.3.2.1 Register Memory Map

Table 219: CACHECTRL Register Map

Address(s)
0x40018000 0x40018004 0x40018008 0x40018010 0x40018014 0x40018018 0x4001801C 0x40018040 0x40018044 0x40018048 0x4001804C 0x40018050 0x40018054 0x40018058 0x4001805C

Register Name
CACHECFG FLASHCFG CTRL NCR0START NCR0END NCR1START NCR1END DMON0 DMON1 DMON2 DMON3 IMON0 IMON1 IMON2 IMON3

Description
Flash Cache Control Register Flash Control Register Cache Control Flash Cache Noncachable Region 0 Start Flash Cache Noncachable Region 0 End Flash Cache Noncachable Region 1 Start Flash Cache Noncachable Region 1 End Data Cache Total Accesses Data Cache Tag Lookups Data Cache Hits Data Cache Line Hits Instruction Cache Total Accesses Instruction Cache Tag Lookups Instruction Cache Hits Instruction Cache Line Hits

DS-A3-0p9p1

Page 159 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
3.9.3.2.2 CACHECTRL Registers 3.9.3.2.2.1CACHECFG Register
Flash Cache Control Register OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x40018000 Flash Cache Control Register
Table 220: CACHECFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

CONFIG

ENABLE_MONITOR DATA_CLKGATE CACHE_LS CACHE_CLKGATE
DCACHE_ENABLE ICACHE_ENABLE
ENABLE_NC1 ENABLE_NC0
LRU ENABLE

Bit 31:25

Name RSVD

24

ENABLE_MONITOR

23:21 20
19:12

RSVD
DATA_CLKGATE
RSVD

11

CACHE_LS

10

CACHE_CLKGATE

9

DCACHE_ENABLE

8

ICACHE_ENABLE

Table 221: CACHECFG Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

Enable Cache Monitoring Stats. Cache monitoring consumes additional

power and should only be enabled when profiling code and counters will

0x0

RW

increment when this bit is set. Counter values will be retained when this is set to 0, allowing software to enable/disable counting for multiple code seg-

ments.

0x0

RO This bitfield is reserved for future use.

Enable aggressive clock gating of entire data array. This bit should be set to

0x1

RW 1 for optimal power efficiency.

0x0

RO This bitfield is reserved for future use.

Enable LS (light sleep) of cache RAMs. Software should DISABLE this bit

0x1

RW since cache activity is too high to benefit from LS usage.

Enable clock gating of cache TAG RAM. Software should enable this bit for

0x1

RW optimal power efficiency.

0x0

RW Enable Flash Data Caching.

0x0

RW Enable Flash Instruction Caching

DS-A3-0p9p1

Page 160 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7:4

CONFIG

3

ENABLE_NC1

2

ENABLE_NC0

1

LRU

0

ENABLE

Table 221: CACHECFG Register Bits

Reset

RW

Description

Sets the cache configuration

W1_128B_512E = 0x4 - Direct mapped, 128-bit linesize, 512 entries (4

0x5

RW

SRAMs active) W2_128B_512E = 0x5 - Two-way set associative, 128-bit linesize, 512

entries (8 SRAMs active)

W1_128B_1024E = 0x8 - Direct mapped, 128-bit linesize, 1024 entries (8

SRAMs active)

0x0

RW Enable Non-cacheable region 1. See NCR1 registers to define the region.

0x0

RW Enable Non-cacheable region 0. See NCR0 registers to define the region.

Sets the cache repleacment policy. 0=LRR (least recently replaced),

0x0

RW 1=LRU (least recently used). LRR minimizes writes to the TAG SRAM.

Enables the flash cache controller and enables power to the cache SRAMs.

0x0

RW

The ICACHE_ENABLE and DCACHE_ENABLE should be set to enable caching for each type of access.

3.9.3.2.2.2FLASHCFG Register
Flash Control Register OFFSET: 0x00000004 INSTANCE 0 ADDRESS: 0x40018004 Flash Control Register

Table 222: FLASHCFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RD_WAIT

LPMMODE LPM_RD_WAIT
RSVD SEDELAY

Bit 31:14

Name RSVD

Table 223: FLASHCFG Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

DS-A3-0p9p1

Page 161 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

13:12

LPMMODE

11:8 LPM_RD_WAIT

7

RSVD

6:4

SEDELAY

3:0

RD_WAIT

Table 223: FLASHCFG Register Bits

Reset

RW

Description

Controls flash low power modes (control of LPM pin).

NEVER = 0x0 - High power mode (LPM not used).

0x0

RW

STANDBY = 0x1 - Fast Standby mode. LPM deasserted for read operations, but asserted while flash IDLE.

ALWAYS = 0x2 - Low Power mode. LPM always asserted for reads.

LPM_RD_WAIT must be programmed to accomodate longer read access

times.

0x8

RW Sets flash waitstates when in LPM Mode 2 (RD_WAIT in LPM mode 2 only)

0x0

RO This bitfield is reserved for future use.

0x7

RW Sets SE delay (flash address setup). A value of 5 is recommended.

Sets read waitstates for normal (fast) operation. A value of 1 is recom-

0x3

RW mended.

3.9.3.2.2.3CTRL Register
Cache Control OFFSET: 0x00000008 INSTANCE 0 ADDRESS: 0x40018008 Cache Control

Table 224: CTRL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

FLASH1_SLM_ENABLE FLASH1_SLM_DISABLE FLASH1_SLM_STATUS
RSVD FLASH0_SLM_ENABLE FLASH0_SLM_DISABLE FLASH0_SLM_STATUS
RSVD CACHE_READY
RESET_STAT INVALIDATE

Bit 31:11

Name RSVD

Table 225: CTRL Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

DS-A3-0p9p1

Page 162 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

10

FLASH1_SLM_ ENABLE

9

FLASH1_SLM_DISABLE

8

FLASH1_SLM_ STATUS

7

RSVD

6

FLASH0_SLM_ ENABLE

5

FLASH0_SLM_DISABLE

4

FLASH0_SLM_ STATUS

3

RSVD

2

CACHE_READY

1

RESET_STAT

0

INVALIDATE

Table 225: CTRL Register Bits

Reset 0x0

RW

Description

Enable Flash Sleep Mode. Write to 1 to put flash 1 into sleep mode. NOTE:

WO

there is a 5us latency after waking flash until the first access will be returned.

Disable Flash Sleep Mode. Write 1 to wake flash1 from sleep mode (read-

0x0

WO ing the array will also automatically wake it).

Flash Sleep Mode Status. 1 indicates that flash1 is in sleep mode, 0 indi-

0x0

RO cates flash1 is in normal mode.

0x0

RO This bitfield is reserved for future use.

Enable Flash Sleep Mode. Write to 1 to put flash 0 into sleep mode. NOTE:

0x0

WO

there is a 5us latency after waking flash until the first access will be returned.

Disable Flash Sleep Mode. Write 1 to wake flash0 from sleep mode (read-

0x0

WO ing the array will also automatically wake it).

Flash Sleep Mode Status. 1 indicates that flash0 is in sleep mode, 0 indi-

0x0

RO cates flash0 is in normal mode.

0x0

RO This bitfield is reserved for future use.

0x0

RO Cache Ready Status (enabled and not processing an invalidate operation)

Reset Cache Statistics. When written to a 1, the cache monitor counters will

be cleared. The monitor counters can be reset only when the

0x0

WO CACHECFG.ENABLE_MONITOR bit is set.

CLEAR = 0x1 - Clear Cache Stats

0x0

WO Writing a 1 to this bitfield invalidates the flash cache contents.

3.9.3.2.2.4NCR0START Register
Flash Cache Noncachable Region 0 Start OFFSET: 0x00000010 INSTANCE 0 ADDRESS: 0x40018010 Flash Cache Noncachable Region 0 Start

Table 226: NCR0START Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ADDR

RSVD

DS-A3-0p9p1

Page 163 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:27 26:4
3:0

Name RSVD ADDR RSVD

Table 227: NCR0START Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW Start address for non-cacheable region 0

0x0

RO This bitfield is reserved for future use.

3.9.3.2.2.5NCR0END Register
Flash Cache Noncachable Region 0 End OFFSET: 0x00000014 INSTANCE 0 ADDRESS: 0x40018014 Flash Cache Noncachable Region 0 End

Table 228: NCR0END Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ADDR

RSVD

Bit 31:27 26:4
3:0

Name RSVD ADDR RSVD

Table 229: NCR0END Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW End address for non-cacheable region 0

0x0

RO This bitfield is reserved for future use.

3.9.3.2.2.6NCR1START Register
Flash Cache Noncachable Region 1 Start OFFSET: 0x00000018 INSTANCE 0 ADDRESS: 0x40018018 Flash Cache Noncachable Region 1 Start

DS-A3-0p9p1

Page 164 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 230: NCR1START Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ADDR

RSVD

Bit 31:27 26:4
3:0

Name RSVD ADDR RSVD

Table 231: NCR1START Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW Start address for non-cacheable region 1

0x0

RO This bitfield is reserved for future use.

3.9.3.2.2.7NCR1END Register
Flash Cache Noncachable Region 1 End OFFSET: 0x0000001C INSTANCE 0 ADDRESS: 0x4001801C Flash Cache Noncachable Region 1 End

Table 232: NCR1END Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ADDR

RSVD

Bit 31:27 26:4
3:0

Name RSVD ADDR RSVD

Table 233: NCR1END Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW End address for non-cacheable region 1

0x0

RO This bitfield is reserved for future use.

3.9.3.2.2.8DMON0 Register
Data Cache Total Accesses OFFSET: 0x00000040

DS-A3-0p9p1

Page 165 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

INSTANCE 0 ADDRESS: 0x40018040 Data Cache Total Accesses
Table 234: DMON0 Register
33222222222211111111110000000000 10987654321098765432109876543210
DACCESS_COUNT

Bit

Name

31:0

DACCESS_COUNT

Table 235: DMON0 Register Bits

Reset 0x0

RW

Description

Total accesses to data cache. All performance metrics should be relative to RO the number of accesses performed.

3.9.3.2.2.9DMON1 Register
Data Cache Tag Lookups OFFSET: 0x00000044 INSTANCE 0 ADDRESS: 0x40018044 Data Cache Tag Lookups

Table 236: DMON1 Register
33222222222211111111110000000000 10987654321098765432109876543210
DLOOKUP_COUNT

Bit

Name

31:0

DLOOKUP_COUNT

Table 237: DMON1 Register Bits

Reset 0x0

RW

Description

RO Total tag lookups from data cache.

3.9.3.2.2.10DMON2 Register
Data Cache Hits OFFSET: 0x00000048 INSTANCE 0 ADDRESS: 0x40018048 Data Cache Hits

DS-A3-0p9p1

Page 166 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 238: DMON2 Register
33222222222211111111110000000000 10987654321098765432109876543210
DHIT_COUNT

Bit

Name

31:0

DHIT_COUNT

Table 239: DMON2 Register Bits

Reset 0x0

RW

Description

RO Cache hits from lookup operations.

3.9.3.2.2.11DMON3 Register
Data Cache Line Hits OFFSET: 0x0000004C INSTANCE 0 ADDRESS: 0x4001804C Data Cache Line Hits

Table 240: DMON3 Register
33222222222211111111110000000000 10987654321098765432109876543210
DLINE_COUNT

Bit

Name

31:0 DLINE_COUNT

Table 241: DMON3 Register Bits

Reset 0x0

RW RO Cache hits from line cache

Description

3.9.3.2.2.12IMON0 Register
Instruction Cache Total Accesses OFFSET: 0x00000050 INSTANCE 0 ADDRESS: 0x40018050 Instruction Cache Total Accesses

DS-A3-0p9p1

Page 167 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 242: IMON0 Register
33222222222211111111110000000000 10987654321098765432109876543210
IACCESS_COUNT

Bit

Name

31:0

IACCESS_COUNT

Table 243: IMON0 Register Bits

Reset 0x0

RW

Description

RO Total accesses to Instruction cache

3.9.3.2.2.13IMON1 Register
Instruction Cache Tag Lookups OFFSET: 0x00000054 INSTANCE 0 ADDRESS: 0x40018054 Instruction Cache Tag Lookups

Table 244: IMON1 Register
33222222222211111111110000000000 10987654321098765432109876543210
ILOOKUP_COUNT

Bit

Name

31:0

ILOOKUP_COUNT

Table 245: IMON1 Register Bits

Reset 0x0

RW

Description

RO Total tag lookups from Instruction cache

3.9.3.2.2.14IMON2 Register
Instruction Cache Hits OFFSET: 0x00000058 INSTANCE 0 ADDRESS: 0x40018058 Instruction Cache Hits

DS-A3-0p9p1

Page 168 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 246: IMON2 Register
33222222222211111111110000000000 10987654321098765432109876543210
IHIT_COUNT

Bit

Name

31:0

IHIT_COUNT

Table 247: IMON2 Register Bits

Reset 0x0

RW

Description

RO Cache hits from lookup operations

3.9.3.2.2.15IMON3 Register
Instruction Cache Line Hits OFFSET: 0x0000005C INSTANCE 0 ADDRESS: 0x4001805C Instruction Cache Line Hits

Table 248: IMON3 Register
33222222222211111111110000000000 10987654321098765432109876543210
ILINE_COUNT

Bit

Name

31:0

ILINE_COUNT

Table 249: IMON3 Register Bits

Reset 0x0

RW RO Cache hits from line cache

Description

DS-A3-0p9p1

Page 169 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

3.9.3.3 Flash Memory Controller
Figure 7. Block diagram for the Flash Memory Controller

AHB Slave (ICode)

Request Translator

AHB Slave (DCode)

Request Translator

AHB Slave (Info Space)

Request Translator

APB Slave (Control Regs)

Control Registers

Timing Control

Flash Instance

APB Slave (Config Regs)

Config Registers

Copy Engine

Request Translator

3.9.3.3.1 Functional Overview
During normal MCU code execution, the Flash Memory Controller translates requests from the CPU core (via the Flash cache) to the Flash Memory instance for instruction and data fetches. The Controller is designed to return data to the cache in single wait-state and can operate up to the maximum operating frequency of half the CPU core frequency.
The Controller facilitates flash erase and programming operations through the control registers. When erase or programming operations are active, data cannot be fetched from the Flash memory. This will be naturally handled by the cache controller fill logic to stall until the program operation is complete and the Flash device is available. With the cache enabled, this collision should happen very infrequently.
Another function of the Controller is to capture the configuration values which are distributed to the various on-chip peripherals of the MCU at chip power-up. These are read from the Information Space of the Flash Memory and captured in registers to be used by the other peripherals. The configuration values are reloaded each time a full-chip POI cycle occurs.
Note: Programming the same bit cannot be reprogrammed to a `0' before an erase cycle. Doing so may cause data corruption/retention issues within the word line. Ambiq provides a "modify" function to help with this.
Note: The number of program cycles performed per word line (512 bytes) should be limited to no more than 160 between erase cycles. Alternatively, 1 full line program plus 100 additional program cycles to the

DS-A3-0p9p1

Page 170 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
same line should not be exceeded. Doing more than the restricted number of program cycles to the same line between erase operations may cause data corruption/retention issues within the word line.

3.9.4 SRAM Interface 3.9.4.1 Functional Overview
Figure 8. Block diagram for the SRAM Interface
Arbiter

CPU I-Code Bus

AHB Slave

Decoder

CPU D-Code Bus

AHB Slave

Decoder

DMA Bus

AHB Slave

Decoder

Arbiter Arbiter Arbiter Arbiter Arbiter Arbiter

DTCM0

DTCM1

Arbiter

SRAM0

Arbiter

SRAM1

Arbiter

SRAM2

Arbiter

SRAM3

Arbiter

SRAM4

SRAM5 SRAM6 SRAM7 SRAM8 SRAM9

The SRAM Interface translates requests from the CPU core and DMA controllers to the SRAM Memory Instances for instruction and data fetches. The SRAM interface is designed to return data in zero wait-

DS-A3-0p9p1

Page 171 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
states and can operate up to the maximum operating frequency of the CPU core. On Apollo3, the DTCM banks are guaranteed to be zero wait-state unless there is contention for that specific memory array with another requestor (CPU I/D Bus or DMA Bus). The Main SRAM banks are zero wait-state for sequential accesses or 1-wait state for non-sequential accesses for I/D Bus accesses unless there is contention for that specific memory array with another requestor (CPU I/D Bus or DMA Bus). DMA accesses to Main SRAM are always 0-wait state unless there is contention for that specific memory array. Prefetching is used on the I/D Bus accesses to Main SRAM to minimize/eliminate wait-state bubbles. Prefetching can be enabled/disabled for I and/or D Bus accesses.
The Interface contains arbitration logic for each SRAM instance which allows one of 2 bus slaves access to the SRAM on any given cycle.
Figure 8 shows a logical block diagram of the SRAM Interface.

DS-A3-0p9p1

Page 172 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
4. Security
4.1 Functional Overview
The Apollo3 Blue MCU includes the following security features:  Secure Boot  Secure OTA  Secure Key Storage  Key Revocation  AES128, SHA256  CRC32  External Flash Inline Encryption/Decryption More details on the Apollo3 Blue MCU security features are described in the Ambiq Apollo3 Blue MCU Security Whitepaper.
4.2 Secure Boot
The Secure Boot feature on the Apollo3 Blue MCU provides a secure foundation for customer firmware. The secure boot loader provides authentication, decryption and integrity validation for customer firmware on installation and boot/reset. Secure boot loader provides firmware recovery and OTA update support. Secure boot is configurable leveraging OTP to direct the secure boot loader based on the customer security requirements. The secure boot flow is illustrated in Figure 9.
Boot/Reset

Ambiq Secure Boot
Error
Loader Execution

ERROR

Secure OTA Update?

yes

Perform OTA updates

no Perform Dec/Auth
Error
Validation

ERROR

Customer Secure Firmware Execution
Figure 9. Secure Boot Flow

DS-A3-0p9p1

Page 173 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
4.3 Secure OTA
Apollo3 Blue MCU supports secure OTA leveraging the Ambiq secure boot loader. Customers can update any firmware component securely as directed via the security policy configuration in OTP. The basic flow is shown in Figure 10.
Initiate OTA

Download Secure Blob(s)

Register OTA Downloads with Secure
OTA Installer

Secure OTA

Verification/

Error

yes

Decryption/Installation

ERROR

Additional OTA Updates?
no
Initiate Secure Boot with New Image
Figure 10. Secure OTA Flow
4.4 Secure Key Storage
Key Storage is managed in hardware and provides secure access to keys as needed to support secure boot as well as any other runtime security operation. A customer key bank is provided and can be provisioned and allocated as required to support various configurations. It may also be necessary to initiate key revocation in the event a particular key is compromised, stale or needing to be refreshed. The Apollo3 Blue MCU provides key revocation for customer key bank keys as needed. The number of key revocations supported is dependent on the length of keys required and the partitioning/allocation of the key bank.
4.5 External Flash Inline Encrypt/Decrypt
External flash is supported on Apollo3 Blue MCU via the MSPI controller interface. The MSPI controller supports inline encrypt/decrypt to enable customers to securely store firmware or any other secure image data in external flash without concern of the firmware/data confidentiality being compromised.

DS-A3-0p9p1

Page 174 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
The Ambiq secure inline encrypt/decrypt provides robust, high performance and extremely low power protection for external flash contents. Ambiq's inline encrypt/decrypt enables truly inline capability that does not degrade performance when asking external flash. For more details on the inline support, See "MSPI Master Module" on page 216.

DS-A3-0p9p1

Page 175 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

5. DMA
5.1 Functional Overview
The Apollo3 Blue MCU supports DMA capability for the following peripheral controllers:
 SPI Master  I2C Master  PDM  ADC  MSPI  BLE  Security
DMA is supported from peripheral to SRAM and SRAM/Flash to peripheral. DMA transactions to/from SRAM occur concurrently to CPU instruction/data accesses as long as the accesses are to different physical banks of memory. Accesses to the same physical bank are arbitrated in hardware. Similarly, accesses to Flash occur concurrently to other DMA transactions to SRAM. CPU accesses (via cache miss or uncacheable access) are arbitrated with DMA accesses in hardware. There is hardware support to manage DMA request arbitration, physical memory resource arbitration, clocking and power management.
DMA configuration is programmed via the respective peripheral controller interface. Each peripheral has the same DMA capability with some minor exceptions where peripheral specific behavior is required. For example, for configuring the DMA transaction trigger, there are different trigger options for each peripheral depending on the mode of operation.
5.1.1 General Usage
The DMA controller is enabled at reset and no chip-level initialization is required (DMA may be disabled by clearing the DMA_ENABLE bit in the APBDMACTRL register in the CONTROL register block). The DMA controller automatically manages byte-aligned addresses in memory and non-word transfer lengths. While peripherals have the ability to DMA large blocks of data to/from memory, individual DMA transfers are performed at a granularity of 1-16 bytes per transfer.
To utilize DMA, software should program the peripheral's DMA control registers to enable data transfer to/ from the FIFOs that would normally have been done by software. DMA-capable peripherals have been updated with additional interrupts to notify software of transfer and DMA completion events. Each peripheral also has the following common registers:
 "DMATARGADDR: Specifies the SRAM or flash address for the start of the transfer. As the transfer proceeds, the peripheral will update this address to track the current DMA location in memory.
 "DMATOTCOUNT: Specifies the total number of bytes to be transferred to/from memory. This value will also decrement throughout the transfer.
 "DMABCOUNT: Specifies the DMA "burst" size or number of bytes to be transferred each time a DMA access is triggered in the peripheral. For most optimal efficiency, this should be set to 16 or 32 bytes which would correspond to one or two actual transactions to memory.
Each peripheral also has registers to control when DMA transfers are initiated. Upon reaching the DMA threshhold, the device will request a DMA transfer and the DMA engine will perform the required number of read/write operations to move the data to/from SRAM or flash memory. Peripherals will typically issue multiple DMA read/write operations to complete a longer DMA transfer and each peripheral has a few configuration options to help software manage the flow of data. For instance, a peripheral with a 16-word FIFO might be configured to transfer 4 words each time the FIFO reaches 4 entries while the CPU is awake in order to flush data as quickly as possible while during periods of deep-sleep, the peripheral may be configured to transfer 8-12 words at a time once the FIFO reaches 12-16 entries in order to minimize the wake time of the SRAM banks.

DS-A3-0p9p1

Page 176 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
5.1.2 Auto Power Down
The DMA-capable peripherals can be configured to automatically power down the respective peripheral device once the total DMA transaction is complete. This feature is particularly useful in cases where a device transaction can be queued up allowing the CPU to go into deep sleep while the transaction completes which could take a long time depending on the data rate of the device and/or the trigger conditions for sending/receiving data.
The auto power down mode is fully autonomous where not only is the peripheral device powered down but any associated memory is also replaced back into its lowest power state as applicable. The auto power down mode is enabled in the DMA_CFG register of the respective peripheral device register space.
5.1.3 Priority
Each DMA agent can be assigned a high priority or a "best effort" priority. This allows software to ensure a certain quality of service as required for the particular peripheral depending on the use case requirements. The peripheral also has safeguards to auto promote priority if its corresponding trigger levels are approaching critical levels. This is to ensure the respective peripheral does not overflow/underflow.
The priority settings as well as the auto promote feature are enabled in the DMA_CFG register of the respective peripheral device register space.
5.1.4 Hardware Handshake / Hardware Triggering
The IOM, BLE and MSPI peripherals include handshaking to allow coordination of data flow between the peripherals and system memory without CPU involvement by using the command queuing support in the peripheral. See the respective peripheral sections for details regarding command queuing and hardware triggering.

DS-A3-0p9p1

Page 177 of 909

2019 Ambiq Micro, Inc. All rights reserved.

6. BLE Module

Apollo3 Blue Datasheet

RC

XTAL

32MHz 32MHz

128kB ROM

42kB RAM

Pwr Mgt BLE 32b Controller

Cmd Queue
DMA
Bus Interface

Regs

RF

Modem Baseband Security

INTs

Figure 11. Block Diagram for the BLE Module
6.1 Functional Overview
6.1.1 Introduction
The Apollo3 Blue MCU includes a low power Bluetooth low energy subsystem. The BLE controller and host can be configured to support up to eight simultaneous connections. Secure connections and extended packet length are also supported.
The BLE subsystem contains a 2.4 GHz RF transceiver, modem, baseband and 32-bit processor. It supports an external 32 MHz crystal clock source as well as an internal 32 MHz RC oscillator clock source. The 32 MHz crystal is required as the frequency reference for the radio and also as the main clock source for the controller blocks. The internal 32 MHz RC can be used as a clock source for the RF processor if the requirements allow for lower precision and lower power operation. Driving an active clock into BLE crystal pins is not supported, as the crystal pins do not support active components.
The BLE subsystem provides a Host Controller Interface (HCI) to the host.
6.1.2 Main Features
The highlighted features of the BLE are as follows:
Bluetooth 5 Low Energy Technology
 Full on-chip HCI Transport Layer  Up to eight (8) simultaneous connections supported  Extended PDU length and enhanced security  AES-128 Hardware Encryption Engine
Secure Firmware Over-the-Air Updating
 Per application, function or configuration
High Performance RF
 -94 dBm Bluetooth low energy transceiver sensitivity, selectivity and blocking performance  -20 to +4 dBm transmitter output power range  TX: 3 mA @0dBm, RX: 3 mA

DS-A3-0p9p1

Page 178 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

 External Power Amplifier support  Integrated Balun and antenna matching network
6.2 Functional Description
The BLE subsystem is a fully integrated system providing autonomous clock and power management. The subsystem is accessed via the BLE interface block. Software leverages the fully HCI compliant interface for Bluetooth operation. A series of proprietary HCI commands are also leveraged to provide additional performance and low power operation.
The BLE subsystem must first be enabled by issuing an enable to the BLE feature enable register (Section 3.8.2.7 on page 128). The device is then enabled by setting the BLEL controller device enable field in the power controller device register (DEVPWREN Register in System Core chapter). Once the BLEL domain is powered up through the BLEL enable, software can enable the power state machine within the BLE interface module to allow the BLEH power domain to be activated.
Communication between the BLE core and the MCU is done through the BLE interface (BLEIF) module. This module uses a similar interface as the IOM module. This module will facilitate the data transfer to and from the BLE core and supports direct and DMA data transfer mechanisms. The module also contains the power sequencing logic to control the power domains used for the BLE Core. This logic will control the initial power on, as well as power down of domains during sleep mode automatically.
The BLEIF contains flow control mechanisms that allow write transactions under control of the BSTATUS signal from the BLE core, and will similarly gate read transactions using the BLEIRQ signal from the BLE Core. These are enabled via the BLEIF_MSPICFG register fields of RDFC and WTFC.
The BLE subsystem will automatically enter into a low power sleep mode when no active commands are issued and no active Tx/Rx events.
6.2.1 Data Transfers
Data transfers to and from the BLE core are done using HCI packets. The HCI packet structure is used for both data input and output, For event frames read from the BLE Core, an optional mode is available to prepend a 2 byte length to the start of the packet. This mode is enabled with a vendor specific command.
The HCI commands and packet formats are detailed in the Bluetooth specification, version 4.2, volume 2, part E, sections 7.8.1 through 7.8.46 (LE Controller commands). Additional vendor specific commands are also available for operations such as setting the frame mode, setting sleep mode and other BLE Core specific commands.
6.2.1.1 DMA data transfers
DMA transfers are enabled by configuring the DMA related registers, enabling the DMA channel, and then issuing the command. The command will automatically fetch and store the data associated with the command without MCU intervention. The DMA channel is enabled via the DMAEN field in the REG_BLEIF_DMACFG register.P2M DMA operations transfer data from peripheral to memory, and are used in BLEIF READ operations. M2P DMA operations transfer data from memory to peripheral, and are used in BLEIF write operations. DMA transfer size is programmed into the REG_BLEIF_DMATOTCOUNT register and supports up to 4095 bytes of data transfer. The DMA transfer size is independent from the transaction size, and allows a single DMA setting to be used across multiple commands. The direction of DMA data transfer must match the command. The DMAEN field in the REG_BLEIF_DMACFG register enables/disables the DMA transfer capability and must be set last when configuring the DMA, generally prior to sending the command.
The DMA engine within the module will initiate a transfer of data when a trigger event occurs. There are 2 type of triggers available, threshold (THR) and command completion (CMDCMP). The THR trigger will activate when the threshold programmed into the FIFOWTHR or FIFORTHR in the REG_BLEIF_FIFOTHR

DS-A3-0p9p1

Page 179 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
register meets the data criteria. Because the MCU access to the interface is 32b wide, only the word count of the selected THR is used, and the low order bits of the FIFOWTHR or FIFORTHR are ignored.
During the transfer, the TOTCOUNT register is decremented to reflect the number of bytes transferred.
For BLE write operations (data written from BLEIF into the BLE Core), the THR trigger will activate when the write FIFO contains FIFOWTHR[5:2] free words. If the remaining DMA transfer size is less than this, only the needed number of words are transferred.
For BLE read operations (data read from BLE Core from the BLEIF), the THR trigger will activate when the read FIFO contains FIFORTHR[5:2] words of valid data. If the remaining DMA transfer size is less than the RTHR words, then the CMDCMP trigger can be enabled to transfer the remaining data. If the CMDCMP trigger is disabled, and the number of bytes in the read FIFO is greater to or equal to the current TOTCOUNT, a DMA transfer of TOTCOUNT will be done to complete the DMA operation. Note that this mode requires that the THR trigger be enabled as well.
The CMDCMP trigger activates when the command is complete, and will transfer the lesser of the TOTCOUNT or the number of bytes in the read FIFO. Note, this trigger is not needed for write operations, and the THR trigger should be used in this case. If a read operation is done, and the THR trigger is disabled, and only the CMDCMP trigger is enabled, and the transaction size is greater than the FIFO size (32 bytes), the module will hang, as there is not trigger to cause a DMA operation, and the logic will pause the interface until there is room within the read FIFO to store data.
If DMA transfer size is matched to the BLEIF transaction size, it is recommended to program both the FIFORTHR and FIFOWTHR to 0x10 (16 bytes) and only enable the THR trigger.
6.2.1.2 Command Queue
The BLEIF module can also fetch register write data from SRAM or FLASH, and update the registers as if the write was performed via the MCU. Register data is stored as a doublet of 2 words. The first word is the register address offset, word aligned. The second word is the write data value. Once enabled, the command queue (CQ) will fetch the address, and perform a write to the register If no command is started by the register write, the next doublet will be fetched by the CQ. If a command is started, the transaction will run, and the CQ will continue fetching when the module is idle. No pre-fetching is done via the CQ, and the register write operations are performed in series with the transactions. This allows a predictable path for execution of commands.
6.3 BLEIF Registers
BLE Interface
INSTANCE 0 BASE ADDRESS:0x5000C000
Registers associated with the BLE Core interface module. The BLEIF module is used to interface with the embedded BLE Core module and supports read and write transactions to the BLE Core. It also contains the power sequencing control which will switch the BLEH power to the BLE core when needed. The registers control the speed of the interface, mode of operation and other parameters for the transaction. It is recommended to run at 16MHz with a mode of 3 on the SPI interface. Prior to use and access, the BLE module domain must be powered up through registers within the power control module. Once powered, the power state machine must be enabled to allow power control of the BLE Core module.

DS-A3-0p9p1

Page 180 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

6.3.1 Register Memory Map

Table 250: BLEIF Register Map

Address(es)
0x5000C000 0x5000C100 0x5000C104 0x5000C108 0x5000C10C 0x5000C110 0x5000C114 0x5000C200 0x5000C20C 0x5000C210 0x5000C214 0x5000C218 0x5000C220 0x5000C224 0x5000C228 0x5000C22C 0x5000C230 0x5000C234 0x5000C238 0x5000C23C 0x5000C240 0x5000C244 0x5000C248 0x5000C24C 0x5000C250 0x5000C254 0x5000C258 0x5000C25C

Register Name
FIFO FIFOPTR FIFOTHR FIFOPOP FIFOPUSH FIFOCTRL FIFOLOC CLKCFG CMD CMDRPT OFFSETHI CMDSTAT INTEN INTSTAT INTCLR INTSET DMATRIGEN DMATRIGSTAT DMACFG DMATOTCOUNT DMATARGADDR DMASTAT CQCFG CQADDR CQSTAT CQFLAGS CQSETCLEAR CQPAUSEEN

0x5000C260 CQCURIDX

0x5000C264 CQENDIDX

0x5000C268 0x5000C300 0x5000C304

STATUS MSPICFG BLECFG

Description
FIFO Access Port FIFO size and remaining slots open values FIFO Threshold Configuration FIFO POP register FIFO PUSH register FIFO Control Register FIFO Pointers I/O Clock Configuration Command and offset Register Command Repeat Register High order offset bytes Command status IO Master Interrupts: Enable IO Master Interrupts: Status IO Master Interrupts: Clear IO Master Interrupts: Set DMA Trigger Enable Register DMA Trigger Status Register DMA Configuration Register DMA Total Transfer Count DMA Target Address Register DMA Status Register Command Queue Configuration Register CQ Target Read Address Register Command Queue Status Register Command Queue Flag Register Command Queue Flag Set/Clear Register Command Queue Pause Enable Register IOM Command Queue current index value. Compared to the CQENDIDX reg contents to generate the IDXEQ Pause event for command queue IOM Command Queue current index value. Compared to the CQCURIDX reg contents to generate the IDXEQ Pause event for command queue IOM Module Status Register SPI module master configuration BLE Core Control

DS-A3-0p9p1

Page 181 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 250: BLEIF Register Map

Address(es) 0x5000C308 0x5000C30C 0x5000C410

Register Name PWRCMD BSTATUS BLEDBG

Description BLE Power command interface BLE Core status BLEIF Master Debug Register

DS-A3-0p9p1

Page 182 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

6.3.2 BLEIF Registers
6.3.2.1 FIFO Register
FIFO Access Port OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x5000C000 Provides direct random access to both input and output fifos. The state of the FIFO is not disturbed by reading these locations (i.e., no POP will be done). FIFO0 is accessible from addresses 0x0 - 0x1C, and is used for data output from the IOM to external devices. These FIFO locations can be read and written directly.
Table 251: FIFO Register
33222222222211111111110000000000 10987654321098765432109876543210
FIFO

Bit

Name

31:0

FIFO

Table 252: FIFO Register Bits

Reset 0x0

RW

Description

RW FIFO direct access. Only locations 0 - 3F will return valid information.

6.3.2.2 FIFOPTR Register
FIFO size and remaining slots open values
OFFSET: 0x00000100
INSTANCE 0 ADDRESS: 0x5000C100
Provides the current valid byte count of data within the FIFO as seen from the internal state machines. FIFO0 is dedicated to outgoing transactions and FIFO1 is dedicated to incoming transactions. All counts are specified in units of bytes.

Table 253: FIFOPTR Register

33222222222211111111110000000000 10987654321098765432109876543210

FIFO1REM

FIFO1SIZ

FIFO0REM

FIFO0SIZ

DS-A3-0p9p1

Page 183 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:24

Name FIFO1REM

23:16

FIFO1SIZ

15:8

FIFO0REM

7:0

FIFO0SIZ

Table 254: FIFOPTR Register Bits

Reset 0x0

RW

Description

The number of remaining data bytes slots currently in FIFO 1 (written by RO interface, read by MCU)

The number of valid data bytes currently in FIFO 1 (written by interface,

0x0

RO read by MCU)

The number of remaining data bytes slots currently in FIFO 0 (written by

0x0

RO MCU, read by interface)

The number of valid data bytes currently in the FIFO 0 (written by MCU,

0x0

RO read by interface)

6.3.2.3 FIFOTHR Register
FIFO Threshold Configuration
OFFSET: 0x00000104
INSTANCE 0 ADDRESS: 0x5000C104
Sets the threshold values for incoming and outgoing transactions. The threshold values are used to assert the interrupt if enabled, and also used during DMA to set the transfer size as a result of DMATHR trigger.

Table 255: FIFOTHR Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

FIFOWTHR

FIFORTHR

RSVD

Bit 31:14

Name RSVD

13:8

FIFOWTHR

7:6

RSVD

Table 256: FIFOTHR Register Bits

Reset 0x0

RW RO RESERVED

Description

FIFO write threshold in bytes. A value of 0 will disable the write FIFO level

from activating the threshold interrupt. If this field is non-zero, it will trigger a

threshold interrupt when the write fifo contains FIFOWTHR free bytes, as

0x0

RW indicated by the FIFO0REM field. This is intended to signal when a transfer

of FIFOWTHR bytes can be done from the host to the IOM write fifo to sup-

port large IOM write operations.

0x0

RO RESERVED

DS-A3-0p9p1

Page 184 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

5:0

FIFORTHR

Table 256: FIFOTHR Register Bits

Reset 0x0

RW

Description

FIFO read threshold in bytes. A value of 0 will disable the read FIFO level from activating the threshold interrupt. If this field is non-zero, it will trigger a threshold interrupt when the read fifo contains FIFORTHR valid bytes of RW data, as indicated by the FIFO1SIZ field. This is intended to signal when a data transfer of FIFORTHR bytes can be done from the IOM module to the host via the read fifo to support large IOM read operations.

6.3.2.4 FIFOPOP Register
FIFO POP register OFFSET: 0x00000108 INSTANCE 0 ADDRESS: 0x5000C108 Will advance the internal read pointer of the incoming FIFO (FIFO1) when read, if POPWR is not active. If POPWR is active, a write to this register is needed to advance the internal FIFO pointer.

Table 257: FIFOPOP Register
33222222222211111111110000000000 10987654321098765432109876543210
FIFODOUT

Bit

Name

31:0

FIFODOUT

Table 258: FIFOPOP Register Bits

Reset 0x0

RW

Description

This register will return the read data indicated by the current read pointer

RW

on reads. If the POPWR control bit in the FIFOCTRL register is reset (0), the fifo read pointer will be advanced by one word as a result of the read.

6.3.2.5 FIFOPUSH Register
FIFO PUSH register OFFSET: 0x0000010C INSTANCE 0 ADDRESS: 0x5000C10C Will write new data into the outgoing FIFO and advance the internal write pointer.

Table 259: FIFOPUSH Register
33222222222211111111110000000000 10987654321098765432109876543210
FIFODIN

DS-A3-0p9p1

Page 185 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

FIFODIN

Table 260: FIFOPUSH Register Bits

Reset 0x0

RW

Description

This register is used to write the FIFORAM in FIFO mode and will cause a

RW

push event to occur to the next open slot within the FIFORAM. Writing to this register will cause the write point to increment by 1 word(4 bytes).

6.3.2.6 FIFOCTRL Register
FIFO Control Register OFFSET: 0x00000110 INSTANCE 0 ADDRESS: 0x5000C110 Provides controls for the operation of the internal FIFOs. Contains fields used to control the operation of the POP register, and also controls to reset the internal pointers of the FIFOs.

Table 261: FIFOCTRL Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

FIFORSTN POPWR

Bit

Name

31:2

RSVD

1

FIFORSTN

0

POPWR

Table 262: FIFOCTRL Register Bits

Reset 0x0

RW RO RESERVED

Description

Active low manual reset of the fifo. Write to 0 to reset fifo, and then write to 1

0x1

RW to remove the reset.

Selects the mode in which 'pop' events are done for the fifo read operations.

0x0

RW

A value of '1' will prevent a pop event on a read operation, and will require a write to the FIFOPOP register to create a pop event.

6.3.2.7 FIFOLOC Register
FIFO Pointers
OFFSET: 0x00000114
INSTANCE 0 ADDRESS: 0x5000C114
Provides a read only value of the current read and write pointers. This register is read only and can be used along with the FIFO direct access method to determine the next data to be used for input and output functions.

DS-A3-0p9p1

Page 186 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 263: FIFOLOC Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

FIFORPTR FIFOWPTR

Bit 31:12

Name RSVD

11:8

FIFORPTR

7:4

RSVD

3:0

FIFOWPTR

Table 264: FIFOLOC Register Bits

Reset 0x0

RW RO Reserved

Description

Current FIFO read pointer. Used to index into the incoming FIFO (FIFO1),

0x0

RW

which is used to store read data returned from external devices during a read operation.

0x0

RO Reserved

Current FIFO write pointer. Value is the index into the outgoing FIFO

0x0

RW (FIFO0), which is used during write operations to external devices.

6.3.2.8 CLKCFG Register
I/O Clock Configuration
OFFSET: 0x00000200
INSTANCE 0 ADDRESS: 0x5000C200
Provides clock related controls used internal to the BLEIF module, and enablement of 32KHz clock to the BLE Core module. The internal clock sourced is selected via the FSEL and can be further divided by 3 using the DIV3 control.

Table 265: CLKCFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

FSEL

RSVD

DIV3 CLK32KEN IOCLKEN

DS-A3-0p9p1

Page 187 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:13
12 11

Name RSVD DIV3 CLK32KEN

10:8

FSEL

7:1

RSVD

0

IOCLKEN

Table 266: CLKCFG Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Enable of the divide by 3 of the source IOCLK.

0x0

RW Enable for the 32Khz clock to the BLE module

Select the input clock frequency.

MIN_PWR = 0x0 - Selects the minimum power clock. This setting should be

used whenever the IOM is not active.

HFRC = 0x1 - Selects the HFRC as the input clock.

0x0

RW HFRC_DIV2 = 0x2 - Selects the HFRC / 2 as the input clock.

HFRC_DIV4 = 0x3 - Selects the HFRC / 4 as the input clock.

HFRC_DIV8 = 0x4 - Selects the HFRC / 8 as the input clock.

HFRC_DIV16 = 0x5 - Selects the HFRC / 16 as the input clock.

HFRC_DIV32 = 0x6 - Selects the HFRC / 32 as the input clock.

HFRC_DIV64 = 0x7 - Selects the HFRC / 64 as the input clock.

0x0

RO RESERVED

Enable for the interface clock. Must be enabled prior to executing any IO

0x0

RW operations.

6.3.2.9 CMD Register
Command and offset Register OFFSET: 0x0000020C INSTANCE 0 ADDRESS: 0x5000C20C Writes to this register will start an IO transaction, as well as set various parameters for the command itself. Reads will return the command value written to the CMD register.

Table 267: CMD Register
33222222222211111111110000000000 10987654321098765432109876543210

OFFSETLO

TSIZE

CMD

RSRVD54 CMDSEL
CONT OFFSETCNT

DS-A3-0p9p1

Page 188 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:24

OFFSETLO

Table 268: CMD Register Bits

Reset 0x0

RW

Description

This register holds the low order byte of offset to be used in the transaction.

RW

The number of offset bytes to use is set with bits 1:0 of the command. Offset bytes are transferred starting from the highest byte first.

23:22 21:20 19:8

RSRVD54 CMDSEL
TSIZE

0x0

RO Reserved

0x0

RW Command Specific selection information

Defines the transaction size in bytes. The offset transfer is not included in

0x0

RW this size.

7

CONT

Continue to hold the bus after the current transaction if set to a 1 with a new

0x0

RW command issued.

6:5

OFFSETCNT

Number of offset bytes to use for the command - 0, 1, 2, 3 are valid selec-

tions. The second (byte 1) and third byte (byte 2) are read from the

0x0

RW OFFSETHI register, and the low order byte is pulled from this register in the

OFFSETLO field.

4:0

CMD

Command for submodule.

0x0

RW

WRITE = 0x1 - Write command using count of offset bytes specified in the OFFSETCNT field

READ = 0x2 - Read command using count of offset bytes specified in the

OFFSETCNT field

6.3.2.10 CMDRPT Register
Command Repeat Register
OFFSET: 0x00000210
INSTANCE 0 ADDRESS: 0x5000C210
Will repeat the next command for CMDRPT number of times. If CMDRPT is set to 1, the next command will be done 2 times in series. A repeat count of up to 31 is possible. Each command will be done as a separate command, but the data will

Table 269: CMDRPT Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CMDRPT

DS-A3-0p9p1

Page 189 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:5

RSVD

4:0

CMDRPT

Table 270: CMDRPT Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Count of number of times to repeat the next command.

6.3.2.11 OFFSETHI Register
High order offset bytes
OFFSET: 0x00000214
INSTANCE 0 ADDRESS: 0x5000C214
Provides the high order bytes of 2 or 3 byte offset transactions of the current command. Usage of these bytes is dependent on the offsetcnt field in the CMD register. If the offsetcnt == 3, the data located at OFFSETHI[15:0] will first be transmitted,

Table 271: OFFSETHI Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

OFFSETHI

Bit 31:16 15:0

Name RSVD OFFSETHI

Table 272: OFFSETHI Register Bits

Reset 0x0

RW RO Reserved

Description

0x0

RW Holds the high order bytes of the 2 or 3 byte offset phase of a transaction.

6.3.2.12 CMDSTAT Register
Command status OFFSET: 0x00000218 INSTANCE 0 ADDRESS: 0x5000C218 Provides status on the execution of the command currently in progress. The fields in this register will reflect the real time status of the internal state machines and data transfers within the IOM.

DS-A3-0p9p1

Page 190 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 273: CMDSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210

RSRVD0

CTSIZE

CCMD

CMDSTAT

Bit 31:20 19:8

Name RSRVD0 CTSIZE

7:5

CMDSTAT

4:0

CCMD

Table 274: CMDSTAT Register Bits

Reset 0x0

RW RO Reserved

Description

The current number of bytes still to be transferred with this command. This

0x0

RO field will count down to zero.

The current status of the command execution.

0x0

RO

ERR = 0x1 - Error encountered with command ACTIVE = 0x2 - Actively processing command

IDLE = 0x4 - Idle state, no active command, no error

WAIT = 0x6 - Command in progress, but waiting on data from host

0x0

RO current command that is being executed

6.3.2.13 INTEN Register
IO Master Interrupts: Enable OFFSET: 0x00000220 INSTANCE 0 ADDRESS: 0x5000C220 Set bits in this register to allow this module to generate the corresponding interrupt.

Table 275: INTEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

B2MSHUTDN B2MACTIVE B2MSLEEP
CQERR CQUPD CQPAUSED DERR DCMP BLECSSTAT BLECIRQ
ICMD IACC B2MST FOVFL FUNDFL THR CMDCMP

DS-A3-0p9p1

Page 191 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:17

Name RSVD

16

B2MSHUTDN

15

B2MACTIVE

14

B2MSLEEP

13

CQERR

12

CQUPD

11

CQPAUSED

10

DERR

9

DCMP

8

BLECSSTAT

7

BLECIRQ

6

ICMD

5

IACC

Table 276: INTEN Register Bits

Reset 0x0

RW RO RESERVED

Description

Revision A: The B2M_STATE from the BLE Core transitioned into shutdown

state.

0x0

RW Revision B: Falling BLE Core Status signal. Asserted when the BLE_STA-

TUS signal from the BLE Core is de-asserted (1 -> 0)

Revision A: The B2M_STATE from the BLE Core transitioned into the active

state.

0x0

RW Revision B: Falling BLE Core IRQ signal. Asserted when the BLE_IRQ sig-

nal from the BLE Core is de-asserted (1 -> 0)

0x0

RW The B2M_STATE from the BLE Core transitioned into the sleep state

Command queue error during processing. When an error occurs, the sys-

0x0

RW

tem will stop processing and halt operations to allow software to take recovery actions

Command queue write operation executed a register write with the register

address bit 0 set to 1. The low address bits in the CQ address fields are

0x0

RW unused and bit 0 can be used to trigger an interrupt to indicate when this

register write is performed by the CQ operation.

Command queue is paused due to an active event enabled in the PAU-

SEEN register. The interrupt is posted when the event is enabled within the

0x0

RW PAUSEEN register, the mask is active in the CQIRQMASK field and the

event occurs.

DMA Error encountered during the processing of the DMA command. The

0x0

RW

DMA error could occur when the memory access specified in the DMA operation is not available or incorrectly specified.

DMA Complete. Processing of the DMA operation has completed and the

0x0

RW DMA submodule is returned into the idle state

BLE Core SPI Status interrupt. Asserted when the SPI_STATUS signal from

0x0

RW

the BLE Core is asserted, indicating that SPI writes can be done to the BLE Core.

BLE Core IRQ signal. Asserted when the BLE_IRQ signal from the BLE

0x0

RW Core is asserted, indicating the availability of read data from the BLE Core.

illegal command interrupt. Asserted when a command is written when an

0x0

RW active command is in progress.

illegal FIFO access interrupt. Asserted when there is a overflow or under-

0x0

RW flow event

DS-A3-0p9p1

Page 192 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

4

B2MST

3

FOVFL

2

FUNDFL

1

THR

0

CMDCMP

Table 276: INTEN Register Bits

Reset 0x0

RW

Description

B2M State change interrupt. Asserted on any change in the B2M_STATE RW signal from the BLE Core.

Write FIFO Overflow interrupt. This occurs when software tries to write to a

0x0

RW full fifo. The current operation does not stop.

Read FIFO Underflow interrupt. Asserted when a pop operation is done to a

0x0

RW empty read FIFO.

FIFO Threshold interrupt. For write operations, asserted when the number

0x0

RW of free bytes in the write FIFO equals or exceeds the WTHR field.

Command Complete interrupt. Asserted when the current operation has

0x0

RW

completed. For repeated commands, this will only be asserted when the final repeated command is completed.

6.3.2.14 INTSTAT Register
IO Master Interrupts: Status OFFSET: 0x00000224 INSTANCE 0 ADDRESS: 0x5000C224 Read bits from this register to discover the cause of a recent interrupt.

Table 277: INTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

B2MSHUTDN B2MACTIVE B2MSLEEP
CQERR CQUPD CQPAUSED DERR DCMP BLECSSTAT BLECIRQ
ICMD IACC B2MST FOVFL FUNDFL THR CMDCMP

Bit 31:17

Name RSVD

16

B2MSHUTDN

Table 278: INTSTAT Register Bits

Reset 0x0

RW RO RESERVED

Description

Revision A: The B2M_STATE from the BLE Core transitioned into shutdown

state.

0x0

RW Revision B: Falling BLE Core Status signal. Asserted when the BLE_STA-

TUS signal from the BLE Core is de-asserted (1 -> 0)

DS-A3-0p9p1

Page 193 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

15

B2MACTIVE

14

B2MSLEEP

13

CQERR

12

CQUPD

11

CQPAUSED

10

DERR

9

DCMP

8

BLECSSTAT

7

BLECIRQ

6

ICMD

5

IACC

4

B2MST

3

FOVFL

2

FUNDFL

Table 278: INTSTAT Register Bits

Reset 0x0

RW

Description

Revision A: The B2M_STATE from the BLE Core transitioned into the active state. RW Revision B: Falling BLE Core IRQ signal. Asserted when the BLE_IRQ signal from the BLE Core is de-asserted (1 -> 0)

0x0

RW The B2M_STATE from the BLE Core transitioned into the sleep state

Command queue error during processing. When an error occurs, the sys-

0x0

RW

tem will stop processing and halt operations to allow software to take recovery actions

Command queue write operation executed a register write with the register

address bit 0 set to 1. The low address bits in the CQ address fields are

0x0

RW unused and bit 0 can be used to trigger an interrupt to indicate when this

register write is performed by the CQ operation.

Command queue is paused due to an active event enabled in the PAU-

SEEN register. The interrupt is posted when the event is enabled within the

0x0

RW PAUSEEN register, the mask is active in the CQIRQMASK field and the

event occurs.

DMA Error encountered during the processing of the DMA command. The

0x0

RW

DMA error could occur when the memory access specified in the DMA operation is not available or incorrectly specified.

DMA Complete. Processing of the DMA operation has completed and the

0x0

RW DMA submodule is returned into the idle state

BLE Core SPI Status interrupt. Asserted when the SPI_STATUS signal from

0x0

RW

the BLE Core is asserted, indicating that SPI writes can be done to the BLE Core.

BLE Core IRQ signal. Asserted when the BLE_IRQ signal from the BLE

0x0

RW Core is asserted, indicating the availability of read data from the BLE Core.

illegal command interrupt. Asserted when a command is written when an

0x0

RW active command is in progress.

illegal FIFO access interrupt. Asserted when there is a overflow or under-

0x0

RW flow event

B2M State change interrupt. Asserted on any change in the B2M_STATE

0x0

RW signal from the BLE Core.

Write FIFO Overflow interrupt. This occurs when software tries to write to a

0x0

RW full fifo. The current operation does not stop.

Read FIFO Underflow interrupt. Asserted when a pop operation is done to a

0x0

RW empty read FIFO.

DS-A3-0p9p1

Page 194 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

1

THR

0

CMDCMP

Table 278: INTSTAT Register Bits

Reset 0x0

RW

Description

FIFO Threshold interrupt. For write operations, asserted when the number RW of free bytes in the write FIFO equals or exceeds the WTHR field.

Command Complete interrupt. Asserted when the current operation has

0x0

RW

completed. For repeated commands, this will only be asserted when the final repeated command is completed.

6.3.2.15 INTCLR Register
IO Master Interrupts: Clear OFFSET: 0x00000228 INSTANCE 0 ADDRESS: 0x5000C228 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.

Table 279: INTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

B2MSHUTDN B2MACTIVE B2MSLEEP
CQERR CQUPD CQPAUSED DERR DCMP BLECSSTAT BLECIRQ
ICMD IACC B2MST FOVFL FUNDFL THR CMDCMP

Bit 31:17

Name RSVD

16

B2MSHUTDN

15

B2MACTIVE

14

B2MSLEEP

13

CQERR

Table 280: INTCLR Register Bits

Reset 0x0

RW RO RESERVED

Description

Revision A: The B2M_STATE from the BLE Core transitioned into shutdown

state.

0x0

RW Revision B: Falling BLE Core Status signal. Asserted when the BLE_STA-

TUS signal from the BLE Core is de-asserted (1 -> 0)

Revision A: The B2M_STATE from the BLE Core transitioned into the active

state.

0x0

RW Revision B: Falling BLE Core IRQ signal. Asserted when the BLE_IRQ sig-

nal from the BLE Core is de-asserted (1 -> 0)

0x0

RW The B2M_STATE from the BLE Core transitioned into the sleep state

Command queue error during processing. When an error occurs, the sys-

0x0

RW

tem will stop processing and halt operations to allow software to take recovery actions

DS-A3-0p9p1

Page 195 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

12

CQUPD

11

CQPAUSED

10

DERR

9

DCMP

8

BLECSSTAT

7

BLECIRQ

6

ICMD

5

IACC

4

B2MST

3

FOVFL

2

FUNDFL

1

THR

0

CMDCMP

Table 280: INTCLR Register Bits

Reset 0x0

RW

Description

Command queue write operation executed a register write with the register address bit 0 set to 1. The low address bits in the CQ address fields are RW unused and bit 0 can be used to trigger an interrupt to indicate when this register write is performed by the CQ operation.

Command queue is paused due to an active event enabled in the PAU-

SEEN register. The interrupt is posted when the event is enabled within the

0x0

RW PAUSEEN register, the mask is active in the CQIRQMASK field and the

event occurs.

DMA Error encountered during the processing of the DMA command. The

0x0

RW

DMA error could occur when the memory access specified in the DMA operation is not available or incorrectly specified.

DMA Complete. Processing of the DMA operation has completed and the

0x0

RW DMA submodule is returned into the idle state

BLE Core SPI Status interrupt. Asserted when the SPI_STATUS signal from

0x0

RW

the BLE Core is asserted, indicating that SPI writes can be done to the BLE Core.

BLE Core IRQ signal. Asserted when the BLE_IRQ signal from the BLE

0x0

RW Core is asserted, indicating the availability of read data from the BLE Core.

illegal command interrupt. Asserted when a command is written when an

0x0

RW active command is in progress.

illegal FIFO access interrupt. Asserted when there is a overflow or under-

0x0

RW flow event

B2M State change interrupt. Asserted on any change in the B2M_STATE

0x0

RW signal from the BLE Core.

Write FIFO Overflow interrupt. This occurs when software tries to write to a

0x0

RW full fifo. The current operation does not stop.

Read FIFO Underflow interrupt. Asserted when a pop operation is done to a

0x0

RW empty read FIFO.

FIFO Threshold interrupt. For write operations, asserted when the number

0x0

RW of free bytes in the write FIFO equals or exceeds the WTHR field.

Command Complete interrupt. Asserted when the current operation has

0x0

RW

completed. For repeated commands, this will only be asserted when the final repeated command is completed.

6.3.2.16 INTSET Register
IO Master Interrupts: Set OFFSET: 0x0000022C

DS-A3-0p9p1

Page 196 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
INSTANCE 0 ADDRESS: 0x5000C22C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).
Table 281: INTSET Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

B2MSHUTDN B2MACTIVE B2MSLEEP
CQERR CQUPD CQPAUSED DERR DCMP BLECSSTAT BLECIRQ
ICMD IACC B2MST FOVFL FUNDFL THR CMDCMP

Bit 31:17

Name RSVD

16

B2MSHUTDN

15

B2MACTIVE

14

B2MSLEEP

13

CQERR

12

CQUPD

11

CQPAUSED

10

DERR

Table 282: INTSET Register Bits

Reset 0x0

RW RO RESERVED

Description

Revision A: The B2M_STATE from the BLE Core transitioned into shutdown

state

0x0

RW Revision B: Falling BLE Core Status signal. Asserted when the BLE_STA-

TUS signal from the BLE Core is de-asserted (1 -> 0)

Revision A: The B2M_STATE from the BLE Core transitioned into the active

state.

0x0

RW Revision B: Falling BLE Core IRQ signal. Asserted when the BLE_IRQ sig-

nal from the BLE Core is de-asserted (1 -> 0)

0x0

RW The B2M_STATE from the BLE Core transitioned into the sleep state

Command queue error during processing. When an error occurs, the sys-

0x0

RW

tem will stop processing and halt operations to allow software to take recovery actions

Command queue write operation executed a register write with the register

address bit 0 set to 1. The low address bits in the CQ address fields are

0x0

RW unused and bit 0 can be used to trigger an interrupt to indicate when this

register write is performed by the CQ operation.

Command queue is paused due to an active event enabled in the PAU-

SEEN register. The interrupt is posted when the event is enabled within the

0x0

RW PAUSEEN register, the mask is active in the CQIRQMASK field and the

event occurs.

DMA Error encountered during the processing of the DMA command. The

0x0

RW

DMA error could occur when the memory access specified in the DMA operation is not available or incorrectly specified.

DS-A3-0p9p1

Page 197 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

9

DCMP

8

BLECSSTAT

7

BLECIRQ

6

ICMD

5

IACC

4

B2MST

3

FOVFL

2

FUNDFL

1

THR

0

CMDCMP

Table 282: INTSET Register Bits

Reset 0x0

RW

Description

DMA Complete. Processing of the DMA operation has completed and the RW DMA submodule is returned into the idle state

BLE Core SPI Status interrupt. Asserted when the SPI_STATUS signal from

0x0

RW

the BLE Core is asserted, indicating that SPI writes can be done to the BLE Core.

BLE Core IRQ signal. Asserted when the BLE_IRQ signal from the BLE

0x0

RW Core is asserted, indicating the availability of read data from the BLE Core.

illegal command interrupt. Asserted when a command is written when an

0x0

RW active command is in progress.

illegal FIFO access interrupt. Asserted when there is a overflow or under-

0x0

RW flow event

B2M State change interrupt. Asserted on any change in the B2M_STATE

0x0

RW signal from the BLE Core.

Write FIFO Overflow interrupt. This occurs when software tries to write to a

0x0

RW full fifo. The current operation does not stop.

Read FIFO Underflow interrupt. Asserted when a pop operation is done to a

0x0

RW empty read FIFO.

FIFO Threshold interrupt. For write operations, asserted when the number

0x0

RW of free bytes in the write FIFO equals or exceeds the WTHR field.

Command Complete interrupt. Asserted when the current operation has

0x0

RW

completed. For repeated commands, this will only be asserted when the final repeated command is completed.

6.3.2.17 DMATRIGEN Register
DMA Trigger Enable Register OFFSET: 0x00000230 INSTANCE 0 ADDRESS: 0x5000C230 Provides control on which event will trigger the DMA transfer after the DMA operation is setup and enabled. The trigger event will cause a number of bytes (depending on trigger event) to be

DS-A3-0p9p1

Page 198 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 283: DMATRIGEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DTHREN DCMDCMPEN

Bit

Name

31:2

RSVD

1

DTHREN

0

DCMDCMPEN

Table 284: DMATRIGEN Register Bits

Reset 0x0

RW RO RESERVED.

Description

Trigger DMA upon THR level reached. For M2P DMA operations (IOM

0x0

RW

writes), the trigger will assert when the write FIFO has (WTHR/4) number of words free in the write FIFO, and will transfer (WTHR/4) number of words

Trigger DMA upon command complete. Enables the trigger of the DMA

when a command is completed. When this event is triggered, the number of

words transferred will be the lesser of the remaining TOTCOUNT bytes, or

0x0

RW

the number of bytes in the FIFO when the command completed. If this is disabled, and the number of bytes in the FIFO is equal or greater than the

TOTCOUNT bytes, a transfer of TOTCOUNT bytes will be done to ensure

read data is stored when the DMA is completed.

6.3.2.18 DMATRIGSTAT Register
DMA Trigger Status Register OFFSET: 0x00000234 INSTANCE 0 ADDRESS: 0x5000C234 Provides the status of trigger events that have occurred for the transaction. Some of the bits are read only and some can be reset via a write of 0.

Table 285: DMATRIGSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DTOTCMP DTHR
DCMDCMP

DS-A3-0p9p1

Page 199 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:3

RSVD

2

DTOTCMP

1

DTHR

0

DCMDCMP

Table 286: DMATRIGSTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

DMA triggered when DCMDCMP = 0, and the amount of data in the FIFO

was enough to complete the DMA operation (greater than or equal to cur-

0x0

RO rent TOTCOUNT) when the command completed. This trigger is default

active when the DCMDCMP trigger is

Triggered DMA from THR event. Bit is read only and can be cleared by dis-

0x0

RO abling the DTHR trigger enable or by disabling DMA.

Triggered DMA from Command complete event. Bit is read only and can

0x0

RO be cleared by disabling the DCMDCMP trigger enable or by disabling DMA.

6.3.2.19 DMACFG Register
DMA Configuration Register OFFSET: 0x00000238 INSTANCE 0 ADDRESS: 0x5000C238 Configuration control of the DMA process, including the direction of DMA, and enablement of DMA

Table 287: DMACFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

DPWROFF DMAPRI DMADIR DMAEN

Bit 31:10

Name RSVD

9

DPWROFF

8

DMAPRI

DS-A3-0p9p1

Table 288: DMACFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Power off module after DMA is complete. If this bit is active, the module will

request to power off the supply it is attached to. If there are other units still

0x0

RW requiring power from the same domain, power down will not be performed.

DIS = 0x0 - Power off disabled EN = 0x1 - Power off enabled

Sets the Priority of the DMA request

0x0

RW LOW = 0x0 - Low Priority (service as best effort)

HIGH = 0x1 - High Priority (service immediately)

Page 200 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7:2

RSVD

1

DMADIR

0

DMAEN

Table 288: DMACFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Direction

0x0

RW

P2M = 0x0 - Peripheral to Memory (SRAM) transaction. To be set when doing IOM read operations, i.e., reading data from external devices.

M2P = 0x1 - Memory to Peripheral transaction. To be set when doing IOM

write operations, i.e., writing data to external devices.

DMA Enable. Setting this bit to EN will start the DMA operation. This should

be the last DMA related register set prior to issuing the command

0x0

RW

DIS = 0x0 - Disable DMA Function

EN = 0x1 - Enable DMA Function

6.3.2.20 DMATOTCOUNT Register
DMA Total Transfer Count OFFSET: 0x0000023C INSTANCE 0 ADDRESS: 0x5000C23C Contains the number of bytes to be transferred for this DMA transaction. This register is decremented as the data is transferred, and will be 0 at the completion of the DMA operation.

Table 289: DMATOTCOUNT Register

33222222222211111111110000000000 10987654321098765432109876543210

RSRVDD

TOTCOUNT

Bit 31:12

Name RSRVDD

11:0

TOTCOUNT

Table 290: DMATOTCOUNT Register Bits

Reset 0x0

RW RO Reserved

Description

Triggered DMA from Command complete event occurred. Bit is read only

0x0

RW

and can be cleared by disabling the DTHR trigger enable or by disabling DMA.

6.3.2.21 DMATARGADDR Register
DMA Target Address Register OFFSET: 0x00000240 INSTANCE 0 ADDRESS: 0x5000C240

DS-A3-0p9p1

Page 201 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

The source or destination address internal the SRAM for the DMA data. For write operations, this can only be SRAM data (ADDR bit 28 = 1); For read operations, this can be either SRAM or FLASH (ADDR bit 28 = 0)

Table 291: DMATARGADDR Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

TARGADDR

TARGADDR28

Bit 31:29

Name RSVD

28

TARGADDR28

27:20

RSVD

19:0

TARGADDR

Table 292: DMATARGADDR Register Bits

Reset 0x0

RW RO Reserved

Description

Bit 28 of the target byte address for source of DMA (either read or write). In

0x0

RW

cases of non-word aligned addresses, the DMA logic will take care for ensuring only the target bytes are read/written.

0x0

RO Reserved

Bits [19:0] of the target byte address for source of DMA (either read or

write). The address can be any byte alignment, and does not have to be

0x0

RW word aligned. In cases of non-word aligned addresses, the DMA logic will

take care for ensuring only the target bytes are read/written.

6.3.2.22 DMASTAT Register
DMA Status Register OFFSET: 0x00000244 INSTANCE 0 ADDRESS: 0x5000C244 Status of the DMA operation currently in progress.

Table 293: DMASTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DMAERR DMACPL DMATIP

DS-A3-0p9p1

Page 202 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:3

RSVD

2

DMAERR

1

DMACPL

0

DMATIP

Table 294: DMASTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

DMA Error. This active high bit signals that an error was encountered during

0x0

RW the DMA operation.

DMA Transfer Complete. This signals the end of the DMA operation. This bit

0x0

RW can be cleared by writing to 0.

DMA Transfer In Progress indicator. 1 will indicate that a DMA transfer is

0x0

RO

active. The DMA transfer may be waiting on data, transferring data, or waiting for priority.

6.3.2.23 CQCFG Register
Command Queue Configuration Register OFFSET: 0x00000248 INSTANCE 0 ADDRESS: 0x5000C248 Controls parameters and options for execution of the command queue operation. To enable command queue, create this in memory, set the address, and enable it with a write to CQEN

Table 295: CQCFG Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CQPRI CQEN

Bit

Name

31:2

RSVD

1

CQPRI

0

CQEN

DS-A3-0p9p1

Table 296: CQCFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Sets the Priority of the command queue dma request.

0x0

RW LOW = 0x0 - Low Priority (service as best effort)

HIGH = 0x1 - High Priority (service immediately)

Command queue enable. When set, will enable the processing of the com-

mand queue and fetches of address/data pairs will proceed from the word

0x0

RW address within the CQADDR register. Can be disabled

DIS = 0x0 - Disable CQ Function EN = 0x1 - Enable CQ Function

Page 203 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

6.3.2.24 CQADDR Register
CQ Target Read Address Register OFFSET: 0x0000024C INSTANCE 0 ADDRESS: 0x5000C24C The SRAM address which will be fetched next execution of the CQ operation. This register is updated as the CQ operation progresses, and is the live version of the register. The register can also be

Table 297: CQADDR Register
33222222222211111111110000000000 10987654321098765432109876543210

RSRVD1

CQADDR

RSRVD2 CQADDR28
RSRVD0

Bit 31:29

Name RSRVD2

28

CQADDR28

27:20

RSRVD1

19:2

CQADDR

1:0

RSRVD0

Table 298: CQADDR Register Bits

Reset 0x0

RW RO Reserved

Description

Bit 28 of target byte address for source of CQ. Used to denote Flash (0) or

0x0

RW SRAM (1) access

0x0

RO Reserved

Bits 19:2 of target byte address for source of CQ. The buffer must be

0x0

RW aligned on a word boundary

0x0

RO Reserved

6.3.2.25 CQSTAT Register
Command Queue Status Register OFFSET: 0x00000250 INSTANCE 0 ADDRESS: 0x5000C250 Provides the status of the command queue operation. If the command queue is disabled, these bits will be cleared. The bits are read only

DS-A3-0p9p1

Page 204 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 299: CQSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CQERR CQPAUSED
CQTIP

Bit

Name

31:3

RSVD

2

CQERR

1

CQPAUSED

0

CQTIP

Table 300: CQSTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

Command queue processing error. This active high bit signals that an error

0x0

RW was encountered during the CQ operation.

0x0

RO Command queue operation is currently paused.

Command queue Transfer In Progress indicator. 1 will indicate that a CQ

0x0

RO

transfer is active and this will remain active even when paused waiting for external event.

6.3.2.26 CQFLAGS Register
Command Queue Flag Register OFFSET: 0x00000254 INSTANCE 0 ADDRESS: 0x5000C254 Provides the current status of the SWFLAGS (bits 7:0) and the hardware generated flags (15:8). A '1' will pause the CQ operation if it the same bit is enabled in the CQPAUSEEN register

Table 301: CQFLAGS Register

33222222222211111111110000000000 10987654321098765432109876543210

CQIRQMASK

CQFLAGS

DS-A3-0p9p1

Page 205 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:16

CQIRQMASK

15:0

CQFLAGS

Table 302: CQFLAGS Register Bits

Reset 0x0

RW

Description

Provides for a per-bit mask of the flags used to invoke an interrupt. A '1' in

RW

the bit position will enable the pause event to trigger the interrupt, if the CQWT_int interrupt is enabled.

Current flag status (read-only). Bits [7:0] are software controllable and bits

0x0

RO [15:8] are hardware status.

6.3.2.27 CQSETCLEAR Register
Command Queue Flag Set/Clear Register OFFSET: 0x00000258 INSTANCE 0 ADDRESS: 0x5000C258 Set/Clear the command queue software pause flags on a per-bit basis. Contains 3 fields, allowing for setting, clearing or toggling the value in the software flags. Priority when the same bit

Table 303: CQSETCLEAR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQFCLR

CQFTGL

CQFSET

Bit 31:24 23:16

Name RSVD CQFCLR

15:8

CQFTGL

7:0

CQFSET

Table 304: CQSETCLEAR Register Bits

Reset 0x0

RW RO Reserved

Description

Clear CQFlag status bits. Will clear to 0 any SWFLAG with a '1' in the corre-

0x0

WO sponding bit position of this field

Toggle the indicated bit. Will toggle the value of any SWFLAG with a '1' in

0x0

WO the corresponding bit position of this field

Set CQFlag status bits. Will set to 1 the value of any SWFLAG with a '1' in

0x0

WO the corresponding bit position of this field

6.3.2.28 CQPAUSEEN Register
Command Queue Pause Enable Register OFFSET: 0x0000025C INSTANCE 0 ADDRESS: 0x5000C25C

DS-A3-0p9p1

Page 206 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Enables a flag to pause an active command queue operation. If a bit is '1' and the corresponding bit in the CQFLAG register is '1', CQ processing will halt until either value is changed to '0'.

Table 305: CQPAUSEEN Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQPEN

Bit 31:16

Name RSVD

15:0

CQPEN

Table 306: CQPAUSEEN Register Bits

Reset 0x0

RW RO Reserved

Description

Enables the specified event to pause command processing when active

CNTEQ = 0x8000 - Pauses command queue processing when HWCNT

matches SWCNT

BLEXOREN = 0x4000 - Pause command queue when input BLE bit XORed

with SWFLAG4 is '1'

IOMXOREN = 0x2000 - Pause command queue when input IOM bit XORed

with SWFLAG3 is '1'

GPIOXOREN = 0x1000 - Pause command queue when input GPIO irq_bit

XORed with SWFLAG2 is '1'

MSPI1XNOREN = 0x800 - Pause command queue when input MSPI1 bit

XNORed with SWFLAG1 is '1'

MSPI0XNOREN = 0x400 - Pause command queue when input MSPI0 bit

XNORed with SWFLAG0 is '1'

MSPI1XOREN = 0x200 - Pause command queue when input MSPI1 bit

XORed with SWFLAG1 is '1'

0x0

RW

MSPI0XOREN = 0x100 - Pause command queue when input MSPI0 bit XORed with SWFLAG0 is '1'

SWFLAGEN7 = 0x80 - Pause the command queue when software flag bit 7

is '1'.

SWFLAGEN6 = 0x40 - Pause the command queue when software flag bit 7

is '1'

SWFLAGEN5 = 0x20 - Pause the command queue when software flag bit 7

is '1'

SWFLAGEN4 = 0x10 - Pause the command queue when software flag bit 7

is '1'

SWFLAGEN3 = 0x8 - Pause the command queue when software flag bit 7

is '1'

SWFLAGEN2 = 0x4 - Pause the command queue when software flag bit 7

is '1'

SWFLAGEN1 = 0x2 - Pause the command queue when software flag bit 7

is '1'

SWFLGEN0 = 0x1 - Pause the command queue when software flag bit 7 is

'1'

6.3.2.29 CQCURIDX Register
IOM Command Queue current index value. Compared to the CQENDIDX reg contents to generate the IDXEQ Pause event for command queue
OFFSET: 0x00000260

DS-A3-0p9p1

Page 207 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

INSTANCE 0 ADDRESS: 0x5000C260
Current index value, targeted to be written by register write operations within the command queue. This is compared to the CQENDIDX and will stop the CQ operation if bit 15 of the CQPAUSEEN is '1' and

Table 307: CQCURIDX Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQCURIDX

Bit

Name

31:8

RSVD

7:0

CQCURIDX

Table 308: CQCURIDX Register Bits

Reset 0x0

RW RO RESERVED

Description

Holds 8 bits of data that will be compared with the CQENDIX register field. If

the values match, the IDXEQ pause event will be activated, which will cause

0x0

RW the pausing of command queue operation if the IDXEQ bit is enabled in

CQPAUSEEN.

6.3.2.30 CQENDIDX Register
IOM Command Queue current index value. Compared to the CQCURIDX reg contents to generate the IDXEQ Pause event for command queue
OFFSET: 0x00000264
INSTANCE 0 ADDRESS: 0x5000C264
End index value, targeted to be written by software to indicate the last valid register pair contained within the command queue. register write operations within the command queue.

Table 309: CQENDIDX Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQENDIDX

Bit

Name

31:8

RSVD

Table 310: CQENDIDX Register Bits

Reset 0x0

RW RO RESERVED

Description

DS-A3-0p9p1

Page 208 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7:0

CQENDIDX

Table 310: CQENDIDX Register Bits

Reset 0x0

RW

Description

Holds 8 bits of data that will be compared with the CQCURIX register field. If the values match, the IDXEQ pause event will be activated, which will cause RW the pausing of command queue operation if the IDXEQ bit is enabled in CQPAUSEEN.

6.3.2.31 STATUS Register
IOM Module Status Register OFFSET: 0x00000268 INSTANCE 0 ADDRESS: 0x5000C268 General status of the IOM module command execution.

Table 311: STATUS Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

IDLEST CMDACT
ERR

Bit

Name

31:3

RSVD

2

IDLEST

1

CMDACT

0

ERR

Table 312: STATUS Register Bits

Reset 0x0

RW RO RESERVED

Description

indicates if the active I/O state machine is IDLE. Note - The state machine

could be in idle state due to hold-offs from data availability, or as the com-

0x0

RO mand gets propagated into the logic from the registers.

IDLE = 0x1 - The I/O state machine is in the idle state.

Indicates if the active I/O Command is currently processing a transaction, or

command is complete, but the FIFO pointers are still synchronizing inter-

nally. This bit will go high at

0x0

RO

ACTIVE = 0x1 - An I/O command is active. Indicates the active module has

an active command and is processing this. De-asserted when the com-

mand is completed.

Bit has been deprecated. Please refer to the other error indicators. This will

0x0

RO always return 0.

ERROR = 0x1 - Bit has been deprecated and will always return 0.

6.3.2.32 MSPICFG Register
SPI module master configuration OFFSET: 0x00000300

DS-A3-0p9p1

Page 209 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

INSTANCE 0 ADDRESS: 0x5000C300
Controls the configuration of the SPI master module, including POL/PHA, LSB, flow control, and delays for MISO and MOSI

Table 313: MSPICFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD MSPIRST DOUTDLY DINDLY SPILSB RDFCPOL
WTFRDFC WTFC FULLDUP SPHA SPOL

Bit 31 30 29:27

Name RSVD MSPIRST DOUTDLY

26:24

DINDLY

23

SPILSB

22

RDFCPOL

21

WTFCPOL

20:18

RSVD

DS-A3-0p9p1

Table 314: MSPICFG Register Bits

Reset 0x0

RW RO RESERVED

Description

0x1

RW Bit is deprecated. setting it will have no effect.

Delay tap to use for the output signal (MOSI). This give more hold time on

0x0

RW the output data.

Delay tap to use for the input signal (MISO). This gives more hold time on

0x0

RW the input data.

Selects data transfer as MSB first (0) or LSB first (1) for the data portion of

the SPI transaction. The offset bytes are always transmitted MSB first.

0x0

RW

MSB = 0x0 - Send and receive MSB bit first

LSB = 0x1 - Send and receive LSB bit first

Selects the read flow control signal polarity. When set, the clock will be held low until the flow control is de-asserted.

NORMAL = 0x0 - SPI_STATUS signal from BLE Core high(1) creates flow

0x0

RW control and new read spi transactions will not be started until the signal goes

low.(default)

INVERTED = 0x1 - SPI_STATUS signal from BLE Core low(0) creates flow

control and new read spi transactions will not be started until the signal goes

high.

Selects the write flow control signal polarity. The transfers are halted when the selected flow control signal is OPPOSITE polarity of this bit. (For example: WTFCPOL = 0 will allow a SPI_STATUS=1 to pause transfers).

0x0

RW

NORMAL = 0x0 - SPI_STATUS signal from BLE Core high(1) creates flow control and new write spi transactions will not be started until the signal

goes low.(default)

INVERTED = 0x1 - SPI_STATUS signal from BLE Core high(1) creates

low(0) control and new write spi transactions will not be started until the sig-

nal goes high.

0x0

R0 Reserved

Page 210 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

17

RDFC

16

WTFC

15:3

RSVD

2

FULLDUP

1

SPHA

0

SPOL

Table 314: MSPICFG Register Bits

Reset 0x0
0x0 0x0

RW

Description

Enables flow control of new read transactions based on the SPI_STATUS signal from the BLE Core. RW DIS = 0x0 - Read mode flow control disabled. EN = 0x1 - Read mode flow control enabled.

Enables flow control of new write transactions based on the SPI_STATUS signal from the BLE Core. RW DIS = 0x0 - Write mode flow control disabled. EN = 0x1 - Write mode flow control enabled.

R0 Reserved

0x0

RW Full Duplex mode. Capture read data during writes operations

Selects the SPI phase; When 1, will shift the sampling edge by 1/2 clock.

0x0

RW

SAMPLE_LEADING_EDGE = 0x0 - Sample on the leading (first) clock edge, rising or falling dependent on the value of SPOL

SAMPLE_TRAILING_EDGE = 0x1 - Sample on the trailing (second) clock

edge, rising of falling dependent on the value of SPOL

This bit selects SPI polarity.

0x0

RW CLK_BASE_0 = 0x0 - The initial value of the clock is 0.

CLK_BASE_1 = 0x1 - The initial value of the clock is 1.

6.3.2.33 BLECFG Register
BLE Core Control OFFSET: 0x00000304 INSTANCE 0 ADDRESS: 0x5000C304 Provides control of isolation and IO signals between the interface module and the BLE Core.

Table 315: BLECFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

SPIISOCTL PWRISOCTL STAYASLEEP
FRCCLK MCUFRCSLP WT4ACTOFF BLEHREQCTL DCDCFLGCTL WAKEUPCTL
BLERSTN PWRSMEN

Bit 31:16

Name RSVD

DS-A3-0p9p1

Table 316: BLECFG Register Bits

Reset 0x0

RW RO RESERVED

Description

Page 211 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

15:14

SPIISOCTL

13:12

PWRISOCTL

11

STAYASLEEP

10

FRCCLK

9

MCUFRCSLP

8

WT4ACTOFF

7:6

BLEHREQCTL

5:4

DCDCFLGCTL

3:2

WAKEUPCTL

1

BLERSTN

Table 316: BLECFG Register Bits

Reset

RW

Description

Configuration of BLEH isolation controls for SPI related signals.

0x0

RW

ON = 0x3 - SPI signals from BLE Core to/from MCU Core are isolated. OFF = 0x2 - SPI signals from BLE Core to/from MCU Core are not isolated.

AUTO = 0x0 - SPI signals from BLE Core to/from MCU Core are automati-

cally isolated by the logic

Configuration of BLEH isolation control for power related signals.

0x0

RW

ON = 0x3 - BLEH power signal isolation to on (isolated). OFF = 0x2 - BLEH power signal isolation to off (not isolated).

AUTO = 0x0 - BLEH Power signal isolation is controlled automatically

through the interface logic

Set to prevent the BLE power control module from waking up the BLE Core

0x0

RW

after going into power down. To be used for graceful shutdown, set by software prior to powering off and will allow assertion of reset from sleep state.

0x0

RW Force the clock in the BLEIF to be always running

Force power state machine to go to the sleep state. Intended for debug only.

0x0

RW

Has no effect on the actual BLE Core state, only the state of the BLEIF interface state machine.

Debug control of BLEIF power state machine. Allows transition into the

0x0

RW active state in the BLEIF state without waiting for dcdc req from BLE Core.

BLEH power on request override. The value of this field will be sent to the BLE Core when the PWRSM is off. Otherwise, the value is supplied from internal logic.

0x0

RW ON = 0x3 - BLEH Power-on reg signal is set to on (1).

OFF = 0x2 - BLEH Power-on signal is set to off (0).

AUTO = 0x0 - BLEH Power-on signal is controlled by the PWRSM logic and

automatically controlled

DCDCFLG signal override. The value of this field will be sent to the BLE Core when the PWRSM is off. Otherwise, the value is supplied from internal logic.

0x0

RW ON = 0x3 - DCDC Flag signal is set to on (1).

OFF = 0x2 - DCDC Flag signal is set to off (0).

AUTO = 0x0 - DCDC Flag signal is controlled by the PWRSM logic and

automatically controlled

WAKE signal override. Controls the source of the WAKE signal to the BLE Core.

0x0

RW ON = 0x3 - Wake signal is set to on (1).

OFF = 0x2 - Wake signal is set to off (0).

AUTO = 0x0 - Wake signal is controlled by the PWRSM logic and automati-

cally controlled

Reset line to the BLE Core. This will reset the BLE core when asserted ('0')

and must be written to '1' prior to performing any BTLE related operations to

0x0

RW the core.

ACTIVE = 0x1 - The reset signal is active (0) INACTIVE = 0x0 - The reset signal is inactive (1)

DS-A3-0p9p1

Page 212 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

PWRSMEN

Table 316: BLECFG Register Bits

Reset

RW

Description

Enable the power state machine for automatic sequencing and control of power states of the BLE Core module.

ON = 0x1 - Internal power state machine is enabled and will sequence the

0x0

RW BLEH power domain as indicated in the design document. Overrides for the

power signals are not enabled.

OFF = 0x0 - Internal power state machine is disabled and will not sequence

the BLEH power domain. The values of the overrides will be used to drive

the output sequencing signals

6.3.2.34 PWRCMD Register
BLE Power command interface OFFSET: 0x00000308 INSTANCE 0 ADDRESS: 0x5000C308 Sends power related commands to the power state machine in the BLE IF module.

Table 317: PWRCMD Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

RESTART WAKEREQ

Bit

Name

31:2

RSVD

1

RESTART

0

WAKEREQ

Table 318: PWRCMD Register Bits

Reset 0x0

RW RO Reserved

Description

Restart the BLE Core after going into the shutdown state. Only valid when in

0x0

WO the shutdown state.

Wake request from the MCU. When asserted (1), the BLE Interface logic will

0x0

WO

assert the wakeup request signal to the BLE Core. Only recognized when in the sleep state

6.3.2.35 BSTATUS Register
BLE Core status OFFSET: 0x0000030C INSTANCE 0 ADDRESS: 0x5000C30C Status of the BLE Core interface signals

DS-A3-0p9p1

Page 213 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 319: BSTATUS Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

PWRST

BLEHREQ BLEHACK
BLEIRQ WAKEUP DCDCFLAG DCDCREQ SPISTATUS B2MSTATE

Bit 31:13

Name RSVD

12

BLEHREQ

11

BLEHACK

10:8

PWRST

7

BLEIRQ

6

WAKEUP

5

DCDCFLAG

4

DCDCREQ

3

SPISTATUS

Table 320: BSTATUS Register Bits

Reset 0x0

RW RO RESERVED

Description

Value of the BLEHREQ signal to the power control unit. The BLEHREQ sig-

0x0

RO

nal is sent from the BLEIF module to the power control module to request the BLEH power up. When the BLEHACK signal is asserted,

Value of the BLEHACK signal from the power control unit. If the signal is '1',

0x0

RO the BLEH power is active and ready for use.

Current status of the power state machine

OFF = 0x0 - Internal power state machine is disabled and will not sequence

the BLEH power domain. The values of the overrides will be used to drive

the output sequencing signals

0x0

RO INIT = 0x1 - Initialization state. BLEH not powered

PWRON = 0x2 - Waiting for the power-up of the BLEH

ACTIVE = 0x3 - The BLE Core is powered and active

SLEEP = 0x6 - The BLE Core has entered sleep mode and the power

request is inactive

SHUTDOWN = 0x4 - The BLE Core is in shutdown mode

Status of the BLEIRQ signal from the BLE Core. A value of 1 indicates that

0x0

RO

read data is available in the core and a read operation needs to be performed.

Value of the WAKEUP signal to the BLE Core. The WAKEUP signals is sent

0x0

RO

from the BLEIF to the BLECORE to request the BLE Core transition from sleep state to active state.

Value of the DCDCFLAG signal to the BLE Core. The DCDCFLAG is a sig-

0x0

RO nal to the BLE Core indicating that the BLEH power is active.

Value of the DCDCREQ signal from the BLE Core. The DCDCREQ signal is

0x0

RO

sent from the core to the BLEIF module when the BLE core requires BLEH power to be active. When activated, this is

Value of the SPISTATUS signal from the BLE Core. The signal is asserted

0x0

RO

when the BLE Core is able to accept write data via the SPI interface. Data should be transmitted to the

DS-A3-0p9p1

Page 214 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

2:0

B2MSTATE

Table 320: BSTATUS Register Bits

Reset

RW State of the BLE Core logic.

Description

RESET = 0x0 - Reset State

0x0

RO

Shutdown = 0x0 - Shutdown state Sleep = 0x1 - Sleep state.

Standby = 0x2 - Standby State

Idle = 0x3 - Idle state

Active = 0x4 - Active state.

6.3.2.36 BLEDBG Register
BLEIF Master Debug Register OFFSET: 0x00000410 INSTANCE 0 ADDRESS: 0x5000C410 Debug control

Table 321: BLEDBG Register
33222222222211111111110000000000 10987654321098765432109876543210
DBGDATA

APBCLKON IOCLKON DBGEN

Bit

Name

31:3

DBGDATA

2

APBCLKON

1

IOCLKON

0

DBGEN

Table 322: BLEDBG Register Bits

Reset 0x0

RW RW Debug data

Description

APBCLK debug clock control. Enable APB_CLK to be active when this bit is

0x0

RW '1'. Otherwise, the clock is controlled with gating from the logic as needed.

IOCLK debug clock control. Enable IO_CLK to be active when this bit is '1'.

0x0

RW Otherwise, the clock is controlled with gating from the logic as needed.

Debug Enable. Setting this bit will enable the update of data within this reg-

0x0

RW ister, otherwise it is clock gated for power savings

DS-A3-0p9p1

Page 215 of 909

2019 Ambiq Micro, Inc. All rights reserved.

7. MSPI Master Module

Apollo3 Blue Datasheet

MSPI Controller

DMA XiP

CMD Queue

1 / 2 / 4 / 8 bit I/O

REGs

Bus Interface

Rx FIFO

Tx FIFO

INTs

Figure 12. Block Diagram for the MSPI Master Module
7.1 Functional Overview
The Apollo3 MCU includes a Multi-bit SPI (MSPI) module which can be used to connect to external serial memory devices. It supports operation up to 24 MHz, all four SPI CPOL/CPHA modes, and can transfer in serial, dual, quad, and octal modes (with a single octal device or a pair of quad devices). The MSPI module has a unified 16-entry FIFO (32 bits wide) that is used for both transmit and receive data. To ensure that transactions are not dropped because of system or software latency, the MSPI controller will pause the clock (and thus the transfer on the bus) if the TX FIFO empties or the RX FIFO fills during an operation. It will automatically resume once the FIFO condition has cleared.
MSPI transfers generally consist of transmitting a 1 byte instruction, a 1-4 byte address (optional), and 1 byte to 64KB of write or read data (with an optional number of turnaround clock cycles between address and RX data). Access to flash devices are supported through PIO operations (primarily for configuration operations), through DMA operations to automatically transfer data blocks to/from the flash, and through an XIP mode, where instructions/data can be accessed in the external flash memory through an aperture in the integrated flash cache. The MSPI module also supports data scrambling of external accesses within an address window having boundaries aligned to 64K address blocks.
Once the external devices are configured, the MSPI supports a simple DMA model, where software can program the internal (SRAM or flash) address and external device address, transfer direction, and transfer size. Once enabled, the MSPI DMA interface will move data between the system and external flash and interrupt when complete. The MSPI also supports a higher-level command queuing (CQ) protocol, where software can construct a buffer of operations in SRAM (or internal flash memory) and the MSPI will execute the series of operations autonomously. The MSPI can also power itself down at the end of DMA or CQ operations.
While the MSPI module can be used as a generic SPI device (with two chip enables), it is primarily designed to support serial NAND/NOR flash memory and is intended to be used to initialize the external memory devices and then configured with the parameters matching the flash access characteristics. Devices can then be accessed through DMA or XIP operations with minimal software overhead.

DS-A3-0p9p1

Page 216 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

7.2 Configuration
The MSPI module should be configured to match the transfer characteristics of the external device(s) on the bus. Generally, the configuration sequence would proceed as follows:
 Configure MSPI clock divider (MSPICFG register). The MSPI's reference frequency is 48MHz, so the resulting clock frequency is 48/CLKDIV value.
 Configure MSPI transfer characteristics (CFG register) to initialize the device (usually mode 0, serial transfers)
 Configure MSPI PADOUTEN to enable the desired bits on the MSPI bus (clock plus relevant data bits). NOTE: Enabling unused data lines will impact the values present on those pads even if the GPIO function select is not set to MSPI.
 Program external flash device to the appropriate mode, enable dual/quad/octal modes  Update CFG register to new settings (in cases of a transfer mode or addressing change)  Write FLASH register to set read/write instructions and transfer characteristics for DMA/XIP operations
(and optionally enable XIP mode).
The MSPI's CFG register contains the controller's settings when communicating with any given device and it is expected that these values will be static after initial configuration of the external memory devices. The DEVCFG field specifies both the transfer mode (serial, dual, quad, etc) as well as which chip enable is used to access the device. The ISIZE and ASIZE fields indicate the number of bytes transmitted for the instruction and address phases, but individual operations can select whether to transmit these or not. The TURNAROUND field indicates the number of cycles between the TX of instruction/address and reception of the first RX byte (the flash device must be programmed to use the same count). Finally, the CPOL and CPHA fields indicate the settings for the clock polarity and clock phase settings, which are often referenced in literature as SPI modes 0-3. Most memory devices utilize mode 0 (CPOL=0, CPHA=0).
7.3 PIO Operations
Software can issue general PIO operations to devices on the MSPI bus using the INSTR, ADDR, and CTRL registers. Software should first write the instruction to be sent to the INSTR register and the address to be sent to the ADDR register (if required) followed by a write to the CTRL register to start the transfer. The TXRX bit indicates whether data should flow to or from the device and XFERBYTES indicates the number of bytes to transfer. SENDI and SENDA can be used to enable or disable the instruction or address phases and the ENTURN is used to enable the turnaround phase. The transfer will only commence if the START bit is set. Software may read the BUSY and STATUS fields to check on transaction status, otherwise the CMDCPL interrupt can be used to indicate completion.
AM_REG(MSPI,INSTR) = instr; AM_REG(MSPI,CTRL) = AM_REG_MSPI_CTRL_XFERBYTES(bytes) |
AM_REG_MSPI_CTRL_SENDI_M | AM_REG_MSPI_CTRL_TXRX(1) | AM_REG_MSPI_CTRL_START_M;
For write (TX) operations, data should be written to the TXFIFO after the transaction has been started. Software should read TXENTRIES before writing to ensure that space is available in the FIFO before writing new TX data. For read operations, software should read the RXENTRIES to determine the number of words available and then read the data from the RXFIFO register.
// Example TX data write loop for (i = 0; i < count; ) {
temp1=AM_REG(MSPI,TXENTRIES); for(;(temp1<16) && (i<count);temp1++,i++) {
AM_REG(MSPI,TXFIFO) = data[i]; } }

DS-A3-0p9p1

Page 217 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

7.3.1 Paired-Quad Device Operation (QUADCMD)

Using a single serial, dual, quad, or octal device is fairly straightforward since all data and commands sent to the device are transmitted and received as a string of serialized bytes. On the surface, using a pair of quad devices would appear to work like a single octal device, but in actuality, it is a bit more complex since instruction and address phase bytes must be replicated as nibbles to each device while data phases of the transfer are split across devices. To simplify the use of paired-quad devices by software, the MSPI controller automatically manages the nibble replication as shown in the following sequences (instruction=0x0B (read), address=0x12345678, data=0xABCDEF01 with 2 turnaround cycles).

Note that the address phase of the paired-quad looks identical to the quad device while the data phase

QUAD

0x0

0xB

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0xA

0xB

0xC

0xD

0xE

0xF

0x0

0x1

QUAD0 QUAD1

0x0

0xB

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x0

0xB

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0xA

0xC

0xE

0x0

0xB

0xD

0xF

0x1

OCTAL74

0x0

0x1

0x3

0x5

0x7

0xA

0xC

0xE

0x0

OCTAL30

0xB

0x2

0x4

0x6

0x8

0xB

0xD

0xF

0x1

looks identical to the octal device. The MSPI module handles this automatically based on the DEVCFG

field setting instead of requiring software to configure each part individually (each part could be configured

by first programming the lower lane using SERIAL0 mode, the upper lane using SERIAL1 mode, then

switch the MSPI interface into QUADPAIR mode).

However, register operations to a pair of quad devices must be handled as if writing both devices in parallel (data is also replicated to each device). To accomplish this, software should also set the QUADCMD field in the CTRL register when writing/reading registers (versus memory) in a paired-quad configuration, which lets the controller know that the operation is a register operation that requires the full instruction and data to be replicated to both devices.

Consider the following operations to write an 8-bit register and read the 8-bit device status for an individual quad, an octal part, and a pair of quad devices (the write sequence is 0x81 0xAB which is a write volatile configuration register on a Micron part):

QUAD

0x8

0x1

0xA

0xB

PAIRQUAD0

0x8

0x1

0xA

0xB

PAIRQUAD1

0x8

0x1

0xA

0xB

OCTAL

0x81 0xAB

Notice that each of the devices receives the same sequence as an individual quad part. Likewise, when reading status from a pair of quad devices, the status from each device must be read instead of a single 8bit status:

QUAD

0x8

0x5

0xA

0xB

PAIRQUAD0

0x8

0x5

0xA

0xB

PAIRQUAD1

0x8

0x1

0xC

0xD

OCTAL

0x85 0xAB

Again, software must set the QUADCMD bit in the CTRL register to ensure that read data from each device is captured independently. In addition, for read operations the controller will de-interleave the read bytes and return them in the RX FIFO as 0xCDAB (device 0 in byte 0, device 1 in byte 1) and to maintain similarities when running with quad/octal devices, only a single byte write/read operation should be issued.

DS-A3-0p9p1

Page 218 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
7.4 DMA Operations
The MSPI controller tightly integrates the DMA controller with the transfer interface and automatically handles sequencing of instructions and address to serial flash device and the subsequent transfer of data to/from system memory. Before starting DMA operations, software should have already configured the CFG register (to specify device configuration) and the FLASH register (to specify the template used for DMA operations). Software should first set up the static DMA parameters which specify the DMA burst parameters:
AM_REG(MSPI,DMATHRESH)=8; // Issue new DMA at FIFO half empty/full condition AM_REG(MSPI,DMABCOUNT)=32; // burst count=32 bytes (8 words)
The MSPI implements a single FIFO for both TX and RX transfers as well as a single threshold value for RX/TX operations. In most cases, the DMATHRESH should be set at 8 to indicate that a TX DMA (read from SRAM) will be triggered when the FIFO drops below eight entries and will trigger an RX DMA (write to SRAM) when the FIFO level reaches eight entries. The BCOUNT indicates the number of words that will be transferred each time that DMA is triggered. The DMA will also trigger automatically to flush or fill the FIFOs at the end of transfer if the total count is not a multiple of 32 bytes.
To initiate a DMA transfer, software should issue the following register operations:
AM_REG(MSPI,DMADEVADDR)=(uint32_t) addr; // set device address AM_REG(MSPI,DMATARGADDR)=(uint32_t) data; // set address in system memory AM_REG(MSPI,DMATOTCOUNT)=(count<<2); // set total number of bytes AM_REG(MSPI,DMACFG)=AM_REG_MSPI_DMACFG_DMAEN | // enable DMA
AM_REG_MSPI_DMACFG_DMADIR_P2M; // peripheral to memory
When complete, the MSPI will issue the DMACPL interrupt and software can monitor the status by reading the DMATIP bit in the DMASTAT register. Transfers to the flash device are initiated by setting the DMADIR field to M2P (Memory to Peripheral).
The controller will use the template in the FLASH register to determine whether to send the instruction and address phases (XIPSENDI, XIPSENDA) and whether to insert turnaround cycles (XIPENTURN). Instruction and address lengths are determined by the settings in the CFG register and the address and transfer count are set by the DMADEVADDR and DMATOTCOUNT registers. The instruction send for read (RX) operations is specified in the READINSTR field of the FLASH register and likewise the WRITEINSTR field is used when transmitting data to the flash device.
If the AUTO DMA cannot be used because the device's characteristics don't fit into the template, software can issue PIO operations to initiate a more complex transfer setup and then enable DMA for just the bulk DMA portions using the DMAEN_EN instead of DMAEN_AUTO.
Optionally, the MSPI can turn off it's power domain at the end of a DMA transfer if the DMAPWROFF bit is set in the DMACFG register. The domain will only power off once the entire DMA is complete (i.e. writes have been committed to system memory or have completed to the external flash device).

DS-A3-0p9p1

Page 219 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
7.5 Execute in Place (XIP) Operations
The XIP mode of operation allows devices on the MSPI interface to be mapped into the flash cache's address space and appear as an extension to the internal flash array(s). Once enabled by the XIPEN bit in the FLASH register, the flash/cache module will decode the address region and forward operations to the MSPI interface for completion. XIP mode uses the same configuration information as DMA mode and will automatically execute a cache line read fetch from the attached device and return it to the cache controller.
XIP and DMA/PIO operations can all be interleaved since the MSPI controller will allow the current operation to complete before performing the XIP operation. Generally DMA read operations can safely be interleaved with XIP, however, XIP mode may have to be disabled during flash programming operations since the flash array within the device may not be available during program or erase operations and thus would return invalid data.
7.5.1 XIPMM Operation
For Apollo3 Rev B, the MSPI additionally supports a memory-mapped XIP mode (XIPMM) that enables full read/write mapping of an MSPI device such as a PSRAM to the CPU's peripheral address map at offset 0x51000000-0x51FFFFFF. This is mapped to offset 0 of the device on the MSPI bus and is not cached (unlike XIP space) and thus can be used as an extension to system SRAM. The MSPI device can be accessed by both XIP and XIPMM accesses (the regions overlap), but it is recommended that XIP used for static data/instructions and that a separate area of the MSPI device is used for read/write operations to avoid having stale data visible in the cache.
XIPMM seamlessly supports word, halfword, and byte read and write accesses, however, there are a few restrictions and caveats:
As mentioned above, writes to XIPMM do not flush cached data to the same address.
For scrambled regions, XIPMM can only be written safely by writing words (byte and halfword writes will corrupt the scrambled data at that location). Byte, halfword, and word reads may all be performed to scrambled regions.
Read/Write performance to the XIPMM region will be significantly slower than accesses to internal SRAM since there are multiple cycles of command, addressing, and data transfer overhead. For this reason, internal SRAM should be used for frequently accessed data and XIPMM should be used for infrequently used data.
To help minimize the access penalty on XIPMM writes, a 2-entry write FIFO buffers all writes to XIPMM. These will be immediately accepted on the CPU's bus allowing it to continue execution. However, the CPU will stall if another write or peripheral read is performed before the previous writes complete.
7.5.2 Optimized XIP Addressing
Some SPI flash devices support an optimized XIP mode that minimizes the number of instruction/address cycles that must be transmitted in order to reduce overall fetch latency. To activate this mode, software should program the flash device's registers to enter the device XIP mode, and then update the DEVCFG field to the specified number of address bytes and then disable the XIPSENDI field in the FLASH register (assuming that no instruction needs to be sent). To exit the device's XIP mode, software should reconfigure the MSPI interface in order to send the required XIP exit sequence to the device.

DS-A3-0p9p1

Page 220 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
7.5.3 Micron XIP Support
Micron flash devices support an XIP mode that does not require the instruction byte to be transmitted, which minimizes the access time to the device. In order to transition in and out of this mode, the MSPI controller must issue an acknowledgment of XIP mode during the first turnaround cycle for each XIP access. When transitioning into and out of XIP mode, software must set the XIPACK field of the MSPI's FLASH register appropriately.
Under normal operation, the XIPACK should be set to NOACK (0x0), indicating that no acknowledgment should be sent. To transition into XIP mode, software should perform the following actions:
1. Activate XIP in the Micron device by writing the Volatile Configuration register 2. Set the XIPACK bit field in the MSPI FLASH register to ACK (0x2) 3. Perform a memory read from the Micron device (instruction must be sent). This access will allow
the MSPI controller to acknowledge switching into the XIP mode 4. Set the XIPSENDI bit field in the MSPI FLASH register to 0 to indicate that the instruction byte no
longer needs to be sent.
The MSPI will now transmit just the address to the Micron device and drive a 0 onto the data lines on the first turnaround cycle to remain in XIP mode. It is important that software ONLY perform read operations to the flash device until XIP mode has been exited.
To terminate XIP mode, software should perform the following sequence:
1. Set the XIPACK bit field in the MSPI FLASH register to TERMINATE (0x3) 2. Issue a memory read to the Micron device. This will allow the MSPI controller to signal termination
of XIP mode by driving the data lines high during the first turnaround cycle. 3. Set the XIPACK bit field to NOACK (0x0) and the XIPSENDI bit field to 1
After this sequence has completed, software can erase, program, or send any other instructions to the Micron flash again.
7.6 Command Queueing (CQ)
The MSPI's command queuing (CQ) interface is similar to command queuing implementation in the IOM and BLE modules. To utilize the command queue, software basically constructs a series of register operations that would be issued to the MSPI device, but instead places them in an array in system SRAM (or internal flash). The start of this buffer is then written to the CQADDR register and the commands can issued by enabling the CQEN bit in the CQCFG register. The CQ logic then reads the address/data pairs via DMA operations and will continue executing them until the end of the command queue, which is denoted as a write to the STOP bit in the CQPAUSE register. As the CQ logic issues register operations, it will automatically pause fetching new operations while the transfer module is busy or can be paused to wait for external events based on the status of the CQPAUSE and CQFLAGS registers.
The primary limitation of CQ operations is that all addresses must reside within the MSPI module since the operations are executed internally by the MSPI module (i.e. it cannot write register in other modules, etc).
7.6.1 Command Queue Data Format
As the command queue resides in system memory, the general format is pairs of words that form the register address to write as well as the data to write. Assuming the CQ base address is 0x10000, system SRAM might look like the following table:

DS-A3-0p9p1

Page 221 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 323: Command Queue Example

Address

Data

0x10000 0x50014258

0x10004 0x00002800

0x10008 0x5001425C 0x1000C 0x00304000 0x10010 0x50014260 0x10014 0x00000100 0x10018 0x50014250

0x1001C 0x00000003

0x10020 0x50014288 0x10024 0x00008000

Description
DMATARGADDR register address Data to write to DMATARGADDR (i.e. 0x2800
is the target buffer) DMADEVADDR register address
Address within flash device DMATOTCOUNT register address
Transfer 256 bytes of data DMACFG register address AUTO DMA enable on peripheral to memory
transfer CQPAUSE register address End of Command Queue (write to STOP bit)

The AM_REG macros can be used to construct the CQ table in a manner similar to below:

uint32_t *cqptr = 0x10000;

*cqptr++ = AM_REG_ADDR(MSPI,DMADEVADDR);

*cqptr++ = devaddr; // set device address (for encryption)

*cqptr++ = AM_REG_ADDR(MSPI,DMATARGADDR);

*cqptr++ = data_buffer; // set source address in memory

*cqptr++ = AM_REG_ADDR(MSPI,DMATOTCOUNT);

*cqptr++ = 4*num_words;

// set total number of bytes

*cqptr++ = AM_REG_ADDR(MSPI,DMACFG);

*cqptr++ = AM_REG_MSPI_DMACFG_DMAEN_AUTO |

AM_REG_MSPI_DMACFG_DMADIR_M2P); // enable DMA write

*cqptr++ = AM_REG_ADDR(MSPI,CQPAUSE);

*cqptr++ = AM_REG_MSPI_CQFLAGS_STOP_M;

7.6.2 CQ Interrupts
The MSPI CQ module provides several interrupts to provide feedback to software as the MSPI works through its command queue.
 CQERR: Indicates that the command queue encountered an error when fetching the command queue instructions. This can be caused by an invalid CQ pointer that points to an invalid flash or SRAM address (SRAM powered down, etc).
 CQPAUSED: Indicates that the command queue has encountered a pause condition. This can be triggered by an index match or when the CQ is waiting on a software or hardware flag.
 CQCMP: Indicates that the command queue has completed operations. This is typically used when the command queue is executing a single-shot set of commands which end with the CQ writing the STOP bit in the CQPAUSE register.
 CQUPD: Indicates a generic CQ update interrupt which is triggered by execution of a command queue entry.
Software can generate a CQUPD interrupt at any point during command queue operation by setting bit[0] of the register address of the command to a 1 (basically OR 0x1 with the address portion of a CQ entry.

DS-A3-0p9p1

Page 222 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

This can be useful when software would like intermediate interrupts as operations complete such as after each CQ index is updated.

7.6.3 Pausing CQ Operations
While the basic operation of the CQ functionality is pretty straightforward, constructing more complex scenarios such as queuing of multiple operations requires additional logic to accommodate handshaking with the software managing the queue and other modules within the chip. The MSPI accomplishes both of these by providing the ability to pause the CQ processing using a pause mask (CQPAUSE register) and software and hardware pause flags.
After the MSPI executes a CQ write operation, it will check all bits specified in the CQPAUSE register against their CQFLAGS status, and will pause operation if all of the associated CQFLAGS bits are set. Since all registers are available to be written by both CPU software and CQ commands, there are numerous ways these can be used, but two common scenarios are
 Software can initially set a mask in CQPAUSE and CQ operation will continue until the matching CQFLAGS condition is encountered.
 The CQ command stream can set the CQPAUSE register during execution and pause until the status in FLAGS changes to indicate that it should restart.
The CQFLAGS register contains 8 soft flags (register bits that can be controlled by either the CPU or the QC operation) and an additional 8 hard flags, which are hardware status flags tied to logic in the MSPI module or other modules in the chip. The lowest two soft flags are also exported to the IOM SPI modules to facilitate communication between an IOM and the MSPI to enable management of common MSPI/IOM buffers via the command queues. The table below lists the flags available in the MSPI:

Table 324: CQFLAGS

Bit

Type

Mnemonic

Description/Use

15

Hard

14

Hard

13

Hard

12

Hard

11

Hard

10

Hard

9

Hard

8

Hard

7

Soft

6

Soft

STOP

CQ Stop Flag. When set to 1, CQ processing will terminate and the CQCPL interrupt will be generated.

CQIDX

CQ Index Pointer Match. Will be set to 1 when the CURIDX and ENDIDX pointers match. Generally used by software when forming a request queue.

Reserved

Reserved

Reserved

Reserved

IOM1READY

IOM Buffer 1 Ready Status. This hardware bit represents the XOR of the soft IOM1START with the incoming IOM1 ready status bit and indicates that buffer 1 has been emptied by the IOM.

IOM0READY

IOM Buffer 0 Ready Status. This hardware bit represents the XOR of the soft IOM0START with the incoming IOM0 ready status bit and indicates that buffer 0 has been emptied by the IOM.

SWFLAG7 Software flag

SWFLAG6 Software flag

DS-A3-0p9p1

Page 223 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 324: CQFLAGS

Bit

Type

Mnemonic

Description/Use

5

Soft

SWFLAG5 Software flag

4

Soft

SWFLAG4 Software flag

3

Soft

SWFLAG3 Software flag

2

Soft

SWFLAG2 Software flag

1

Soft

0

Soft

IOM1START IOM0START

Flag wired to IOM devices as a hard flag for intercommunication. Typically indicates that buffer 1 has been filled by MSPI and can be emptied by the IOM.
Flag wired to IOM devices as a hard flag for intercommunication. Typically indicates that buffer 0 has been filled by MSPI and can be emptied by the IOM.

The soft flags can be set/cleared/toggled via writes to the CQSETCLEAR register and their status can be read by software by reading the CQFLAGS register directly. The CQPAUSE mask bits are enumerated in the same manner.
In order to minimize the need to pause for individual operations, the CQ will automatically pause any time the MSPI's transfer block is active (for PIO, DMA, or XIP operations). Thus, whenever the CQ enables a DMA operation, there is an implicit pause until the operation completes, and then the CQ will resume fetching additional commands. To terminate the CQ processing, the CQ or software should set the topmost CQPAUSE bit (STOP), which will cause the MSPI to terminate processing of the command queue and issue a CQCPL interrupt.

7.6.4 Using the CQ Index registers
The MSPI command queuing implementation also includes a pair of registers that allow software to manage a list of outstanding operations: CQCURIDX and CQENDIDX. When initializing the command queue software can set both of these registers to the same value, which indicate an index or reference into the position of the command queue. The CQPAUSE can then be set to CQIDX and the command queue enabled. Since the CQCURIDX equals the CQENDIDX, the command queue will immediately pause and wait for them to be
For each group of commands in the command queue, software can place a write to the CQCURIDX after each DMA operation in the command queue and then directly write the CQENDIDX register with the index of the last operation in the queue. Since the CQENDIDX now mismatches the CQCURIDX, the command queue will begin processing commands and start working its way through the queue. After completing the first operation, the command queue will include a write to the CQCURIDX to indicate that the operation has completed, and the CQ logic will check to see if the CQCURIDX equals the CQENDIDX and either pause or continue processing until the two are equal again.
This mechanism allows software to asynchronously post additional operations to the command queue by simply writing the new commands to memory and then updating the CQENDIDX to the index of the last operation. Because the MSPI CQ hardware simply looks for a match between the registers, software may roll over from 0xFF to 0x00 or use the indices in any manner they see fit as long as the end index value is not found elsewhere in the command queue.
Software can monitor the progress of the MSPI's CQ processing by enabling the DMACPL interrupt, which will generate an interrupt after each DMA completion. The interrupt routine can read the CQCURIDX register to determine which operations have completed in order to return the proper status to the application.

DS-A3-0p9p1

Page 224 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
7.6.5 MSPI and IOM Intercommunication
The MSPI module and IOM modules can be linked through the command queue flags to allow a simple form of handshaking to facilitate data flow between the two modules. The MSPI only has a single pair of hardware flags dedicated to IOM communication so software must write the IOMSEL field in the MSPICFG register to select which IOM is paired with the MSPI.
A typical use model for this feature is for transmitting blocks of data stored in external flash to a device (such as a display) on the IOM interface. In this scenario, software would allocate two buffers in SRAM which would be filled by the MSPI and emptied by the IOM. At the beginning of the operation, software would clear the IOM0START and IOM1START flags and initialize the MSPI command queue with two read operations to load data into buffer 0 and buffer 1. Software would also initialize the corresponding flags in the IOM and set up the IOM command queue to point to begin reading at buffer 0, but pause the IOM until it sees the buffer0 status is ready.
When the MSPI command queue is enabled, it will check the IOM0READY flag (which will be zero since the incoming bit is zero and the IOM0START flag is zero) and begin processing the operation which would DMA data from the external flash to fill buffer 0. At the end of the operation, the CQ would write the CQPAUSE register with the mask for IOM1READY. The status of IOM1READY will also be zero, so it will continue processing to fill buffer 1. At the end of this operation, the CQ will write the CQPAUSE register to IOM0READY again, but this time it will likely pause because the IOM is still reading data out of buffer 0. Once the IOM finishes its reads from buffer 0, it's CQ will set the flag for buffer 0, which will in turn cause the IOM0READY hardware flag to become zero and allow the MSPI to continue processing (which would fill buffer 0 again). In this manner, software would only need to continue adding commands to the MSPI command queue in order to continuously feed data frames to the IOM device.
7.7 Data Scrambling
In order to protect customer data stored on external flash devices, the MSPI module supports a data scrambling algorithm to obfuscate data on the MSPI bus. Scrambling can be enabled by programming the SCRSTART and SCREND registers to correspond to the address range to be encrypted and setting the SCRENABLE bit in the CFG register. Scrambling is enabled for all DMA and XIP operations that fall within the scrambling window.
Accesses to the scrambling region must always be to an aligned, four-byte boundary (i.e. device address must always end in 0x0, 0x4, 0x8, 0xC). Accesses through the XIP region are always aligned to cache lines, but software must ensure that DMA operations are properly aligned. In the case of a mis-aligned DMA access, the MSPI will issue the SCRERR interrupt (SCRambling ERRor).
7.8 Auto Power Down
The MSPI module has the ability to power itself down at the end of a DMA or CQ operation. This would usually be done while the system is going into deep sleep but desires the MSPI to transfer data to or from a flash device during the beginning of the sleep period. To enable auto-power down, software should enable the DMA with the DMAPWROFF bit set or command queuing with the CQPWROFF bit set.
7.9 Pad Configuration and Enables
The MSPI transfer block generally handles the bit/byte alignment for transfers, but the MSPI also provides a set of internal pin muxes controlled by the PADCFG register to provide system level designers more options when connecting flash devices by allowing the association of chip enable with a mixture of data pins - for instance, chip enable 1 may be used in a quad configuration with data pins 0, 1, 6, 7 of the SPI interface. The pin muxing also controls the separation of I/O operations for serial devices or transfer modes, where pin 0 is typically MOSI and pin 1 is MISO instead of being a shared tristate pin.

DS-A3-0p9p1

Page 225 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

The MSPI supports the following external connections. The columns to the right indicate which bits are used in each configuration (S=serial, D=dual, Q=quad, QP=quad-pair, O=octal with CE#). Within the table, O=output pin, I=input pin, and X=bidirectional.

Table 325: MSPI Pin Muxing

Pin Name Direction

ce0

Output

ce1 mspi8 mspi7

Output Output Input/Output

mspi6 Input/Output

mspi5 Input/Output

mspi4 Input/Output

mspi3 Input/Output

mspi2 Input/Output

mspi1 Input/Output

mspi0 Input/Output

GPIO

Description S0 S1 D0 D1 Q0 Q1 QP O0 O1

1,7,10,15,19, 28

MSPI CE0

O

O

O

OO

12,32,36,41, 43,46

MSPI CE1

O

O

OO

O

24

MSPI CLK O O O O O O O O O

3

MSPI Data Bit7

XX X X

2

MSPI Data Bit6

XX X X

1

MSPI Data Bit5

I

X

XX X X

0

MSPI Data Bit4

O

X

XX X X

23

MSPI Data Bit3

X

XXX

4

MSPI Data Bit2

X

XXX

26

MSPI Data Bit1

I

X

X

XXX

22

MSPI Data Bit0

O

X

X

XXX

The PADOUTEN register should be programmed to enable the proper pins for the selected mode. While the MSPI will automatically drive and sample data from the proper data lines, the MSPI also contains the ability to map bit lanes from the lower quad to the upper quad in case the system-level design cannot accommodate mapping the four contiguous pins within the lower quad. This is done via the PADCFG register, which has separate input and output muxing options.
Typically, most serial SPI devices use a separate MOSI and MISO when operating in serial mode. The SEPIO bit should be set when software needs to read data from devices in serial mode, since it redirects the MISO input from pin 1 down to input data pin 0 of the MSPI's RX logic.

7.9.1 Internal Pin Muxing Options
The MSPI also has the ability to swap some pin functionality to provide some additional flexibility in selecting pins used by the MSPI. Table 325 shows the MSPI pin mapping through the GPIO module, which has fixed pads for each MSPI pin, however, the MSPI can also perform a minimal second layer of function swapping within the MSPI pins using the PADCFG register as shown in Table 326.

Table 326: PADCFG Description

Bitfield REVCS

Description
Swaps chip enable outputs, allowing pins mapped to CS1 to be associated with the lower quad of data pins.

DS-A3-0p9p1

Page 226 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 326: PADCFG Description

Bitfield IN3,IN2,IN1,IN0
OUT7,OUT6,OUT5,OUT4 OUT3

Description
Allows muxing of individual bit inputs from the upper quad (MSPI data bits 7:4) into the lower quad. Typically the OUT7-4 bits would be set to match.
Allows muxing of individual bit outputs from the lower quad to the upper quad. Typically the IN3-0 bits would be set to match.
Allows MSPI pin [3] to be used as the clock output.

Since the data lines within a quad are balanced with respect to each other, it is recommended that customers do not use the internal muxing features unless pin requirements disallow the use of a contiguous quad.

7.9.2 MSPI Pin Timing Board/Package Considerations
The MSPI pins in the chip pin muxing are grouped by the two sets of quad pairs. The lower MSPI quad should be used whenever possible since these pads are closer to the MSPI logic and have less delay than the upper quad. When running in octal mode, the timings through the upper pins will dictate the speed of the interface.
The MSPI logic contains controls to adjust I/O timings to accommodate differences in board or device timings through the RXCAP, RXNEG, and TXNEG bits in the MSPICFG register. The discussion below assumes SPI mode 0 (CPHA=0, CPOL=0) and that in dual/quad/octal modes that MOSI refers to all pins in transmission mode and MISO refers to all pins when in receive mode.
If there were no delays in the chip/board/device, then ideally, data is launched on the negedge of the clock and captured on the posedge of the clock at both the master (MSPI) and target (flash) device. However the presence of delays in the system complicates timing and the timing diagram shown in Figure 13 indicates how these delays are accommodated in the MSPI interface design. The CLK (int) refers to the internal 48MHz clock used by the MSPI, and the SCLK/MOSI (int) are the internal chip timings for the outgoing clock and MOSI lines. Likewise, the @ Dev signals indicate the timing at the target device's pins. (Delays shown are just representative and may not reflect actual device timings.)

DS-A3-0p9p1

Figure 13. MSPI Interface Diagram
Page 227 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Note that bit transmission from the MSPI to the target is fairly straightforward since both the SCLK and MOSI are delayed by similar amounts (two red arrows on the left). Depending on which pins are used, there may be some skew between the SCLK and MOSI, however, it should be relatively small compared to the half-cycle of setup time. If additional setup is required, however, setting the TXNEG register to 1 will launch MOSI a half cycle (~10ns) early, which is indicated by the dotted gray waveform on the MOSI signals.
The target to master (MISO) timings on SPI interfaces are a bit more difficult to handle because of the cumulative round trip delay that consists of the clock delay from master to target, the access time at the target itself, and the return delay MISO path (first, third, and fourth red arrows). For this reason, read timings often dictate the frequency of a SPI bus.
The RXCAP and RXNEG bits are used together to determine the incoming RX data capture point. In an ideal world (zero delays), the MSPI would capture data at the rising edge of the internal SCLK, which would correspond to the setting of RXCAP=0, RXNEG=0 (the first vertical blue bar). It is useful, however, to push out the RX capture point to accommodate the late arrival of MISO. A setting of RXCAP=1,RXNEG=0 is the ideal setting and will delay the capture point by about 20ns (one internal 48MHz clock) as indicated in the third vertical blue line. At a 24MHz MSPI clock this should correspond to about the time the device starts driving the next data and thus should be the ideal setting. The MSPI also supports an RXCAP=1/RXNEG=1 combination, which samples in between these two points.
7.10 MSPI Registers
Multibit SPI Master
INSTANCE 0 BASE ADDRESS:0x50014000

DS-A3-0p9p1

Page 228 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

7.10.1 Register Memory Map

Table 327: MSPI Register Map

Address(s)
0x50014000 0x50014004 0x50014008 0x5001400C 0x50014010 0x50014014 0x50014018 0x5001401C 0x50014020 0x50014100 0x50014104 0x50014108

Register Name
CTRL CFG ADDR INSTR TXFIFO RXFIFO TXENTRIES RXENTRIES THRESHOLD MSPICFG PADCFG PADOUTEN

0x5001410C FLASH

0x50014120 0x50014200 0x50014204 0x50014208 0x5001420C 0x50014250 0x50014254 0x50014258 0x5001425C 0x50014260 0x50014264 0x50014278 0x500142A0 0x500142A8 0x500142AC 0x500142B0 0x500142B4 0x500142B8 0x500142C0 0x500142C4

SCRAMBLING INTEN INTSTAT INTCLR INTSET DMACFG DMASTAT DMATARGADDR DMADEVADDR DMATOTCOUNT DMABCOUNT DMATHRESH CQCFG CQADDR CQSTAT CQFLAGS CQSETCLEAR CQPAUSE CQCURIDX CQENDIDX

Description
MSPI PIO Transfer Control/Status Register MSPI Transfer Configuration Register MSPI Transfer Address Register MSPI Transfer Instruction TX Data FIFO RX Data FIFO TX FIFO Entries RX FIFO Entries TX/RX FIFO Threshhold Levels MSPI Module Configuration MSPI Output Pad Configuration MSPI Output Enable Pad Configuration Configuration for XIP/DMA support of SPI flash modules. External Flash Scrambling Controls MSPI Master Interrupts: Enable MSPI Master Interrupts: Status MSPI Master Interrupts: Clear MSPI Master Interrupts: Set DMA Configuration Register DMA Status Register DMA Target Address Register DMA Device Address Register DMA Total Transfer Count DMA BYTE Transfer Count DMA Transmit Trigger Threshhold Command Queue Configuration Register CQ Target Read Address Register Command Queue Status Register Command Queue Flag Register Command Queue Flag Set/Clear Register Command Queue Pause Mask Register Command Queue Current Index Command Queue End Index

DS-A3-0p9p1

Page 229 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

7.10.2 MSPI Registers
7.10.2.1 CTRL Register
MSPI PIO Transfer Control/Status Register OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x50014000 This register is used to enable individual PIO based transactions to a device on the bus. The CFG register must be programmed properly for the transfer, and the ADDR and INSTR registers should be programmed if the SENDI and SENDA fields are enabled.

Table 328: CTRL Register
33222222222211111111110000000000 10987654321098765432109876543210

XFERBYTES

RSVD

PIOSCRAMBLE TXRX SENDI SENDA
ENTURN BIGENDIAN
RSVD QUADCMD
BUSY STATUS START

Bit 31:16 15:12

Name XFERBYTES
RSVD

11

PIOSCRAMBLE

10

TXRX

9

SENDI

8

SENDA

7

ENTURN

6

BIGENDIAN

5:4

RSVD

Table 329: CTRL Register Bits

Reset 0x0

RW

Description

RW Number of bytes to transmit or receive (based on TXRX bit)

0x0

RO RESERVED

Enables data scrambling for PIO opertions. This should only be used for

0x0

RW data operations and never for commands to a device.

0x0

RW 1 Indicates a TX operation, 0 indicates an RX operation of XFERBYTES

Indicates whether an instruction phase should be sent (see INSTR field and

0x0

RW ISIZE field in CFG register)

Indicates whether an address phase should be sent (see ADDR register and

0x0

RW ASIZE field in CFG register)

Indicates whether TX->RX turnaround cycles should be enabled for this

0x0

RW operation (see TURNAROUND field in CFG register).

1 indicates data in FIFO is in big endian format (MSB first); 0 indicates little

0x0

RW endian data (default, LSB first).

0x0

RO RESERVED

DS-A3-0p9p1

Page 230 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3

QUADCMD

2

BUSY

1

STATUS

0

START

Table 329: CTRL Register Bits

Reset 0x0

RW

Description

Flag indicating that the operation is a command that should be replicated to both devices in paired QUAD mode. This is typically only used when readRW ing/writing configuration registers in paired flash devices (do not set for memory transfers).

0x0

RO Command status: 1 indicates controller is busy (command in progress)

Command status: 1 indicates command has completed. Cleared by writing

0x0

RO 1 to this bit or starting a new transfer.

Write to 1 to initiate a PIO transaction on the bus (typically the entire register

0x0

RW should be written at once with this bit set).

7.10.2.2 CFG Register
MSPI Transfer Configuration Register OFFSET: 0x00000004 INSTANCE 0 ADDRESS: 0x50014004 Command formatting for PIO based transactions (initiated by writes to CTRL register)

Table 330: CFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

TURNAROUND

DEVCFG

CPOL CPHA RSVD SEPIO ISIZE ASIZE

Bit 31:18
17

Name RSVD
CPOL

16 15:14

CPHA RSVD

Reset 0x0 0x0
0x0 0x0

Table 331: CFG Register Bits

RW RO RESERVED

Description

Serial clock polarity.
RW LOW = 0x0 - Clock inactive state is low. HIGH = 0x1 - Clock inactive state is high.
Serial clock phase.
RW MIDDLE = 0x0 - Clock toggles in middle of data bit. START = 0x1 - Clock toggles at start of data bit.
RO RESERVED

DS-A3-0p9p1

Page 231 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

13:8 TURNAROUND

Reset 0x0

Table 331: CFG Register Bits

RW

Description

Number of turnaound cycles (for TX->RX transitions). Qualified by RW ENTURN or XIPENTURN bit field.

7

SEPIO

Separate IO configuration. This bit should be set when the target device

0x0

RW

has separate MOSI and MISO pins. Respective IN/OUT bits below should be set to map pins.

6

ISIZE

5:4

ASIZE

3:0

DEVCFG

0x0

RW Instruction Size

0x0

RW Address Size. Address bytes to send from ADDR register

Flash configuration for XIP and AUTO DMA operations. Controls value for SER (Slave Enable) for XIP operations and address generation for DMA/ XIP modes. Also used to configure SPIFRF (frame format).

SERIAL0 = 0x1 - Single bit SPI flash on chip select 0

SERIAL1 = 0x2 - Single bit SPI flash on chip select 1

DUAL0 = 0x5 - Dual SPI flash on chip select 0

0x1

RW DUAL1 = 0x6 - Dual bit SPI flash on chip select 1

QUAD0 = 0x9 - Quad SPI flash on chip select 0

QUAD1 = 0xA - Quad SPI flash on chip select 1

OCTAL0 = 0xD - Octal SPI flash on chip select 0

OCTAL1 = 0xE - Octal SPI flash on chip select 1

QUADPAIRED = 0xF - Dual Quad SPI flash on chip selects 0/1.

QUADPAIRED_SERIAL = 0x3 - Dual Quad SPI flash on chip selects 0/1,

but transmit in serial mode for initialization operations

7.10.2.3 ADDR Register
MSPI Transfer Address Register OFFSET: 0x00000008 INSTANCE 0 ADDRESS: 0x50014008 Optional Address field to send for PIO transfers

Table 332: ADDR Register
33222222222211111111110000000000 10987654321098765432109876543210
ADDR

Bit

Name

31:0

ADDR

Table 333: ADDR Register Bits

Reset 0x0

RW

Description

Optional Address field to send (after optional instruction field) - qualified by RW ASIZE in CMD register. NOTE: This register is aliased to DMADEVADDR.

DS-A3-0p9p1

Page 232 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

7.10.2.4 INSTR Register
MSPI Transfer Instruction OFFSET: 0x0000000C INSTANCE 0 ADDRESS: 0x5001400C Optional Instruction field to send for PIO transfers

Table 334: INSTR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

INSTR

Bit 31:16 15:0

Name RSVD INSTR

Table 335: INSTR Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Optional Instruction field to send (1st byte) - qualified by ISEND/ISIZE

7.10.2.5 TXFIFO Register
TX Data FIFO OFFSET: 0x00000010 INSTANCE 0 ADDRESS: 0x50014010 TX Data FIFO

Table 336: TXFIFO Register
33222222222211111111110000000000 10987654321098765432109876543210
TXFIFO

Bit

Name

31:0

TXFIFO

Table 337: TXFIFO Register Bits

Reset 0x0

RW

Description

Data to be transmitted. Data should normall be aligned to the LSB (pad the WO upper bits with zeros) unless BIGENDIAN is set.

DS-A3-0p9p1

Page 233 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

7.10.2.6 RXFIFO Register
RX Data FIFO OFFSET: 0x00000014 INSTANCE 0 ADDRESS: 0x50014014 RX Data FIFO
Table 338: RXFIFO Register
33222222222211111111110000000000 10987654321098765432109876543210
RXFIFO

Bit

Name

31:0

RXFIFO

Table 339: RXFIFO Register Bits

Reset 0x0

RW

Description

Receive data. Data is aligned to the LSB (padded zeros on upper bits) RO unless BIGENDIAN is set.

7.10.2.7 TXENTRIES Register
TX FIFO Entries OFFSET: 0x00000018 INSTANCE 0 ADDRESS: 0x50014018 Number of words in TX FIFO

Table 340: TXENTRIES Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

TXENTRIES

Bit

Name

31:5

RSVD

4:0

TXENTRIES

Table 341: TXENTRIES Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RO Number of 32-bit words/entries in TX FIFO

DS-A3-0p9p1

Page 234 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

7.10.2.8 RXENTRIES Register
RX FIFO Entries OFFSET: 0x0000001C INSTANCE 0 ADDRESS: 0x5001401C Number of words in RX FIFO

Table 342: RXENTRIES Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RXENTRIES

Bit

Name

31:5

RSVD

4:0

RXENTRIES

Table 343: RXENTRIES Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RO Number of 32-bit words/entries in RX FIFO

7.10.2.9 THRESHOLD Register
TX/RX FIFO Threshhold Levels OFFSET: 0x00000020 INSTANCE 0 ADDRESS: 0x50014020 Threshold levels that trigger RXFull and TXEmpty interrupts

Table 344: THRESHOLD Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RXTHRESH

RSVD

TXTHRESH

Bit 31:16 15:13 12:8

Name RSVD RSVD RXTHRESH

Table 345: THRESHOLD Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RO RESERVED

0x0

RW Number of entries in TX FIFO that cause RXE interrupt

DS-A3-0p9p1

Page 235 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7:5

RSVD

4:0

TXTHRESH

Table 345: THRESHOLD Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Number of entries in TX FIFO that cause TXF interrupt

7.10.2.10MSPICFG Register
MSPI Module Configuration
OFFSET: 0x00000100
INSTANCE 0 ADDRESS: 0x50014100
Timing configuration bits for the MSPI module. PRSTN, IPRSTN, and FIFORESET can be used to reset portions of the MSPI interface in order to clear error conditions. The remaining bits control clock frequency and TX/RX capture timings.

Table 346: MSPICFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CLKDIV

PRSTN IPRSTN FIFORESET RSVD IOMSEL TXNEG RXNEG RXCAP APBCLK

Bit

Name

31

PRSTN

30

IPRSTN

29

FIFORESET

28:14

RSVD

Table 347: MSPICFG Register Bits

Reset 0x1

RW

Description

Peripheral reset. Master reset to the entire MSPI module (DMA, XIP, and RW transfer state machines). 1=normal operation, 0=in reset.

IP block reset. Write to 0 to put the transfer module in reset or 1 for normal

0x1

RW

operation. This may be required after error conditions to clear the transfer on the bus.

Reset MSPI FIFO (active high). 1=reset FIFO, 0=normal operation. May

0x0

RW be used to manually flush the FIFO in error handling.

0x0

RO RESERVED

DS-A3-0p9p1

Page 236 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

13:8

CLKDIV

7

RSVD

6:4

IOMSEL

3

TXNEG

2

RXNEG

1

RXCAP

0

APBCLK

Table 347: MSPICFG Register Bits

Reset 0x2 0x0

RW

Description

Clock Divider. Allows dividing 48 MHz base clock by integer multiples. Enumerations are provided for common frequency, but any integer divide from 48 MHz is allowed. Odd divide ratios will result in a 33/66 percent duty cycle with a long low clock pulse (to allow longer round-trip for read data).
RW CLK24 = 0x2 - 24 MHz MSPI clock CLK12 = 0x4 - 12 MHz MSPI clock CLK6 = 0x8 - 6 MHz MSPI clock CLK3 = 0x10 - 3 MHz MSPI clock CLK1_5 = 0x20 - 1.5 MHz MSPI clock

RO RESERVED

Selects which IOM is selected for CQ handshake status.

IOM0 = 0x0 - ERROR: desc VALUE MISSING

IOM1 = 0x1 - ERROR: desc VALUE MISSING

0x0

RW IOM2 = 0x2 - ERROR: desc VALUE MISSING

IOM3 = 0x3 - ERROR: desc VALUE MISSING

IOM4 = 0x4 - ERROR: desc VALUE MISSING

IOM5 = 0x5 - ERROR: desc VALUE MISSING

DISABLED = 0x7 - No IOM selected. Signals always zero.

Launches TX data a half clock cycle (~10ns) early. This should normally be

programmed to zero (NORMAL).

0x0

RW

NORMAL = 0x0 - TX launched from posedge internal clock

NEGEDGE = 0x1 - TX data launched from negedge of internal clock

Adjusts the RX capture phase to the negedge of the 48MHz internal clock

(~10ns early). For normal operation, it is expected that RXNEG will be set

0x0

RW to 0.

NORMAL = 0x0 - RX data sampled on posedge of internal clock NEGEDGE = 0x1 - RX data sampled on negedge of internal clock

Controls RX data capture phase. A setting of 0 (NORMAL) captures read

data at the normal capture point relative to the internal clock launch point.

However, to accomodate chip/pad/board delays, a setting of RXCAP of 1 is

expected to be used to align the capture point with the return data window.

0x0

RW

This bit is used in conjunction with RXNEG to provide 4 unique capture points, all about 10ns apart.

NORMAL = 0x0 - RX Capture phase aligns with CPHA setting DELAY = 0x1 - RX Capture phase is delayed from CPHA setting by one clock edge

Enable continuous APB clock. For power-efficient operation, APBCLK

should be set to 0.

0x0

RW

DIS = 0x0 - Disable continuous clock.

EN = 0x1 - Enable continuous clock.

7.10.2.11PADCFG Register
MSPI Output Pad Configuration OFFSET: 0x00000104 INSTANCE 0 ADDRESS: 0x50014104

DS-A3-0p9p1

Page 237 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Configuration bits for the MSPI pads. Allows pads associated with the upper quad to be mapped to corresponding bits on the lower quad. Use of Quad0 pins is recommended for optimal timing.

Table 348: PADCFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

IN0

RSVD

REVCS IN3 IN2 IN1
OUT7 OUT6 OUT5 OUT4 OUT3

Bit 31:22
21
20 19 18 17:16 15:5 4 3 2 1 0

Name RSVD
REVCS
IN3 IN2 IN1 IN0 RSVD OUT7 OUT6 OUT5 OUT4 OUT3

Table 349: PADCFG Register Bits

Reset 0x0

RW RO RESERVED

Description

Reverse CS connections. Allows CS1 to be associated with lower data

0x0

RW lanes and CS0 to be associated with upper data lines

0x0

RW Data Input pad 3 pin muxing: 0=pad[3] 1=pad[7]

0x0

RW Data Input pad 2 pin muxing: 0=pad[2] 1=pad[6]

0x0

RW Data Input pad 1 pin muxing: 0=pad[1] 1=pad[5]

0x0

RW Data Input pad 0 pin muxing: 0=pad[0] 1=pad[4] 2=pad[1] 3=pad[5]

0x0

RO RESERVED

0x0

RW Output pad 7 configuration. 0=data[7] 1=data[3]

0x0

RW Output pad 6 configuration. 0=data[6] 1=data[2]

0x0

RW Output pad 5 configuration. 0=data[5] 1=data[1]

0x0

RW Output pad 4 configuration. 0=data[4] 1=data[0]

0x0

RW Output pad 3 configuration. 0=data[3] 1=CLK

7.10.2.12PADOUTEN Register
MSPI Output Enable Pad Configuration OFFSET: 0x00000108 INSTANCE 0 ADDRESS: 0x50014108 Enable bits for the MSPI output pads. Each active MSPI line should be set to 1 in the OUTEN field below.

DS-A3-0p9p1

Page 238 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 350: PADOUTEN Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

OUTEN

Bit

Name

31:9

RSVD

8:0

OUTEN

Table 351: PADOUTEN Register Bits

Reset 0x0

RW RO RESERVED

Description

Output pad enable configuration. Indicates which pads should be driven. Bits [3:0] are Quad0 data, [7:4] are Quad1 data, and [8] is clock.

0x0

RW QUAD0 = 0x10F - Quad0 (4 data + 1 clock)

QUAD1 = 0x1F0 - Quad1 (4 data + 1 clock)

OCTAL = 0x1FF - Octal (8 data + 1 clock)

SERIAL0 = 0x103 - Serial (2 data + 1 clock)

7.10.2.13FLASH Register
Configuration for XIP/DMA support of SPI flash modules. OFFSET: 0x0000010C INSTANCE 0 ADDRESS: 0x5001410C When any SPI flash is configured, this register must be properly programmed before XIP or AUTO DMA operations commence.

Table 352: FLASH Register
33222222222211111111110000000000 10987654321098765432109876543210

READINSTR

WRITEINSTR

RSVD

XIPMIXED XIPSENDI XIPSENDA XIPENTURN XIPBIGENDIAN
XIPACK RSVD XIPEN

Bit 31:24

Name READINSTR

23:16 WRITEINSTR

Table 353: FLASH Register Bits

Reset 0xb

RW

Description

RW Read command sent to flash for DMA/XIP operations

0x6

RW Write command sent for DMA operations

DS-A3-0p9p1

Page 239 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 15:11 10:8

Name RSVD XIPMIXED

7

XIPSENDI

6

XIPSENDA

5

XIPENTURN

4

XIPBIGENDIAN

3:2

XIPACK

1

RSVD

0

XIPEN

Table 353: FLASH Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Reserved. Set to 0x0

Indicates whether XIP/AUTO DMA operations should send an instruction

0x0

RW (see READINSTR field and ISIZE field in CFG)

Indicates whether XIP/AUTO DMA operations should send an an address

0x0

RW phase (see DMADEVADDR register and ASIZE field in CFG)

Indicates whether XIP/AUTO DMA operations should enable TX->RX turn-

0x0

RW around cycles

Indicates whether XIP/AUTO DMA data transfers are in big or little endian

0x0

RW format

Controls transmission of Micron XIP acknowledge cycles (Micron Flash devices only)

NOACK = 0x0 - No acknowledege sent. Data IOs are tristated the first turn-

0x0

RW

around cycle ACK = 0x2 - Positive acknowledege sent. Data IOs are driven to 0 the first

turnaround cycle to acknowledge XIP mode

TERMINATE = 0x3 - Negative acknowledege sent. Data IOs are driven to 1

the first turnaround cycle to terminate XIP mode. XIPSENDI should be

reenabled for the next transfer

0x0

RO RESERVED

Enable the XIP (eXecute In Place) function which effectively enables the

0x0

RW

address decoding of the MSPI device in the flash/cache address space at address 0x04000000-0x07FFFFFF.

7.10.2.14SCRAMBLING Register
External Flash Scrambling Controls OFFSET: 0x00000120 INSTANCE 0 ADDRESS: 0x50014120 Enables data scrambling for the specified range external flash addresses. Scrambling does not impact flash access performance.

DS-A3-0p9p1

Page 240 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 354: SCRAMBLING Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

SCREND

RSVD

SCRSTART

SCRENABLE

Bit

Name

31

SCRENABLE

30:26

RSVD

25:16

SCREND

15:10

RSVD

9:0

SCRSTART

Table 355: SCRAMBLING Register Bits

Reset 0x0

RW

Description

Enables Data Scrambling Region. When 1 reads and writes to the range will be scrambled. When 0, data will be read/written unmodified. Address RW range is specified in 64K granularity and the START/END ranges are included within the range.

0x0

RO RESERVED

Scrambling region end address [25:16] (64K block granularity). The END

0x0

RW block is the LAST block included in the scrambled address range.

0x0

RO RESERVED

Scrambling region start address [25:16] (64K block granularity). The

0x0

RW START block is the FIRST block included in the scrambled address range.

7.10.2.15INTEN Register
MSPI Master Interrupts: Enable OFFSET: 0x00000200 INSTANCE 0 ADDRESS: 0x50014200 Set bits in this register to allow this module to generate the corresponding interrupt.

Table 356: INTEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

SCRERR CQERR CQPAUSED CQUPD CQCMP DERR DCMP
RXF RXO RXU TXO TXE CMDCMP

DS-A3-0p9p1

Page 241 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:13

Name RSVD

12

SCRERR

11

CQERR

10

CQPAUSED

9

CQUPD

8

CQCMP

7

DERR

6

DCMP

5

RXF

4

RXO

3

RXU

2

TXO

1

TXE

0

CMDCMP

Table 357: INTEN Register Bits

Reset 0x0

RW RO RESERVED

Description

Scrambling Alignment Error. Scrambling operations must be aligned to

0x0

RW word (4-byte) start address.

0x0

RW Command Queue Error Interrupt

0x0

RW Command Queue is Paused.

Command Queue Update Interrupt. Issued whenever the CQ performs an

0x0

RW

operation where address bit[0] is set. Useful for triggering CURIDX interrupts.

0x0

RW Command Queue Complete Interrupt

0x0

RW DMA Error Interrupt

0x0

RW DMA Complete Interrupt

0x0

RW Receive FIFO full

Receive FIFO overflow (cannot happen in MSPI design -- MSPI bus pins will

0x0

RW stall)

0x0

RW Receive FIFO underflow (only occurs when SW reads from an empty FIFO)

0x0

RW Transmit FIFO Overflow (only occurs when SW writes to a full FIFO).

0x0

RW Transmit FIFO empty.

Transfer complete. Note that DMA and CQ operations are layered, so

0x0

RW CMDCMP, DCMP, and CQ* can all be signalled simultaneously

7.10.2.16INTSTAT Register
MSPI Master Interrupts: Status OFFSET: 0x00000204 INSTANCE 0 ADDRESS: 0x50014204 Read bits from this register to discover the cause of a recent interrupt.

DS-A3-0p9p1

Page 242 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 358: INTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

SCRERR CQERR CQPAUSED CQUPD CQCMP DERR DCMP
RXF RXO RXU TXO TXE CMDCMP

Bit 31:13

Name RSVD

12

SCRERR

11

CQERR

10

CQPAUSED

9

CQUPD

8

CQCMP

7

DERR

6

DCMP

5

RXF

4

RXO

3

RXU

2

TXO

1

TXE

0

CMDCMP

Table 359: INTSTAT Register Bits

Reset 0x0

RW RO RESERVED

Description

Scrambling Alignment Error. Scrambling operations must be aligned to

0x0

RW word (4-byte) start address.

0x0

RW Command Queue Error Interrupt

0x0

RW Command Queue is Paused.

Command Queue Update Interrupt. Issued whenever the CQ performs an

0x0

RW

operation where address bit[0] is set. Useful for triggering CURIDX interrupts.

0x0

RW Command Queue Complete Interrupt

0x0

RW DMA Error Interrupt

0x0

RW DMA Complete Interrupt

0x0

RW Receive FIFO full

Receive FIFO overflow (cannot happen in MSPI design -- MSPI bus pins will

0x0

RW stall)

0x0

RW Receive FIFO underflow (only occurs when SW reads from an empty FIFO)

0x0

RW Transmit FIFO Overflow (only occurs when SW writes to a full FIFO).

0x0

RW Transmit FIFO empty.

Transfer complete. Note that DMA and CQ operations are layered, so

0x0

RW CMDCMP, DCMP, and CQ* can all be signalled simultaneously

DS-A3-0p9p1

Page 243 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
7.10.2.17INTCLR Register
MSPI Master Interrupts: Clear OFFSET: 0x00000208 INSTANCE 0 ADDRESS: 0x50014208 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.
Table 360: INTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

SCRERR CQERR CQPAUSED CQUPD CQCMP DERR DCMP
RXF RXO RXU TXO TXE CMDCMP

Bit 31:13

Name RSVD

12

SCRERR

11

CQERR

10

CQPAUSED

9

CQUPD

8

CQCMP

7

DERR

6

DCMP

5

RXF

4

RXO

3

RXU

2

TXO

Table 361: INTCLR Register Bits

Reset 0x0

RW RO RESERVED

Description

Scrambling Alignment Error. Scrambling operations must be aligned to

0x0

RW word (4-byte) start address.

0x0

RW Command Queue Error Interrupt

0x0

RW Command Queue is Paused.

Command Queue Update Interrupt. Issued whenever the CQ performs an

0x0

RW

operation where address bit[0] is set. Useful for triggering CURIDX interrupts.

0x0

RW Command Queue Complete Interrupt

0x0

RW DMA Error Interrupt

0x0

RW DMA Complete Interrupt

0x0

RW Receive FIFO full

Receive FIFO overflow (cannot happen in MSPI design -- MSPI bus pins will

0x0

RW stall)

0x0

RW Receive FIFO underflow (only occurs when SW reads from an empty FIFO)

0x0

RW Transmit FIFO Overflow (only occurs when SW writes to a full FIFO).

DS-A3-0p9p1

Page 244 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

1

TXE

0

CMDCMP

Table 361: INTCLR Register Bits

Reset 0x0

RW RW Transmit FIFO empty.

Description

Transfer complete. Note that DMA and CQ operations are layered, so

0x0

RW CMDCMP, DCMP, and CQ* can all be signalled simultaneously

7.10.2.18INTSET Register
MSPI Master Interrupts: Set OFFSET: 0x0000020C INSTANCE 0 ADDRESS: 0x5001420C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).

Table 362: INTSET Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

SCRERR CQERR CQPAUSED CQUPD CQCMP DERR DCMP
RXF RXO RXU TXO TXE CMDCMP

Bit 31:13

Name RSVD

12

SCRERR

11

CQERR

10

CQPAUSED

9

CQUPD

8

CQCMP

7

DERR

6

DCMP

Table 363: INTSET Register Bits

Reset 0x0

RW RO RESERVED

Description

Scrambling Alignment Error. Scrambling operations must be aligned to

0x0

RW word (4-byte) start address.

0x0

RW Command Queue Error Interrupt

0x0

RW Command Queue is Paused.

Command Queue Update Interrupt. Issued whenever the CQ performs an

0x0

RW

operation where address bit[0] is set. Useful for triggering CURIDX interrupts.

0x0

RW Command Queue Complete Interrupt

0x0

RW DMA Error Interrupt

0x0

RW DMA Complete Interrupt

DS-A3-0p9p1

Page 245 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

5

RXF

4

RXO

3

RXU

2

TXO

1

TXE

0

CMDCMP

Table 363: INTSET Register Bits

Reset 0x0

RW RW Receive FIFO full

Description

Receive FIFO overflow (cannot happen in MSPI design -- MSPI bus pins will

0x0

RW stall)

0x0

RW Receive FIFO underflow (only occurs when SW reads from an empty FIFO)

0x0

RW Transmit FIFO Overflow (only occurs when SW writes to a full FIFO).

0x0

RW Transmit FIFO empty.

Transfer complete. Note that DMA and CQ operations are layered, so

0x0

RW CMDCMP, DCMP, and CQ* can all be signalled simultaneously

7.10.2.19DMACFG Register
DMA Configuration Register OFFSET: 0x00000250 INSTANCE 0 ADDRESS: 0x50014250 DMA Configuration Register

Table 364: DMACFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

DMAPWROFF DMAPRI DMADIR DMAEN

Bit 31:19

Name RSVD

18

DMAPWROFF

17:5

RSVD

Table 365: DMACFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW Power off MSPI domain upon completion of DMA operation.

0x0

RO RESERVED.

DS-A3-0p9p1

Page 246 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

4:3

DMAPRI

2

DMADIR

1:0

DMAEN

Table 365: DMACFG Register Bits

Reset

RW

Description

Sets the Priority of the DMA request

0x0

RW

LOW = 0x0 - Low Priority (service as best effort) HIGH = 0x1 - High Priority (service immediately)

AUTO = 0x2 - Auto Priority (priority raised once TX FIFO empties or RX

FIFO fills)

Direction

0x0

RW P2M = 0x0 - Peripheral to Memory (SRAM) transaction

M2P = 0x1 - Memory to Peripheral transaction

DMA Enable. Setting this bit to EN will start the DMA operation

0x0

RW

DIS = 0x0 - Disable DMA Function EN = 0x3 - Enable HW controlled DMA Function to manage DMA to flash

devices. HW will automatically handle issuance of instruction/address bytes

based on settings in the FLASH register.

7.10.2.20DMASTAT Register
DMA Status Register OFFSET: 0x00000254 INSTANCE 0 ADDRESS: 0x50014254 DMA Status Register

Table 366: DMASTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

SCRERR DMAERR DMACPL DMATIP

Bit

Name

31:4

RSVD

3

SCRERR

2

DMAERR

1

DMACPL

Table 367: DMASTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

Scrambling Access Alignment Error. This active high bit signals that a

0x0

RW scrambling operation was specified for a non-word aligned DEVADDR.

DMA Error. This active high bit signals that an error was encountered during

0x0

RW the DMA operation.

0x0

RW DMA Transfer Complete. This signals the end of the DMA operation.

DS-A3-0p9p1

Page 247 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

DMATIP

Table 367: DMASTAT Register Bits

Reset 0x0

RW

Description

DMA Transfer In Progress indicator. 1 will indicate that a DMA transfer is active. The DMA transfer may be waiting on data, transferring data, or waitRO ing for priority. All of these will be indicated with a 1. A 0 will indicate that the DMA is fully complete and no further transactions will be done.

7.10.2.21DMATARGADDR Register
DMA Target Address Register OFFSET: 0x00000258 INSTANCE 0 ADDRESS: 0x50014258 DMA Target Address Register

Table 368: DMATARGADDR Register
33222222222211111111110000000000 10987654321098765432109876543210
TARGADDR

Bit

Name

31:0

TARGADDR

Table 369: DMATARGADDR Register Bits

Reset 0x0

RW

Description

Target byte address for source of DMA (either read or write). In cases of

RW

non-word aligned addresses, the DMA logic will take care for ensuring only the target bytes are read/written.

7.10.2.22DMADEVADDR Register
DMA Device Address Register OFFSET: 0x0000025C INSTANCE 0 ADDRESS: 0x5001425C DMA Device Address Register

Table 370: DMADEVADDR Register
33222222222211111111110000000000 10987654321098765432109876543210
DEVADDR

DS-A3-0p9p1

Page 248 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

DEVADDR

Table 371: DMADEVADDR Register Bits

Reset 0x0

RW

Description

RW SPI Device address for automated DMA transactions (both read and write).

7.10.2.23DMATOTCOUNT Register
DMA Total Transfer Count OFFSET: 0x00000260 INSTANCE 0 ADDRESS: 0x50014260 DMA Total Transfer Count

Table 372: DMATOTCOUNT Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

TOTCOUNT

Bit 31:16 15:0

Name RSVD TOTCOUNT

Table 373: DMATOTCOUNT Register Bits

Reset 0x0

RW RO Reserved

Description

0x0

RW Total Transfer Count in bytes.

7.10.2.24DMABCOUNT Register
DMA BYTE Transfer Count OFFSET: 0x00000264 INSTANCE 0 ADDRESS: 0x50014264 DMA BYTE Transfer Count

Table 374: DMABCOUNT Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

BCOUNT

DS-A3-0p9p1

Page 249 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:8

RSVD

7:0

BCOUNT

Table 375: DMABCOUNT Register Bits

Reset 0x0

RW RO Reserved

Description

Burst transfer size in bytes. This is the number of bytes transferred when a

0x0

RW FIFO trigger event occurs. Recommended values are 16 or 32.

7.10.2.25DMATHRESH Register
DMA Transmit Trigger Threshhold OFFSET: 0x00000278 INSTANCE 0 ADDRESS: 0x50014278 Indicates FIFO level at which a DMA should be triggered. For most configurations, a setting of 8 is recommended for both read and write operations.

Table 376: DMATHRESH Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

DMATHRESH

Bit

Name

31:4

RSVD

3:0

DMATHRESH

Table 377: DMATHRESH Register Bits

Reset 0x0

RW RO RESERVED

Description

DMA transfer FIFO level trigger. For read operations, DMA is triggered

when the FIFO level is greater than this value. For write operations, DMA is

0x8

RW triggered when the FIFO level is less than this level. Each DMA operation

will consist of BCOUNT bytes.

7.10.2.26CQCFG Register
Command Queue Configuration Register OFFSET: 0x000002A0 INSTANCE 0 ADDRESS: 0x500142A0 This register controls Command Queueing (CQ) operations in a manner similar to the DMACFG register.

DS-A3-0p9p1

Page 250 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Table 378: CQCFG Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CQAUTOCLEARMASK CQPWROFF CQPRI CQEN

Bit

Name

31:4

RSVD

3

CQAUTOCLEARMASK

2

CQPWROFF

1

CQPRI

0

CQEN

Table 379: CQCFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Eanble clear of CQMASK after each pause operation. This may be useful

0x0

RW when using software flags to pause CQ.

0x0

RW Power off MSPI domain upon completion of DMA operation.

Sets the Priority of the command queue dma request

0x0

RW LOW = 0x0 - Low Priority (service as best effort)

HIGH = 0x1 - High Priority (service immediately)

Command queue enable. When set, will enable the processing of the com-

mand queue

0x0

RW

DIS = 0x0 - Disable CQ Function

EN = 0x1 - Enable CQ Function

7.10.2.27CQADDR Register
CQ Target Read Address Register
OFFSET: 0x000002A8
INSTANCE 0 ADDRESS: 0x500142A8
Location of the command queue in SRAM or flash memory. This register will increment as CQ operations commence. Software should only write CQADDR when CQEN is disabled, however the command queue script itself may update CQADDR in order to perform queue management functions (like resetting the pointers)

DS-A3-0p9p1

Page 251 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 380: CQADDR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQADDR

Bit 31:29 28:0

Name RSVD CQADDR

Table 381: CQADDR Register Bits

Reset 0x0

RW RO Reserved

Description

Address of command queue buffer in SRAM or flash. The buffer address

0x0

RW must be aligned to a word boundary.

7.10.2.28CQSTAT Register
Command Queue Status Register OFFSET: 0x000002AC INSTANCE 0 ADDRESS: 0x500142AC Command Queue Status Register

Table 382: CQSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CQPAUSED CQERR CQCPL CQTIP

Bit

Name

31:4

RSVD

3

CQPAUSED

2

CQERR

1

CQCPL

Table 383: CQSTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RO Command queue is currently paused status.

Command queue processing Error. This active high bit signals that an error

0x0

RW was encountered during the CQ operation.

Command queue operation Complete. This signals the end of the command

0x0

RW queue operation.

DS-A3-0p9p1

Page 252 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

CQTIP

Table 383: CQSTAT Register Bits

Reset 0x0

RW

Description

Command queue Transfer In Progress indicator. 1 will indicate that a CQ

RO

transfer is active and this will remain active even when paused waiting for external event.

7.10.2.29CQFLAGS Register
Command Queue Flag Register OFFSET: 0x000002B0 INSTANCE 0 ADDRESS: 0x500142B0 Command Queue Flag Register

Table 384: CQFLAGS Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQFLAGS

Bit 31:16

Name RSVD

Table 385: CQFLAGS Register Bits

Reset 0x0

RW RO Reserved

Description

DS-A3-0p9p1

Page 253 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

15:0

CQFLAGS

Table 385: CQFLAGS Register Bits

Reset

RW

Description

Current flag status (read-only). Bits [7:0] are software controllable and bits [15:8] are hardware status.

STOP = 0x8000 - CQ Stop Flag. When set, CQ processing will complete.

CQIDX = 0x4000 - CQ Index Pointers (CURIDX/ENDIDX) match.

DMACPL = 0x800 - DMA Complete Status (hardwired DMACPL bit in

DMASTAT)

CMDCPL = 0x400 - PIO Operation completed (STATUS bit in CTRL regis-

ter)

IOM1READY = 0x200 - IOM Buffer 1 Ready Status (from selected IOM).

This status is the result of XNOR'ing the IOM0START with the incoming sta-

tus from the IOM. When high, MSPI can send to the buffer.

IOM0READY = 0x100 - IOM Buffer 0 Ready Status (from selected IOM).

This status is the result of XNOR'ing the IOM0START with the incoming sta-

tus from the IOM. When high, MSPI can send to the buffer.

SWFLAG7 = 0x80 - Software flag 7. Can be used by software to start/pause

operations

0x0

RO SWFLAG6 = 0x40 - Software flag 6. Can be used by software to start/pause

operatoins

SWFLAG5 = 0x20 - Software flag 5. Can be used by software to start/pause

operations

SWFLAG4 = 0x10 - Software flag 4. Can be used by software to start/pause

operatoins

SWFLAG3 = 0x8 - Software flag 3. Can be used by software to start/pause

operations

SWFLAG2 = 0x4 - Software flag 2. Can be used by software to start/pause

operatoins

SWFLAG1 = 0x2 - Software flag 1. Can be used by software to start/pause

operations

SWFLAG0 = 0x1 - Software flag 0. Can be used by software to start/pause

operatoins

IOM1START = 0x2 - IOM Buffer 1 status (same as SWFLAG1). When

linked to IOM, indicates to IOM that buffer 1 is ready.

IOM0START = 0x1 - IOM Buffer 0 status (same as SWFLAG0). When

linked to IOM, indicates to IOM that buffer 0 is ready.

7.10.2.30CQSETCLEAR Register
Command Queue Flag Set/Clear Register OFFSET: 0x000002B4 INSTANCE 0 ADDRESS: 0x500142B4 Command Queue Flag Set/Clear Register

Table 386: CQSETCLEAR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQFCLR

CQFTOGGLE

CQFSET

DS-A3-0p9p1

Page 254 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:24

Name RSVD

23:16

CQFCLR

15:8

CQFTOGGLE

7:0

CQFSET

Table 387: CQSETCLEAR Register Bits

Reset 0x0

RW RO Reserved

Description

0x0

WO Clear CQFlag status bits.

0x0

RO Toggle CQFlag status bits

0x0

WO Set CQFlag status bits. Set has priority over clear if both are high.

7.10.2.31CQPAUSE Register
Command Queue Pause Mask Register OFFSET: 0x000002B8 INSTANCE 0 ADDRESS: 0x500142B8 Command Queue Pause Mask Register

Table 388: CQPAUSE Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQMASK

Bit 31:16

Name RSVD

Table 389: CQPAUSE Register Bits

Reset 0x0

RW RO Reserved

Description

DS-A3-0p9p1

Page 255 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

15:0

CQMASK

Table 389: CQPAUSE Register Bits

Reset

RW

Description

CQ will pause processing until all specified events are satisfied.

STOP = 0x8000 - CQ Stop Flag. When set, CQ processing will complete.

CQIDX = 0x4000 - CQ Index Pointers (CURIDX/ENDIDX) match.

DMACPL = 0x800 - DMA Complete Status (hardwired DMACPL bit in

DMASTAT)

CMDCPL = 0x400 - PIO Operation completed (STATUS bit in CTRL regis-

ter)

IOM1READY = 0x200 - IOM Buffer 1 Ready Status (from selected IOM).

This status is the result of XOR'ing the IOM0START with the incoming sta-

tus from the IOM. When high, MSPI can send to the buffer.

IOM0READY = 0x100 - IOM Buffer 0 Ready Status (from selected IOM).

This status is the result of XOR'ing the IOM0START with the incoming sta-

tus from the IOM. When high, MSPI can send to the buffer.

SWFLAG7 = 0x80 - Software flag 7. Can be used by software to start/pause

operations

0x0

RW

SWFLAG6 = 0x40 - Software flag 6. Can be used by software to start/pause operatoins

SWFLAG5 = 0x20 - Software flag 5. Can be used by software to start/pause

operations

SWFLAG4 = 0x10 - Software flag 4. Can be used by software to start/pause

operatoins

SWFLAG3 = 0x8 - Software flag 3. Can be used by software to start/pause

operations

SWFLAG2 = 0x4 - Software flag 2. Can be used by software to start/pause

operatoins

SWFLAG1 = 0x2 - Software flag 1. Can be used by software to start/pause

operations

SWFLAG0 = 0x1 - Software flag 0. Can be used by software to start/pause

operatoins

IOM1START = 0x2 - IOM Buffer 1 status (same as SWFLAG1). When

linked to IOM, indicates to IOM that buffer 1 is ready.

IOM0START = 0x1 - IOM Buffer 0 status (same as SWFLAG0). When

linked to IOM, indicates to IOM that buffer 0 is ready.

7.10.2.32CQCURIDX Register
Command Queue Current Index
OFFSET: 0x000002C0
INSTANCE 0 ADDRESS: 0x500142C0
This register can be used in conjunction with the CQENDIDX register to manage the command queue. Typically software will initialize the CQCURIDX and CQENDIDX to the same value, which will cause the CQ to be paused when enabled. Software may then add entries to the command queue (in SRAM) and update CQENDIDX. The command queue operations will then increment CQCURIDX as it processes operations. Once CQCURIDX==CQENDIDX, the command queue hardware will automatically pause since no additional operations have been appended to the queue.

Table 390: CQCURIDX Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQCURIDX

DS-A3-0p9p1

Page 256 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:8

RSVD

7:0

CQCURIDX

Table 391: CQCURIDX Register Bits

Reset 0x0

RW RO RESERVED.

Description

Can be used to indicate the current position of the command queue by hav-

ing CQ operations write this field. A CQ hardware status flag indicates

0x0

RW when CURIDX and ENDIDX are not equal, allowing SW to pause the CQ

processing until the end index is updated.

7.10.2.33CQENDIDX Register
Command Queue End Index OFFSET: 0x000002C4 INSTANCE 0 ADDRESS: 0x500142C4 Command Queue End Index

Table 392: CQENDIDX Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQENDIDX

Bit

Name

31:8

RSVD

7:0

CQENDIDX

Table 393: CQENDIDX Register Bits

Reset 0x0

RW RO RESERVED.

Description

Can be used to indicate the end position of the command queue. A CQ

0x0

RW

hardware status bit indices when CURIDX != ENDIDX so that the CQ can be paused when it reaches the end pointer.

DS-A3-0p9p1

Page 257 of 909

2019 Ambiq Micro, Inc. All rights reserved.

8. I2C/SPI Master Module

Apollo3 Blue Datasheet

SPI Master Controller

DMA

CMD Queue

IO Mux

I2C Master Controller FIFO

REGs INTs

Bus Interface

Figure 14. Block Diagram for the I2C/SPI Master Module
8.1 Functional Overview
The Apollo3 Blue MCU includes six I2C/SPI High Speed Master Modules, shown in Figure 14, each of which functions as the Master of an I2C or SPI interface as selected by the REG_IOMSTRn_IOMCFG_IFCSEL bit (n=0 or 1). A 64-byte bidirectional FIFO and a sophisticated Command mechanism allow simple initiation of I/O operations without requiring software interaction.
In I2C mode the I2C/SPI Master supports 7- and 10-bit addressing, multi-master arbitration, interface frequencies from 1.2 kHz to 1.0 MHz and up to 255-byte burst operations. In SPI mode the I2C/SPI Master supports up to 4 slaves with automatic nCE selection, 3 and 4-wire implementation, all SPI polarity/phase combinations and up to 4095-byte burst operations, with both standard embedded address operations of up to 3 bytes and raw read/write transfers. Interface timing limits are as specified in Table 1155 on page 788 and Table 1156 on page 789.
The active interface is selected by enabling the module enable bit for the interface in the REG_IOMn_SUBMODCTL. Only one interface can be active at a time. Each module contains a separate pair of 32-byte FIFOs, each of which is dedicated to data flow in a single direction (input or output). The modules support data transfer to or from the module through either direct or DMA paths. SRAM can be used as the source or the sink of data, and flash data can be used as source data for IOM transaction. Command Queue operations are also supported to allow commands to be placed in memory and fetched and executed in series. The Command Queue interface also includes inter-module flags which allows event communication between other IOM modules, MSPI modules and external pins through the GPIO interface.
Also supported in the design are test modes for use in setup and power measurements, and debug facilities to aid in software/hardware debug.

DS-A3-0p9p1

Page 258 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

8.1.1 Main Features
No resources are shared between IOM modules, but within a single IOM module, the submodules share a common set of FIFO and command resources.
8.1.1.1 Features common to all submodules
- 2 Independent 32-byte FIFOs, one dedicated each direction of data transfer - Direct access of all FIFO data from MCU interface, including non-destructive reads. - FIFO mode read/write access (push/pop mechanism) - Direct command, direct data mode. (Command and data written to/read from the module registers
directly) - Direct command, DMA data mode. Commands are written directly to the module, but data is written to/
read from the main SRAM array. - Command queuing operations. Registers write operations are read from main SRAM memory and fed
to the register unit in series. - Programmable interrupts - Programmable threshold interrupt level - Configurable clock selection - Read data synchronized internally for MCU access - Ability to send multi-byte offset addresses, with single command - Ability to view FIFO data without causing pop operation - Capability to store data for multiple commands in either FIFO - Programmable number of byte offsets of 0-3
8.1.1.2 I2C Master features
- Support for standard mode (100KHz), Fast mode (400KHz), and Fast mode+ (1MHz) - Support for 7b and 10b addressing modes - Transfer burst sizes of 0 to 255 bytes. - Configurable LSB or MSB data transfer. - Clock stretching support.
8.1.1.3 SPI Master features
- Support for transaction sizes up to 4095 bytes - Programmable number of byte offsets of 0-3 - Programmable operation in all polarity modes - 3-wire and 4-wire read and write support - Flow control for reads or writes, based on MISO (write flow control), or external, selectable PIO. - Full duplex operation
8.2 Functional Description
8.2.1 Power Control
The 6 IOM modules are separated into 2 power domains, referred to as HPCB and HCPC. IOM modules 0,1 and 2 are contained in HCPB, while IOM modules 3,4 and 5 are contained in HCPC power domain. The power domain must be enabled in the REG_PWRCTRL_DEVPWREN register prior to access and operation.
8.2.2 Clocking and Resets
The IOM design uses 2 main clocks, APB_CLK and IO_CLK. The APB_CLK is used for all register and DMA accesses. It runs at 24Mhz and will be interfaced via the APB fabric synchronous interface. The

DS-A3-0p9p1

Page 259 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

IO_CLK is used as the source of the interface clock and has selectable frequencies. The overview of the clocking structure is shown below:
CLKGEN

HFRC

RIPPLE DIVIDERS

IO_CLK
FSEL CLKEN

DMA Fabric

IOM MODULE
APB IFACE

IOM REGS
DMIOAM FIF O

IOM CLKGEN
IFC_CLK

I2C

PIN

SPI

MUX

Figure 15. Clocking Structure for IOM Module
The APB_CLK is an internal clock sourced from the bus fabric and operates at a fixed 24MHz frequency. It is used for internal communication and is heavily clock gated to reduce dynamic power. The IO_CLK is generated within the central clocking module and enabled through the REG_IOM_CLKCFG.IOCLKEN field. This clock must be enabled by software prior to module operation. The primary frequency of the IO_CLK is selected via the REG_IOM_CLKCFG.FSEL field, and further divided by either or both of the internal divide by 3 divider (enabled via the REG_IOM_CLKCFG.DIV3 field), or a programmable divider (enabled by REG_IOM_CLKCFG.DIVEN and division set by REG_IOM_CLKCFG.TOTPER and REG_IOMCLKCFG.LOWPER fields) as shown below.

DS-A3-0p9p1

Page 260 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Figure 16. IO_CLK Generation

The divided by 3 divider is optional and will provide a 50% duty cycle divided by 3 clock. This divider is bypassed when the DIV3 field is set to 0. The output of the DIV3 module is then fed to the programmable divider. This divider can be bypassed or enabled via the DIVEN field in the CLKCFG. It will divide at a rate of TOTPER+1 (subtract 1 from actual value when writing TOTPER field), and will toggle at LOWPER+1 clock count of the base IO_CLK from the DIV3 module. This will generate the final IO_CLK used by the interface module.
8.2.2.1 I2C Clock Generation
The I2C output clock (SCL) is derived from dividing the final IO_CLK by 2. For example, for 1Mhz I2C operation, an IO_CLK frequency of 2Mhz is required. Because the state machine will operate at 2x the target frequency of the interface frequency, the nominal output clk (SCL) duty cycle will be 50%, regardless of the duty cycle of the IO_CLK. However, the timing specification of some I2C modes require an asymmetrical duty cycle on the SCL output, with the high period of the clock less than the low period of the clock. The clocking module allows a programmable delay prior to propagating the rising edge of the SCL output. This delay is in units of the source IO_CLK period (prior to any enabled division). This delay is specified in the REG_IOM_MI2CCFG.SCLENDLY register field. The recommended settings for this register for each mode are detailed below.
If clock stretching is done by the slave devices attached to the IOM interface, further restrictions must be observed during the setup of the clock controls. This is due to the possible clock stretch event done within a single cycle on the I2C SCL. In this case, the minimum SCL high time must be maintained, regardless of the time the slave releases the SCL. To detect the event within the single I2C cycle, the SCL signal needs to be sub-sampled. The source IO_CLK is used for this purpose also and allows for sampling of the SCL signal by a programmable number of source IO_CLK cycles. The sample granularity is determined by the ratio of the source IO_CLK to final IO_CLK frequency and must allow for synchronization time between the two domains. The recommended settings for each mode are below. Only speeds of 100KHz, 400KHz and 1MHz are supported. Contact Ambiq Micro for use of other frequencies. are highlighted for each mode.

Mode Standard Mode
(100 KHz) Fast Mode
(400 KHz) Fast Mode+
(1000 KHz)

FSEL 3

DIV3 0

DIV EN 1

TOT PER
60

2

0

1

31

3

0

1

6

LOW PER 39
19
3

SMP CNT
3

SDAEN DLY
15

15

15

1

3

Table 394: Recommended Mode Settings for Standard I2C Clock Speeds

SCLEN DLY 0
2
0

8.2.2.2 SPI Clock Generation
The final IO_CLK is used directly as the SPI clock output. No additional settings are needed.

DS-A3-0p9p1

Page 261 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
8.2.3 FIFO
The IOM module contains 2 uni-directional FIFOs, each 32 bytes wide. These FIFOs are used only for data storage during IO transactions. The FIFO supports both single (half duplex) and duplex modes of operation.
During direct mode data transfer operations, IO data transfer between the IOM module and the MCU is done by accessing the REG_IOM_FIFOPOP and REG_IOM_FIFOPUSH registers. These registers allow read (FIFOPOP) and write (FIFOPUSH) of data into and out of the FIFO, and automatic adjustment of pointers used by the submodules. Only word accesses are permitted to these registers and any unused byte locations will be ignored or filled with zero. If DMA is enabled during the IO command operation, data will automatically be read or written into the FIFO from the DMA address and the pointers updated. The FIFO pointers and data are NOT reset after each command, and care must be taken to not leave any extra data in the FIFO, as this will be used for subsequent transfers. If needed, there is a manual reset of the FIFO pointers that can be done using the REG_IOM_FIFOCTRL.FIFORSTN field. Additional information on data alignment is covered in the later sections of this document.
The submodules will prevent overruns or underruns from the FIFO by pausing the active transaction, usually by stopping the output clock. Once data is available (write operations) or there is room in the FIFO (read operations), the transaction will continue.
For debug operations, the IOM module also allows direct access to the FIFO contents through the REG_IOM_FIFO aperture. Access via this path does not affect the pointers used by the submodules and cannot be used to send or receive data as part of the IO operation. The FIFO aperture allows read and write operations into the write FIFO and read access into the read FIFO. The current FIFO pointers are readable via the FIFOLOC register. For the write FIFO, this will point to the next location to be written, while the read FIFO pointer will indicate the next location to be read.
FIFO ACCESS NOTE: When DMA operations are in progress, the FIFOPUSH and FIFOPOP registers should not be accessed, as this will interfere with the DMA data.
8.2.4 Data Alignment
All data accesses between the MCU and the IOM interface are word aligned. Since the transfer size is specified in bytes, unused bytes within the word will either be discarded (for write operations) or filled with zero (read operations) to align to the next word boundary. DMA operations support a byte starting address, and the programmed DMA address does not have to be word aligned. Direct mode write operations will start transferring the least significant byte of the word (little endian style) at the current write FIFO pointer. If any remaining bytes are unused in a word at the end of the write operation, they will be discarded, and the write pointer will be set to the next word location. Direct mode read operations will store the first received byte into the least significant byte of location specified by the read FIFO pointer, and will fill any unused byte locations with zero if the transaction size is not a word multiple. The FIFO read pointer will point to the next FIFO location in the read FIFO, which will be word aligned.
8.2.4.1 Direct Mode Data Transfers
Direct mode data is enabled when DMA is disabled via the REG_IOM_DMACFG.DMAEN and the data transfer size (TSIZE) is greater than 0. In this mode, the MCU transfers data via direct writes or reads to registers in the IOM. The IOM maintains separate FIFO pointers for the read and write FIFOs, and updates these when a PUSH or POP register is accessed. Writing to the REG_IOM_FIFOPUSH register will perform a push event of the word into the FIFO and update the write pointer by 4 bytes. Only word accesses are supported to the IOM, and any unused bytes within a word will be discarded. An example of a 5 byte write transfer is shown below.

DS-A3-0p9p1

Page 262 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

FIFO PTR

WRITE FIFO INIT STATE
FIFO LOCATION 0 FIFO LOCATION 1 FIFO LOCATION 2 FIFO LOCATION 3 FIFO LOCATION 4 FIFO LOCATION 5 FIFO LOCATION 6 FIFO LOCATION 7 FIFO LOCATION 8 FIFO LOCATION 9 FIFO LOCATION 10 FIFO LOCATION 10 ......... ............... .. FIFO LOCATION 28 FIFO LOCATION 29 FIFO LOCATION 30 FIFO LOCATION 31

word 0 word 1 word 2 word 7

WRITE FIFO AFTER DIRECT MODE PUSH OF 2 WORDS (0x87654321, 0x0FEDCBA9)

FIFO PTR

21 43 65 87 A9 CB ED 0F FIFO LOCATION 8 FIFO LOCATION 9 FIFO LOCATION 10 FIFO LOCATION 10 ......... ............... .. FIFO LOCATION 28 FIFO LOCATION 29 FIFO LOCATION 30 FIFO LOCATION 31

word 0 word 1 word 2 word 7

WRITE FIFO AFTER WRITE OPERATION OF 5 BYTES

DISCARDED BYTES
FIFO PTR

21 43 65 87 9A CB ED 0F FIFO LOCATION 8 FIFO LOCATION 9 FIFO LOCATION 10 FIFO LOCATION 10 ......... ............... .. FIFO LOCATION 28 FIFO LOCATION 29 FIFO LOCATION 30 FIFO LOCATION 31

word 0 word 1 word 2 word 7

CMD TO WRITE 5 BYTES (LSB MODE= 0) BINARY: ...<ADDR/OFFSET>..0010_0001_0100_0011_0110_0101_1000_0111_1010_1001 <END>
Figure 17. Direct Mode 5-byte Write Transfer

Reading from the REG_IOM_FIFOPOP register will perform a POP operation, return 4 bytes of data and

advance the internal read FIFO pointer by 4 bytes. Any unused bytes within the read data will be filled with

0's and aligned to a word boundary at the end of the transaction. An example of a 5 byte read operation is

shown below.

READ FIFO INIT STATE

READ FIFO AFTER 5 BYTE READ IS PERFORMED (0x87654321, 0x000000A9)

READ FIFO DATA VIEW

FIFO PTR

FIFO LOCATION 0 FIFO LOCATION 1 FIFO LOCATION 2 FIFO LOCATION 3 FIFO LOCATION 4 FIFO LOCATION 5 FIFO LOCATION 6 FIFO LOCATION 7 FIFO LOCATION 8 FIFO LOCATION 9 FIFO LOCATION 10 FIFO LOCATION 10 ......... ............... .. FIFO LOCATION 28 FIFO LOCATION 29 FIFO LOCATION 30 FIFO LOCATION 31

word 0

word 1 word 2

FIFO PTR

word 7

21 43 65 87 A9 0 0 0 FIFO LOCATION 8 FIFO LOCATION 9 FIFO LOCATION 10 FIFO LOCATION 10 ......... ............... .. FIFO LOCATION 28 FIFO LOCATION 29 FIFO LOCATION 30 FIFO LOCATION 31

word 0

word 1 word 2

FILLED BYTES
FIFO PTR

word 7

21 43 65 87 9A 0 0 0 FIFO LOCATION 8 FIFO LOCATION 9 FIFO LOCATION 10 FIFO LOCATION 10 ......... ............... .. FIFO LOCATION 28 FIFO LOCATION 29 FIFO LOCATION 30 FIFO LOCATION 31

word 0 word 1 word 2 word 7

CMD TO READ 5 BYTES (LSB MODE= 0) BINARY: 0010_0001_0100_0011_0110_0101_1000_0111_1010_1001 <END>
Figure 18. Direct Mode 5-byte Read
The IOM also supports a non-destructive POP mechanism to prevent unintended POP events from occurring. If the REG_IOM_FIFOCTRL.POPWR field is active (1), a write to the REG_IOM_FIFOPOP register will be required in order to complete the POP event. Reads will return the current data. An active transaction will be paced by data availability and will hold the clock low if there is not enough data to continue write operations, or if the read FIFO is full during read operations. This wait condition is indicated when the REG_IOM_CMDSTAT.CMDSTAT field is 0x6. Once new data or FIFO locations are present, the command will continue operation automatically.

DS-A3-0p9p1

Page 263 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

8.2.4.2 DMA Data transfers
DMA transfers are enabled by configuring the DMA related registers, enabling the DMA channel, and then issuing the command. The command will automatically fetch and store the data associated with the command without MCU intervention. The DMA channel is enabled via the REG_IOM_DMACFG.DMAEN field. P2M DMA operations transfer data from peripheral to memory and are used in IOM READ operations. M2P DMA operations transfer data from memory to peripheral and are used in IOM write operations. DMA transfer size is programmed into the REG_IOM_DMATOTCOUNT register and supports up to 4095 bytes of data transfer. The DMA transfer size is independent from the transaction size, and allows a single DMA setting to be used across multiple commands. The direction of DMA data transfer must match the command. The REG_IOM_DMACFG.DMAEN field enables/disables the DMA transfer capability and must be set last when configuring the DMA, generally prior to sending the command.
The DMA engine within the module will initiate a transfer of data when a trigger event occurs. There are 2 types of triggers available, threshold (THR) and command completion (CMDCMP). The THR trigger will activate when the threshold programmed into the FIFOWTHR or FIFORTHR in the REG_IOM_FIFOTHR register meets the data criteria. Because the MCU access to the interface is 32 bits wide, only the word count of the selected THR is used, and the low order bits of the FIFOWTHR or FIFORTHR are ignored.
During the transfer, the TOTCOUNT register is decremented to reflect the number of bytes transferred.
For IOM write operations (data written from IOM out to an external device), the THR trigger will activate when the write FIFO contains FIFOWTHR[5:2] free words. If the remaining DMA transfer size is less than this, only the needed number of words are transferred.
For IOM read operations (data read from external device), the THR trigger will activate when the read FIFO contains FIFORTHR[5:2] words of valid data. If the remaining DMA transfer size is less than the RTHR words, then the CMDCMP trigger can be enabled to transfer the remaining data. If the CMDCMP trigger is disabled, and the number of bytes in the read FIFO is greater to or equal to the current TOTCOUNT, a DMA transfer of TOTCOUNT will be done to complete the DMA operation. This mode requires that the THR trigger be enabled as well.
The CMDCMP trigger activates when the command is complete and will transfer the lesser of the TOTCOUNT or the number of bytes in the read FIFO. Note, this trigger is not needed for write operations, and the THR trigger should be used in this case.
If DMA transfer size is matched to the IOM transaction size, it is recommended to program both the FIFORTHR and FIFOWTHR to 0x10 (16 bytes) and only enable the THR trigger.
8.2.5 Transaction Initiation
To start a transaction, the IOM module must be powered up and the target external pins enabled via the GPIO module. For SPI transactions, this will generally require 4 pins to be enabled via the function select field of the PADREG registers in the GPIO module. The CEN pin for SPI transaction requires setting of the FNCSEL field of the appropriate pin, as well as the CFGREG of the corresponding pin. This also includes the setting of the default value of the CEN. This is needed to allow the IOM module to power down and not activate the CEN signal.
Once the IOM module is powered on, and the external pins configured, the IOM submodule must be enabled via the REG_IOM_SUBMODCTRL register. This will activate either the SPI or I2C interface. Once this is complete, the submodule specific registers should be configured to set the desired mode and features. If DMA is desired, the DMA registers should also be set, with the REG_IOM_DMACTRL.DMAEN field set last. The registers relating to DMA operations are as follows:
- REG_IOM_DMATRIGEN ­ Sets the trigger source for starting a DMA transfer - REG_IOM_DMACFG ­ Sets the DMA direction and enable for DMA - REG_IOM_DMATOTCOUNT ­ Sets the total count of bytes to be transferred via the DMA operation.
Recommended to match the REG_IOM_CMD.TSIZE field for simplicity.

DS-A3-0p9p1

Page 264 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

- REG_IOM_DMATARGADDR ­ The source or destination address of the DMA data. Sources can be either SRAM or FLASH. Destination address can only be SRAM. This is the memory mapped address of the DMA data as accessed by the MCU.
After the module setup is complete, the command register is written. This will start the IO transfer. The REG_IOM_CMD register contains the command itself, along with other fields used in the command, such as channel number, offset counts and transfer size. The IOM supports 2 main commands, read and write. A read command will write user selectable number of offset bytes (0 to 3), and then read REG_IOM_CMD.TSIZE bytes, storing the data into the read FIFO. A write command will write the user selectable number of offset bytes (0 to 3), followed by a write of REG_IOM_CMD.TSIZE bytes sourced from the write FIFO. Transfer sizes can be 0-255 for I2C and 0-4095 for SPI operations. The number of offset bytes for each command is specified in the REG_IOM_CMD.OFFSETCNT field.

8.2.6 Command Queue
The IOM module can also fetch register write data from SRAM or FLASH, and update the registers as if the write was performed via the MCU. Register data is stored as a doublet of 2 words. The first word is the module register address offset, word aligned. The second word is the write data value. Once enabled, the command queue (CQ) will fetch the address and perform a write to the register If no command is started by the register write, the next doublet will be fetched by the CQ. If a command is started (write to REG_IOM_CMD register is done), the CQ processing will wait until the transaction is complete before fetching the next register write doublet This is shown in the diagram below. No prefetching is done via the CQ, and the register write operations are performed in series with the transactions. This allows a predictable path for execution of commands. DMA enabled commands should be used during CQ operation, as there is no support to perform a direct mode read operation via the CQ.

TIME

CQ FETCH AND WRITE 1 CQ FETCH AND WRITE 2 CQ FETCH AND WRITE 3

(SETUP)

(SETUP)

(CMD WR)

IOM CMD EXECUTION

CQ FETCH AND WRITE 4 (SETUP)

CQ FETCH AND WRITE 10 (CQEN OFF/DISABLE)

CQ BUFFER

ADDRESS 1 WRITE DATA 1
ADDRESS 2 WRITE DATA 2
ADDRESS 3 WRITE DATA 3
ADDRESS 4 WRITE DATA 4
ADDRESS 10 WRITE DATA 10

Figure 19. Register Write Data Fetches
The CQ starting fetch address is specified in the REG_IOM_CQADDR register. The CQ operation will start to fetch when the REG_IOM_CQCFG.CQEN field is set. This field should only be set when the IOM is idle and the FIFOs are empty. Once enabled, the CQ will continue to fetch sequentially until it encounters a pause event. A pause event can be caused by a CQ register write operation, or from external signals. This is shown in the sequence below.

DS-A3-0p9p1

Page 265 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

IOM PAUSE EXAMPLE
TIME

GPIO Software
MSPI BLE Other IOM

EXTERNAL EVENT/ WRITE TO REMOVE PAUSE CONDITION

CQ FETCH AND WRITE 1 CQ FETCH AND WRITE 2

Write which causes PAUSE event

CQ PAUSED

CQ FETCH AND WRITE 4

CQ FETCH AND WRITE 10 (CQEN OFF/DISABLE)

CQ BUFFER

ADDRESS 1 WRITE DATA 1
ADDRESS 2 WRITE DATA 2
ADDRESS 3 WRITE DATA 3
ADDRESS 4 WRITE DATA 4

ADDRESS 10 WRITE DATA 10

Figure 20. IOM Pause Example

Each pause source is independently enabled via the REG_IOM_PAUSEEN register. In addition to independent enable of the pause bits, there is also independent control of which pause event will signal a CQPAUSE interrupt. This is controlled through the REG_IOM_CQFLAGS.CQIRQMASK field. There are 16 possible pause sources. When the value of the pause source is set, and the pause is enabled in the REG_IOM_PAUSEEN register, the CQ will stop fetching. The REG_IOM_CQADDR is updated after each fetch, and when paused, will point to the next doublet to be fetched when the pause condition is removed. The connection of the pause bits are shown below. The SW Flags are accessed via the IOM_CQSETCLEAR register.

DS-A3-0p9p1

Page 266 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

76543210

IOM2MSPI_0 IOM2MSPI_1
IOM CQFLAG OUT

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

REG_IOM_CQFLAGS

OR

PAUSE CQ

MSPI 0 MSPI 1 MSPI 0 MSPI 1 GPIO
IOM BLE

REG_IOM_CQPAUSEEN

CURIDX ENDIDX

CURIDX >= ENDIDX?

Figure 21. CQ Pause Bit Fetching
The first 8 pause sources (bits 7:0) are register bits which are directly writable via the MCU or through the CQ. These first 8 locations are called SW Flags. Because the CQ does not support a read-modify-write operation, special facilities are available to set, reset or toggle the SW Flags. This is accessed through the REG_IOM_CQSETCLEAR register. The 3 fields in this register allow a per bit set, reset or toggle of the SW Flag bits. The next 7 pause sources (bits 14:8) use the SW Flags along with an external signal to set the pause event. The external signals are from the GPIO module, the MSPI module, or other IOM modules. On some cases, such as the MSPI interface, 4 of the SW Flags are used and combined with 2 similar signals from the MSPI module to facilitate a ping pong method of sharing 2 buffers and preventing overruns without MCU intervention. The logic and connections for each of the The last pause source (bit 15) is use for index pausing. If this pause bit is enabled, the CQ will pause when the value of the REG_IOM_CURIDX matches the REG_IOM_ENDIDX. This is useful for software to be able to update the CQ buffer without causing a race condition between the CQ data buffer writes and the CQ fetches.
8.2.6.1 CQ programming notes
- Additional restrictions when using the CQ function is that the DMA must be disabled prior to writing the REG_IOM_CQADDR register, either from the MCU or from the CQ itself.

DS-A3-0p9p1

Page 267 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

- For multiple commands using DMA, the DMAEN must be reset after the command is done and before the DMA registers are set for the next transaction.
- It is possible for the CQ to write the REG_IOM_CQADDR register during the CQ operation. The new address will take effect on the next fetch and allows the CQ to be relocated or looped.
- When starting the CQ operation, 1 doublet will be fetched regardless of the state of the pause status and bits. If any pause is active, it will take effect after the first fetch. For this reason, it is generally advisable to have a dummy register write as the first CQ doublet.
- CQ write operations to SW flags used in combination with pause events 15:8 must first disable the pause enable, perform the SW flag write, then re-enable the pause enable register. SW flags 7:0 can be written without this restriction and will cause a pause immediately if activated.
8.3 Programmer's Reference
An example register sequence to initiate an operation is shown below (note this does not show the data portion of the operation, only the command):
SPI SAMPLE OPERATION:
// Enable clock for 24MHz SPI operation AM_REG(IOM,CLKFG) =( 0 << AM_REG_IOM_CLKCFG_LOWPER_S) |
( 0 << AM_REG_IOM_CLKCFG_TOTPER_S) | ( 0 << AM_REG_IOM_CLKCFG_DIVEN_S ) | ( 1 << AM_REG_IOM_CLKCFG_DIV3_S ) | ( 1 << AM_REG_IOM_CLKCFG_FSEL_S ) | ( 1 << AM_REG_IOM_CLKCFG_IOCLKEN_S ) ;
// Setup the SPI configuration register.MSB first, no flow control, not full duplex, mode 0 AM_REG(IOM, SPICFG) = ((0 << AM_REG_IOM_MSPICFG_MSPIRST_S) & AM_REG_IOM_MSPICFG_MSPIRST_M)|
((0 << AM_REG_IOM_MSPICFG_DOUTDLY_S) & AM_REG_IOM_MSPICFG_DOUTDLY_M)| ((0 << AM_REG_IOM_MSPICFG_DINDLY_S) & AM_REG_IOM_MSPICFG_DINDLY_M) | ((0 << AM_REG_IOM_MSPICFG_SPILSB_S) & AM_REG_IOM_MSPICFG_SPILSB_M) |
((0 << AM_REG_IOM_MSPICFG_RDFCPOL_S) & AM_REG_IOM_MSPICFG_RDFCPOL_M)| ((0 << AM_REG_IOM_MSPICFG_WTFCPOL_S) & AM_REG_IOM_MSPICFG_WTFCPOL_M)| ((0 << AM_REG_IOM_MSPICFG_WTFCIRQ_S) & AM_REG_IOM_MSPICFG_WTFCIRQ_M)| ((0 << AM_REG_IOM_MSPICFG_MOSIINV_S) & AM_REG_IOM_MSPICFG_MOSIINV_M)| ((0 << AM_REG_IOM_MSPICFG_RDFC_S) & AM_REG_IOM_MSPICFG_RDFC_M)| ((0 << AM_REG_IOM_MSPICFG_WTFC_S) & AM_REG_IOM_MSPICFG_WTFC_M) | ((0 << AM_REG_IOM_MSPICFG_FULLDUP_S) & AM_REG_IOM_MSPICFG_FULLDUP_M)| ((0 << AM_REG_IOM_MSPICFG_SPHA_S) & AM_REG_IOM_MSPICFG_SPHA_M)| ((0 << AM_REG_IOM_MSPICFG_SPOL_S) & AM_REG_IOM_MSPICFG_SPOL_M);
// Send a read command (2) of size 0x20 using 1 byte offset of 0x32 to device on CEN AM_REG(IOM, CMD) = (( 2 << AM_REG_IOM_CMD_CMD_S) & AM_REG_IOM_CMD_CMD_M) | // READ COMMAND
(( 0 << AM_REG_IOM_CMD_CMDSEL_S) & AM_REG_IOM_CMD_CMDSEL_M)| (( 0x20 << AM_REG_IOM_CMD_TSIZE_S) & AM_REG_IOM_CMD_TSIZE_M) | (( 0 << AM_REG_IOM_CMD_CONT_S) & AM_REG_IOM_CMD_CONT_S) | (( 1 << AM_REG_IOM_CMD_OFFSETCNT_S) & AM_REG_IOM_CMD_OFFSETCNT_M) | (( 0x32 << AM_REG_IOM_CMD_OFFSETLO_S) & AM_REG_IOM_CMD_OFFSETLO_M);
8.4 Interface Clock Generation
The I2C/SPI Master can generate a wide range of I/O interface clocks, as shown in Figure 22. The source clock is a scaled version of the HFRC 48 MHz clock, selected by REG_IOMSTRn_CLKCFG_FSEL. A divide-by-3 circuit may be selected by REG_IOMSTRn_CLKCFG_DIV3, which is particularly important in creating a useful SPI frequency of 16 MHz. The output of the divide-by-3 circuit may then be divided by an 8-bit value, REG_IOMSTRn_CLKCFG_TOTPER + 1, to produce the interface clock. This structure allows very precise specification of the interface frequency, and produces a minimum available interface

DS-A3-0p9p1

Page 268 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

frequency of 1.2 kHz. If TOTPER division is enabled by REG_IOMSTRn_CLKCFG_DIVEN, the length of the low period of the clock is specified by REG_IOMSTRn_CLKCFG_LOWPER + 1. Otherwise, the clock will have a 50% duty cycle.

48 MHz
24 MHz ...
768 kHz
FSEL DIV3
DIVEN

DIV3

CLKCTR

LOWCMP TOTCMP

Set CLKFF
Clr

IFC_CLK

Figure 22. I2C/SPI Master Clock Generation

8.5 Command Operation
In order to minimize the amount of time the CPU must be awake during I2C/SPI Master operations, the architecture of the I2C/SPI Master is organized around processing commands which transfer data to and from an internal 64-byte FIFO.
The IOMn_CMD Register in "IOM Registers" on page 282 is used for command operations for both the SPI and I2C communication channels.
For writes to the interface, software writes data to the FIFO (REG_IOMn_FIFO_FIFO) and then sends a single command to the REG_IOMn_CMD Register. Unless the TSIZE field of the CMD is zero, at least one word (4 bytes) of data must be written into the FIFO prior to writing the CMD Register or an ICMD interrupt will be generated and the operation will be terminated.The Command includes either the I2C slave address or the SPI channel select, the desired address offset and the length of the transfer. At that point the I2C/SPI Master executes the entire transfer, so the CPU can go to sleep. If more than 128 bytes are to be transferred, the Master will generate a THR interrupt when the FIFOSIZ value, REG_IOMn_FIFOPTR_FIFOSIZ, drops below the write threshold REG_IOMn_FIFOTHR_FIFOWTHR so the CPU can wake up and refill the FIFO. The I2C/SPI Master will generate the CMDCMP interrupt when the command is complete. In each case, the total number of bytes transferred in each operation is specified in the LENGTH field of the CMD Register. If software executes a write to the FIFO when it is full (FIFOSIZ is greater than 124) the FOVFL interrupt will be generated and the transfer will be terminated.
For reads, the CMD Register is first written with the command and the CPU can go to sleep. The Master initiates the read and transfers read data to the FIFO. If the FIFOSZ value exceeds the read threshold REG_IOMn_FIFOTHR_FIFORTHR, a THR interrupt is generated so the CPU can wake up and empty the FIFO. A CMDCMP interrupt is also generated when the Command completes. If software executes a read from the FIFO when it has less than a word of data the FUNDFL interrupt will be generated and the transfer will be terminated. FUNDFL will not be generated if the read transfer has already completed, so that software can read the last FIFO word even if it is incomplete.
If the FIFO empties on a write or fills on a read, the I2C/SPI Master will simply pause the interface clock until the CPU has read or written a byte from the FIFO. This avoids the requirement that the thresholds be set conservatively so that the processor can wake up fewer times on long transfers without a risk of an underflow or overflow aborting a transfer in progress.
If software initiates an incorrect operation, such as attempting to read the FIFO on a write operation or when it is empty, or write the FIFO on a read operation or when it is full, the Master will generate an IACC

DS-A3-0p9p1

Page 269 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

error interrupt. If software attempts to write the Command Register when another Command is underway or write the CMD register with a write command when the FIFO is empty (unless the LENGTH field in the CMD is zero), the Master will generate an ICMD error interrupt.

8.6 FIFO
The I2C/SPI Master includes a 64-byte local RAM (LRAM) for data transfers. The LRAM functions as a FIFO. Only 32-bit word accesses are supported to the FIFO from the CPU. When a write operation is underway, a word written to the FIFO will increment the REG_IOMSTRn_FIFOPTR_FIFOSIZ register by 4 and decrement the REG_IOMSTRn_FIFOPTR_FIFOREM register by 4. Reading a byte from the FIFO via the I/O interface decrements FIFOSIZ by 1 and increments FIFOREM by 1. When a read operation is underway, a word read from the FIFO decrements FIFOSIZ by 4 and increments FIFOREM by 4. A byte read from the I/O interface into the FIFO increments FIFOSIZ by 1 and decrements FIFOREM by 1. If FIFOSIZ becomes one during a write operation or 0x40 on a read operation and there is more data to be transferred, the clock of the I/O interface is paused until software accesses the FIFO.
Two threshold registers, FIFORTHR and FIFOWTHR indicate when a THR interrupt should be generated to signal the processor that data should be transferred.

8.7 I2C Interface
The I2C/SPI Master supports a flexible set of Commands to implement a variety of standard I2C operations. The I2C interface consists of two lines: one bi-directional data line (SDA) and one clock line (SCL). Both the SDA and the SCL lines must be connected to a positive supply voltage via a pull-up resistor. By definition, a device that sends a message is called the "transmitter", and the device that accepts the message is called the "receiver". The device that controls the message transfer by driving SCL is called "master". The devices that are controlled by the master are called "slaves". The Apollo3 Blue MCU I2C Master is always a master device.
The following protocol has been defined:
 Data transfer may be initiated only when the bus is not busy.  During data transfer, the data line must remain stable whenever the clock line is high.  Changes in the data line while the clock line is high will be interpreted as control signals.
A number of bus conditions have been defined (see Figure 23) and are described in the following sections

Not Busy SCL

SDA may change

SDA

START

SDA Stable

STOP

Figure 23. Basic I2C Conditions
8.7.1 Bus Not Busy
Both SDA and SCL remain high.

DS-A3-0p9p1

Page 270 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
8.7.2 Start Data Transfer
A change in the state of SDA from high to low, while SCL is high, defines the START condition. A START condition which occurs after a previous START, but before a STOP, is called a RESTART condition, and functions exactly like a normal STOP followed by a normal START.
8.7.3 Stop Data Transfer
A change in the state of SDA from low to high, while SCL is high, defines the STOP condition.
8.7.4 Data Valid
After a START condition, SDA is stable for the duration of the high period of SCL. The data on SDA may be changed during the low period of SCL. There is one clock pulse per bit of data. Each data transfer is initiated with a START condition and terminated with a STOP condition. The number of data bytes transferred between the START and STOP conditions is not limited. The information is transmitted bytewide and each receiver acknowledges with a ninth bit.
8.7.5 Acknowledge
Each byte of eight bits is followed by one acknowledge (ACK) bit as shown in Figure 24. This acknowledge bit is a low level driven onto SDA by the receiver, whereas the master generates an extra acknowledge related SCL pulse. A slave receiver which is addressed is obliged to generate an acknowledge after the reception of each byte. Also, on a read transfer, a master receiver must generate an acknowledge after the reception of each byte that has been clocked out of the slave transmitter. The device that acknowledges must pull down the SDA line during the acknowledge clock pulse in such a way that the SDA line is a stable low during the high period of the acknowledge related SCL pulse. A master receiver must signal an end-of-data to the slave transmitter by not generating an acknowledge (a NAK) on the last byte that has been clocked out of the slave. In this case, the transmitter must leave the data line high to enable the master to generate the STOP condition. If I/O Host attempts an I2C operation but no slave device generates an ACK, or if a slave fails to generate an ACK on a data byte before the transfer is complete, a NAK interrupt will be generated.

SCL

1

2

8

9

SDA

MSB (bit 7)

Bit 6

Bit 0

ACK

START

Figure 24. I2C Acknowledge

8.7.6 I2C Slave Addressing
For normal I2C reads and writes, the Command specifies the address to be sent on the interface. Both 7bit and 10-bit addressing are supported, as selected by 10BIT in the Command. The address is specified in the ADDRESS field.
Figure 25 shows the operation in 7-bit mode in which the master addresses the slave with a 7-bit address configured as 0xD0 in the lower 7 bits of the ADDRESS field. After the START condition, the 7-bit address is transmitted MSB first. If this address matches the lower 7 bits of an attached slave device, the eighth bit indicates a write (RW = 0) or a read (RW = 1) operation and the slave supplies the ACK. If no slave acknowledges the address, the transfer is terminated and a NAK error interrupt is generated.

DS-A3-0p9p1

Page 271 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

SDA SCL

1

1

0

1

0

0

0

R W

A

Figure 25. I2C 7-bit Address Operation
Figure 26 shows the operation with which the master addresses the Apollo3 Blue MCU with a 10-bit address configured at 0x536. After the START condition, the 10-bit preamble 0b11110 is transmitted first, followed by the upper two bits of the ADDRESS field and the eighth bit indicating a write (RW = 0) or a read (RW = 1) operation. If the upper two bits match the address of an attached slave device, it supplies the ACK. The next transfer includes the lower 8 bits of the ADDRESS field, and if these bits also match I2CADDR the slave again supplies the ACK. If no slave acknowledges either address byte, the transfer is terminated and a NAK error interrupt is generated.

SDA SCL

1

1

1

1

0

1

0

R W

A

1

0

0

1

1

0

1

1

A

Figure 26. I2C 10-bit Address Operation
8.7.7 I2C Offset Address Transmission
If the OPER field of the CMD selects a Normal Read or Write, the I2C/SPI Master will first send an 8-bit Offset Address byte, where the offset is specified in the OFFSET field of CMD. This transfer is shown in Figure 27. The Offset Address is loaded into the Address Pointer of the slave.

SDA SCL

Offset Address 1 1 0 1 0 0 0 0A7 6 5 4 3 2 1 0A

Figure 27. I2C Offset Address Transmission
8.7.8 I2C Normal Write Operation
In a Normal write operation the I2C/SPI Master transmits to a slave receiver. The Address Operation has a RW value of 0, and the second byte contains the Offset Address, as in Figure 27. The next byte is written to the slave register selected by the Address Pointer (which was loaded with the Offset Address) and the Address Pointer is incremented. Subsequent transfers write bytes into successive registers until a STOP condition is received, as shown in Figure 28.

DS-A3-0p9p1

Page 272 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

SDA SCL

Addr W A

Offset

Byte N

Byte N+1

Byte N+2

A7

0A7

0A7

0A

Figure 28. I2C Normal Write Operation
8.7.9 I2C Normal Read Operation
If a Normal Read operation is selected in the OPER field of the Command, the I2C/SPI Master first executes an Offset Address Transmission to load the Address Pointer of the slave with the desired Offset Address. A subsequent operation will again issue the address of the slave but with the RW bit as a 1 indicating a read operation. As shown in Figure 29, this transaction begins with a RESTART condition so that the interface will be held in a multi-master environment. After the address operation, the slave becomes the transmitter and sends the register value from the location pointed to by the Address Pointer, and the Address Pointer is incremented. Subsequent transactions produce successive register values, until the I2C/SPI Master receiver responds with a NAK and a STOP to complete the operation.

SDA

Addr W A

Offset

A

Addr

Byte N

Byte N+1

RA 7

0A7

0N

SCL

RESTART

Figure 29. I2C Normal Read Operation
8.7.10 I2C Raw Write Operation
If a Raw Write is selected in the OPER field of the Command, the I2C/SPI Master does not execute the Offset Address Transmission, but simply begins transferring bytes as shown in Figure 30. This provides support for slave devices which do not implement the standard offset address architecture. The OFFSET field of Command is not used in this case.

SDA SCL

Byte 0

Byte 1

Byte 2

Byte N

Addr W A 7

0A7

0A7

0A7

0A

Figure 30. I2C Raw Write Operation
8.7.11 I2C Raw Read Operation
If a Raw Read is selected in the OPER field of Command, the I2C/SPI Master does not execute the Offset Address Transmission, but simply begins transferring bytes with a read as shown in Figure 31. This is

DS-A3-0p9p1

Page 273 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

important for slave devices which do not support an Address Pointer architecture. For devices which do include an Address Pointer, multiple Raw Reads may be executed after a Normal Read to access subsequent registers as the Address Pointer increments, without having to execute the Offset Address Transmission for each access.

SDA SCL

Addr

Byte N

Byte N+1

RA 7

0A7

0N

Figure 31. I2C Raw Read Operation
8.7.12 Holding the Interface with CONT
In all of the previously described transactions, the I2C/SPI Master terminates the I2C operation with a STOP sequence. In environments where there are other masters connected to the I2C interface, it may be necessary for the Apollo3 Blue MCU to hold the interface between Commands to insure that another master does not inadvertently access the same slave that the Apollo3 Blue MCU is accessing. In order to implement this functionality, the CONT bit should be set in the CMD Register. This will cause the I2C/SPI Master to keep SDA high at the end of the transfer so that a STOP does not occur, and the next transaction begins with a RESTART instead of a START. Note that for a Normal Read the interface is held between the Offset Address Transmission and the actual read independent of the state of CONT, but it CONT is set the read transaction will not terminate with a STOP.
8.7.13 I2C Multi-master Arbitration
The Apollo3 Blue MCU I2C/SPI Master supports multi-master arbitration in I2C mode. There are two cases which must be handled.
The first is the case where another master initiates an I2C operation when the Apollo3 Blue MCU Master is inactive. In this case the I2C/SPI Master will detect an I2C START operation on the interface and the START interrupt will be asserted, which tells the software not to generate any IO operations (which will not be executed in any case). Software then waits for the STOP interrupt, which reenables operation.
The second case is where another master initiates an operation at the same time as the Apollo3 Blue MCU. In this case there will be a point where one master detects that it is not driving SDA low but the bus signal is low, and that master loses the arbitration to the other master. If the Apollo3 Blue MCU I2C/SPI Master detects that it has lost arbitration, it will assert the ARB interrupt and immediately terminate its operation. Software must then wait for the STOP interrupt and re-execute the current Command.

8.8 SPI Operations
8.8.1 SPI Configuration
The I2C/SPI Master supports all combinations of the polarity (CPOL) and phase (CPHA) modes of SPI using the REG_IOMSTRn_IOMCFG_SPOL and REG_IOMSTRn_IOMCFG_SPHA bits. It also may be configured in either 3-wire or 4-wire mode. In 4-wire mode, the MOSI and MISO interface signals use separate IO pins. In 3-wire mode, MOSI and MISO are multiplexed on a single IO pin for more efficient pin utilization. The 3/4 wire configuration is selected in the mapping function of the PINCFG module.

DS-A3-0p9p1

Page 274 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

SPI operations may transfer up to 4095 bytes in a single transfer, as the TSIZE field in the CMD register provides a 12-bit length specification.
8.8.2 SPI Slave Addressing
In SPI mode, the Command specifies the slave channel to be used in theCMDSEL field. The I2C/SPI Master supports up to four slaves, each of which has its own nCE signal which can be configured on an IO pin. Additional slaves may be supported using GPIO pins and external decoding.
8.8.3 SPI Normal Write
Figure 32 shows the case of a SPI Normal Write operation selected in the OPER field. The operation is initiated when the I2C/SPI Master pulls one of the four nCE signals low. At that point the I2C/SPI Master begins generating the clock on SCK and the offset address is transmitted from the master on the MOSI line, with the upper RW bit of the offset field indicating read (if 0) or write (if 1). In this example the RW bit is a one selecting a write operation. The entire one, two or three byte offset, the length of which is specified by the OFFSETCNT field, is taken from the OFFSETLO field of the CMD and, depending on the value in OFFSETCNT, the OFFSETHI field in the OFFSETHI register. The msb of the entire OFFSET should be set to 1 if the slave expects a RW bit.If the slave does not expect a RW bit, this allows the first byte of a write to be completely specified in the OFFSET field, and a single byte write in that case can be executed without requiring any data to be loaded in to the FIFO.
Each subsequent byte is read from the FIFO and transmitted. The operation is terminated when the I2C/ SPI Master brings the nCE signal high. Note that the MISO line is not used in a write operation and is held in the high impedance state by the I2C/SPI Master.

MOSI

Offset Address

Data Byte N

Data Byte N+1

X W6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X

MISO

SCK

nCE

Figure 32. SPI Normal Write Operation
8.8.4 SPI Normal Read
Figure 33 shows the case of a Normal Read operation selected in the OPER field. The operation is initiated when the I2C/SPI Master pulls one of the four nCE signals low. At that point the I2C/SPI Master begins driving the clock onto SCK and the address is transferred from the master to the slave just as it is in a write operation, but in this case the RW bit is a 0 indicating a read. After the transfer of the last address bit (bit 0), the I2C/SPI Master stops driving the MOSI line and begins loading the FIFO with the data on the MISO line. The transfer continues until the I2C/SPI Master brings the nCE line high.

DS-A3-0p9p1

Page 275 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

MOSI

Offset Address X R6543210

Data Byte N

Data Byte N+1 X

MISO

7654321076543210

SCK

nCE

Figure 33. SPI Normal Read Operation
As with a Normal Write, the Offset Address byte including the RW bit is taken from the offset field(s) of CMD. If the slave expects an RW bit, the msb of the offset must be set accordingly. This allows reads from devices which have different formats for the address byte.
8.8.5 SPI Raw Write
If a Raw Write is selected in the OPER field, the operation is similar to a Normal Write but the Offset Address byte is not sent and all data comes directly from the FIFO as shown in Figure 34. The OFFSET field is not used in this case.

MOSI

Data Byte N

Data Byte N+1

Data Byte N+2

X 765432107654321076543210 X

MISO

SCK

nCE

Figure 34. SPI Raw Write Operation
8.8.6 SPI Raw Read
If a Raw Read is selected in the OPER field, the operation is simply the data transfer portion of a Normal Read. All data goes directly to the FIFO as shown in Figure 35. The OFFSET field is not used in this case.

MOSI MISO SCK
nCE

Data Byte N

Data Byte N+1

Data Byte N+2

765432107654321076543210

Figure 35. SPI Raw Read Operation

DS-A3-0p9p1

Page 276 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

8.8.7 SPI 3-wire Mode
In 3-wire mode, the MOSI and MISO lines are shared on a single pin. As described in the previous sections, the MISO and MOSI lines are not driven at the same time, so 3-wire mode is equivalent to simply tying them together external to the Apollo3 Blue MCU. 3-wire mode is configured by selecting the MxWIR3 alternative (x = 0 to 5 selecting the I2C/SPI Master) in the GPIO Pad Multiplexor rather than the MxMOSI and MxMISO alternatives. Detailed configuration information is supplied in the GPIO and Pad Configuration Module chapter.
8.8.8 Complex SPI Operations
In some cases peripheral devices require more complex transaction sequences than those supported by a single Command. In order to support these transactions, the CONT bit may be set in the Command. In this case, the nCE pin selected by the Channel will remain asserted low at the end of the transaction, so that the next SPI operation will be seen as part of the same transaction. For example, there are peripheral devices which require both a Function and an Address Offset to be transmitted at the beginning of a read. Implementing this can be done in several ways. One example as shown in Figure 36 is:
1. Execute a Raw SPI write of length 2, with the data bytes being the Function and Offset. Set the CONT bit in this Command so nCE remains asserted low.
2. Execute a Raw SPI Read of the desired transfer length. The data will then be read into the FIFO. The CONT bit is not set in this Command.

Raw Write, 2 Bytes

Function

Offset Address

MOSI

X

7654321076543210

MISO

SCK

nCE

Raw Read, 1 Byte Read Data X
76543210

Figure 36. SPI Combined Operation
8.8.9 SPI Polarity and Phase
The Apollo3 Blue MCU supports all combinations of CPOL (clock polarity) and CPHA (data phase) in SPI mode, as defined by the SPOL and SPHA bits. Figure 37 shows how these two bits affect the interface signal behavior.

DS-A3-0p9p1

Page 277 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

nCE CPOL=0 SCK CPOL=1 SCK

MOSI X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X CPHA=0
MISO X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X

MOSI

X

7654321076543210X

CPHA=1

MISO

X

7654321076543210X

Figure 37. SPI CPOL and CPHA
If CPOL is 0, the clock SCK is normally low and positive pulses are generated during transfers. If CPOL is 1, SCK is normally high and negative pulses are generated during transfers.
If CPHA is 0, the data on the MOSI and MISO lines is sampled on the edge corresponding to the first SCK edge after nCE goes low (i.e. the rising edge if CPOL is 0 and the falling edge if CPOL is 1). Data on MISO and MOSI is driven on the opposite edge of SCK.
If CPHA is 1, the data on the MOSI and MISO lines is sampled on the edge corresponding to the second SCK edge after nCE goes low (i.e. the falling edge if CPOL is 0 and the rising edge if CPOL is 1). Data on MISO and MOSI is driven on the opposite edge of SCK.
The SPOL and SPHA bits may be changed between Commands if different slave devices have different requirements. In this case the IFCEN bit should be set to 0 either before or at the same time as SPHA and SPOL are changed, and then set back to 1 before CMD is written.

8.9 Repeating a Command
Some peripherals, particularly sensors such as accelerometers and gyroscopes, have multiple registers which hold sample data (2 bytes each of X, Y and Z are common), and FIFOs behind these registers which hold multiple samples. In order to allow software to retrieve several samples with a single operation, the Apollo3 Blue MCU I2C/SPI Master includes the capability to execute the same Command multiple times. If multiple Commands are desired, the REG_IOMSTRn_CMDRPT Register is loaded with the number of additional times to execute the next Command (e.g. loading CMDRPT with the value 3 will cause the next Command to be executed a total of 4 times). When a Command is written to the Command Register, the Command is then executed multiple times, filling or emptying the FIFO as appropriate. The series of repeated Commands behaves as if it was a single long Command, with a single CMDCMP interrupt occurring at the end and THR interrupts occurring if the FIFO crosses the relevant threshold. At the end of any Command the CMDRPT Register has the value 0, so that single Commands may always be executed without requiring a write to CMDRPT.
As an example, assume the peripheral has 6 bytes of sensor sample data located at register offsets 10, 11, 12, 13, 14 and 15. Also assume the internal FIFO threshold of the peripheral has been set so that an interrupt occurs when the FIFO contains 8 samples. The CMDRPT register is set to 7, and a read

DS-A3-0p9p1

Page 278 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Command is executed with an offset of 10 and a length of 6. This Command will be executed 8 times, each time bursting 6 bytes of data from registers 10-15 in the peripheral to the I2C/SPI Master FIFO. When CMDCMP is received the FIFO in the I2C/SPI Master will contain 48 bytes of data. The bytes of data are packed in the FIFO ­ there are no gaps between samples.
8.10 Bit Orientation
In both I2C and SPI modes, the I2C/SPI Master supports data transmission either LSB first or MSB first as configured by the LSB bit in the Command. If LSB is 0, data is transmitted and received MSB first. If LSB is 1, data is transmitted and received LSB first.
8.11 Full Duplex Operations
Some SPI slaves operate in full duplex mode, where data is transferred on both the MISO and MOSI wires at the same time. The I2C/SPI Master supports this type of operation when the REG_IOMSTRn_IOMCFG_FULLDUP bit is set.
When FULLDUP is set, the I2C/SPI Master splits the standard 128-byte transmit/receive FIFO into a 64byte transmit FIFO and a 64-byte receive FIFO. A normal or raw write Command is executed, and proceeds just as a normal write transfer. FIFOREM will report the remaining FIFO area as the remainder from 64 bytes. Software must not attempt to load more than 64 bytes into the write FIFO or an IACC error will be generated. The primary difference from a normal write operation is that data received on the MISO line will be loaded into the read FIFO, with the bytes aligned to the corresponding byte in the write FIFO. Software may read the read FIFO at any time, and should use the FIFOSIZ and./or FIFOREM registers to determine when data should be read. The FIFORTHR threshold value does not generate an interrupt.
If more than 64 bytes of data are written into the read FIFO without being read by software, the read FIFO will simply wrap around and overwrite the earlier read data. This means that if a long full duplex operation only returns data at the end, software does not need to continuously empty the read FIFO but can simply drain the FIFO when the write operation is complete.
8.12 SPI Flow Control
The I2C/SPI Master supports flow control from the slave, which is controlled by several configuration bits. Either read or write (or both) flow control may be implemented. Read flow control is enabled by setting the REG_IOMSTRn_IOMCFG_RDFC bit, in which case the I2C/SPI Master will check the state of the Flow Control IRQ pin, and if it is inactive the SPI clock will stop at the completion of the current byte transfer until it becomes active. The Flow Control IRQ can be any of the 50 pins as selected by the REG_GPIO_IOMnIRQ register corresponding to the particular I2C/SPI Master. The polarity of the active state of the Flow Control IRQ is selected by the REG_IOMSTRn_IOMCFG_RDFCPOL
Write flow control is enabled by setting the REG_IOMSTRn_IOMCFG_WTFC bit, but in this case either the Flow Control IRQ or the state of the MISO line may be used for flow control, as selected by the REG_IOMSTRn_IOMCFG_WTFCIRQ bit. If IRQ is selected by setting a one, the clock control is identical to that described for reads above and the IRQ polarity is set by the REG_IOMSTRn_IOMCFG_WTFCPOL bit. If MISO is selected by setting a zero in WTFCIRQ, the clock will be stopped if the MISO line is at the inactive polarity, which is set by the WTFCPOL bit.
Slave devices supporting flow control typically require specific states of the MOSI line prior to the start of a transfer. This state is controlled by the REG_IOMSTRn_IOMCFG_MOSIINV bit. If this bit is zero, MOSI will be driven to a 1 at the start of a write transaction and to a 0 at the start of a read transaction ­ this is the normal operation of devices with flow control support. If MOSIINV is set to one, these polarities will be inverted.

DS-A3-0p9p1

Page 279 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Flow control may be asserted either prior to the first byte transfer, which will delay the start of SCK, or
within each byte transferred, which will pause SCK at the end of that byte. The examples below assume that WTFCPOL or RDFCPOL are set to 0.
Figure 38 shows the operation of flow control at the beginning of a write transfer or a normal read transfer which begins with an offset byte write. Either MISO or IRQ (selected by WTFCIRQ) must be deasserted low within ½ of the SCK period after nCE is asserted low in order to delay the clock. SCK will continue in its inactive state until MISO or IRQ is changed to the active state, and then will begin normal operation.

SCK nCE MISO/IRQ MOSI

7

6543210765432107654

Figure 38. Flow Control at Beginning of a Write Transfer

Figure 39 shows the operation of flow control at the beginning of a raw read transfer. IRQ must be deasserted low within ½ of the SCK period after nCE is asserted low in order to delay the clock. SCK will continue in its inactive state until IRQ is changed to the active state, and then will begin normal operation.

SCK nCE MISO MOSI IRQ

7

6543210765432107654

Figure 39. Flow Control at Beginning of a Raw Read Transfer

Figure 40 shows the operation of flow control in the middle of a write transfer. MISO or IRQ must be deasserted after the leading edge of SCK on the first bit of the byte (labelled 7) and before the falling edge of the 7th bit of the byte (labelled 1) in order to insure that SCK stops at the end of the byte. Deasserting MISO or IRQ outside of that window can produce unpredictable results. SCK will resume at some point after the assertion of MISO or IRQ.

DS-A3-0p9p1

Page 280 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

SCK nCE MISO/IRQ MOSI

Window

7 6543210

7

65432107654

Figure 40. Flow Control in the Middle of a Write Transfer

Figure 41 shows the operation of flow control in the middle of a read transfer. IRQ must be deasserted after the leading edge of SCK on the first bit of the byte (labelled 7) and before the falling edge of the 7th bit of the byte (labelled 1) in order to insure that SCK stops at the end of the byte. Deasserting IRQ outside of that window can produce unpredictable results. SCK will resume at some point after the assertion of IRQ.

SCK nCE MISO MOSI IRQ

Window

7 6543210

7

65432107654

Figure 41. Flow Control in the Middle of a Read Transfer

8.13 Pre-read Control
The STARTRD field defines the number of bus clock cycles before the end of each byte where the IO read request occurs. For all I2C frequencies and SPI frequencies below 16 MHz, the STARTRD field should be set to 0 to minimize the potential of the IO transfer holding off a bus access to the FIFO. For SPI frequencies of 16 MHz or 24 MHz, the STARTRD field must be set to a value of 2 to insure enough time for the IO preread.
8.14 Minimizing Power
Each I2C/SPI Master has a global interface enable bit REG_IOMSTRn_IOMCFG_IFCEN. This bit should be kept at 0 whenever the interface is not being used in order to minimize power consumption. The FIFO

DS-A3-0p9p1

Page 281 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
cannot be accessed if IFCEN is 0, although all of the other registers are accessible. When the module is not in use, the field should also be kept at 0 to minimize power. This is important even if IFCEN is a 0.
8.15 IOM Registers
IO Peripheral Master INSTANCE 0 BASE ADDRESS:0x50004000 INSTANCE 1 BASE ADDRESS:0x50005000 INSTANCE 2 BASE ADDRESS:0x50006000 INSTANCE 3 BASE ADDRESS:0x50007000 INSTANCE 4 BASE ADDRESS:0x50008000 INSTANCE 5 BASE ADDRESS:0x50009000 Registers associated with the IOM master module. The IOM master module is responsible for performing SPI and I2C master operations to/from external devices. Multiple devices

DS-A3-0p9p1

Page 282 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

8.15.1 Register Memory Map

Table 395: IOM Register Map

Address(s)
0x50004000 0x50005000 0x50006000 0x50007000 0x50008000 0x50009000
0x50004100 0x50005100 0x50006100 0x50007100 0x50008100 0x50009100
0x50004104 0x50005104 0x50006104 0x50007104 0x50008104 0x50009104
0x50004108 0x50005108 0x50006108 0x50007108 0x50008108 0x50009108
0x5000410C 0x5000510C 0x5000610C 0x5000710C 0x5000810C 0x5000910C
0x50004110 0x50005110 0x50006110 0x50007110 0x50008110 0x50009110
0x50004114 0x50005114 0x50006114 0x50007114 0x50008114 0x50009114
0x50004200 0x50005200 0x50006200 0x50007200 0x50008200 0x50009200

Register Name FIFO FIFOPTR FIFOTHR FIFOPOP FIFOPUSH FIFOCTRL FIFOLOC INTEN

Description FIFO Access Port FIFO size and remaining slots open values FIFO Threshold Configuration FIFO POP register FIFO PUSH register FIFO Control Register FIFO Pointers IO Master Interrupts: Enable

DS-A3-0p9p1

Page 283 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Address(s)
0x50004204 0x50005204 0x50006204 0x50007204 0x50008204 0x50009204
0x50004208 0x50005208 0x50006208 0x50007208 0x50008208 0x50009208
0x5000420C 0x5000520C 0x5000620C 0x5000720C 0x5000820C 0x5000920C
0x50004210 0x50005210 0x50006210 0x50007210 0x50008210 0x50009210
0x50004214 0x50005214 0x50006214 0x50007214 0x50008214 0x50009214
0x50004218 0x50005218 0x50006218 0x50007218 0x50008218 0x50009218
0x5000421C 0x5000521C 0x5000621C 0x5000721C 0x5000821C 0x5000921C
0x50004220 0x50005220 0x50006220 0x50007220 0x50008220 0x50009220
0x50004224 0x50005224 0x50006224 0x50007224 0x50008224 0x50009224

Table 395: IOM Register Map
Register Name

Description

INTSTAT

IO Master Interrupts: Status

INTCLR

IO Master Interrupts: Clear

INTSET

IO Master Interrupts: Set

CLKCFG

I/O Clock Configuration

SUBMODCTRL

Submodule control

CMD

Command and offset Register

DCX OFFSETHI CMDSTAT

DCX Control Register
High order 2 bytes of 3 byte offset for IO transaction
Command status

DS-A3-0p9p1

Page 284 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Address(s)
0x50004240 0x50005240 0x50006240 0x50007240 0x50008240 0x50009240
0x50004244 0x50005244 0x50006244 0x50007244 0x50008244 0x50009244
0x50004280 0x50005280 0x50006280 0x50007280 0x50008280 0x50009280
0x50004288 0x50005288 0x50006288 0x50007288 0x50008288 0x50009288
0x5000428C 0x5000528C 0x5000628C 0x5000728C 0x5000828C 0x5000928C
0x50004290 0x50005290 0x50006290 0x50007290 0x50008290 0x50009290
0x50004294 0x50005294 0x50006294 0x50007294 0x50008294 0x50009294
0x50004298 0x50005298 0x50006298 0x50007298 0x50008298 0x50009298
0x5000429C 0x5000529C 0x5000629C 0x5000729C 0x5000829C 0x5000929C

Table 395: IOM Register Map
Register Name

Description

DMATRIGEN

DMA Trigger Enable Register

DMATRIGSTAT

DMA Trigger Status Register

DMACFG

DMA Configuration Register

DMATOTCOUNT

DMA Total Transfer Count

DMATARGADDR

DMA Target Address Register

DMASTAT

DMA Status Register

CQCFG

Command Queue Configuration Register

CQADDR

CQ Target Read Address Register

CQSTAT

Command Queue Status Register

DS-A3-0p9p1

Page 285 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 395: IOM Register Map

Address(s)
0x500042A0 0x500052A0 0x500062A0 0x500072A0 0x500082A0 0x500092A0
0x500042A4 0x500052A4 0x500062A4 0x500072A4 0x500082A4 0x500092A4
0x500042A8 0x500052A8 0x500062A8 0x500072A8 0x500082A8 0x500092A8
0x500042AC 0x500052AC 0x500062AC 0x500072AC 0x500082AC 0x500092AC
0x500042B0 0x500052B0 0x500062B0 0x500072B0 0x500082B0 0x500092B0
0x500042B4 0x500052B4 0x500062B4 0x500072B4 0x500082B4 0x500092B4
0x50004300 0x50005300 0x50006300 0x50007300 0x50008300 0x50009300
0x50004400 0x50005400 0x50006400 0x50007400 0x50008400 0x50009400
0x50004404 0x50005404 0x50006404 0x50007404 0x50008404 0x50009404

Register Name CQFLAGS CQSETCLEAR CQPAUSEEN CQCURIDX CQENDIDX STATUS MSPICFG MI2CCFG DEVCFG

Description Command Queue Flag Register
Command Queue Flag Set/Clear Register
Command Queue Pause Enable Register
IOM Command Queue current index value . Compared to the CQENDIDX reg contents to generate the IDXEQ Pause event for command queue IOM Command Queue current index value . Compared to the CQCURIDX reg contents to generate the IDXEQ Pause event for command queue
IOM Module Status Register
SPI module master configuration
I2C Master configuration
I2C Device Configuration register

DS-A3-0p9p1

Page 286 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Address(s)
0x50004410 0x50005410 0x50006410 0x50007410 0x50008410 0x50009410

Table 395: IOM Register Map
Register Name

Description

IOMDBG

IOM Debug Register

DS-A3-0p9p1

Page 287 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

8.15.2 IOM Registers
8.15.2.1 FIFO Register
FIFO Access Port OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x50004000 INSTANCE 1 ADDRESS: 0x50005000 INSTANCE 2 ADDRESS: 0x50006000 INSTANCE 3 ADDRESS: 0x50007000 INSTANCE 4 ADDRESS: 0x50008000 INSTANCE 5 ADDRESS: 0x50009000 Provides direct random access to both input and output fifos. The state of the FIFO is not distured by reading these locations (ie no POP will be done). FIFO0 is accessible from addresses 0x0 - 0x1C, and is used for data outuput from the IOM to external devices. These FIFO locations can be read and written directly.
Table 396: FIFO Register
33222222222211111111110000000000 10987654321098765432109876543210
FIFO

Bit

Name

31:0

FIFO

Table 397: FIFO Register Bits

Reset 0x0

RW

Description

RW FIFO direct access. Only locations 0 - 3F will return valid information.

8.15.2.2 FIFOPTR Register
FIFO size and remaining slots open values OFFSET: 0x00000100 INSTANCE 0 ADDRESS: 0x50004100 INSTANCE 1 ADDRESS: 0x50005100 INSTANCE 2 ADDRESS: 0x50006100 INSTANCE 3 ADDRESS: 0x50007100 INSTANCE 4 ADDRESS: 0x50008100 INSTANCE 5 ADDRESS: 0x50009100 Provides the current valid byte count of data within the FIFO as seen from the internal state machines. FIFO0 is dedicated to outgoing transactions and FIFO1 is dedicated to incoming transactions. All counts are specified in units of bytes.

DS-A3-0p9p1

Page 288 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 398: FIFOPTR Register

33222222222211111111110000000000 10987654321098765432109876543210

FIFO1REM

FIFO1SIZ

FIFO0REM

FIFO0SIZ

Bit 31:24

Name FIFO1REM

23:16

FIFO1SIZ

15:8

FIFO0REM

7:0

FIFO0SIZ

Table 399: FIFOPTR Register Bits

Reset 0x0

RW

Description

The number of remaining data bytes slots currently in FIFO 1 (written by RO interface, read by MCU)

The number of valid data bytes currently in FIFO 1 (written by interface,

0x0

RO read by MCU)

The number of remaining data bytes slots currently in FIFO 0 (written by

0x0

RO MCU, read by interface)

The number of valid data bytes currently in the FIFO 0 (written by MCU,

0x0

RO read by interface)

8.15.2.3 FIFOTHR Register
FIFO Threshold Configuration OFFSET: 0x00000104 INSTANCE 0 ADDRESS: 0x50004104 INSTANCE 1 ADDRESS: 0x50005104 INSTANCE 2 ADDRESS: 0x50006104 INSTANCE 3 ADDRESS: 0x50007104 INSTANCE 4 ADDRESS: 0x50008104 INSTANCE 5 ADDRESS: 0x50009104 Sets the threshold values for incoming and outgoing transactions. The threshold values are used to assert the interrupt if enabled, and also used during DMA to set the transfer size as a result of DMATHR trigger.

Table 400: FIFOTHR Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

FIFOWTHR

FIFORTHR

RSVD

DS-A3-0p9p1

Page 289 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:14

Name RSVD

13:8

FIFOWTHR

7:6

RSVD

5:0

FIFORTHR

Table 401: FIFOTHR Register Bits

Reset 0x0

RW RO RESERVED

Description

FIFO write threshold in bytes. A value of 0 will disable the write FIFO level

from activating the threshold interrupt. If this field is non-zero, it will trigger a

threshold interrupt when the write fifo contains FIFOWTHR free bytes, as

0x0

RW indicated by the FIFO0REM field. This is intended to signal when a transfer

of FIFOWTHR bytes can be done from the host to the IOM write fifo to sup-

port large IOM write operations.

0x0

RO RESERVED

FIFO read threshold in bytes. A value of 0 will disable the read FIFO level

from activating the threshold interrupt. If this field is non-zero, it will trigger a

threshold interrupt when the read fifo contains FIFORTHR valid bytes of

0x0

RW data, as indicated by the FIFO1SIZ field. This is intended to signal when a

data transfer of FIFORTHR bytes can be done from the IOM module to the

host via the read fifo to support large IOM read operations.

8.15.2.4 FIFOPOP Register
FIFO POP register OFFSET: 0x00000108 INSTANCE 0 ADDRESS: 0x50004108 INSTANCE 1 ADDRESS: 0x50005108 INSTANCE 2 ADDRESS: 0x50006108 INSTANCE 3 ADDRESS: 0x50007108 INSTANCE 4 ADDRESS: 0x50008108 INSTANCE 5 ADDRESS: 0x50009108 Will advance the internal read pointer of the incoming FIFO (FIFO1) when read, if POPWR is not active. If POPWR is active, a write to this register is needed to advance the internal FIFO pointer.

Table 402: FIFOPOP Register
33222222222211111111110000000000 10987654321098765432109876543210
FIFODOUT

DS-A3-0p9p1

Page 290 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

FIFODOUT

Table 403: FIFOPOP Register Bits

Reset 0x0

RW

Description

This register will return the read data indicated by the current read pointer

RW

on reads. If the POPWR control bit in the FIFOCTRL register is reset (0), the fifo read pointer will be advanced by one word as a result of the read.

8.15.2.5 FIFOPUSH Register
FIFO PUSH register OFFSET: 0x0000010C INSTANCE 0 ADDRESS: 0x5000410C INSTANCE 1 ADDRESS: 0x5000510C INSTANCE 2 ADDRESS: 0x5000610C INSTANCE 3 ADDRESS: 0x5000710C INSTANCE 4 ADDRESS: 0x5000810C INSTANCE 5 ADDRESS: 0x5000910C Will write new data into the outgoing FIFO and advance the internal write pointer.

Table 404: FIFOPUSH Register
33222222222211111111110000000000 10987654321098765432109876543210
FIFODIN

Bit

Name

31:0

FIFODIN

Table 405: FIFOPUSH Register Bits

Reset 0x0

RW

Description

This register is used to write the FIFORAM in FIFO mode and will cause a

RW

push event to occur to the next open slot within the FIFORAM. Writing to this register will cause the write point to increment by 1 word(4 bytes).

8.15.2.6 FIFOCTRL Register
FIFO Control Register OFFSET: 0x00000110 INSTANCE 0 ADDRESS: 0x50004110 INSTANCE 1 ADDRESS: 0x50005110 INSTANCE 2 ADDRESS: 0x50006110 INSTANCE 3 ADDRESS: 0x50007110

DS-A3-0p9p1

Page 291 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
INSTANCE 4 ADDRESS: 0x50008110 INSTANCE 5 ADDRESS: 0x50009110 Provides controls for the operation of the internal FIFOs. Contains fields used to control the operation of the POP register, and also controls to reset the internal pointers of the FIFOs.
Table 406: FIFOCTRL Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

FIFORSTN POPWR

Bit

Name

31:2

RSVD

1

FIFORSTN

0

POPWR

Table 407: FIFOCTRL Register Bits

Reset 0x0

RW RO RESERVED

Description

Active low manual reset of the fifo. Write to 0 to reset fifo, and then write to

0x1

RW 1 to remove the reset.

Selects the mode in which 'pop' events are done for the fifo read operations.

0x0

RW

A value of '1' will prevent a pop event on a read operation, and will require a write to the FIFOPOP register to create a pop event.

8.15.2.7 FIFOLOC Register
FIFO Pointers OFFSET: 0x00000114 INSTANCE 0 ADDRESS: 0x50004114 INSTANCE 1 ADDRESS: 0x50005114 INSTANCE 2 ADDRESS: 0x50006114 INSTANCE 3 ADDRESS: 0x50007114 INSTANCE 4 ADDRESS: 0x50008114 INSTANCE 5 ADDRESS: 0x50009114 Provides a read only value of the current read and write pointers. This register is read only and can be used alogn with the FIFO direct access method to determine the next data to be used for input and output functions.

DS-A3-0p9p1

Page 292 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 408: FIFOLOC Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

FIFORPTR FIFOWPTR

Bit 31:12

Name RSVD

11:8

FIFORPTR

7:4

RSVD

3:0

FIFOWPTR

Table 409: FIFOLOC Register Bits

Reset 0x0

RW RO Reserved

Description

Current FIFO read pointer. Used to index into the incoming FIFO (FIFO1),

0x0

RW

which is used to store read data returned from external devices during a read operation.

0x0

RO Reserved

Current FIFO write pointer. Value is the index into the outgoing FIFO

0x0

RW (FIFO0), which is used during write operations to external devices.

8.15.2.8 INTEN Register
IO Master Interrupts: Enable OFFSET: 0x00000200 INSTANCE 0 ADDRESS: 0x50004200 INSTANCE 1 ADDRESS: 0x50005200 INSTANCE 2 ADDRESS: 0x50006200 INSTANCE 3 ADDRESS: 0x50007200 INSTANCE 4 ADDRESS: 0x50008200 INSTANCE 5 ADDRESS: 0x50009200 Set bits in this register to allow this module to generate the corresponding interrupt.

Table 410: INTEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CQERR CQUPD CQPAUSED DERR DCMP
ARB STOP START ICMD IACC NAK FOVFL FUNDFL THR CMDCMP

DS-A3-0p9p1

Page 293 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:15
14

Name RSVD CQERR

13

CQUPD

12

CQPAUSED

11

DERR

10

DCMP

9

ARB

8

STOP

7

START

6

ICMD

5

IACC

4

NAK

3

FOVFL

2

FUNDFL

1

THR

Table 411: INTEN Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Error during command queue operations

CQ write operation performed a register write with the register address bit 0

set to 1. The low address bits in the CQ address fields are unused and bit 0

0x0

RW can be used to trigger an interrupt to indicate when this register write is per-

formed by the CQ operation.

Command queue is paused due to an active event enabled in the PAU-

SEEN register. The interrupt is posted when the event is enabled within the

0x0

RO PAUSEEN register, the mask is active in the CQIRQMASK field and the

event occurs.

DMA Error encountered during the processing of the DMA command. The

0x0

RW

DMA error could occur when the memory access specified in the DMA operation is not available or incorrectly specified.

DMA Complete. Processing of the DMA operation has completed and the

0x0

RW DMA submodule is returned into the idle state

Arbitration loss interrupt. Asserted when arbitration is enabled and has been

0x0

RW lost to another master on the bus.

STOP command interrupt. Asserted when another master on the bus has

0x0

RW signaled a STOP command.

START command interrupt. Asserted when another master on the bus has

0x0

RW signaled a START command.

illegal command interrupt. Asserted when a command is written when an

0x0

RW active command is in progress.

illegal FIFO access interrupt. Asserted when there is a overflow or under-

0x0

RW flow event

I2C NAK interrupt. Asserted when an unexpected NAK has been received

0x0

RW on the I2C bus.

Write FIFO Overflow interrupt. This occurs when software tries to write to a

0x0

RW full fifo. The current operation does not stop.

Read FIFO Underflow interrupt. This occurs when software tries to pop from

0x0

RW an empty fifo.

FIFO Threshold interrupt. For write operations, asserted when the number

0x0

RW of free bytes in the write FIFO equals or exceeds the WTHR field.

DS-A3-0p9p1

Page 294 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

CMDCMP

Table 411: INTEN Register Bits

Reset 0x0

RW

Description

Command Complete interrupt. Asserted when the current operation has

RW

completed. For repeated commands, this will only be asserted when the final repeated command is completed.

8.15.2.9 INTSTAT Register
IO Master Interrupts: Status OFFSET: 0x00000204 INSTANCE 0 ADDRESS: 0x50004204 INSTANCE 1 ADDRESS: 0x50005204 INSTANCE 2 ADDRESS: 0x50006204 INSTANCE 3 ADDRESS: 0x50007204 INSTANCE 4 ADDRESS: 0x50008204 INSTANCE 5 ADDRESS: 0x50009204 Read bits from this register to discover the cause of a recent interrupt.

Table 412: INTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CQERR CQUPD CQPAUSED DERR DCMP
ARB STOP START ICMD IACC NAK FOVFL FUNDFL THR CMDCMP

Bit 31:15
14

Name RSVD CQERR

13

CQUPD

12

CQPAUSED

Table 413: INTSTAT Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Error during command queue operations

CQ write operation performed a register write with the register address bit 0

set to 1. The low address bits in the CQ address fields are unused and bit 0

0x0

RW can be used to trigger an interrupt to indicate when this register write is per-

formed by the CQ operation.

Command queue is paused due to an active event enabled in the PAU-

SEEN register. The interrupt is posted when the event is enabled within the

0x0

RO PAUSEEN register, the mask is active in the CQIRQMASK field and the

event occurs.

DS-A3-0p9p1

Page 295 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

11

DERR

10

DCMP

9

ARB

8

STOP

7

START

6

ICMD

5

IACC

4

NAK

3

FOVFL

2

FUNDFL

1

THR

0

CMDCMP

Table 413: INTSTAT Register Bits

Reset 0x0

RW

Description

DMA Error encountered during the processing of the DMA command. The

RW

DMA error could occur when the memory access specified in the DMA operation is not available or incorrectly specified.

DMA Complete. Processing of the DMA operation has completed and the

0x0

RW DMA submodule is returned into the idle state

Arbitration loss interrupt. Asserted when arbitration is enabled and has been

0x0

RW lost to another master on the bus.

STOP command interrupt. Asserted when another master on the bus has

0x0

RW signaled a STOP command.

START command interrupt. Asserted when another master on the bus has

0x0

RW signaled a START command.

illegal command interrupt. Asserted when a command is written when an

0x0

RW active command is in progress.

illegal FIFO access interrupt. Asserted when there is a overflow or under-

0x0

RW flow event

I2C NAK interrupt. Asserted when an unexpected NAK has been received

0x0

RW on the I2C bus.

Write FIFO Overflow interrupt. This occurs when software tries to write to a

0x0

RW full fifo. The current operation does not stop.

Read FIFO Underflow interrupt. This occurs when software tries to pop from

0x0

RW an empty fifo.

FIFO Threshold interrupt. For write operations, asserted when the number

0x0

RW of free bytes in the write FIFO equals or exceeds the WTHR field.

Command Complete interrupt. Asserted when the current operation has

0x0

RW

completed. For repeated commands, this will only be asserted when the final repeated command is completed.

8.15.2.10INTCLR Register
IO Master Interrupts: Clear OFFSET: 0x00000208 INSTANCE 0 ADDRESS: 0x50004208 INSTANCE 1 ADDRESS: 0x50005208 INSTANCE 2 ADDRESS: 0x50006208 INSTANCE 3 ADDRESS: 0x50007208 INSTANCE 4 ADDRESS: 0x50008208

DS-A3-0p9p1

Page 296 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
INSTANCE 5 ADDRESS: 0x50009208 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.
Table 414: INTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CQERR CQUPD CQPAUSED DERR DCMP
ARB STOP START ICMD IACC NAK FOVFL FUNDFL THR CMDCMP

Bit 31:15
14

Name RSVD CQERR

13

CQUPD

12

CQPAUSED

11

DERR

10

DCMP

9

ARB

8

STOP

7

START

6

ICMD

Table 415: INTCLR Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Error during command queue operations

CQ write operation performed a register write with the register address bit 0

set to 1. The low address bits in the CQ address fields are unused and bit 0

0x0

RW can be used to trigger an interrupt to indicate when this register write is per-

formed by the CQ operation.

Command queue is paused due to an active event enabled in the PAU-

SEEN register. The interrupt is posted when the event is enabled within the

0x0

RO PAUSEEN register, the mask is active in the CQIRQMASK field and the

event occurs.

DMA Error encountered during the processing of the DMA command. The

0x0

RW

DMA error could occur when the memory access specified in the DMA operation is not available or incorrectly specified.

DMA Complete. Processing of the DMA operation has completed and the

0x0

RW DMA submodule is returned into the idle state

Arbitration loss interrupt. Asserted when arbitration is enabled and has been

0x0

RW lost to another master on the bus.

STOP command interrupt. Asserted when another master on the bus has

0x0

RW signaled a STOP command.

START command interrupt. Asserted when another master on the bus has

0x0

RW signaled a START command.

illegal command interrupt. Asserted when a command is written when an

0x0

RW active command is in progress.

DS-A3-0p9p1

Page 297 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

5

IACC

4

NAK

3

FOVFL

2

FUNDFL

1

THR

0

CMDCMP

Table 415: INTCLR Register Bits

Reset 0x0

RW

Description

illegal FIFO access interrupt. Asserted when there is a overflow or underRW flow event

I2C NAK interrupt. Asserted when an unexpected NAK has been received

0x0

RW on the I2C bus.

Write FIFO Overflow interrupt. This occurs when software tries to write to a

0x0

RW full fifo. The current operation does not stop.

Read FIFO Underflow interrupt. This occurs when software tries to pop from

0x0

RW an empty fifo.

FIFO Threshold interrupt. For write operations, asserted when the number

0x0

RW of free bytes in the write FIFO equals or exceeds the WTHR field.

Command Complete interrupt. Asserted when the current operation has

0x0

RW

completed. For repeated commands, this will only be asserted when the final repeated command is completed.

8.15.2.11INTSET Register
IO Master Interrupts: Set OFFSET: 0x0000020C INSTANCE 0 ADDRESS: 0x5000420C INSTANCE 1 ADDRESS: 0x5000520C INSTANCE 2 ADDRESS: 0x5000620C INSTANCE 3 ADDRESS: 0x5000720C INSTANCE 4 ADDRESS: 0x5000820C INSTANCE 5 ADDRESS: 0x5000920C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).

Table 416: INTSET Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CQERR CQUPD CQPAUSED DERR DCMP
ARB STOP START ICMD IACC NAK FOVFL FUNDFL THR CMDCMP

DS-A3-0p9p1

Page 298 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:15
14

Name RSVD CQERR

13

CQUPD

12

CQPAUSED

11

DERR

10

DCMP

9

ARB

8

STOP

7

START

6

ICMD

5

IACC

4

NAK

3

FOVFL

2

FUNDFL

1

THR

Table 417: INTSET Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Error during command queue operations

CQ write operation performed a register write with the register address bit 0

set to 1. The low address bits in the CQ address fields are unused and bit 0

0x0

RW can be used to trigger an interrupt to indicate when this register write is per-

formed by the CQ operation.

Command queue is paused due to an active event enabled in the PAU-

SEEN register. The interrupt is posted when the event is enabled within the

0x0

RO PAUSEEN register, the mask is active in the CQIRQMASK field and the

event occurs.

DMA Error encountered during the processing of the DMA command. The

0x0

RW

DMA error could occur when the memory access specified in the DMA operation is not available or incorrectly specified.

DMA Complete. Processing of the DMA operation has completed and the

0x0

RW DMA submodule is returned into the idle state

Arbitration loss interrupt. Asserted when arbitration is enabled and has been

0x0

RW lost to another master on the bus.

STOP command interrupt. Asserted when another master on the bus has

0x0

RW signaled a STOP command.

START command interrupt. Asserted when another master on the bus has

0x0

RW signaled a START command.

illegal command interrupt. Asserted when a command is written when an

0x0

RW active command is in progress.

illegal FIFO access interrupt. Asserted when there is a overflow or under-

0x0

RW flow event

I2C NAK interrupt. Asserted when an unexpected NAK has been received

0x0

RW on the I2C bus.

Write FIFO Overflow interrupt. This occurs when software tries to write to a

0x0

RW full fifo. The current operation does not stop.

Read FIFO Underflow interrupt. This occurs when software tries to pop from

0x0

RW an empty fifo.

FIFO Threshold interrupt. For write operations, asserted when the number

0x0

RW of free bytes in the write FIFO equals or exceeds the WTHR field.

DS-A3-0p9p1

Page 299 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

CMDCMP

Table 417: INTSET Register Bits

Reset 0x0

RW

Description

Command Complete interrupt. Asserted when the current operation has

RW

completed. For repeated commands, this will only be asserted when the final repeated command is completed.

8.15.2.12CLKCFG Register
I/O Clock Configuration OFFSET: 0x00000210 INSTANCE 0 ADDRESS: 0x50004210 INSTANCE 1 ADDRESS: 0x50005210 INSTANCE 2 ADDRESS: 0x50006210 INSTANCE 3 ADDRESS: 0x50007210 INSTANCE 4 ADDRESS: 0x50008210 INSTANCE 5 ADDRESS: 0x50009210 Provides clock related controls used internal to the BLEIF module, and enablement of 32KHz clock to the BLE Core module. The internal clock sourced is selected via the FSEL and can be further divided by 3 using the DIV3 control.

Table 418: CLKCFG Register
33222222222211111111110000000000 10987654321098765432109876543210

TOTPER

LOWPER

RSVD

FSEL

RSVD

DIVEN DIV3 IOCLKEN

Bit 31:24

Name TOTPER

23:16 15:13

LOWPER RSVD

12

DIVEN

Table 419: CLKCFG Register Bits

Reset 0x0

RW

Description

Clock total clock count minus 1. This provides the total period of the divided RW clock -1 when the DIVEN is active. The

Clock low clock count minus 1. This provides the number of clocks the

0x0

RW divided clock will be low when the DIVEN = 1.

0x0

RO RESERVED

Enable clock division by TOTPER and LOWPER

0x0

RW DIS = 0x0 - Disable TOTPER division.

EN = 0x1 - Enable TOTPER division.

DS-A3-0p9p1

Page 300 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

11

DIV3

10:8

FSEL

7:1

RSVD

0

IOCLKEN

Table 419: CLKCFG Register Bits

Reset 0x0

RW

Description

Enable divide by 3 of the source IOCLK. Division by 3 is done before the DIVEN programmable divider, and if enabled RW DIS = 0x0 - Select divide by 1. EN = 0x1 - Select divide by 3.

Select the input clock frequency.

MIN_PWR = 0x0 - Selects the minimum power clock. This setting should be

used whenever the IOM is not active.

HFRC = 0x1 - Selects the HFRC as the input clock.

0x0

RW HFRC_DIV2 = 0x2 - Selects the HFRC / 2 as the input clock.

HFRC_DIV4 = 0x3 - Selects the HFRC / 4 as the input clock.

HFRC_DIV8 = 0x4 - Selects the HFRC / 8 as the input clock.

HFRC_DIV16 = 0x5 - Selects the HFRC / 16 as the input clock.

HFRC_DIV32 = 0x6 - Selects the HFRC / 32 as the input clock.

HFRC_DIV64 = 0x7 - Selects the HFRC / 64 as the input clock.

0x0

RO RESERVED

Enable for the interface clock. Must be enabled prior to executing any IO

0x0

RW operations.

8.15.2.13SUBMODCTRL Register
Submodule control OFFSET: 0x00000214 INSTANCE 0 ADDRESS: 0x50004214 INSTANCE 1 ADDRESS: 0x50005214 INSTANCE 2 ADDRESS: 0x50006214 INSTANCE 3 ADDRESS: 0x50007214 INSTANCE 4 ADDRESS: 0x50008214 INSTANCE 5 ADDRESS: 0x50009214 Provides enable for each submodule. Only a sigle submodule can be enabled at one time.

Table 420: SUBMODCTRL Register
33222222222211111111110000000000 10987654321098765432109876543210
RSRVD

SMOD1TYPE SMOD1EN
SMOD0TYPE SMOD0EN

DS-A3-0p9p1

Page 301 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:8

RSRVD

7:5

SMOD1TYPE

4

SMOD1EN

3:1

SMOD0TYPE

0

SMOD0EN

Table 421: SUBMODCTRL Register Bits

Reset 0x0

RW RO Reserved

Description

Submodule 0 module type. This is the I2C Master interface

MSPI = 0x0 - SPI Master submodule

0x1

RO I2C_MASTER = 0x1 - MI2C submodule

SSPI = 0x2 - SPI Slave submodule

SI2C = 0x3 - I2C Slave submodule

NA = 0x7 - NOT INSTALLED

0x0

RW Submodule 1 enable (1) or disable (0)

Submodule 0 module type. This is the SPI Master interface.

SPI_MASTER = 0x0 - MSPI submodule

0x0

RO I2C_MASTER = 0x1 - I2C Master submodule

SSPI = 0x2 - SPI Slave submodule

SI2C = 0x3 - I2C Slave submodule

NA = 0x7 - NOT INSTALLED

0x0

RW Submodule 0 enable (1) or disable (0)

8.15.2.14CMD Register
Command and offset Register OFFSET: 0x00000218 INSTANCE 0 ADDRESS: 0x50004218 INSTANCE 1 ADDRESS: 0x50005218 INSTANCE 2 ADDRESS: 0x50006218 INSTANCE 3 ADDRESS: 0x50007218 INSTANCE 4 ADDRESS: 0x50008218 INSTANCE 5 ADDRESS: 0x50009218 Writes to this register will start an IO transaction, as well as set various parameters for the command itself. Reads will return the command value written to the CMD register.

Table 422: CMD Register
33222222222211111111110000000000 10987654321098765432109876543210

OFFSETLO

TSIZE

CMD

RSRVD22 CMDSEL
CONT OFFSETCNT

DS-A3-0p9p1

Page 302 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:24

Name OFFSETLO

Table 423: CMD Register Bits

Reset 0x0

RW

Description

This register holds the low order byte of offset to be used in the transaction. RW The number of offset bytes to use is set with bits 1:0 of the command.

23:22 21:20

RSRVD22 CMDSEL

0x0

RO Reserved

Command Specific selection information. Not used in Master I2C. Used as

0x0

RW CEn select for Master SPI transactions

19:8

TSIZE

Defines the transaction size in bytes. The offset transfer is not included in

0x0

RW this size.

7

CONT

Contine to hold the bus after the current transaction if set to a 1 with a new

0x0

RW command issued.

6:5

OFFSETCNT

Number of offset bytes to use for the command - 0, 1, 2, 3 are valid selec-

tions. The second (byte 1) and third byte (byte 2) are read from the

0x0

RW OFFSETHI register, and the low order byte is pulled from this register in the

OFFSETLO field.

4:0

CMD

Command for submodule.

WRITE = 0x1 - Write command using count of offset bytes specified in the

OFFSETCNT field

READ = 0x2 - Read command using count of offset bytes specified in the

0x0

RW

OFFSETCNT field TMW = 0x3 - SPI only. Test mode to do constant write operations. Useful for

debug and power measurements. Will continually send data in OFFSET

field

TMR = 0x4 - SPI Only. Test mode to do constant read operations. Useful for

debug and power measurements. Will continually read data from external

input

8.15.2.15DCX Register
DCX Control Register OFFSET: 0x0000021C INSTANCE 0 ADDRESS: 0x5000421C INSTANCE 1 ADDRESS: 0x5000521C INSTANCE 2 ADDRESS: 0x5000621C INSTANCE 3 ADDRESS: 0x5000721C INSTANCE 4 ADDRESS: 0x5000821C INSTANCE 5 ADDRESS: 0x5000921C Enables use of CE signals to transmit DCX level for SPI transactions. Only used in Apollo3 Revision B. For Revision A, this register MUST NOT be programmed!

DS-A3-0p9p1

Page 303 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 424: DCX Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DCXEN CE3OUT CE2OUT CE1OUT CE0OUT

Bit

Name

31:5

RSVD

4

DCXEN

3

CE3OUT

2

CE2OUT

1

CE1OUT

0

CE0OUT

Reset 0x0 0x0
0x0

Table 425: DCX Register Bits

RW RO RESERVED

Description

Revision A: MUST NOT be programmed! Revision B: Bit 4: DCX Signaling Enable via other CE signals. The selected DCX signal (unused CE pin) will be driven low during write of offset byte, and high during transmission of RW data bytes.

EN = 0x1 - Enable DCX. DIS = 0x0 - Disable DCX.
Revision A: MUST NOT be programmed! Revision B: Enable DCX output RW for CE3 output.

Revision A: MUST NOT be programmed! Revision B: Enable DCX output

0x0

RW for CE2 output.

Revision A: MUST NOT be programmed! Revision B: Enable DCX output

0x0

RW for CE1 output.

Revision A: MUST NOT be programmed! Revision B: Enable DCX output

0x0

RW for CE0 output.

8.15.2.16OFFSETHI Register
High order 2 bytes of 3 byte offset for IO transaction OFFSET: 0x00000220 INSTANCE 0 ADDRESS: 0x50004220 INSTANCE 1 ADDRESS: 0x50005220 INSTANCE 2 ADDRESS: 0x50006220 INSTANCE 3 ADDRESS: 0x50007220 INSTANCE 4 ADDRESS: 0x50008220 INSTANCE 5 ADDRESS: 0x50009220 High order 2 bytes of 3 byte offset for IO transaction

DS-A3-0p9p1

Page 304 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 426: OFFSETHI Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

OFFSETHI

Bit 31:16

Name RSVD

15:0

OFFSETHI

Table 427: OFFSETHI Register Bits

Reset 0x0

RW RO Reserved

Description

Holds the high order 2 bytes of the 3 byte addressing/offset field to use with

0x0

RW

IO commands. The number of offset bytes to use is specified in the command register

8.15.2.17CMDSTAT Register
Command status OFFSET: 0x00000224 INSTANCE 0 ADDRESS: 0x50004224 INSTANCE 1 ADDRESS: 0x50005224 INSTANCE 2 ADDRESS: 0x50006224 INSTANCE 3 ADDRESS: 0x50007224 INSTANCE 4 ADDRESS: 0x50008224 INSTANCE 5 ADDRESS: 0x50009224 Provides staus on the execution of the command currently in progress. The fields in this register will reflect the real time status of the internal state machines and data transfers within the IOM.

Table 428: CMDSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210

RSRVD0

CTSIZE

CCMD

CMDSTAT

DS-A3-0p9p1

Page 305 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:20 19:8

Name RSRVD0 CTSIZE

7:5

CMDSTAT

4:0

CCMD

Table 429: CMDSTAT Register Bits

Reset 0x0

RW RO Reserved

Description

The current number of bytes still to be transferred with this command. This

0x0

RO field will count down to zero.

The current status of the command execution.

0x0

RO

ERR = 0x1 - Error encountered with command ACTIVE = 0x2 - Actively processing command

IDLE = 0x4 - Idle state, no active command, no error

WAIT = 0x6 - Command in progress, but waiting on data from host

0x0

RO current command that is being executed

8.15.2.18DMATRIGEN Register
DMA Trigger Enable Register OFFSET: 0x00000240 INSTANCE 0 ADDRESS: 0x50004240 INSTANCE 1 ADDRESS: 0x50005240 INSTANCE 2 ADDRESS: 0x50006240 INSTANCE 3 ADDRESS: 0x50007240 INSTANCE 4 ADDRESS: 0x50008240 INSTANCE 5 ADDRESS: 0x50009240 Provides control on which event will trigger the DMA transfer after the DMA operation is setup and enabled. The trigger event will cause a number of bytes (depending on trigger event) to be

Table 430: DMATRIGEN Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

DTHREN DCMDCMPEN

DS-A3-0p9p1

Page 306 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:2

RSVD

1

DTHREN

0

DCMDCMPEN

Table 431: DMATRIGEN Register Bits

Reset 0x0

RW RO RESERVED.

Description

Trigger DMA upon THR level reached. For M2P DMA operations (IOM

0x0

RW

writes), the trigger will assert when the write FIFO has (WTHR/4) number of words free in the write FIFO, and will transfer (WTHR/4) number of words

Trigger DMA upon command complete. Enables the trigger of the DMA

0x0

RW

when a command is completed. When this event is triggered, the number of words transferred will be the lesser of the remaining TOTCOUNT bytes, or

8.15.2.19DMATRIGSTAT Register
DMA Trigger Status Register OFFSET: 0x00000244 INSTANCE 0 ADDRESS: 0x50004244 INSTANCE 1 ADDRESS: 0x50005244 INSTANCE 2 ADDRESS: 0x50006244 INSTANCE 3 ADDRESS: 0x50007244 INSTANCE 4 ADDRESS: 0x50008244 INSTANCE 5 ADDRESS: 0x50009244 Provides the status of trigger events that have occurred for the transaction. Some of the bits are read only and some can be reset via a write of 0.

Table 432: DMATRIGSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DTOTCMP DTHR
DCMDCMP

Bit

Name

31:3

RSVD

Table 433: DMATRIGSTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

DS-A3-0p9p1

Page 307 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

2

DTOTCMP

1

DTHR

0

DCMDCMP

Table 433: DMATRIGSTAT Register Bits

Reset 0x0

RW

Description

DMA triggered when DCMDCMP = 0, and the amount of data in the FIFO was enough to complete the DMA operation (greater than or equal to curRO rent TOTCOUNT) when the command completed. This trigger is default active when the DCMDCMP trigger is

Triggered DMA from THR event. Bit is read only and can be cleared by dis-

0x0

RO abling the DTHR trigger enable or by disabling DMA.

Triggered DMA from Command complete event. Bit is read only and can

0x0

RO be cleared by disabling the DCMDCMP trigger enable or by disabling DMA.

8.15.2.20DMACFG Register
DMA Configuration Register OFFSET: 0x00000280 INSTANCE 0 ADDRESS: 0x50004280 INSTANCE 1 ADDRESS: 0x50005280 INSTANCE 2 ADDRESS: 0x50006280 INSTANCE 3 ADDRESS: 0x50007280 INSTANCE 4 ADDRESS: 0x50008280 INSTANCE 5 ADDRESS: 0x50009280 Configuration control of the DMA process, including the direction of DMA, and enablement of DMA

Table 434: DMACFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

DPWROFF DMAPRI DMADIR DMAEN

Bit 31:10

Name RSVD

9

DPWROFF

DS-A3-0p9p1

Table 435: DMACFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Power off module after DMA is complete. If this bit is active, the module will

request to power off the supply it is attached to. If there are other units still

0x0

RW requiring power from the same domain, power down will not be performed.

DIS = 0x0 - Power off disabled EN = 0x1 - Power off enabled

Page 308 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

8

DMAPRI

7:2

RSVD

1

DMADIR

0

DMAEN

Table 435: DMACFG Register Bits

Reset 0x0 0x0

RW

Description

Sets the Priority of the DMA request
RW LOW = 0x0 - Low Priority (service as best effort) HIGH = 0x1 - High Priority (service immediately)

RO RESERVED.

Direction

0x0

RW

P2M = 0x0 - Peripheral to Memory (SRAM) transaction. To be set when doing IOM read operations, ie reading data from external devices.

M2P = 0x1 - Memory to Peripheral transaction. To be set when doing IOM

write operations, ie writing data to external devices.

DMA Enable. Setting this bit to EN will start the DMA operation. This should

be the last DMA related register set prior to issuing the command

0x0

RW

DIS = 0x0 - Disable DMA Function

EN = 0x1 - Enable DMA Function

8.15.2.21DMATOTCOUNT Register
DMA Total Transfer Count OFFSET: 0x00000288 INSTANCE 0 ADDRESS: 0x50004288 INSTANCE 1 ADDRESS: 0x50005288 INSTANCE 2 ADDRESS: 0x50006288 INSTANCE 3 ADDRESS: 0x50007288 INSTANCE 4 ADDRESS: 0x50008288 INSTANCE 5 ADDRESS: 0x50009288 Contains the number of bytes to be transferred for this DMA transaction. This register is decremented as the data is transferred, and will be 0 at the completion of the DMA operation.

Table 436: DMATOTCOUNT Register

33222222222211111111110000000000 10987654321098765432109876543210

RSRVDD

TOTCOUNT

Bit 31:12

Name RSRVDD

Table 437: DMATOTCOUNT Register Bits

Reset 0x0

RW RO Reserved

Description

DS-A3-0p9p1

Page 309 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

11:0

TOTCOUNT

Table 437: DMATOTCOUNT Register Bits

Reset 0x0

RW

Description

Triggered DMA from Command complete event occured. Bit is read only

RW

and can be cleared by disabling the DTHR trigger enable or by disabling DMA.

8.15.2.22DMATARGADDR Register
DMA Target Address Register OFFSET: 0x0000028C INSTANCE 0 ADDRESS: 0x5000428C INSTANCE 1 ADDRESS: 0x5000528C INSTANCE 2 ADDRESS: 0x5000628C INSTANCE 3 ADDRESS: 0x5000728C INSTANCE 4 ADDRESS: 0x5000828C INSTANCE 5 ADDRESS: 0x5000928C The source or destination address internal the SRAM for the DMA data. For write operations, this can only be SRAM data (ADDR bit 28 = 1); For read operations, this can ve either SRAM or FLASH (ADDR bit 28 = 0)

Table 438: DMATARGADDR Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

TARGADDR

TARGADDR28

Bit 31:29

Name RSVD

28

TARGADDR28

27:20

RSVD

Table 439: DMATARGADDR Register Bits

Reset 0x0

RW RO Reserved

Description

Bit 28 of the target byte address for source of DMA (either read or write). In

0x0

RW

cases of non-word aligned addresses, the DMA logic will take care for ensuring only the target bytes are read/written.

0x0

RO Reserved

DS-A3-0p9p1

Page 310 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

19:0

TARGADDR

Table 439: DMATARGADDR Register Bits

Reset 0x0

RW

Description

Bits [19:0] of the target byte address for source of DMA (either read or write). The address can be any byte alignment, and does not have to be RW word aligned. In cases of non-word aligned addresses, the DMA logic will take care for ensuring only the target bytes are read/written.

8.15.2.23DMASTAT Register
DMA Status Register OFFSET: 0x00000290 INSTANCE 0 ADDRESS: 0x50004290 INSTANCE 1 ADDRESS: 0x50005290 INSTANCE 2 ADDRESS: 0x50006290 INSTANCE 3 ADDRESS: 0x50007290 INSTANCE 4 ADDRESS: 0x50008290 INSTANCE 5 ADDRESS: 0x50009290 Status of the DMA operation currently in progress.

Table 440: DMASTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DMAERR DMACPL DMATIP

Bit

Name

31:3

RSVD

2

DMAERR

1

DMACPL

0

DMATIP

Table 441: DMASTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

DMA Error. This active high bit signals an error was encountered during the

0x0

RW

DMA operation. The bit can be cleared by writing to 0. Once set, this bit will remain set until cleared by software.

DMA Transfer Complete. This signals the end of the DMA operation. This

0x0

RW

bit can be cleared by writing to 0, and will also be cleared when a new DMA is started.

DMA Transfer In Progress indicator. 1 will indicate that a DMA transfer is

0x0

RO

active. The DMA transfer may be waiting on data, transferring data, or waiting for priority.

DS-A3-0p9p1

Page 311 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
8.15.2.24CQCFG Register
Command Queue Configuration Register OFFSET: 0x00000294 INSTANCE 0 ADDRESS: 0x50004294 INSTANCE 1 ADDRESS: 0x50005294 INSTANCE 2 ADDRESS: 0x50006294 INSTANCE 3 ADDRESS: 0x50007294 INSTANCE 4 ADDRESS: 0x50008294 INSTANCE 5 ADDRESS: 0x50009294 Controls parameters and options for execution of the command queue operation. To enable command queue, create this in memory, set the address, and enable it with a write to CQEN.
Table 442: CQCFG Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CQPRI CQEN

Bit

Name

31:2

RSVD

1

CQPRI

0

CQEN

Table 443: CQCFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Sets the Priority of the command queue dma request

0x0

RW LOW = 0x0 - Low Priority (service as best effort)

HIGH = 0x1 - High Priority (service immediately)

Command queue enable. When set, will enable the processing of the com-

mand queue and fetches of address/data pairs will proceed from the word

0x0

RW address within the CQADDR register. Can be disabled

DIS = 0x0 - Disable CQ Function EN = 0x1 - Enable CQ Function

8.15.2.25CQADDR Register
CQ Target Read Address Register OFFSET: 0x00000298 INSTANCE 0 ADDRESS: 0x50004298 INSTANCE 1 ADDRESS: 0x50005298 INSTANCE 2 ADDRESS: 0x50006298 INSTANCE 3 ADDRESS: 0x50007298

DS-A3-0p9p1

Page 312 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

INSTANCE 4 ADDRESS: 0x50008298
INSTANCE 5 ADDRESS: 0x50009298
The SRAM address in this register is fetched on next execution of the CQ operation. This register is updated as the CQ operation progresses, and is the live version of the register. The register can also be written by the Command Queue operation itself, allowing the relocation of successive CQ fetches. In this case, the new CQ address will be used for the next CQ address/data fetch.

Table 444: CQADDR Register
33222222222211111111110000000000 10987654321098765432109876543210

RSRVD1

CQADDR

RSRVD2 CQADDR28
RSRVD0

Bit 31:29

Name RSRVD2

28

CQADDR28

27:20

RSRVD1

19:2

CQADDR

1:0

RSRVD0

Table 445: CQADDR Register Bits

Reset 0x0

RW RO Reserved

Description

Bit 28 of target byte address for source of CQ (read only). Used to denote

0x0

RW Flash (0) or SRAM (1) access

0x0

RO Reserved

Bits 19:2 of target byte address for source of CQ (read only). The buffer

0x0

RW must be aligned on a word boundary

0x0

RO Reserved

8.15.2.26CQSTAT Register
Command Queue Status Register OFFSET: 0x0000029C INSTANCE 0 ADDRESS: 0x5000429C INSTANCE 1 ADDRESS: 0x5000529C INSTANCE 2 ADDRESS: 0x5000629C INSTANCE 3 ADDRESS: 0x5000729C INSTANCE 4 ADDRESS: 0x5000829C INSTANCE 5 ADDRESS: 0x5000929C Provides the status of the command queue operation. If the command queue is disabled, these bits will be cleared. The bits are read only.

DS-A3-0p9p1

Page 313 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 446: CQSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CQERR CQPAUSED
CQTIP

Bit

Name

31:3

RSVD

2

CQERR

1

CQPAUSED

0

CQTIP

Table 447: CQSTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

Command queue processing Error. This active high bit signals that an error

0x0

RW was encountered during the CQ operation.

0x0

RO Command queue operation is currently paused.

Command queue Transfer In Progress indicator. 1 will indicate that a CQ

0x0

RO

transfer is active and this will remain active even when paused waiting for external event.

8.15.2.27CQFLAGS Register
Command Queue Flag Register OFFSET: 0x000002A0 INSTANCE 0 ADDRESS: 0x500042A0 INSTANCE 1 ADDRESS: 0x500052A0 INSTANCE 2 ADDRESS: 0x500062A0 INSTANCE 3 ADDRESS: 0x500072A0 INSTANCE 4 ADDRESS: 0x500082A0 INSTANCE 5 ADDRESS: 0x500092A0 Command Queue Flag Register

Table 448: CQFLAGS Register

33222222222211111111110000000000 10987654321098765432109876543210

CQIRQMASK

CQFLAGS

DS-A3-0p9p1

Page 314 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:16

CQIRQMASK

15:0

CQFLAGS

Table 449: CQFLAGS Register Bits

Reset 0x0

RW

Description

Mask the bits used to generate the command queue interrupt. A '1' in the bit

RW

position will enable the pause event to trigger the interrupt, if the CQWT_int interrupt is enabled. Bits definitions are the same as CQPAUSE

Current flag status (read-only). Bits [7:0] are software controllable and bits

0x0

RO [15:8] are hardware status.

8.15.2.28CQSETCLEAR Register
Command Queue Flag Set/Clear Register OFFSET: 0x000002A4 INSTANCE 0 ADDRESS: 0x500042A4 INSTANCE 1 ADDRESS: 0x500052A4 INSTANCE 2 ADDRESS: 0x500062A4 INSTANCE 3 ADDRESS: 0x500072A4 INSTANCE 4 ADDRESS: 0x500082A4 INSTANCE 5 ADDRESS: 0x500092A4 Set/Clear the command queue software pause flags on a per-bit basis. Contains 3 fields, allowing for setting, clearing or toggling the value in the software flags. Priority when the same bit

Table 450: CQSETCLEAR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQFCLR

CQFTGL

CQFSET

Bit 31:24 23:16

Name RSVD CQFCLR

15:8

CQFTGL

7:0

CQFSET

Table 451: CQSETCLEAR Register Bits

Reset 0x0

RW RO Reserved

Description

Clear CQFlag status bits. Will clear to 0 any SWFLAG with a '1' in the corre-

0x0

WO sponding bit position of this field

Toggle the indicated bit. Will toggle the value of any SWFLAG with a '1' in

0x0

WO the corresponding bit position of this field

Set CQFlag status bits. Will set to 1 the value of any SWFLAG with a '1' in

0x0

WO the corresponding bit position of this field

DS-A3-0p9p1

Page 315 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

8.15.2.29CQPAUSEEN Register
Command Queue Pause Enable Register OFFSET: 0x000002A8 INSTANCE 0 ADDRESS: 0x500042A8 INSTANCE 1 ADDRESS: 0x500052A8 INSTANCE 2 ADDRESS: 0x500062A8 INSTANCE 3 ADDRESS: 0x500072A8 INSTANCE 4 ADDRESS: 0x500082A8 INSTANCE 5 ADDRESS: 0x500092A8 Enables a flag to pause an active command queue operation. If a bit is '1' and the corresponding bit in the CQFLAG register is '1', CQ processing will halt until either value is changed to '0'.

Table 452: CQPAUSEEN Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQPEN

Bit 31:16

Name RSVD

Table 453: CQPAUSEEN Register Bits

Reset 0x0

RW RO Reserved

Description

DS-A3-0p9p1

Page 316 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

15:0

CQPEN

Table 453: CQPAUSEEN Register Bits

Reset

RW

Description

Enables the specified event to pause command processing when active

IDXEQ = 0x8000 - Pauses the command queue when the current index

matches the last index

BLEXOREN = 0x4000 - Pause command queue when input BLE bit XORed

with SWFLAG4 is '1'

IOMXOREN = 0x2000 - Pause command queue when input IOM bit XORed

with SWFLAG3 is '1'

GPIOXOREN = 0x1000 - Pause command queue when input GPIO irq_bit

XORed with SWFLAG2 is '1'

MSPI1XNOREN = 0x800 - Pause command queue when input MSPI1 bit

XNORed with SWFLAG1 is '1'

MSPI0XNOREN = 0x400 - Pause command queue when input MSPI0 bit

XNORed with SWFLAG0 is '1'

MSPI1XOREN = 0x200 - Pause command queue when input MSPI1 bit

XORed with SWFLAG1 is '1'

0x0

RW

MSPI0XOREN = 0x100 - Pause command queue when input MSPI0 bit XORed with SWFLAG0 is '1'

SWFLAGEN7 = 0x80 - Pause the command queue when software flag bit 7

is '1'.

SWFLAGEN6 = 0x40 - Pause the command queue when software flag bit 6

is '1'

SWFLAGEN5 = 0x20 - Pause the command queue when software flag bit 5

is '1'

SWFLAGEN4 = 0x10 - Pause the command queue when software flag bit 4

is '1'

SWFLAGEN3 = 0x8 - Pause the command queue when software flag bit 3

is '1'

SWFLAGEN2 = 0x4 - Pause the command queue when software flag bit 2

is '1'

SWFLAGEN1 = 0x2 - Pause the command queue when software flag bit 1

is '1'

SWFLAGEN0 = 0x1 - Pause the command queue when software flag bit 0

is '1'

8.15.2.30CQCURIDX Register
IOM Command Queue current index value . Compared to the CQENDIDX reg contents to generate the IDXEQ Pause event for command queue OFFSET: 0x000002AC INSTANCE 0 ADDRESS: 0x500042AC INSTANCE 1 ADDRESS: 0x500052AC INSTANCE 2 ADDRESS: 0x500062AC INSTANCE 3 ADDRESS: 0x500072AC INSTANCE 4 ADDRESS: 0x500082AC INSTANCE 5 ADDRESS: 0x500092AC Current index value, targeted to be written by register write operations within the command queue. This is compared to the CQENDIDX and will stop the CQ operation if bit 15 of the CQPAUSEEN is '1' and

DS-A3-0p9p1

Page 317 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 454: CQCURIDX Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQCURIDX

Bit

Name

31:8

RSVD

7:0

CQCURIDX

Table 455: CQCURIDX Register Bits

Reset 0x0

RW RO RESERVED

Description

Holds 8 bits of data that will be compared with the CQENDIX register field.

If the values match, the IDXEQ pause event will be activated, which will

0x0

RW cause the pausing of command quue operation if the IDXEQ bit is enabled

in CQPAUSEEN.

8.15.2.31CQENDIDX Register
IOM Command Queue current index value . Compared to the CQCURIDX reg contents to generate the IDXEQ Pause event for command queue OFFSET: 0x000002B0 INSTANCE 0 ADDRESS: 0x500042B0 INSTANCE 1 ADDRESS: 0x500052B0 INSTANCE 2 ADDRESS: 0x500062B0 INSTANCE 3 ADDRESS: 0x500072B0 INSTANCE 4 ADDRESS: 0x500082B0 INSTANCE 5 ADDRESS: 0x500092B0 End index value, targeted to be written by software to indicate the last valid register pair contained within the command queue. Register write operations within the command queue.

Table 456: CQENDIDX Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CQENDIDX

Bit

Name

31:8

RSVD

DS-A3-0p9p1

Table 457: CQENDIDX Register Bits

Reset 0x0

RW RO RESERVED

Description

Page 318 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7:0

CQENDIDX

Table 457: CQENDIDX Register Bits

Reset 0x0

RW

Description

Holds 8 bits of data that will be compared with the CQCURIX register field. If the values match, the IDXEQ pause event will be activated, which will RW cause the pausing of command quue operation if the IDXEQ bit is enabled in CQPAUSEEN.

8.15.2.32STATUS Register
IOM Module Status Register OFFSET: 0x000002B4 INSTANCE 0 ADDRESS: 0x500042B4 INSTANCE 1 ADDRESS: 0x500052B4 INSTANCE 2 ADDRESS: 0x500062B4 INSTANCE 3 ADDRESS: 0x500072B4 INSTANCE 4 ADDRESS: 0x500082B4 INSTANCE 5 ADDRESS: 0x500092B4 IOM Module Status Register

Table 458: STATUS Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

IDLEST CMDACT
ERR

Bit

Name

31:3

RSVD

2

IDLEST

1

CMDACT

Table 459: STATUS Register Bits

Reset 0x0

RW RO RESERVED

Description

indicates if the active I/O state machine is IDLE. Note - The state machine

could be in idle state due to holdoffs from data availability, or as the com-

0x0

RO mand gets propagated into the logic from the registers.

IDLE = 0x1 - The I/O state machine is in the idle state.

Indicates if the active I/O Command is currently processing a transaction, or

command is complete, but the FIFO pointers are still syncronizing internally.

This bit will go high at

0x0

RO

ACTIVE = 0x1 - An I/O command is active. Indicates the active module has

an active command and is processing this. De-asserted when the com-

mand is completed.

DS-A3-0p9p1

Page 319 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

ERR

Table 459: STATUS Register Bits

Reset 0x0

RW

Description

Bit has been deprecated. Please refer to the other error indicators. This will RO always return 0.
ERROR = 0x1 - Bit has been deprecated and will always return 0.

8.15.2.33MSPICFG Register
SPI module master configuration OFFSET: 0x00000300 INSTANCE 0 ADDRESS: 0x50004300 INSTANCE 1 ADDRESS: 0x50005300 INSTANCE 2 ADDRESS: 0x50006300 INSTANCE 3 ADDRESS: 0x50007300 INSTANCE 4 ADDRESS: 0x50008300 INSTANCE 5 ADDRESS: 0x50009300 Controls the configuration of the SPI master module, including POL/PHA, LSB, flow control, and delays for MISO and MOSI

Table 460: MSPICFG Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

RSVD MSPIRST DOUTDLY DINDLY SPILSB RDFCPOL
WTFWTFCIRQ
RSVD MOSIINV
RDFC WTFC FULLDUP SPHA SPOL

Bit

Name

31

RSVD

30

MSPIRST

29:27

DOUTDLY

26:24

DINDLY

Table 461: MSPICFG Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Not used. To reset the module, toggle the SMOD_EN for the module

Delay tap to use for the output signal (MOSI). This give more hold time on

0x0

RW the output data

Delay tap to use for the input signal (MISO). This gives more hold time on

0x0

RW the input data.

DS-A3-0p9p1

Page 320 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

23

SPILSB

22

RDFCPOL

21

WTFCPOL

20

WTFCIRQ

19

RSVD

18

MOSIINV

17

RDFC

16

WTFC

15:3

RSVD

2

FULLDUP

1

SPHA

0

SPOL

Table 461: MSPICFG Register Bits

Reset 0x0 0x0
0x1
0x0 0x0

RW

Description

Selects data transfer as MSB first (0) or LSB first (1) for the data portion of the SPI transaction. The offset bytes are always transmitted MSB first. RW MSB = 0x0 - Send and receive MSB bit first LSB = 0x1 - Send and receive LSB bit first
selects the read flow control signal polarity.
RW HIGH = 0x0 - Flow control signal high creates flow control. LOW = 0x1 - Flow control signal low creates flow control.
selects the write flow control signal polarity. The transfers are halted when the selected flow control signal is OPPOSITE polarity of bit. (For example: WTFCPOL = 0 will allow a IRQ=1 to pause transfers).
RW HIGH = 0x0 - Flow control signal high(1) creates flow control and byte transfers will stop until the flow control signal goes low. LOW = 0x1 - Flow control signal low(0) creates flow control and byte transfers will stop until the flow control signal goes high(1).
selects the write mode flow control signal.
RW MISO = 0x0 - MISO is used as the write mode flow control signal. IRQ = 0x1 - IRQ is used as the write mode flow control signal.
RO Reserved

inverts MOSI when flow control is enabled.

0x0

RW NORMAL = 0x0 - MOSI is set to 0 in read mode and 1 in write mode.

INVERT = 0x1 - MOSI is set to 1 in read mode and 0 in write mode.

enables read mode flow control.

0x0

RW DIS = 0x0 - Read mode flow control disabled.

EN = 0x1 - Read mode flow control enabled.

enables write mode flow control.

0x0

RW DIS = 0x0 - Write mode flow control disabled.

EN = 0x1 - Write mode flow control enabled.

0x0

RO RESERVED

Enables full duplex mode for Master SPI write operations. Data will be cap-

0x0

RW tured simultaneously into the read fifo

selects SPI phase.

0x0

RW

SAMPLE_LEADING_EDGE = 0x0 - Sample on the leading (first) clock edge.

SAMPLE_TRAILING_EDGE = 0x1 - Sample on the trailing (second) clock

edge.

selects SPI polarity.

0x0

RW CLK_BASE_0 = 0x0 - The base value of the clock is 0.

CLK_BASE_1 = 0x1 - The base value of the clock is 1.

DS-A3-0p9p1

Page 321 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

8.15.2.34MI2CCFG Register
I2C Master configuration OFFSET: 0x00000400 INSTANCE 0 ADDRESS: 0x50004400 INSTANCE 1 ADDRESS: 0x50005400 INSTANCE 2 ADDRESS: 0x50006400 INSTANCE 3 ADDRESS: 0x50007400 INSTANCE 4 ADDRESS: 0x50008400 INSTANCE 5 ADDRESS: 0x50009400 Controls the configuration of the I2C bus master.

Table 462: MI2CCFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSRVD3

SMPCNT

STRDIS SDAENDLY SCLENDLY
RSRVD2 MI2CRST SDADLY RSRVD1 ARBEN I2CLSB ADDRSZ

Bit 31:25
24 23:16

Name RSRVD3 STRDIS SMPCNT

15:12

SDAENDLY

11:8

SCLENDLY

7

RSRVD2

6

MI2CRST

5:4

SDADLY

3

RSRVD1

Table 463: MI2CCFG Register Bits

Reset 0x0

RW RO Reserved

Description

0x0

RW Disable detection of clock stretch events smaller than 1 cycle

Number of Base clk cycles to wait before sampling the SCL clock to deter-

0x0

RW mine if a clock stretch event has occured

Number of IOCLK cycles to delay the SDA output en (all transitions

0x0

RW affected). Used to delay data relative to clock

Number of IOCLK cycles to delay the rising edge of the SCL output en

0x0

RW (clock will go low on this edge). Used to allow clock shaping.

0x0

RO Reserved

0x0

RW Not used. To reset the module, toggle the SMOD_EN for the module

0x0

RW Delay to enable on the SDA output. Values are 0x0-0x3.

0x0

RO Reserved

DS-A3-0p9p1

Page 322 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

2

ARBEN

1

I2CLSB

0

ADDRSZ

Table 463: MI2CCFG Register Bits

Reset 0x0
0x0 0x0

RW

Description

Enables multi-master arbitration for the I2C master. If the bus is known to have only a single master, this function can be disabled to save clock cycles on I2C transactions
RW ARBEN = 0x1 - Enable multi-master bus arbitration support for this i2c master ARBDIS = 0x0 - Disable multi-master bus arbitration support for this i2c master
Direction of data transmit and receive, MSB(0) or LSB(1) first. Default per I2C specification is MSB first. This applies to both read and write data, and read data will be bit
RW MSBFIRST = 0x0 - Byte data is transmitted MSB first onto the bus/read from the bus LSBFIRST = 0x1 - Byte data is transmitted LSB first onto the bus/read from the bus
Sets the I2C master device address size to either 7b (0) or 10b (1).
RW ADDRSZ7 = 0x0 - Use 7b addressing for I2C master transactions ADDRSZ10 = 0x1 - Use 10b addressing for I2C master transactions

8.15.2.35DEVCFG Register
I2C Device Configuration register OFFSET: 0x00000404 INSTANCE 0 ADDRESS: 0x50004404 INSTANCE 1 ADDRESS: 0x50005404 INSTANCE 2 ADDRESS: 0x50006404 INSTANCE 3 ADDRESS: 0x50007404 INSTANCE 4 ADDRESS: 0x50008404 INSTANCE 5 ADDRESS: 0x50009404 Contains the I2C device address.

Table 464: DEVCFG Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

DEVADDR

Bit 31:10

Name RSVD

Table 465: DEVCFG Register Bits

Reset 0x0

RW RO Reserved

Description

DS-A3-0p9p1

Page 323 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

9:0

DEVADDR

Table 465: DEVCFG Register Bits

Reset 0x0

RW

Description

I2C address of the device that the Master will use to target for read/write RW operations. This can be either a 7b or 10b address.

8.15.2.36IOMDBG Register
IOM Debug Register OFFSET: 0x00000410 INSTANCE 0 ADDRESS: 0x50004410 INSTANCE 1 ADDRESS: 0x50005410 INSTANCE 2 ADDRESS: 0x50006410 INSTANCE 3 ADDRESS: 0x50007410 INSTANCE 4 ADDRESS: 0x50008410 INSTANCE 5 ADDRESS: 0x50009410 Debug control

Table 466: IOMDBG Register
33222222222211111111110000000000 10987654321098765432109876543210
DBGDATA

APBCLKON IOCLKON DBGEN

Bit

Name

31:3

DBGDATA

2

APBCLKON

1

IOCLKON

0

DBGEN

Table 467: IOMDBG Register Bits

Reset 0x0

RW

Description

Debug control for various options. DBGDATA[1:0] is used to select RW between different debug data available in the DBG0 and DBG1 registers.

APBCLK debug clock control. Enable APB_CLK to be active when this bit is

0x0

RW '1'. Otherwise, the clock is controlled with gating from the logic as needed.

IOCLK debug clock control. Enable IO_CLK to be active when this bit is '1'.

0x0

RW Otherwise, the clock is controlled with gating from the logic as needed.

Debug Enable. Setting bit will enable the update of data within this register,

0x0

RW otherwise it is clock gated for power savings

DS-A3-0p9p1

Page 324 of 909

2019 Ambiq Micro, Inc. All rights reserved.

9. I2C/SPI Slave Module

Apollo3 Blue Datasheet

SPI Slave Controller I2C Slave Controller

REGs

Bus

INTs

Interface

IO Mux

FIFO

Figure 42. Block diagram for the I2C/SPI Slave Module
9.1 Functional Overview
The I2C/SPI Slave Module, shown in Figure 42, allows the Apollo3 Blue MCU to function as a Slave in an I2C or SPI system. The I2C/SPI Slave operates in an independent fashion, so that the Apollo3 Blue MCU may be placed in a sleep mode and still receive operations over the I/O interface. The Slave may be configured to generate an interrupt on specific references.
The I2C/SPI Slave contains 256 bytes of RAM which is only accessible when the module is enabled. This RAM may be flexibly configured into three spaces: a block directly accessible via the I/O interface, a block which functions as a FIFO for read operations on the interface, and a block of generally accessible RAM used to store parameters during deep sleep mode.
In I2C mode the Slave supports fully configurable 7 and 10-bit addressing with interface timing limits as specified in Table 1155. In SPI mode, the Slave supports all polarity/phase combinations and interface frequencies as specified in Table 1156.
9.2 Local RAM Allocation
The I2C/SPI Slave is built around a 256-byte local RAM (LRAM), through which all data flows between the CPU AHB and the IO interface. The I2C/SPI Slave supports a 128-byte offset space when accessed from the I/O interface.
The LRAM is divided into three separate areas on 8-byte boundaries. These areas are:
1. A Direct Area for direct communication between the host and the MCU, which is mapped between the AHB address space and the I/O address space. This area is from LRAM address 0x00 to the address calculated from the 5-bit FIFOBASE field in the FIFO configuration register (FIFOCFG), minus 1. This 5-bit field (REG_IOSLAVE_FIFOCFG_FIFOBASE) should contain a value that rep-

DS-A3-0p9p1

Page 325 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
resents the start of the FIFO Area and, in so doing, defines the size of the Direct Area in 8-byte segments. Part of this area can be defined as IO Slave Read-only starting at any 8-byte segment defined by REG_IOSLAVE_FIFOCFG_ROBASE and extending through the end of the Direct Area at FIFOBASE*8-1. 2. A FIFO Area which is used to stream data from the Apollo3 Blue MCU. This memory is directly addressed from the AHB, but accessed from the I/O Interface using a single I/O address 0x7F as a streaming port. The FIFO area is from the LRAM address calculated from the value in the FIFOBASE field, FIFOBASE*8, to the LRAM address calculated from the value in the FIFOMAX field of the FIFOCFG register, REG_IOSLAVE_FIFOCFG_FIFOMAX.The upper FIFO Area address is FIFOMAX*8-1. The maximum value for FIFOMAX is 0x20, which would result in an upper FIFO Area address of 0xFF. 3. A RAM Area which is accessible only from the AHB Slave. The RAM area is from the LRAM address calculated from the value in the FIFOMAX field of the FIFOCFG register, REG_IOSLAVE_FIFOCFG_FIFOMAX, to address 0xFF. Setting FIFOMAX to 0x20 would result in a RAM area of zero size.
The data in the LRAM is maintained in Deep Sleep Mode.
Figure 43 below shows the LRAM address mapping between the I/O interface and the AHB.

I/O Address
0x00
Up to 120 Bytes Directly
Addressable
FIFOBASE * 8 - 1

0x78-7B 0x7C 0x7D 0x7F

IOINT Regs FIFOCTRLO FIFOCTRUP FIFO (Data)

RAM/AHB

0x00

Direct Area

FIFO Area

FIFOBASE * 8

FIFOMAX * 8 RAM Area
0xFF

Figure 43. I2C/SPI Slave Module LRAM Addressing
9.3 Direct Area Functions
The Direct Area is used for direct communications between the interface Host and the Apollo3 Blue MCU. The Host may write a register in this Register Access space, called REGACC, and read it back without requiring the CPU to wake up, so that very low power interactions are supported. In some cases, however, accesses require interaction with the CPU.
REGACC interrupts are mapped in the Direct Area and operate as follows. Each REGACC interrupt status bit will be set whenever there is a read or write over the I2C or SPI interface in the Direct Area with an offset address which corresponds to a particular REGACC interrupt. Table 468 below lists the offsets to

DS-A3-0p9p1

Page 326 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
memory locations within the Direct Area and corresponding interrupt bit settings in the REGACCINTSTAT register.
I/O writes to locations 0x0-0xF will set a corresponding interrupt flag in the REGACCINTSTAT register. These locations are typically used for specific commands to the Apollo3 Blue MCU. Note that not all flags need generate an actual interrupt, so small multi-byte commands may be transmitted in this area. For example, a write to location 0x0 will set bit 31 of the REGACCINTSTAT register, a write to location 0x1 will set bit 30 of REGACCINTSTAT, and a write to location 0xF will set bit 16 of the REGACCINTSTAT register.
The upper 16 REGACC interrupts are each generated on an access to the last byte of a 32-bit word, starting at 0x10. I/O writes to locations 0x10 to 0x4F will set a corresponding interrupt flag in the REGACCINTSTAT register if the I/O address modulo 4 is 3 (i.e. addresses 0x13, 0x17, 0x1B, etc.). This allows larger transfers to be sent in a burst with a trigger being generated on the last write, and it also
allows specifying a data buffer of any whole word size and have an interrupt generated on access to the last byte of the buffer. For example, a write to location 0x13 will set bit 15 of the REGACCINTSTAT
register, a write to location 0x17 will set bit 14 of REGACCINTSTAT, and a write to location 0x4F will set bit 0 of the REGACCINTSTAT register.
Table 468 lists the offsets to memory locations within the Direct Address Space and corresponding interrupt bit settings in the REGACCINTSTAT register.

DS-A3-0p9p1

Page 327 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 468: Mapping of Direct Area Access Interrupts and Corresponding REGACCINTSTAT Bits

REGACCINTSTAT Bit
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Direct Area Offset Address
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xA 0xB 0xC 0xD 0xE 0xF 0x13 0x17 0x1B 0x1F 0x23 0x27 0x2B 0x2F 0x33 0x37 0x3B 0x3F 0x43 0x47 0x4B 0x4F

The REGACCINTSTAT register provides status of the 32 individual write interrupts. If an interrupt is enabled and set, it shows as a high bit in this register. The highest priority REGACC bit is bit 31 (set on access to address 0x00), and the lowest priority is bit 0 (set on access to address 0x4F). The 5-bit REG_IOSLAVE_PRENC register provides an encoded value of the highest priority of these interrupts to

DS-A3-0p9p1

Page 328 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
speed software decoding, and is therefore very useful for quickly servicing the highest priority REGACC interrupt (i.e. the one at the lowest offset address). The encoding works such that if interrupt 31 is set, PRENC will be 0. If interrupt 31 is not set and bit 30 is set, PRENC will be 1, and so on to the point where if bits 31-1 are not set and bit 0 is set PRENC will be 31. If no interrupts are set the value in PRENC is indeterminate.
The final special memory space within the Direct Area is a read-only area for the I/O Host, which is from I/ O address (REG_IOSLAVE_FIFOCFG_ROBASE * 8) to (FIFOBASE * 8 ­ 1). I/O writes to this address space will not change the LRAM, which allows the space to be used for returning status to the I/O Host. ROBASE should have a minimum value of 0x0A, representing a start address of 0x50 to allow space for special commands and burst writes in lower Direct Area space.
9.4 FIFO Area Functions
The FIFO is used to provide very efficient flow of data from the Apollo3 Blue MCU to the I/O Host processor with minimal CPU interaction. A FIFO of up to 1023 bytes can be easily maintained by software, with the oldest bytes residing in the LRAM FIFO Area and the newer data being held in system SRAM and transferred to the I2C/SPI Slave on demand. Several hardware features support this operation.
Figure 44 shows the basic FIFO operation. The main FIFO is held in a buffer in SRAM, and the oldest data in that FIFO has been transferred to the FIFO Area of the I/O Slave. The REG_IOSLAVE_FIFOPTR_FIFOPTR register points to the next byte to be read on the I/O interface. REG_IOSLAVE_FIFOPTR_FIFOSIZ holds the current number of valid bytes in the FIFO on the I2C/SPI Slave, and FIFOCTR holds the total number of bytes in the FIFO. The value in REG_IOSLAVE_FIFOCTR may be read indirectly at any time by the Host processor via the FIFOCTRUP_FIFOCTRLO registers to determine if there is FIFO data available (and how much is currently in the FIFO). I/O Host access to the FIFO counter is at offset 0x7C/D.
WARNING
The host read of the FIFOCTR value via FIFOCTRUP_FIFOCTRLO is not synchronized to the write clock. So if the host read happens during a FIFOCTR update (either through a read-modify-write of FIFOCTR register or an automatic update because of a write to the FIFOINC register by the Slave CPU), it is possible for the count value to be out of sync, impacting the value read in either or both the upper (FIFOCTRUP) and lower (FIFOCTRLO) bytes. This is a very rare case, but proper code would have the host read the two registers for the FIFOCTR value multiple times until consecutive reads are the same.

DS-A3-0p9p1

Page 329 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

FIFO Read Data @ 0x7F
Decrement on FIFO Read
Decrement on FIFO Read
Host Readable at 0x7C/0x7D

Cur Data FIFO Area in
LRAM
FIFOSIZ
Compare
FIFOTHR
FIFOCTR

FIFOPTR
Increment on FIFO area Write
FIFO Int

Local FIFO
FIFO Buffer in SRAM

Add value on write to FIFOINC

Figure 44. I2C/SPI Slave Module FIFO
When the host reads a byte from the FIFO, the data retrieved is pointed to by FIFOPTR, FIFOPTR is incremented and wraps around in the FIFO Area if it reaches FIFOMAX. FIFOSIZ and FIFOCTR are each decremented by one. The Host can read FIFOCTR and then read that many bytes without further checking. Note that this process can continue without requiring a CPU wakeup. If the Host attempts to read the FIFO when FIFOSIZ is 0, the FUNDFL interrupt flag is set in both the I2C Slave interrupt block and in the Host interrupt block.
When FIFOSIZ drops below the configured threshold REG_IOSLAVE_FIFOTHR the FSIZE interrupt flag is set and if enabled an interrupt is sent to the CPU which will wake it up. At that point, the CPU can move as much data from the SRAM FIFO to the I2C/SPI Slave FIFO as possible in a single operation and then go back to sleep. Since the FIFO Area can be quite large, CPU wake-ups will be very infrequent. If a write to the FIFOCTR which would increment the value beyond 1023 occurs, the FOVFL interrupt flag is set.
When some other process, such as a sensor read, produces new data for the FIFO, the CPU will add that data to the FIFO in SRAM, wrapping around as necessary. The REG_IOSLAVE_FIFOINC register is then written with the number of bytes added to the FIFO, which is added to the FIFOCTR register in an atomic fashion. In this way the Host processor can always determine how much read data is available.
The FIFO interface offset 0x7F is treated uniquely by the I2C/SPI Slave, in that an access to this address does not increment the Address Pointer. This allows the Host to initiate a burst read from address 0x7F of any length, and each read will supply the next byte in the FIFO.
9.5 Rearranging the FIFO
In normal operation the Host reads the oldest data from the FIFO, and the CPU writes new data onto the FIFO. In some cases it is desirable to modify this process, in particular for the FIFO to provide the newest data. The Apollo3 Blue MCU supports such operation using a special control function.

DS-A3-0p9p1

Page 330 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

If software desires to write the current sample to the front of the FIFO, it first checks the REG_IOSLAVE_FUPD_IOREAD status bit to ensure that there is not a Host read operation from the FIFO underway. Once IOREAD is clear, software sets the REG_IOSLAVE_FUPD_FIFOUPD bit, writes the new sample data to the front of the FIFO and modifies the FIFOPTR to point to the new data. At that point the FIFOUPD bit is cleared.
If the Host attempts a FIFO read operation while the FIFOUPD is set, a RDERR interrupt will be generated to the Host and the FRDERR interrupt flag will be set. The Host must either poll the RDERR interrupt bit at the end of each operation or configure a hardware interrupt. Note that if the software does not support alternate FIFO ordering, the Host does not have to check the RDERR function.
9.6 Interface Interrupts
The CPU may also signal the Host via the IOINT interrupt, which may be connected to an Apollo3 Blue MCU pin and driven to the Host. Eight interrupts are available to be combined into the IOINT interrupt, and the Host can enable, read, clear and set these interrupts via the I/O interface. Software on the CPU can set 6 of the interrupts (SWINT0 through SWINT5) to communicate a variety of situations to the Host, and the other two interrupts indicate errors such as an attempt by the Host to read the FIFO when it is empty. A CPU interrupt is generated whenever the Host writes any IOINT registers (for example, to clear an interrupt) so the CPU can manage the interrupt interaction.The I2C/SPI Slave includes a mechanism to allow the Host CPU and the Apollo3 Blue MCU to each interrupt the other via a set of eight interrupts. The Host CPU accesses these interrupts via interface locations 0x78-0x7B, and the Apollo3 Blue MCU accesses these interrupts in the IOINTCTL Register.
The Host CPU may enable or disable any of the eight interrupts by writing the corresponding bit in the IOINTEN field of the IOINTCTL Register, which is accessed by the Host at interface location 0x78. The Host CPU may then clear or set any of the interrupts by writing a 1 to the corresponding bit of the clear (at location 0x7A) or set (at location 0x7B) registers. The current state of all eight interrupts may be read in the IOINT field at location 0x79. Note that this structure is identical to the standard Apollo3 Blue MCU interrupts in all modules. The Apollo3 Blue MCU can read the value of the eight interrupt enables in the IOINTEN field of IOINTCTL, and can read the values of the eight interrupt status bits in the IOINT field of the IOINTCTL register. These two fields are read only. Table 469 summarizes these I/O interface interrupts and how they can be controlled and read.

Table 469: I/O Interface Interrupt Control

RAM

IOINT

Location Register1

Function

MCU Register_Field

Description

0x78 0x79 0x7A 0x7B

IOINTEN IOINT IOINTCLR IOINTSET

I/O Interrupt Enable

IOINTCTL_IOINTEN (R/O)

Each interrupt can be individually enabled by I/O Host, but can only be read by the MCU

I/O Interrupt State IOINTCTL_IOINT (R/O)

State of each interrupt, set or cleared, can be read by either the I/O Host or by the MCU

Each interrupt can be individually cleared by the I/O Interrupt Clear IOINTCTL_IOINTCLR (W/O I/O Host, but the MCU can (only) clear all of
them at once

I/O Interrupt Set

IOINTCTL_IOINTSET (W/ Each interrupt can be individually set by either

O)

the I/O Host or the MCU

1. Readable by the I/O Host

The Apollo3 Blue MCU software may set any of the eight interrupt status register bits by writing a 1 to the corresponding bit of the IOINTSET field of the IOINTCTL Register, and may clear all of the interrupts by

DS-A3-0p9p1

Page 331 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

writing a 1 to the IOINTCLR bit of the IOINTCTL register. This allows the Apollo3 Blue MCU to generate a software interrupt to the Host device. In addition, a FIFO underflow interrupt FUNDFL in the I2C/SPI Slave will set interrupt bit 7, and a FIFO read error interrupt FRDERR will set interrupt bit 6 of the IO interrupt status register IOINT. Note that the Apollo3 Blue MCU software cannot write the IOINTEN register, so that IO interrupts are controlled completely by the Host processor.
If any of the IOINT interrupt bits are set and the corresponding bit in IOINTEN is set, an IOINT interrupt will be generated. If the GPIO configuration registers have configured PAD4 as IOINT, that interrupt will be driven directly onto PAD_IO[4]. This pin should be connected to an interrupt input pin of the Host interface device so that it can receive the interrupt and service it.
If the Host device writes to any of the interrupt register access locations (any location in 0x78-0x7B) the IOINTW interrupt will be set in the I2C/SPI INTSTAT Register. This allows Apollo3 Blue MCU software to receive a software interrupt from the Host device. Note that this interrupt will occur for all writes by the Host, including a write to clear an interrupt.
9.7 Command Completion Interrupts
Four interrupts in the I2C/SPI Slave module are generated when the Host interface device completes a transfer. This allows Apollo3 Blue MCU to be easily awakened for any transfer from the Host while maximizing the time Apollo3 Blue MCU is in sleep mode. The XCMPWR interrupt is generated at the completion of a Host write transfer which includes addresses in the currently configured Direct Register space, and the XCMPRR interrupt is generated on the completion of a Host read transfer to that space. The XCMPWF interrupt is generated at the completion of a Host write transfer which includes the FIFO address 0x7F (although that is an invalid access), and the XCMPRF interrupt is generated at the completion of a Host read transfer which includes the FIFO address 0x7F.
NOTE: A write to 0x7F, which is the FIFO address, uses the address 0xFF, since this includes the R/W bit in the upper (first) bit followed by the 7-bit Direct Register address (offset). The prescribed usage of IOS FIFO is only for READ from the host, and hence writing to the FIFO is generally an invalid operation. So, even though XCMPWF flag/interrupt is defined, it is likely never going to be used.
NOTE: A burst transfer which begins in the Direct Register address space and is long enough to cause the Address Pointer to be 0x7F can set both the Direct Register and FIFO interrupts, although that would in general be an invalid operation.

9.8 Host Address Space and Registers
The Host of the I/O interface can access 128 bytes in the I2C/SPI Slave in either I2C or SPI mode. Offsets 0x00 to 0x77 may be directly mapped to the Direct RAM Area. The remaining eight offset locations access hardware functions within the I2C/SPI Slave. The R/W indicator is referring to accesses from the Host.
9.9 I2C Interface
The Apollo3 Blue MCU I2C Slave interface operates as a standard slave. The device is accessed at an address configured in the REG_IOSLAVE_IOSCFG_I2CADDR field, and supports Fast Mode Plus (up to 1 MHz). Both 7-bit and 10-bit address modes are supported, as selected by REG_IOSLAVE_IOSCFG_10BIT. The I2C interface consists of two lines: one bi-directional data line (SDA) and one clock line (SCL). Both the SDA and the SCL lines must be connected to a positive supply voltage via a pull-up resistor. By definition, a device that sends a message is called the "transmitter", and the device that accepts the message is called the "receiver". The device that controls the message transfer by driving SCL is called "master". The devices that are controlled by the master are called "slaves". The Apollo3 Blue MCU I2C Slave is always a slave device.

DS-A3-0p9p1

Page 332 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

The following protocol has been defined:
 Data transfer may be initiated only when the bus is not busy.  During data transfer, the data line must remain stable whenever the clock line is high.  Changes in the data line while the clock line is high will be interpreted as control signals.
A number of bus conditions have been defined (see Figure 45) and are described in the following sections.

Not Busy SCL

SDA may change

SDA

START

SDA Stable

STOP

Figure 45. Basic I2C Conditions
9.9.1 Bus Not Busy
Both SDA and SCL remain high.
9.9.2 Start Data Transfer
A change in the state of SDA from high to low, while SCL is high, defines the START condition. A START condition which occurs after a previous START but before a STOP is called a RESTART condition, and functions exactly like a normal STOP followed by a normal START.
9.9.3 Stop Data Transfer
A change in the state of SDA from low to high, while SCL is high, defines the STOP condition.
9.9.4 Data Valid
After a START condition, SDA is stable for the duration of the high period of SCL. The data on SDA may be changed during the low period of SCL. There is one clock pulse per bit of data. Each data transfer is initiated with a START condition and terminated with a STOP condition. The number of data bytes transferred between the START and STOP conditions is not limited. The information is transmitted bytewide and each receiver acknowledges with a ninth bit.
9.9.5 Acknowledge
Each byte of eight bits is followed by one Acknowledge (ACK) bit as shown in Figure 46. This Acknowledge bit is a low level driven onto SDA by the receiver, whereas the master generates an extra ACK related SCL pulse. A slave receiver which is addressed is obliged to generate an Acknowledge after the reception of each byte. Also, on a read transfer a master receiver must generate an Acknowledge after the reception of each byte that has been clocked out of the slave transmitter. The device that acknowledges must pull down the SDA line during the Acknowledge clock pulse in such a way that the SDA line is a stable low during the high period of the Acknowledge related SCL pulse. A master receiver must signal an end-of-data to the slave transmitter by not generating an Acknowledge (a NAK) on the last byte that has been clocked out of the slave. In this case, the transmitter must leave the data line high to enable the master to generate the STOP condition.

DS-A3-0p9p1

Page 333 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

SCL

1

2

8

9

SDA

MSB (bit 7)

Bit 6

Bit 0

ACK

START

Figure 46. I2C Acknowledge

9.9.6 Address Operation
In I2C mode, the I2C/SPI Slave supports either 7-bit or 10-bit addressing, selected by the 10BIT bit in the IOSCFG Register. Figure 47 shows the operation in 7-bit mode in which the master addresses the Apollo3 Blue MCU with a 7-bit address configured as 0xD2 in the I2CADDR field. After the START condition, the 7bit address is transmitted MSB first. If this address matches the lower 7 bits of the I2CADDR field, the Apollo3 Blue MCU is selected, the eighth bit indicate a write (RW = 0) or a read (RW = 1) operation and the Apollo3 Blue MCU supplies the ACK. The Apollo3 Blue MCU ignores all other address values and does not respond with an ACK.

SDA

1

1

0

1

0

0

0

R W

A

SCL

Figure 47. I2C 7-bit Address Operation
Figure 48 shows the operation with which the master addresses the Apollo3 Blue MCU with a 10-bit address configured at 0x536. After the START condition, the 10-bit preamble 0b11110 is transmitted first, followed by the first two address bits and the eighth bit indicating a write (RW = 0) or a read (RW = 1) operation. If the upper two bits match the I2CADDR value, the I2C/SPI Slave supplies the ACK. The next transfer includes the lower 8 bits of the address, and if these bits also match I2CADDR the Apollo3 Blue MCU again supplies the ACK. The I2C/SPI Slave ignores all other address values and does not respond with an ACK.

SDA SCL

1

1

1

1

0

1

0

R W

A

1

0

0

1

1

0

1

1

A

Figure 48. I2C 10-bit Address Operation
9.9.7 Offset Address Transmission
If the RW bit of the Address Operation indicates a write, the next byte transmitted from the master is the Offset Address as shown in Figure 49. This value is loaded into the Address Pointer of the I2C/SPI Slave.

DS-A3-0p9p1

Page 334 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

SDA SCL

Offset Address 1 1 0 1 0 0 0 0A7 6 5 4 3 2 1 0A

Figure 49. I2C Offset Address Transmission
9.9.8 Write Operation
In a write operation the master transmitter transmits to the Apollo3 Blue MCU slave receiver. The Address Operation has a RW value of 0, and the second byte contains the Offset Address as in Figure 49. The next byte is written to the register selected by the Address Pointer (which was loaded with the Offset Address) and the Address Pointer is incremented. Subsequent transfers write bytes into successive registers until a STOP condition is received, as shown in Figure 50. Note that if the Address Pointer is at 0x7F, it will not increment on the write.

SDA SCL

Addr W A

Offset

Byte N

Byte N+1

Byte N+2

A7

0A7

0A7

0A

Figure 50. I2C Write Operation
9.9.9 Read Operation
In a read operation, the master first executes an Offset Address Transmission to load the Address Pointer with the desired Offset Address. A subsequent operation will again issue the address of the Apollo3 Blue MCU but with the RW bit as a 1 indicating a read operation. Figure 51 shows this transaction beginning with a RESTART condition, although a STOP followed by a START may also be used. After the address operation, the slave becomes the transmitter and sends the register value from the location pointed to by the Address Pointer, and the Address Pointer is incremented. Subsequent transactions produce successive register values, until the master receiver responds with a NAK and a STOP to complete the operation. Because the Address Pointer holds a valid register address, the master may initiate another read sequence at this point without performing another Offset Address operation. Note that if the Address Pointer is at 0x7F, it will not increment on the read.

SDA SCL

Addr W A

Offset

A

Addr

Byte N

Byte N+1

RA 7

0A7

0N

RESTART
Figure 51. I2C Read Operation

DS-A3-0p9p1

Page 335 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

9.9.10 General Address Detection
The I2C/SPI Slave may be configured to detect an I2C General Address (0x00) write. If this address is detected, the first data byte written is stored in the REG_IOSLAVE_GADATA Register and the GENAD interrupt flag is set. This allows software to create the appropriate response, which is typically to reset the I2C/SPI Slave.
9.10 SPI Interface
The I2C/SPI Slave includes a standard 3-wire or 4-wire SPI interface. The serial peripheral interface (SPI) bus is intended for synchronous communication between different ICs. 4-wire SPI consists of four signal lines: serial data input (MOSI), serial data output (MISO), serial clock (SCL) and an active low chip enable (nCE). The I2C/SPI Slave may be connected to a master with a 3-wire SPI interface by configuring 3-wire mode in the pin configuration block of the GPIO module, which will tie MOSI and MISO together. By definition, a device that sends a message is called the "transmitter", and the device that accepts the message is called the "receiver". The device that controls the message transfer by driving SCL is called "master". The devices that are controlled by the master are called "slaves". The I2C/SPI Slave SPI Slave is always a slave device.
The nCE input is used to initiate and terminate a data transfer. The SCL input is used to synchronize data transfer between the master and the slave devices via the MOSI (master to slave) and MISO (slave to master) lines. The SCL input, which is generated by the master, is active only during address and data transfer to any device on the SPI bus.
The I2C/SPI Slave supports clock frequencies up to 12 MHz, and responds to all SPI configurations of CPOL and CPHA using the SPOL configuration bit. There is one clock for each bit transferred. Address and data bits are transferred in groups of eight bits.
9.10.1 Write Operation
Figure 52 shows a SPI write operation. The operation is initiated when the nCE signal to the Apollo3 Blue MCU goes low. At that point an 8-bit Address byte is transmitted from the master on the MOSI line, with the upper RW bit indicating read (if 0) or write (if 1). In this example the RW bit is a one selecting a write operation, and the lower 7 bits of the Address byte contain the Offset Address, which is loaded into the Address Pointer of the I2C/SPI Slave.
Each subsequent byte is loaded into the register selected by the Address Pointer, and the Address Pointer is incremented. The operation is terminated by the master by bringing the nCE signal high. Note that the MISO line is not used in a write operation and is held in the high impedance state by the I2C/SPI Slave. Note also that if the Address Pointer is 0x7F, it does not increment on the read.

MOSI

Offset Address

Data Byte N

Data Byte N+1

X W6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X

MISO

SCK

nCE

Figure 52. SPI Write Operation

DS-A3-0p9p1

Page 336 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

9.10.2 Read Operation
Figure 53 shows a read operation. The address is transferred from the master to the slave just as it is in a write operation, but in this case the RW bit is a 0 indicating a read. After the transfer of the last address bit (bit 0), the I2C/SPI Slave begins driving data from the register selected by the Address Pointer onto the MISO line, bit 7 first, and the Address Pointer is incremented. The transfer continues until the master brings the nCE line high. Note that if the Address Pointer is 0x7F, it does not increment on the read.

MOSI

Offset Address X R6543210

Data Byte N

Data Byte N+1 X

MISO

7654321076543210

SCK

nCE

Figure 53. SPI Read Operation
9.10.3 Configuring 3-wire vs. 4-wire SPI Mode
The I2C/SPI Slave can operate in either 4-wire SPI mode, where the MISO and MOSI signals are on separate wires, or in 3-wire SPI mode where MISO and MOSI share a wire. This configuration is performed in the Pin Configuration module, and no configuration is necessary in the I2C/SPI Slave itself.
9.10.4 SPI Polarity and Phase
The I2C/SPI Slave supports all combinations of CPOL (clock polarity) and CPHA (data phase) in SPI mode. Figure 54 shows how these two bits affect the interface signal behavior.

nCE CPOL=0 SCK CPOL=1 SCK

MOSI X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X CPHA=0
MISO X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X

CPHA=1

MOSI MISO

X

7654321076543210X

X

7654321076543210X

Figure 54. SPI CPOL and CPHA

DS-A3-0p9p1

Page 337 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
If CPOL is 0, the clock SCK is normally low and positive pulses are generated during transfers. If CPOL is 1, SCK is normally high and negative pulses are generated during transfers.
If CPHA is 0, the data on the MOSI and MISO lines is sampled on the edge corresponding to the first SCK edge after nCE goes low (i.e. the rising edge if CPOL is 0 and the falling edge if CPOL is 1). Data on MISO and MOSI is driven on the opposite edge of SCK.
If CPHA is 1, the data on the MOSI and MISO lines is sampled on the edge corresponding to the second SCK edge after nCE goes low (i.e. the falling edge if CPOL is 0 and the rising edge if CPOL is 1). Data on MISO and MOSI is driven on the opposite edge of SCK.
The I2C/SPI Slave has only a single SPOL bit to control the polarity. If CPOL = CPHA, REG_IOSLAVE_IOSCFG_SPOL must be set to 0. If CPOL  CPHA, SPOL must be set to 1.
9.11 Bit Orientation
In both I2C and SPI modes, the I2C/SPI Slave supports data transmission either LSB first or MSB first as configured by the REG_IOSLAVE_IOSCFG_LSB bit. If LSB is 0, data is transmitted and received MSB first. If LSB is 1, data is transmitted and received LSB first.
9.12 Wakeup Using the I2C/SPI Slave
The I2C/SPI Slave can continue to operate even if the Apollo3 Blue MCU CPU is in Sleep or Deep Sleep mode. The hardware will enable and disable the I2C/SPI Slave clock and oscillators as necessary. The only consideration in this environment is when the MCU is in a deep sleep mode, such that the HFRC Oscillator is powered down, and a master attempts to access the I2C/SPI Slave. In this case the HFRC Oscillator must be powered up before any is transferred to or from the internal RAM. This process takes roughly 5-10 us, and is initiated by nCE going low in SPI mode or by the detection of a START in I2C mode.
For I2C applications, the time delay is typically not relevant. At the fastest system clock of 1 MHz, the master must transfer 9 bits of address plus 9 bits of offset before any FIFO access can occur, and that is a minimum of 18 us. The clocks will have started prior to that point in every case.
For SPI applications with fast interface clocks (faster than 1 MHz), the master must be programmed to pull nCE low at least 10 us prior to sending the first clock. If a master is unable to control the timing of nCE in this way, then a GPIO interrupt can be configured to wake the Apollo3 Blue MCU prior to initiating any SPI transfers.
There is no delay restriction if the MCU is in normal Sleep mode. In that case the HFRC is not powered down and the I2C/SPI Slave clock will start immediately when nCE goes low. Alternatively, the FRCHFRC bit may be set in the FRCHFRC Register in the CLK_GEN module. If this bit is set, the HFRC will continue to be active even if the Apollo3 Blue MCU CPU is in deep sleep mode, so that the I2C/SPI Slave can immediately begin transferring data independent of the SPI transfer rate. This will result in higher power because the HFRC remains active, so the FRCHFRC bit should only be set if it is known that a transfer is likely to begin prior to another interrupt.

9.13 IOSLAVE Registers
I2C/SPI Slave INSTANCE 0 BASE ADDRESS:0x50000000

DS-A3-0p9p1

Page 338 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

9.13.1 Register Memory Map

Table 470: IOSLAVE Register Map

Address(s)
0x50000100 0x50000104 0x50000108 0x5000010C 0x50000110 0x50000114 0x50000118 0x5000011C 0x50000120 0x50000124 0x50000200 0x50000204 0x50000208 0x5000020C 0x50000210 0x50000214 0x50000218 0x5000021C

Register Name
FIFOPTR FIFOCFG FIFOTHR FUPD FIFOCTR FIFOINC CFG PRENC IOINTCTL GENADD INTEN INTSTAT INTCLR INTSET REGACCINTEN REGACCINTSTAT REGACCINTCLR REGACCINTSET

Description
Current FIFO Pointer FIFO Configuration FIFO Threshold Configuration FIFO Update Status Overall FIFO Counter Overall FIFO Counter Increment I/O Slave Configuration I/O Slave Interrupt Priority Encode I/O Interrupt Control General Address Data IO Slave Interrupts: Enable IO Slave Interrupts: Status IO Slave Interrupts: Clear IO Slave Interrupts: Set Register Access Interrupts: Enable Register Access Interrupts: Status Register Access Interrupts: Clear Register Access Interrupts: Set

DS-A3-0p9p1

Page 339 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

9.13.2 IOSLAVE Registers
9.13.2.1 FIFOPTR Register
Current FIFO Pointer OFFSET: 0x00000100 INSTANCE 0 ADDRESS: 0x50000100 Current FIFO Pointer

Table 471: FIFOPTR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

FIFOSIZ

FIFOPTR

Bit 31:16 15:8
7:0

Name RSVD FIFOSIZ FIFOPTR

Table 472: FIFOPTR Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW The number of bytes currently in the hardware FIFO.

0x0

RW Current FIFO pointer.

9.13.2.2 FIFOCFG Register
FIFO Configuration OFFSET: 0x00000104 INSTANCE 0 ADDRESS: 0x50000104 FIFO Configuration

Table 473: FIFOCFG Register
33222222222211111111110000000000 10987654321098765432109876543210

ROBASE

RSVD

FIFOMAX

RSVD

FIFOBASE

RSVD RSVD

DS-A3-0p9p1

Page 340 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:30 29:24 23:16 15:14

Name RSVD ROBASE RSVD RSVD

13:8

FIFOMAX

7:5

RSVD

4:0

FIFOBASE

Table 474: FIFOCFG Register Bits

Reset 0x0

RW RO RESERVED

Description

0x20

Defines the read-only area. The IO Slave read-only area is situated in RW LRAM at (ROBASE*8) to (FIFOBASE*8-1)

0x0

RO RESERVED

0x0

RO RESERVED

These bits hold the maximum FIFO address in 8 byte segments. It is also

0x0

RW

the beginning of the RAM area of the LRAM. Note that no RAM area is configured if FIFOMAX is set to 0x1F.

0x0

RO RESERVED

These bits hold the base address of the I/O FIFO in 8 byte segments. The

0x0

RW IO Slave FIFO is situated in LRAM at (FIFOBASE*8) to (FIFOMAX*8-1).

9.13.2.3 FIFOTHR Register
FIFO Threshold Configuration OFFSET: 0x00000108 INSTANCE 0 ADDRESS: 0x50000108 FIFO Threshold Configuration

Table 475: FIFOTHR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

FIFOTHR

Bit

Name

31:8

RSVD

7:0

FIFOTHR

Table 476: FIFOTHR Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW FIFO size interrupt threshold.

DS-A3-0p9p1

Page 341 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
9.13.2.4 FUPD Register
FIFO Update Status OFFSET: 0x0000010C INSTANCE 0 ADDRESS: 0x5000010C FIFO Update Status
Table 477: FUPD Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

IOREAD FIFOUPD

Bit

Name

31:2

RSVD

1

IOREAD

0

FIFOUPD

Table 478: FUPD Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RO This bitfield indicates an IO read is active.

0x0

RW This bit indicates that a FIFO update is underway.

9.13.2.5 FIFOCTR Register
Overall FIFO Counter OFFSET: 0x00000110 INSTANCE 0 ADDRESS: 0x50000110 Overall FIFO Counter

Table 479: FIFOCTR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

FIFOCTR

Bit 31:10

Name RSVD

DS-A3-0p9p1

Table 480: FIFOCTR Register Bits

Reset 0x0

RW RO RESERVED

Description

Page 342 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

9:0

FIFOCTR

Table 480: FIFOCTR Register Bits

Reset 0x0

RW RW Virtual FIFO byte count

Description

9.13.2.6 FIFOINC Register
Overall FIFO Counter Increment OFFSET: 0x00000114 INSTANCE 0 ADDRESS: 0x50000114 Overall FIFO Counter Increment

Table 481: FIFOINC Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

FIFOINC

Bit 31:10
9:0

Name RSVD FIFOINC

Table 482: FIFOINC Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

WO Increment the Overall FIFO Counter by this value on a write

9.13.2.7 CFG Register
I/O Slave Configuration OFFSET: 0x00000118 INSTANCE 0 ADDRESS: 0x50000118 I/O Slave Configuration

Table 483: CFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

I2CADDR

RSVD

IFCEN STARTRD
RSVD LSB SPOL IFCSEL

DS-A3-0p9p1

Page 343 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31

IFCEN

30:20 19:8 7:5

RSVD I2CADDR
RSVD

4

STARTRD

3

RSVD

2

LSB

1

SPOL

0

IFCSEL

Reset 0x0 0x0 0x0 0x0 0x0 0x0 0x0
0x0
0x0

Table 484: CFG Register Bits

RW

Description

IOSLAVE interface enable.
RW DIS = 0x0 - Disable the IOSLAVE EN = 0x1 - Enable the IOSLAVE
RO RESERVED

RW 7-bit or 10-bit I2C device address.

RO RESERVED

This bit holds the cycle to initiate an I/O RAM read.
RW LATE = 0x0 - Initiate I/O RAM read late in each transferred byte. EARLY = 0x1 - Initiate I/O RAM read early in each transferred byte.
RO RESERVED

This bit selects the transfer bit ordering.

RW MSB_FIRST = 0x0 - Data is assumed to be sent and received with MSB first. LSB_FIRST = 0x1 - Data is assumed to be sent and received with LSB first.
This bit selects SPI polarity.
RW SPI_MODES_0_3 = 0x0 - Polarity 0, handles SPI modes 0 and 3. SPI_MODES_1_2 = 0x1 - Polarity 1, handles SPI modes 1 and 2.
This bit selects the I/O interface.
RW I2C = 0x0 - Selects I2C interface for the IO Slave. SPI = 0x1 - Selects SPI interface for the IO Slave.

9.13.2.8 PRENC Register
I/O Slave Interrupt Priority Encode OFFSET: 0x0000011C INSTANCE 0 ADDRESS: 0x5000011C I/O Slave Interrupt Priority Encode

Table 485: PRENC Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

PRENC

DS-A3-0p9p1

Page 344 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:5

RSVD

4:0

PRENC

Table 486: PRENC Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RO These bits hold the priority encode of the REGACC interrupts.

9.13.2.9 IOINTCTL Register
I/O Interrupt Control OFFSET: 0x00000120 INSTANCE 0 ADDRESS: 0x50000120 I/O Interrupt Control

Table 487: IOINTCTL Register
33222222222211111111110000000000 10987654321098765432109876543210

IOINTSET

RSVD

IOINT

IOINTEN

IOINTCLR

Bit 31:24 23:17
16 15:8 7:0

Name IOINTSET
RSVD IOINTCLR
IOINT IOINTEN

Table 488: IOINTCTL Register Bits

Reset 0x0

RW

Description

WO These bits set the IOINT interrupts when written with a 1.

0x0

RO RESERVED

0x0

WO This bit clears all of the IOINT interrupts when written with a 1.

0x0

RO These bits read the IOINT interrupts.

0x0

RO These read-only bits indicate whether the IOINT interrupts are enabled.

9.13.2.10GENADD Register
General Address Data OFFSET: 0x00000124 INSTANCE 0 ADDRESS: 0x50000124 General Address Data

DS-A3-0p9p1

Page 345 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 489: GENADD Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

GADATA

Bit

Name

31:8

RSVD

7:0

GADATA

Table 490: GENADD Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RO The data supplied on the last General Address reference.

9.13.2.11INTEN Register
IO Slave Interrupts: Enable OFFSET: 0x00000200 INSTANCE 0 ADDRESS: 0x50000200 Set bits in this register to allow this module to generate the corresponding interrupt.

Table 491: INTEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

XCMPWR XCMPWF XCMPRR XCMPRF IOINTW GENAD FRDERR FUNDFL
FOVFL FSIZE

Bit 31:10
9 8 7 6

Name RSVD XCMPWR XCMPWF XCMPRR XCMPRF

Table 492: INTEN Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Transfer complete interrupt, write to register space.

0x0

RW Transfer complete interrupt, write to FIFO space.

0x0

RW Transfer complete interrupt, read from register space.

0x0

RW Transfer complete interrupt, read from FIFO space.

DS-A3-0p9p1

Page 346 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

5

IOINTW

4

GENAD

3

FRDERR

2

FUNDFL

1

FOVFL

0

FSIZE

Table 492: INTEN Register Bits

Reset 0x0

RW RW IO Write interrupt.

Description

0x0

RW I2C General Address interrupt.

0x0

RW FIFO Read Error interrupt.

0x0

RW FIFO Underflow interrupt.

0x0

RW FIFO Overflow interrupt.

0x0

RW FIFO Size interrupt.

9.13.2.12INTSTAT Register
IO Slave Interrupts: Status OFFSET: 0x00000204 INSTANCE 0 ADDRESS: 0x50000204 Read bits from this register to discover the cause of a recent interrupt.

Table 493: INTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

XCMPWR XCMPWF XCMPRR XCMPRF IOINTW GENAD FRDERR FUNDFL
FOVFL FSIZE

Bit 31:10
9 8 7 6 5

Name RSVD XCMPWR XCMPWF XCMPRR XCMPRF IOINTW

Table 494: INTSTAT Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Transfer complete interrupt, write to register space.

0x0

RW Transfer complete interrupt, write to FIFO space.

0x0

RW Transfer complete interrupt, read from register space.

0x0

RW Transfer complete interrupt, read from FIFO space.

0x0

RW IO Write interrupt.

DS-A3-0p9p1

Page 347 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

4

GENAD

3

FRDERR

2

FUNDFL

1

FOVFL

0

FSIZE

Table 494: INTSTAT Register Bits

Reset 0x0

RW

Description

RW I2C General Address interrupt.

0x0

RW FIFO Read Error interrupt.

0x0

RW FIFO Underflow interrupt.

0x0

RW FIFO Overflow interrupt.

0x0

RW FIFO Size interrupt.

9.13.2.13INTCLR Register
IO Slave Interrupts: Clear OFFSET: 0x00000208 INSTANCE 0 ADDRESS: 0x50000208 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.

Table 495: INTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

XCMPWR XCMPWF XCMPRR XCMPRF IOINTW GENAD FRDERR FUNDFL
FOVFL FSIZE

Bit 31:10
9 8 7 6 5 4

Name RSVD XCMPWR XCMPWF XCMPRR XCMPRF IOINTW GENAD

Table 496: INTCLR Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Transfer complete interrupt, write to register space.

0x0

RW Transfer complete interrupt, write to FIFO space.

0x0

RW Transfer complete interrupt, read from register space.

0x0

RW Transfer complete interrupt, read from FIFO space.

0x0

RW IO Write interrupt.

0x0

RW I2C General Address interrupt.

DS-A3-0p9p1

Page 348 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3

FRDERR

2

FUNDFL

1

FOVFL

0

FSIZE

Table 496: INTCLR Register Bits

Reset 0x0

RW RW FIFO Read Error interrupt.

Description

0x0

RW FIFO Underflow interrupt.

0x0

RW FIFO Overflow interrupt.

0x0

RW FIFO Size interrupt.

9.13.2.14INTSET Register
IO Slave Interrupts: Set OFFSET: 0x0000020C INSTANCE 0 ADDRESS: 0x5000020C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).

Table 497: INTSET Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

XCMPWR XCMPWF XCMPRR XCMPRF IOINTW GENAD FRDERR FUNDFL
FOVFL FSIZE

Bit 31:10
9 8 7 6 5 4

Name RSVD XCMPWR XCMPWF XCMPRR XCMPRF IOINTW GENAD

Table 498: INTSET Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Transfer complete interrupt, write to register space.

0x0

RW Transfer complete interrupt, write to FIFO space.

0x0

RW Transfer complete interrupt, read from register space.

0x0

RW Transfer complete interrupt, read from FIFO space.

0x0

RW IO Write interrupt.

0x0

RW I2C General Address interrupt.

DS-A3-0p9p1

Page 349 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3

FRDERR

2

FUNDFL

1

FOVFL

0

FSIZE

Table 498: INTSET Register Bits

Reset 0x0

RW RW FIFO Read Error interrupt.

Description

0x0

RW FIFO Underflow interrupt.

0x0

RW FIFO Overflow interrupt.

0x0

RW FIFO Size interrupt.

9.13.2.15REGACCINTEN Register
Register Access Interrupts: Enable OFFSET: 0x00000210 INSTANCE 0 ADDRESS: 0x50000210 Set bits in this register to allow this module to generate the corresponding interrupt.

Table 499: REGACCINTEN Register
33222222222211111111110000000000 10987654321098765432109876543210
REGACC

Bit

Name

31:0

REGACC

Table 500: REGACCINTEN Register Bits

Reset 0x0

RW RW Register access interrupts.

Description

9.13.2.16REGACCINTSTAT Register
Register Access Interrupts: Status OFFSET: 0x00000214 INSTANCE 0 ADDRESS: 0x50000214 Read bits from this register to discover the cause of a recent interrupt.

Table 501: REGACCINTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
REGACC

DS-A3-0p9p1

Page 350 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

REGACC

Table 502: REGACCINTSTAT Register Bits

Reset 0x0

RW RW Register access interrupts.

Description

9.13.2.17REGACCINTCLR Register
Register Access Interrupts: Clear OFFSET: 0x00000218 INSTANCE 0 ADDRESS: 0x50000218 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.

Table 503: REGACCINTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210
REGACC

Bit

Name

31:0

REGACC

Table 504: REGACCINTCLR Register Bits

Reset 0x0

RW RW Register access interrupts.

Description

9.13.2.18REGACCINTSET Register
Register Access Interrupts: Set OFFSET: 0x0000021C INSTANCE 0 ADDRESS: 0x5000021C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).

Table 505: REGACCINTSET Register
33222222222211111111110000000000 10987654321098765432109876543210
REGACC

DS-A3-0p9p1

Page 351 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

REGACC

Table 506: REGACCINTSET Register Bits

Reset 0x0

RW RW Register access interrupts.

Description

9.14 Host Side Address Space and Register
9.14.1 Host Address Space and Registers
The Host of the I/O interface can access 128 bytes in the I2C/SPI Slave in either I2C or SPI mode. Offsets 0x00 to 0x77 may be directly mapped to the Direct RAM Area. The remaining eight offset locations access hardware functions within the I2C/SPI Slave. The R/W indicator refers to accesses from the Host.
9.14.1.1 HOST_IER Register
Host Interrupt Enable OFFSET: 0x78 This register enables the FIFO read interrupts.
Table 507: HOST_IER Register
00000000 76543210

FUNDFLEN RDERREN SWINT5EN SWINT4EN SWINT3EN SWINT2EN SWINT1EN SWINT0EN

Bit

Name

7

FUNDFLEN

6

RDERREN

5

SWINT5EN

4

SWINT4EN

3

SWINT3EN

2

SWINT2EN

1

SWINT1EN

0

SWINT0EN

Table 508: HOST_IER Register Bits

Reset 0x0
0x0
0x0 0x0 0x0 0x0 0x0 0x0

RW

Description

RW If 1, enable an interrupt that triggers when the FIFO underflows

RW

If 1, enable the interrupt which occurs when the Host attempts to access the FIFO when read access is locked

RW If 1, enable software interrupt 5

RW If 1, enable software interrupt 4

RW If 1, enable software interrupt 3

RW If 1, enable software interrupt 2

RW If 1, enable software interrupt 1

RW If 1, enable software interrupt 0

DS-A3-0p9p1

Page 352 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
9.14.1.2 HOST_ISR Register
Host Interrupt Status Register OFFSET: 0x79 The host uses this register to read interrupt status.
Table 509: HOST_ISR Register
00000000 76543210

FUNDFLSTAT RDERRSTAT SWINT5STAT SWINT4STAT SWINT3STAT SWINT2STAT SWINT1STAT SWINT0STAT

Bit

Name

7

FUNDFLSTAT

6

RDERRSTAT

5

SWINT5STAT

4

SWINT4STAT

3

SWINT3STAT

2

SWINT2STAT

1

SWINT1STAT

0

SWINT0STAT

Table 510: HOST_ISR Register Bits

Reset
0x0
0x0 0x0 0x0 0x0 0x0 0x0 0x0

RW

Description

RO

This bit is set by writing a 1 to bit 31 of the IOINTCTL Register, or if the Host attempts a FIFO read when FIFOCTR is 0.

RO

This bit is set by writing a 1 to bit 30 of the IOINTCTL Register, or if the Host attempts a FIFO read when the FIFOUPD bit is a 1.

RO This bit is set by writing a 1 to bit 29 of the IOINTCTL Register.

RO This bit is set by writing a 1 to bit 28 of the IOINTCTL Register.

RO This bit is set by writing a 1 to bit 27 of the IOINTCTL Register.

RO This bit is set by writing a 1 to bit 26 of the IOINTCTL Register.

RO This bit is set by writing a 1 to bit 25 of the IOINTCTL Register.

RO This bit is set by writing a 1 to bit 24 of the IOINTCTL Register.

NOTE: All bits are cleared by a write to the IOINTCLR bit of the IOINTCTL Register.
9.14.1.3 HOST_WCR Register
Host Interrupt Write-to-Clear Register OFFSET: 0x7A Write a 1 to a bit in this register to clear a pending interrupt.
Table 511: HOST_WCR Register
00000000 76543210

FUNDFLWC RDERRWC SWINT5WC SWINT4WC SWINT3WC SWINT2WC SWINT1WC SWINT0WC

DS-A3-0p9p1

Page 353 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7

FUNDFLWC

6

RDERRWC

5

SWINT5WC

4

SWINT4WC

3

SWINT3WC

2

SWINT2WC

1

SWINT1WC

0

SWINT0WC

Table 512: HOST_WCR Register Bits

Reset 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0

RW

Description

WO Writing a 1 to this bit will clear the pending interrupt status bit FUNDFLSTAT WO Writing a 1 to this bit will clear the pending interrupt status bit RDERRSTAT WO Writing a 1 to this bit will clear the pending interrupt status bit SWINT5STAT WO Writing a 1 to this bit will clear the pending interrupt status bit SWINT4STAT WO Writing a 1 to this bit will clear the pending interrupt status bit SWINT3STAT WO Writing a 1 to this bit will clear the pending interrupt status bit SWINT2STAT WO Writing a 1 to this bit will clear the pending interrupt status bit SWINT1STAT WO Writing a 1 to this bit will clear the pending interrupt status bit SWINT0STAT

9.14.1.4 HOST_WCS Register
Host Interrupt Write-to-Set Register OFFSET: 0x7B Write a 1 to a bit in this register to set the status bit of a pending interrupt.
Table 513: HOST_WCS Register
00000000 76543210

FUNDFLWS RDERRWS SWINT5WS SWINT4WS SWINT3WS SWINT2WS SWINT1WS SWINT0WS

Bit

Name

7

FUNDFLWS

6

RDERRWS

5

SWINT5WS

4

SWINT4WS

3

SWINT3WS

2

SWINT2WS

1

SWINT1WS

0

SWINT0WS

Table 514: HOST_WCS Register Bits

Reset 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0

RW

Description

WO Writing a 1 to this bit will set the pending interrupt status bit FUNDFLSTAT WO Writing a 1 to this bit will set the pending interrupt status bit RDERRSTAT WO Writing a 1 to this bit will set the pending interrupt status bit SWINT5STAT WO Writing a 1 to this bit will set the pending interrupt status bit SWINT4STAT WO Writing a 1 to this bit will set the pending interrupt status bit SWINT3STAT WO Writing a 1 to this bit will set the pending interrupt status bit SWINT2STAT WO Writing a 1 to this bit will set the pending interrupt status bit SWINT1STAT WO Writing a 1 to this bit will set the pending interrupt status bit SWINT0STAT

DS-A3-0p9p1

Page 354 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
9.14.1.5 FIFOCTRLO Register
FIFOCTR Low Byte OFFSET: 0x7C This register allows the host to read the lower eight bits of the FIFOCTR register.
Table 515: FIFOCTRLO Register
00000000 76543210
FIFOCTRLO

Bit

Name

7:0

FIFOCTRLO

Table 516: FIFOCTRLO Register Bits

Reset 0x0

RW

Description

RO Reads the lower eight bits of FIFOCTR

9.14.1.6 FIFOCTRUP Register
FIFOCTR Upper Byte OFFSET: 0x7D This register allows the host to read the upper two bits of the FIFOCTR register.
Table 517: FIFOCTRUP Register
00000000 76543210

RSVD

FIFOCTRUP

Bit

Name

1:0

FIFOCTRUP

Table 518: FIFOCTRUP Register Bits

Reset 0x0

RW

Description

RO Reads the upper two bits of FIFOCTR

DS-A3-0p9p1

Page 355 of 909

2019 Ambiq Micro, Inc. All rights reserved.

9.14.1.7 FIFO Register
FIFO Read Data OFFSET: 0x7F Read this register for FIFO data.

Table 519: FIFO Register
00000000 76543210
FIFO

Apollo3 Blue Datasheet

Bit

Name

7:0

FIFO

Table 520: FIFO Register Bits

Reset 0x0

RW

Description

RO Reads the top byte of the FIFO

DS-A3-0p9p1

Page 356 of 909

2019 Ambiq Micro, Inc. All rights reserved.

10. PDM/I2S Module

Apollo3 Blue Datasheet

IO Mux

I2S Controller Decimator

Left PDM-PCM Conversion

Right PDM-PCM Conversion

REGs

Bus

INTs

Interface

FIFO

Figure 55. Block Diagram for PDM Module
10.1 Features
The PDM module provides support for low power Pulse-Density Modulated (PDM) to Pulse-Code Modulated (PCM) conversion and optional I2S slave interface for external host processor communication.
The PDM controller generates the clock output to interface to 1 (mono) or 2 (stereo) PDM-based digital microphones. The PDM input data is sampled on the rising (left/mono) and falling (right/stereo) edges of PDM clock. The controller supports 16-bit PCM output sampling at 8/16kHz. The single bit pulse-density modulated (PDM) bit stream data is converted into pulse-code modulated (PCM) data and provides an optional I2S serial audio/voice data format. The converted PCM data is stored in an asynchronous FIFO where is can then be retrieved by the MCU CPU via the AHB slave interface.
The PDM controller includes the following features:
 Stereo or mono PDM input  16bit PCM digital output  I2S slave interface output (optional)  Support for variable PDM output clock rates (750-768kHz, 1.5-1.536MHz, 3-3.072MHz: output clock
depends on source clock from I2S or MCU)  64x Decimation of PDM bit stream input to PCM output  Sampling rate: 8kHz, 16kHz (additional sample rates are supported as needed)  AHB slave interface for register control, status programming and PCM FIFO data access
10.2 Functional Overview
The Apollo3 Blue MCU integrates a PDM controller which has two modes of operation: low power mode and normal mode. The low power mode is intended for wake-on-voice/keyword detect operation. A low

DS-A3-0p9p1

Page 357 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

frequency PDM clock is generated to the microphone (requires digital microphone that supports low power operation). Once a keyword is detected, the MCU generates a wake event to enter normal mode. In normal mode, higher PDM frequencies are supported to process audio/voice as needed for voice recording, voice calls, etc.

10.2.1 PDM-to-PCM Conversion
The PDM-to-PCM core IP converts PDM bit stream data into 16-bit PCM data through internal data sampling, filtering, and PGA amplification. The controller may be operated at stereo or mono mode in normal operation, system reset or power down mode when not in use. Each mode can be programmed through registers.
The basic PCM conversion flow is shown in Figure 56.
Figure 56. Stereo PDM to PCM Conversion Path

PDM_CLKO

CLOCK GENERATOR

I2S_BCLK Internal Source Clock (PDM_CLK)
MCLKL

LEFT PDM-TO-PCM CONVERTER

PGA_L

PDM_IN

SAMPLER

FIFO

MCLKR

RIGHT PDM-TO-PCM CONVERTER

PGA_R

10.2.2 Clock Generation
The PDM module generates the clock which is supplied on the PDM_CLKO pin to the PDM source, and is shown in Figure 57 below.
Figure 57. PDM Clock Timing Diagram

PDM_CLKO ISETUP

PDM_IN

L

ISETUP IHOLD

R

L

IHOLD R

There are two sources for this clock, which are selected by the VCFG_SELAP register bit. If SELAP is 0, this clock is an internally generated clock which is selected by the VCFG_PDMCLKSEL field and can range from 12 MHz to 187.5 KHz, and is enabled by setting the PCFG_PDMCLK bit. These clock selections are derived from the internal 48 MHz HFRC oscillator and therefore will have some frequency variation. If SELAP is 1, this clock is supplied externally on the I2S_BCLK pin. The input clock is used as

DS-A3-0p9p1

Page 358 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

the clock of the internal PDM logic, and therefore the lowest acceptable frequency should be selected to minimize power. The PDM logic includes separately clocked sections for each of the left and right channels.
The input clock is divided by 1, 2, 3 or 4 as selected by the PCFG_MCLKDIV field to produce the PDM_CLKO output.

NOTE: If achieving a nominal 50% duty cycle PDM output clock is important, then using a clock divider of divide-by-3 (MCKDIV3) for PCFG_MCLKDIV should be avoided as the resulting divided clock has a duty cycle of 67%, not the expected 50%. The other PCFG_MCLKDIV settings, MCKDIV1, MCKDIV2 and MCKDIV4 can be used to generate an output clock close to 50% duty cycle. See Table 521 for reference.

The following equations are for reference showing the relationship between SINC_RATE, MCLKDIV, sample rate and OSR.
FPDM_CLK = FS X 2 X SINC_RATE X MCLKDIV
FPDM_CLKO = FS X 2 X SINC_RATE
OSR = FPDM_CLKO / FS = 2 X SINC_RATE
The PDM module also requires a system clock to operate, which is enabled by the VCFG_IOCLKEN register bit. This bit should be kept at 0 whenever the PDM is not capturing input data to minimize power consumption.
The serial PDM input data is oversampled by a value specified in the PCFG_SINCRATE register field to produce the PCM data. The resulting PCM data rate is the PDM_CLKO frequency divided by the SINCRATE value and divided by 2. The table below shows some examples of frequency selection.

Table 521: PDM Clock Output Reference Table

FS (kHz)

Duty Cycle (%)

7.8125

50

15.625

50

15.625

50

7.8125

67

8

50

16

50

16

50

FPDM_CLKO(kHz)
750 750 1500 1000 768 768 3072

OSR
96 48 96 128 96 48 192

MCLKDIV

SYNC_ RATE

Clock Source

MCKDIV1

48

750kHz (MCU HFRC)

MCKDIV1

24

750kHz (MCU HFRC)

MCKDIV1

48

1.5MHz (MCU HFRC)

MCKDIV3

64

3MHz (MCU HFRC)

MCKDIV1

48

768kHz (external I2S_BCLK)

MCKDIV1

24

768kHz (external I2S_BCLK)

MCKDIV4

96

12.288MHz (external I2S BCLK)

The PDM controller also includes separate clock gates for left and right channel. This allows for lower power operation in mono microphone configuration.
10.2.3 Clock Switching
The Apollo3 Blue MCU supports dual-mode clock sourcing for PDM microphone operation. The first mode is clock sourcing from the MCU directly (via divided down HFRC reference). The second mode is clock sourcing from an external host via the I2S_BCLK.
The scenario for switching clock sources is if a higher accuracy clock is required based on the audio sampling requirements. The MCU clock source is based off of an RC oscillator which has intrinsic jitter that affects the quality of the resulting clock. For general voice command processing, the quality of the clock is

DS-A3-0p9p1

Page 359 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

sufficient. However, for voice recording/playback scenarios, this could manifest as pitch/noise problems. In a scenario where the Apollo3 Blue MCU is used for voice/keyword detect, upon detection, the Apollo3 Blue MCU can generate notification to the external host. The external host can then send a command to the Apollo3 Blue MCU to switch clock source.
Clock switching requires careful orchestration since the PDM controller will continue to collect/process samples during this transition. The flow below is an example of how this transition can be handled.

Keyword detect

Figure 58. PDM Clock Source Switching Flow

Interrupt sent to host
Host sends command to
Apollo3

MCU sets clock source to I2S_BCLK in PDM controller
MCU issue FIFO flush to PDM controller

MCU sends interrupt ack to host
indicating I2S ready
Host uses I2S to retrieve PCM data

MCU disables PDM

MCU enables PDM

10.2.4 Operating Modes
The PDM module can operate in a variety of modes selected by the CHSET, PCMPACK and LRSWAP register fields, as shown in Table 522 below. The FIFO Data Format column shows the PCM data that will be presented on each 32-bit read from the FIFO, in two 16-bit segments. "L0" indicates the first 16-bit sample from the left channel, "L1" indicates the second left channel sample, "R0" indicates the first 16-bit sample from the right channel, etc.

Table 522: PDM Operating Modes and Data Formats

Mode Mono Left Packed Mono Right Packed
Stereo Packed Stereo Packed Swapped

CHSET PCMPACK LRSWAP 31 - FIFO Data Format - 0 MCLKL MCLKR

L1

L0

01

1

N/A

En

Dis

L3

L2

R1

R0

10

1

N/A

Dis

En

R3

R2

R0

L0

11

1

0

En

En

R1

L1

L0

R0

11

1

1

En

En

L1

R1

DS-A3-0p9p1

Page 360 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 522: PDM Operating Modes and Data Formats

Mode Mono Left Unpacked Mono Right Unpacked
Stereo Unpacked Stereo Unpacked Swapped
Disabled

CHSET PCMPACK LRSWAP 31 - FIFO Data Format - 0 MCLKL MCLKR

0000

L0

01

0

N/A

En

Dis

0000

L1

0000

R0

10

0

N/A

Dis

En

0000

R1

0000

L0

11

0

0

En

En

0000

R0

0000

R0

11

0

1

En

En

0000

L0

0000

0000

00

N/A

N/A

Dis

Dis

0000

0000

The MCLKL and MCLKR columns indicate whether the left and right channel clocks are enabled or disabled.

10.2.5 FIFO Control and Interrupts
The PCM data is retrieved from the PDM module through a 32-word FIFO, read at the FRD Register. The number of words currently in the FIFO (0 to 32) is read in the FR_FIFOCNT field. If the FLUSH Register is written (with any value) FIFOCNT is set to 0 and any data in the FIFO is discarded. Each read from the FRD Register will decrement the FIFOCNT value, and FIFOCNT will be incremented each time new PCM data is written into the FIFO.
There are three interrupts which are generated based on the number of words in the FIFO. The UNDFL interrupt is generated if software reads from the FRD register when FIFOCNT is 0. The OVF interrupt is generated if PCM data is received when FIFOCNT is 32. The THR interrupt is set if PCM data is received and FIFOCNT is greater than or equal to the value in the FTHR_FIFOTHR Register field.

10.2.6 Digital Volume Gain
The PDM controller supports digital volume control with a range from -6 dB to +40.5 dB in steps of 1.5 dB. It is programmed by register PGA_L and PGA_R for both left and right channels.

Port Name Default

Description

PGA_L[4:0] 0000

Left Channel PGA Gain: +1.5dB/step, -6dB to +40.5dB 00000 = -6 dB 00001 = -4.5 dB \u2026 11110 = +39 dB 11111 = +40.5 dB

DS-A3-0p9p1

Page 361 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Port Name Default PGA_R[4:0] 0000

Description
Right Channel PGA Gain: +1.5dB/step, -6dB to +40.5dB 00000 = -6 dB 00001 = -4.5 dB \u2026 11110 = +39 dB 11111 = +40.5 dB

10.2.7 Low Pass Filter (LPF)
The controller's internal low pass filters attenuate the out-of-band noise at predefined bandwidth and corners.

Table 524: LPF Digital Filter Parameters

Parameter

Min

Typ

Max

Units

Pass band corner frequency

0.41

Pass band ripple

-1

Fs

1

dB

Stop band corner frequency

0.59

Fs

Stop band rejection

-60

dB

10.2.8 High Pass Filter
The filter response for high pass filter is characterized as: H(Z) = (1 - Z1) / [1 - (1 - 2-HPGAIN) Z-1]
In default mode, HPGAIN = 1011, so the high pass filter can be formulated by the polynomial: H(Z) = (1 - Z1) / [1 - 0.99951Z-1]

10.3 I2S Slave Interface
The PDM controller supports an optional I2S slave interface for PCM serial data output. This enables support for an external host controller to receive the serial output data from the converted PDM stream. In I2S slave mode, the MSB of I2S_DAT PCM data is available on the second rising edge of I2S_BCLK following an I2S_WDCLK transition. The other bits up to the LSB are sent in order. The word length is 16 bits so there will be 16 bits of unused I2S_BCLK cycles between the LSB of one sample data and the MSB of the next one. The I2S_WDCLK is always 32 clock cycles/phase.

DS-A3-0p9p1

Page 362 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

I2S_WDCLK I2S_BCLK I2S_DAT

Figure 59. I2S Interface Data Format Timing
1/Fs

Left Channel (Low)

Right Channel (High)

12 MSB

n-1 n LSB

12 MSB

n-1 n LSB

12 MSB

Figure 60. I2S Interface Setup and Hold Timing Diagram

I2S_WDCLK I2S_BCLK I2S_DAT

IH-LRC

IS-LRC

TD_DAT

10.4 PDM Registers
PDM Audio INSTANCE 0 BASE ADDRESS:0x50011000

DS-A3-0p9p1

Page 363 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

10.4.1 Register Memory Map

Table 525: PDM Register Map

Address(s)
0x50011000 0x50011004 0x50011008 0x5001100C 0x50011010 0x50011014 0x50011200 0x50011204 0x50011208 0x5001120C 0x50011240 0x50011244 0x50011280 0x50011288 0x5001128C 0x50011290

Register Name
PCFG VCFG VOICESTAT FIFOREAD FIFOFLUSH FIFOTHR INTEN INTSTAT INTCLR INTSET DMATRIGEN DMATRIGSTAT DMACFG DMATOTCOUNT DMATARGADDR DMASTAT

Description
PDM Configuration Register Voice Configuration Register Voice Status Register FIFO Read FIFO Flush FIFO Threshold IO Master Interrupts: Enable IO Master Interrupts: Status IO Master Interrupts: Clear IO Master Interrupts: Set DMA Trigger Enable Register DMA Trigger Status Register DMA Configuration Register DMA Total Transfer Count DMA Target Address Register DMA Status Register

DS-A3-0p9p1

Page 364 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

10.4.2 PDM Registers
10.4.2.1 PCFG Register
PDM Configuration Register OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x50011000 PDM Configuration Register

Table 526: PCFG Register
33222222222211111111110000000000 10987654321098765432109876543210

PGARIGHT

PGALEFT

SINCRATE

LRSWAP RSVD
MCLKDIV ADCHPD HPCUTOFF CYCLES SOFTMUTE PDMCOREEN

Bit

Name

31

LRSWAP

Table 527: PCFG Register Bits

Reset 0x0

RW

Description

Left/right channel swap.
RW EN = 0x1 - Swap left and right channels (FIFO Read RIGHT_LEFT). NOSWAP = 0x0 - No channel swapping (IFO Read LEFT_RIGHT).

DS-A3-0p9p1

Page 365 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

30:26

PGARIGHT

Table 527: PCFG Register Bits

Reset

RW Right channel PGA gain.

Description

P405DB = 0x1F - 40.5 db gain.

P390DB = 0x1E - 39.0 db gain.

P375DB = 0x1D - 37.5 db gain.

P360DB = 0x1C - 36.0 db gain.

P345DB = 0x1B - 34.5 db gain.

P330DB = 0x1A - 33.0 db gain.

P315DB = 0x19 - 31.5 db gain.

P300DB = 0x18 - 30.0 db gain.

P285DB = 0x17 - 28.5 db gain.

P270DB = 0x16 - 27.0 db gain.

P255DB = 0x15 - 25.5 db gain.

P240DB = 0x14 - 24.0 db gain.

P225DB = 0x13 - 22.5 db gain.

P210DB = 0x12 - 21.0 db gain.

0x0

RW

P195DB = 0x11 - 19.5 db gain. P180DB = 0x10 - 18.0 db gain.

P165DB = 0xF - 16.5 db gain.

P150DB = 0xE - 15.0 db gain.

P135DB = 0xD - 13.5 db gain.

P120DB = 0xC - 12.0 db gain.

P105DB = 0xB - 10.5 db gain.

P90DB = 0xA - 9.0 db gain.

P75DB = 0x9 - 7.5 db gain.

P60DB = 0x8 - 6.0 db gain.

P45DB = 0x7 - 4.5 db gain.

P30DB = 0x6 - 3.0 db gain.

P15DB = 0x5 - 1.5 db gain.

0DB = 0x4 - 0.0 db gain.

M15DB = 0x3 - -1.5 db gain.

M300DB = 0x2 - -3.0 db gain.

M45DB = 0x1 - -4.5 db gain.

M60DB = 0x0 - -6.0 db gain.

DS-A3-0p9p1

Page 366 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

25:21

PGALEFT

20:19

RSVD

18:17

MCLKDIV

16:10

SINCRATE

9

ADCHPD

8:5

HPCUTOFF

4:2

CYCLES

1

SOFTMUTE

DS-A3-0p9p1

Table 527: PCFG Register Bits

Reset

RW Left channel PGA gain.

Description

P405DB = 0x1F - 40.5 db gain.

P390DB = 0x1E - 39.0 db gain.

P375DB = 0x1D - 37.5 db gain.

P360DB = 0x1C - 36.0 db gain.

P345DB = 0x1B - 34.5 db gain.

P330DB = 0x1A - 33.0 db gain.

P315DB = 0x19 - 31.5 db gain.

P300DB = 0x18 - 30.0 db gain.

P285DB = 0x17 - 28.5 db gain.

P270DB = 0x16 - 27.0 db gain.

P255DB = 0x15 - 25.5 db gain.

P240DB = 0x14 - 24.0 db gain.

P225DB = 0x13 - 22.5 db gain.

P210DB = 0x12 - 21.0 db gain.

0x0

RW

P195DB = 0x11 - 19.5 db gain. P180DB = 0x10 - 18.0 db gain.

P165DB = 0xF - 16.5 db gain.

P150DB = 0xE - 15.0 db gain.

P135DB = 0xD - 13.5 db gain.

P120DB = 0xC - 12.0 db gain.

P105DB = 0xB - 10.5 db gain.

P90DB = 0xA - 9.0 db gain.

P75DB = 0x9 - 7.5 db gain.

P60DB = 0x8 - 6.0 db gain.

P45DB = 0x7 - 4.5 db gain.

P30DB = 0x6 - 3.0 db gain.

P15DB = 0x5 - 1.5 db gain.

0DB = 0x4 - 0.0 db gain.

M15DB = 0x3 - -1.5 db gain.

M300DB = 0x2 - -3.0 db gain.

M45DB = 0x1 - -4.5 db gain.

M60DB = 0x0 - -6.0 db gain.

0x0

RO This bitfield is reserved for future use.

PDM_CLK frequency divisor.

0x0 0x30

RW

MCKDIV4 = 0x3 - Divide input clock by 4 MCKDIV3 = 0x2 - Divide input clock by 3

MCKDIV2 = 0x1 - Divide input clock by 2

MCKDIV1 = 0x0 - Divide input clock by 1

RW SINC decimation rate.

High pass filter control.

0x1

RW EN = 0x1 - Enable high pass filter.

DIS = 0x0 - Disable high pass filter.

0xb

RW High pass filter coefficients.

0x1

RW Number of clocks during gain-setting changes.

Soft mute control.

0x0

RW EN = 0x1 - Enable Soft Mute.

DIS = 0x0 - Disable Soft Mute.

Page 367 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

PDMCOREEN

Table 527: PCFG Register Bits

Reset 0x1

RW

Description

Data Streaming Control.
RW EN = 0x1 - Enable Data Streaming. DIS = 0x0 - Disable Data Streaming.

10.4.2.2 VCFG Register
Voice Configuration Register OFFSET: 0x00000004 INSTANCE 0 ADDRESS: 0x50011004 Voice Configuration Register

Table 528: VCFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

IOCLKEN RSTB
PDMCLKSEL PDMCLKEN
I2SEN BCLKINV
RSVD DMICKDEL
SELAP PCMPACK
CHSET

Bit

Name

31

IOCLKEN

30

RSTB

29:27

PDMCLKSEL

26

PDMCLKEN

Table 529: VCFG Register Bits

Reset 0x0 0x0

RW

Description

Enable the IO clock.
RW DIS = 0x0 - Disable FIFO read. EN = 0x1 - Enable FIFO read.
Reset the IP core.
RW RESET = 0x0 - Reset the core. NORM = 0x1 - Enable the core.
Select the PDM input clock.

DISABLE = 0x0 - Static value.

12MHz = 0x1 - PDM clock is 12 MHz.

0x0

RW

6MHz = 0x2 - PDM clock is 6 MHz. 3MHz = 0x3 - PDM clock is 3 MHz.

1_5MHz = 0x4 - PDM clock is 1.5 MHz.

750KHz = 0x5 - PDM clock is 750 KHz.

375KHz = 0x6 - PDM clock is 375 KHz.

187KHz = 0x7 - PDM clock is 187.5 KHz.

Enable the serial clock.

0x0

RW DIS = 0x0 - Disable serial clock.

EN = 0x1 - Enable serial clock.

DS-A3-0p9p1

Page 368 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 25:21
20

Name RSVD
I2SEN

19

BCLKINV

18

RSVD

17

DMICKDEL

16

SELAP

15:9

RSVD

8

PCMPACK

7:5

RSVD

4:3

CHSET

2:0

RSVD

Table 529: VCFG Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

I2S interface enable.

0x0

RW DIS = 0x0 - Disable I2S interface.

EN = 0x1 - Enable I2S interface.

I2S BCLK input inversion.

0x0

RW INV = 0x0 - BCLK inverted.

NORM = 0x1 - BCLK not inverted.

0x0

RO This bitfield is reserved for future use.

PDM clock sampling delay.

0x0

RW 0CYC = 0x0 - No delay.

1CYC = 0x1 - 1 cycle delay.

Select PDM input clock source.

0x0

RW I2S = 0x1 - Clock source from I2S BCLK.

INTERNAL = 0x0 - Clock source from internal clock generator.

0x0

RO This bitfield is reserved for future use.

PCM data packing enable.

0x0

RW DIS = 0x0 - Disable PCM packing.

EN = 0x1 - Enable PCM packing.

0x0

RO This bitfield is reserved for future use.

Set PCM channels.

0x1

RW

DIS = 0x0 - Channel disabled. LEFT = 0x1 - Mono left channel.

RIGHT = 0x2 - Mono right channel.

STEREO = 0x3 - Stereo channels.

0x0

RO This bitfield is reserved for future use.

10.4.2.3 VOICESTAT Register
Voice Status Register OFFSET: 0x00000008 INSTANCE 0 ADDRESS: 0x50011008 Voice Status Register

DS-A3-0p9p1

Page 369 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 530: VOICESTAT Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

FIFOCNT

Bit

Name

31:6

RSVD

5:0

FIFOCNT

Table 531: VOICESTAT Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RO Valid 32-bit entries currently in the FIFO.

10.4.2.4 FIFOREAD Register
FIFO Read OFFSET: 0x0000000C INSTANCE 0 ADDRESS: 0x5001100C FIFO Read

Table 532: FIFOREAD Register
33222222222211111111110000000000 10987654321098765432109876543210
FIFOREAD

Bit

Name

31:0

FIFOREAD

Table 533: FIFOREAD Register Bits

Reset 0x0

RW RO FIFO read data.

Description

10.4.2.5 FIFOFLUSH Register
FIFO Flush OFFSET: 0x00000010 INSTANCE 0 ADDRESS: 0x50011010 FIFO Flush

DS-A3-0p9p1

Page 370 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 534: FIFOFLUSH Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

FIFOFLUSH

Bit

Name

31:1

RSVD

0

FIFOFLUSH

Table 535: FIFOFLUSH Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

WO FIFO FLUSH.

10.4.2.6 FIFOTHR Register
FIFO Threshold OFFSET: 0x00000014 INSTANCE 0 ADDRESS: 0x50011014 FIFO Threshold

Table 536: FIFOTHR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

FIFOTHR

Bit

Name

31:5

RSVD

4:0

FIFOTHR

Table 537: FIFOTHR Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x10

FIFO Threshold value. When the FIFO count is equal to, or larger than this RW value (in words), a THR interrupt is generated (if enabled)

10.4.2.7 INTEN Register
IO Master Interrupts: Enable OFFSET: 0x00000200

DS-A3-0p9p1

Page 371 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
INSTANCE 0 ADDRESS: 0x50011200 Set bits in this register to allow this module to generate the corresponding interrupt.
Table 538: INTEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DERR DCMP UNDFL OVF THR

Bit

Name

31:5

RSVD

4

DERR

3

DCMP

2

UNDFL

1

OVF

0

THR

Table 539: INTEN Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW DMA Error receieved

0x0

RW DMA completed a transfer

0x0

RW This is the FIFO underflow interrupt.

0x0

RW This is the FIFO overflow interrupt.

0x0

RW This is the FIFO threshold interrupt.

10.4.2.8 INTSTAT Register
IO Master Interrupts: Status OFFSET: 0x00000204 INSTANCE 0 ADDRESS: 0x50011204 Read bits from this register to discover the cause of a recent interrupt.

Table 540: INTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DERR DCMP UNDFL OVF THR

DS-A3-0p9p1

Page 372 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:5

RSVD

4

DERR

3

DCMP

2

UNDFL

1

OVF

0

THR

Table 541: INTSTAT Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW DMA Error receieved

0x0

RW DMA completed a transfer

0x0

RW This is the FIFO underflow interrupt.

0x0

RW This is the FIFO overflow interrupt.

0x0

RW This is the FIFO threshold interrupt.

10.4.2.9 INTCLR Register
IO Master Interrupts: Clear OFFSET: 0x00000208 INSTANCE 0 ADDRESS: 0x50011208 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.

Table 542: INTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DERR DCMP UNDFL OVF THR

Bit

Name

31:5

RSVD

4

DERR

3

DCMP

2

UNDFL

1

OVF

Table 543: INTCLR Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW DMA Error receieved

0x0

RW DMA completed a transfer

0x0

RW This is the FIFO underflow interrupt.

0x0

RW This is the FIFO overflow interrupt.

DS-A3-0p9p1

Page 373 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

THR

Table 543: INTCLR Register Bits

Reset 0x0

RW

Description

RW This is the FIFO threshold interrupt.

10.4.2.10INTSET Register
IO Master Interrupts: Set OFFSET: 0x0000020C INSTANCE 0 ADDRESS: 0x5001120C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).

Table 544: INTSET Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DERR DCMP UNDFL OVF THR

Bit

Name

31:5

RSVD

4

DERR

3

DCMP

2

UNDFL

1

OVF

0

THR

Table 545: INTSET Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW DMA Error receieved

0x0

RW DMA completed a transfer

0x0

RW This is the FIFO underflow interrupt.

0x0

RW This is the FIFO overflow interrupt.

0x0

RW This is the FIFO threshold interrupt.

10.4.2.11DMATRIGEN Register
DMA Trigger Enable Register OFFSET: 0x00000240 INSTANCE 0 ADDRESS: 0x50011240 DMA Trigger Enable Register

DS-A3-0p9p1

Page 374 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 546: DMATRIGEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DTHR90 DTHR

Bit

Name

31:2

RSVD

1

DTHR90

0

DTHR

Table 547: DMATRIGEN Register Bits

Reset 0x0

RW RO RESERVED.

Description

Trigger DMA at FIFO 90 percent full. This signal is also used internally for

0x0

RW AUTOHIP function

Trigger DMA upon when FIFO iss filled to level indicated by the FIFO

0x0

RW THRESHOLD,at granularity of 16 bytes only

10.4.2.12DMATRIGSTAT Register
DMA Trigger Status Register OFFSET: 0x00000244 INSTANCE 0 ADDRESS: 0x50011244 DMA Trigger Status Register

Table 548: DMATRIGSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DTHR90STAT DTHRSTAT

Bit

Name

31:2

RSVD

1

DTHR90STAT

Table 549: DMATRIGSTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RO Triggered DMA from FIFO reaching 90 percent full

DS-A3-0p9p1

Page 375 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

DTHRSTAT

Table 549: DMATRIGSTAT Register Bits

Reset 0x0

RW

Description

RO Triggered DMA from FIFO reaching threshold

10.4.2.13DMACFG Register
DMA Configuration Register OFFSET: 0x00000280 INSTANCE 0 ADDRESS: 0x50011280 DMA Configuration Register

Table 550: DMACFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

DPWROFF DAUTOHIP
DMAPRI DMADIR
RSVD DMAEN

Bit 31:11
10 9

Name RSVD DPWROFF DAUTOHIP

8

DMAPRI

7:3

RSVD

2

DMADIR

1

RSVD

0

DMAEN

DS-A3-0p9p1

Table 551: DMACFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW Power Off the ADC System upon DMACPL.

0x0

RW Raise priority to high on fifo full, and DMAPRI set to low

Sets the Priority of the DMA request

0x0

RW LOW = 0x0 - Low Priority (service as best effort)

HIGH = 0x1 - High Priority (service immediately)

0x0

RO RESERVED.

Direction

0x0

RO

P2M = 0x0 - Peripheral to Memory (SRAM) transaction. THe PDM module will only DMA to memory.

M2P = 0x1 - Memory to Peripheral transaction. Not available for PDM mod-

ule

0x0

RO RESERVED.

DMA Enable

0x0

RW DIS = 0x0 - Disable DMA Function

EN = 0x1 - Enable DMA Function

Page 376 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

10.4.2.14DMATOTCOUNT Register
DMA Total Transfer Count OFFSET: 0x00000288 INSTANCE 0 ADDRESS: 0x50011288 DMA Total Transfer Count

Table 552: DMATOTCOUNT Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

TOTCOUNT

Bit 31:20

Name RSVD

19:0

TOTCOUNT

Table 553: DMATOTCOUNT Register Bits

Reset 0x0

RW RO RESERVED.

Description

Total Transfer Count. The transfer count must be a multiple of the THR set-

0x0

RW ting to avoid DMA overruns.

10.4.2.15DMATARGADDR Register
DMA Target Address Register OFFSET: 0x0000028C INSTANCE 0 ADDRESS: 0x5001128C DMA Target Address Register

Table 554: DMATARGADDR Register

33222222222211111111110000000000 10987654321098765432109876543210

UTARGADDR

LTARGADDR

Bit 31:20

Name UTARGADDR

Table 555: DMATARGADDR Register Bits

Reset 0x100

RW RO SRAM Target

Description

DS-A3-0p9p1

Page 377 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

19:0

LTARGADDR

Table 555: DMATARGADDR Register Bits

Reset 0x0

RW

Description

DMA Target Address. This register is not updated with the current address

RW

of the DMA, but will remain static with the original address during the DMA transfer.

10.4.2.16DMASTAT Register
DMA Status Register OFFSET: 0x00000290 INSTANCE 0 ADDRESS: 0x50011290 DMA Status Register

Table 556: DMASTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DMAERR DMACPL DMATIP

Bit

Name

31:3

RSVD

2

DMAERR

1

DMACPL

0

DMATIP

Table 557: DMASTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW DMA Error

0x0

RW DMA Transfer Complete

0x0

RW DMA Transfer In Progress

DS-A3-0p9p1

Page 378 of 909

2019 Ambiq Micro, Inc. All rights reserved.

11. GPIO and Pad Configuration Module

Apollo3 Blue Datasheet

GPIO REGs

Pad Muxes

Config Registers

Bus Interface

IO Pads

Controller IO
Figure 61. Block diagram for the General Purpose I/O (GPIO) Module
11.1 Functional Overview
The General Purpose I/O and Pad Configuration (GPIO) Module, shown in Figure 61, controls connections to up to 50 digital/analog pads. Each pad may be connected to a variety of module interface signals, with all pad input and output selection and control managed by the GPIO module. In addition, any pad may function as a general purpose input and/or output pad which may be configured for a variety of external functions. Each GPIO may be configured to generate an interrupt when a transition occurs on the input.
Note: Once the PADKEY is written, it should be explicitly cleared (with a non-key value) after GPIO configuration register updates are complete.
11.2 Pad Configuration Functions
The REG_GPIO_PADREGy (y = A to M) registers are used to control the function of each pad. Note that the REG_GPIO_PADKEY Register must be set to the value 0x73 in order to write the PADREGn Registers. The REG_GPIO_PADREGy_PADnFNCSEL (n = 0 to 49) field selects one of up to eight signals to be used for each pad, as shown in Table 559. Functions are grouped by module, with the color coding shown in Table 561. This table also defines the pad type for each configuration. The Special pad types are defined in Table 562. Note that the CSP package only supports pads 0 through 23, 26, 28-29, 39-41, 44 and 47-49, which are indicated by an `X' in the CSP PKG column of Table 559.
The REG_GPIO_PADREGy_PADnSTRNG bit and the REG_GPIO_ALTPADCFGy_PADn_DS1 bit control the drive strength of the pad. Nominal drive strengths of 2, 4, 8 or 12 mA can be selected with the setting of these two bits according to Table 558.

DS-A3-0p9p1

Page 379 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 558: Drive Strength Control Bits

ALTPADCFGy_ PADn_DS1
0 0 1 1

PADREGy_ PADnSTRNG
0 1 0 1

Nominal Drive Strength (mA)
2 4 8 12

For all pads except for pad 20, REG_GPIO_PADREGy_PADnPULL bit enables a weak pull-up on the pad when set to one. For pad 20, the REG_GPIO_PADREGy_PAD20PULL bit enables a weak pull-down on the pad when set to one. The REG_GPIO_PADREGy_PADnINPEN bit must be set to enable the pad input, and should be left clear whenever the pad is not used in order to eliminate any leakage current in the pad.
Pads 3 and 36 have selectable high side power switch transistors to provide ~1  switches to VDDH. Pads 37 and 41 have a selectable low side power switch transistors to provide ~1  switches to VSS. The high side power switches are enabled by setting the REG_GPIO_PADREGF_PAD3PWRUP or REG_GPIO_PADREGK_PAD36PWRUP bits, and the low side switch is enabled by setting the REG_GPIO_PADREGB_PAD37PWRDN or REG_GPIO_PADREGB_PAD41PWRDN bit. Once enabled, the switches operate in parallel with the normal pad function.
Pads 0, 1, 5, 6, 8, 9, 25, 27, 39, 40, 42, 43, 48 and 49 include optional pull-up resistors for use in I2C mode, to eliminate the need for external resistors. If the pull-up is enabled by the PADnPULL bit, the REG_GPIO_PADREGy_PADnRSEL field selects the size of the pull-up resistor as shown in Table 563.

DS-A3-0p9p1

Page 380 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 559: Apollo3 Blue MCU Pad Function Mapping

PADnFNCSEL

Pad

CSP PKG

0

1

2

3

4

5

6

7

0

SLSCL

SLSCK

CLKOUT GPIO00

MSPI4

NCE0

X

1

SLSDAWIR3

SLMOSI

UART0TX GPIO01

MSPI5

NCE1

X

2

UART1RX

SLMISO

UART0RX GPIO02

MSPI6

NCE2

X

3

UA0RTS

SLnCE

NCE3

GPIO03

MSPI7

TRIG1

I2SWCLK

X

4

UA0CTS

SLINT

NCE4

GPIO04

UART1RX

CT17

MSPI2

X

5

M0SCL

M0SCK

UA0RTS GPIO05

-

CT8

X

6

M0SDAWIR3

M0MISO

UA0CTS GPIO06

CT10

I2SDAT

X

7

NCE7

M0MOSI

CLKOUT GPIO07

TRIG0

UART0TX

CT19

X

8

M1SCL

M1SCK

NCE8

GPIO08 SCCCLK

UART1TX

X

9

M1SDAWIR3

M1MISO

NCE9

GPIO09

SCCIO

UART1RX

X

10

UART1TX

M1MOSI

NCE10 GPIO10 PDMCLK

UA1RTS

X

11

ADCSE2

NCE11

CT31

GPIO11

SLINT

UA1CTS

UART0RX

PDMDATA

X

12

ADCD0NSE9

NCE12

CT0

GPIO12

SLnCE

PDMCLK

UA0CTS

UART1TX

X

13

ADCD0PSE8

NCE13

CT2

GPIO13 I2SBCLK

-

UA0RTS

UART1RX

X

14

ADCD1P

NCE14

UART1TX GPIO14 PDMCLK

-

SWDCK

32KHzXT

X

15

ADCD1N

NCE15

UART1RX GPIO15 PDMDATA

-

SWDIO

SWO

X

16

ADCSE0

NCE16

TRIG0

GPIO16

SCCRST

CMPIN0

UART0TX

UA1RTS

X

17

CMPRF1

NCE17

TRIG1

GPIO17

SCCCLK

UART0RX

UA1CTS

X

18

CMPIN1

NCE18

CT4

GPIO18

UA0RTS

-

UART1TX

SCCIO

X

19

CMPRF0

NCE19

CT6

GPIO19 SCCCLK

-

UART1RX

I2SBCLK

X

20

SWDCK

NCE20

GPIO20 UART0TX

UART1TX

I2SBCLK

UA1RTS

X

21

SWDIO

NCE21

GPIO21 UART0RX UART1RX

SCCRST

UA1CTS

X

22

UART0TX

NCE22

CT12

GPIO22 PDMCLK

-

MSPI0

SWO

X

23

UART0RX

NCE23

CT14

GPIO23 I2SWCLK

CMPOUT

MSPI3

-

X

24

UART1TX

NCE24

MSPI8

GPIO24

UA0CTS

CT21

32KHzXT

SWO

X

25

UART1RX

NCE25

CT1

GPIO25 M2SDAWIR3 M2MISO

X

26

-

NCE26

CT3

GPIO26 SCCRST

MSPI1

UART0TX

UA1CTS

X

27

UART0RX

NCE27

CT5

GPIO27

M2SCL

M2SCK

X

28

I2SWCLK

NCE28

CT7

GPIO28

M2MOSI

UART0TX

X

29

ADCSE1

NCE29

CT9

GPIO29

UA0CTS

UA1CTS

UART0RX

PDMDATA

X

30

-

NCE30

CT11

GPIO30 UART0TX

UA1RTS BLEIF_SCK

I2SDAT

31

ADCSE3

NCE31

CT13

GPIO31 UART0RX

SCCCLK BLEIF_MISO UA1RTS

32

ADCSE4

NCE32

CT15

GPIO32

SCCIO

-

BLEIF_MOSI

UA1CTS

33

ADCSE5

NCE33

32KHzXT GPIO33 BLEIF_CSN UA0CTS

CT23

SWO

34

ADCSE6

NCE34

UA1RTS GPIO34 CMPRF2

UA0RTS

UART0RX

PDMDATA

35

ADCSE7

NCE35

UART1TX GPIO35

I2SDAT

CT27

UA0RTS BLEIF_STATUS

36

TRIG1

NCE36

UART1RX GPIO36 32KHzXT

UA1CTS

UA0CTS

PDMDATA

37

TRIG2

NCE37

UA0RTS GPIO37

SCCIO

UART1TX

PDMCLK

CT29

38

TRIG3

NCE38

UA0CTS GPIO38

M3MOSI

UART1RX

39

UART0TX

UART1TX

CT25

GPIO39

M4SCL

M4SCK

X

40

UART0RX

UART1RX

TRIG0

GPIO40 M4SDAWIR3 M4MISO

X

41

NCE41

BLEIF_IRQ

SWO

GPIO41 I2SWCLK

UA1RTS

UART0TX

UA0RTS

X

42

UART1TX

NCE42

CT16

GPIO42

M3SCL

M3SCK

43

UART1RX

NCE43

CT18

GPIO43 M3SDAWIR3 M3MISO

44

UA1RTS

NCE44

CT20

GPIO44

M4MOSI

UART0TX

X

45

UA1CTS

NCE45

CT22

GPIO45

I2SDAT

PDMDATA UART0RX

SWO

46

I2SBCLK

NCE46

CT24

GPIO46 SCCRST

PDMCLK

UART1TX

SWO

47

32KHzXT

NCE47

CT26

GPIO47

M5MOSI

UART1RX

X

48

UART0TX

NCE48

CT28

GPIO48

M5SCL

M5SCK

X

49

UART0RX

NCE49

CT30

GPIO49 M5SDAWIR3 M5MISO

X

DS-A3-0p9p1

Page 381 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 561: Pad Function Color and Symbol Code

Color/ Symbol

Function

ADC Signals

I2C/SPI Slave Signals

I2C/SPI Master 0 Signals

I2C/SPI Master 1 Signals

I2C/SPI Master 2 Signals

I2C/SPI Master 3 Signals

I2C/SPI Master 4 Signals

I2C/SPI Master 5 Signals

MSPI Signals

Global IOM/MSPI

SCARD GPIO Signals Counter/Timer Signals UART0 Signals

UART1 Signals

Audio Signals Clock Output Signals Debug Signals

High-side power switch

Low-side power switch

Pad Type
Analog or Input, as indicated by [A] or [I] respectively
Input, Special or Push-pull output, as indicated by [I], [S] or [O] respectively,
Input, Special or Push-pull output, as indicated by [I], [S] or [O] respectively
Input, Special or Push-pull output, as indicated by [I], [S] or [O] respectively
Input, Special or Push-pull output, as indicated by [I], [S] or [O] respectively
Input, Special or Push-pull output, as indicated by [I], [S] or [O] respectively
Input, Special or Push-pull output, as indicated by [I], [S] or [O] respectively
Input, Special or Push-pull output, as indicated by [I], [S] or [O] respectively
Input, Special or Push-pull output, as indicated by [I], [S] or [O] respectively
Input, Special or Push-pull output, as indicated by [I], [S] or [O] respectively
Input, Special or Push-pull output, as indicated by [I], [S] or [O] respectively
Controlled by GPIO Configuration
Controlled by CTIMER Configuration
Input or Push-pull output, as indicated by [I] or [O] respectively
Input or Push-pull output, as indicated by [I] or [O] respectively
Input or Push-pull output, as indicated by [I] or [O] respectively
Push-pull Output
Input Special or Push-pull output, as indicated by [I], [S] or [O] respectively
Pads 3 and 36 have selectable high side power switch transistors to provide ~1  switches to VDDH.
Pads 37 and 41 have selectable low side power switch transistors to provide ~1  switches to VSS.

Table 562: Special Pad Types

Pad

PADnFNCSEL

0

5

Name MSPI4

Pad Type Bidirectional Tri-state

DS-A3-0p9p1

Page 382 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 562: Special Pad Types

Pad

PADnFNCSEL

Name

Pad Type

1

0

SLSDAWIR3

Bidirectional Open Drain Bidirectional Tri-state

1

5

MSPI5

Bidirectional Tri-state

2

5

MSPI6

Bidirectional Tri-state

3

5

MSPI7

Bidirectional Tri-state

4

7

MSPI2

Bidirectional Tri-state

5

0

M0SCL

Open Drain

6

0

M0SDAWIR3

Bidirectional Open Drain Bidirectional Tri-state

8

0

M1SCL

Open Drain

9

0

M1SDAWIR3

Bidirectional Open Drain Bidirectional Tri-state

9

4

SCCIO

Bidirectional Tri-state

15

6

SWDIO

Bidirectional Tri-state

18

7

SCCIO

Bidirectional Tri-state

21

0

SWDIO

Bidirectional Tri-state

22

6

MSPI0

Bidirectional Tri-state

23

6

MSPI3

Bidirectional Tri-state

25

4

M2SDAWIR3

Bidirectional Open Drain Bidirectional Tri-state

26

5

MSPI1

Bidirectional Tri-state

27

4

M2SCL

Open Drain

32

4

SCCIO

Bidirectional Tri-state

37

4

SCCIO

Bidirectional Tri-state

39

4

M4SCL

Open Drain

40

4

M4SDAWIR3

Bidirectional Open Drain Bidirectional Tri-state

42

4

M3SCL

Open Drain

43

4

M3SDAWIR3

Bidirectional Open Drain Bidirectional Tri-state

48

4

M5SCL

Open Drain

49

4

M5SDAWIR3

Bidirectional Open Drain Bidirectional Tri-state

Table 563: I2C Pullup Resistor Selection

RSEL[1:0] 00 01 10 11

Pullup Resistor 1.5 k 6 k 12 k 24 k

DS-A3-0p9p1

Page 383 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

DS-A3-0p9p1

Page 384 of 909

2019 Ambiq Micro, Inc. All rights reserved.

DS-A3-0p9p1

Apollo3 Blue Datasheet

Table 564: NCE Encoding Table

GPIOxOUTCFG

NCE0 NCE1 NCE2 NCE3 NCE4
NCE7 NCE8 NCE9 NCE10 NCE11 NCE12 NCE13 NCE14 NCE15 NCE16 NCE17 NCE18 NCE19 NCE20 NCE21 NCE22 NCE23 NCE24 NCE25 NCE26 NCE27 NCE28 NCE29 NCE30 NCE31 NCE32 NCE33 NCE34 NCE35 NCE36 NCE37 NCE38 NCE41 NCE42 NCE43 NCE44 NCE45 NCE46 NCE47 NCE48 NCE49

0 IOM3.2 IOM0.2 IOM3.3 IOM3.0 IOM3.1
IOM3.1 IOM3.0 IOM3.3 IOM3.2 IOM0.0 IOM3.0 IOM3.1 IOM0.2 IOM0.3 IOM0.0 IOM0.1 IOM0.2 IOM0.3 IOM3.1 IOM3.2 IOM3.3 IOM0.0 IOM0.1 IOM3.2 IOM3.3 IOM3.0 IOM3.1 IOM3.2 IOM3.3 IOM0.0 IOM0.1 IOM0.2 IOM0.3 IOM0.0 IOM3.1 IOM3.2 IOM0.3 IOM0.1 IOM0.0 IOM0.1 IOM0.2 IOM3.3 IOM3.0 IOM0.1 IOM0.2 IOM0.3

1 IOM4.2 IOM1.2 IOM4.3 IOM4.0 IOM4.1
IOM4.1 IOM4.0 IOM4.3 IOM4.2 IOM1.0 IOM4.0 IOM4.1 IOM1.2 IOM1.3 IOM1.0 IOM1.1 IOM1.2 IOM1.3 IOM4.1 IOM4.2 IOM4.3 IOM1.0 IOM1.1 IOM4.2 IOM4.3 IOM4.0 IOM4.1 IOM4.2 IOM4.3 IOM1.0 IOM1.1 IOM1.2 IOM1.3 IOM1.0 IOM4.1 IOM4.2 IOM1.3 IOM1.1 IOM1.0 IOM1.1 IOM1.2 IOM4.3 IOM4.0 IOM1.1 IOM1.2 IOM1.3

2 IOM5.2 IOM2.2 IOM5.3 IOM5.0 IOM5.1
IOM5.1 IOM5.0 IOM5.3 IOM5.2 IOM2.0 IOM5.0 IOM5.1 IOM2.2 IOM2.3 IOM2.0 IOM2.1 IOM2.2 IOM3.3 IOM5.1 IOM5.2 IOM5.3 IOM2.0 IOM2.1 IOM5.2 IOM5.3 IOM5.0 IOM5.1 IOM5.2 IOM5.3 IOM2.0 IOM2.1 IOM2.2 IOM2.3 IOM2.0 IOM5.1 IOM5.2 IOM2.3 IOM2.1 IOM2.0 IOM2.1 IOM2.2 IOM5.3 IOM5.0 IOM2.1 IOM2.2 IOM2.3

3 IOM1.3 MSPI.0 IOM2.1 IOM2.0 IOM1.1
MSPI.0 IOM0.0 IOM2.3 MSPI.0 IOM3.0 MSPI.1 IOM0.1 IOM4.2 MSPI.0 IOM5.0 IOM4.1 IOM3.2 MSPI.0 IOM2.1 IOM2.2 IOM0.3 IOM4.0 IOM5.1 IOM0.2 IOM1.3 IOM1.0 MSPI.0 IOM1.2 IOM0.3 IOM4.0 MSPI.1 IOM5.2 IOM3.3 IOM3.0 MSPI.1 IOM0.2 IOM5.3 MSPI.1 IOM5.0 MSPI.1 IOM5.2 IOM1.3 MSPI.1 IOM3.1 IOM3.2 IOM4.3

Page 385 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

11.3 General Purpose I/O (GPIO) Functions
For each pad, if the PADnFNCSEL field is set to 0x3 the pad is connected to the corresponding GPIO signal. This section describes the configuration functions specific to GPIO pads.
11.3.1 Configuring the GPIO Functions
Each GPIO must be configured in the REG_GPIO_CFGy (y = A to G) Registers as an input and/or output. Note that the PADKEY Register must be set to the value 0x73 in order to write the REG_GPIO_CFGy Registers. Each output may be push-pull, open drain, disabled, or tri-stated as selected by the REG_GPIO_CFGy_GPIOnOUTCFG field. If the output is configured as push-pull, the pad will be driven with the corresponding bit in the REG_GPIO_WTy (y = A or B) Register. If the output is configured as open drain, the pad will be pulled low if the corresponding bit in the WTy Register is a 0, and will be floating if the corresponding bit in the WTy Register is a 1. If the output is configured as tri-state, the pad will be driven with the corresponding bit in the WTy Register if the corresponding bit in the REG_GPIO_ENy Register is a 1. If the bit in ENy is a 0, the output will be floating.
For Apollo3 Blue MCU, if the PADxFNCSEL is set to a "NCE" signal group, the additional NCE encoding is applied as shown in Table 564 based on GPIOxOUTCFG and the pad is automatically configured for pushpull output. If the PADxFNCSEL is set to a "MSPI" signal group, the additional MSPI encoding is applied as shown in Section 11.5.2.
11.3.2 Reading from a GPIO Pad
All GPIO inputs are readable at all times unless the interrupt configuration (determined by REG_GPIO_CFGy_GPIOnINCFG and REG_GPIO_CFGy_GPIOnINTD) is set to "disabled", even if the pad is not configured as a GPIO. The current values of pads 0 to 31 are read in the REG_GPIO_RDA Register, and the current values of pads 32 to 49 are read in the REG_GPIO_RDB Register. If the REG_GPIO_CFGy_GPIOnINCFG bit is set for a GPIO, it will always read as zero if the interrupt configuration is set to "disabled".
11.3.3 Writing to a GPIO Pad
The GPIO pad outputs are controlled by the REG_GPIO_WTA/B Registers and the REG_GPIO_ENA/B Registers. Each of these registers may be directly written and read. Because each GPIO is often an independent function, the capability also exists to set or clear one or more bits without having to perform a read-modify-write operation. If the REG_GPIO_WTSA or REG_GPIO_WTSB Register is written, the corresponding bit in WTA/B will be set if the write data is 1, otherwise the WTA/B bit will not be changed. If the REG_GPIO_WTCA or REG_GPIO_WTCB Register is written, the corresponding bit in WTA/B will be cleared if the write data is 1, otherwise the WTA/B bit will not be changed.
If a GPIO pad is configured for tri-state output mode, the ENA/B Register controls the enabling of each bit. ENA and ENB may be directly written, and individual bits may be set or cleared by writing the ENSA/B or ENCA/B Registers with a 1 in the desired bit position.
11.3.4 GPIO Interrupts
Each GPIO pad can be configured to generate an interrupt on a high-to-low transition or a low-to-high or either transition, as selected by the REG_GPIO_CFGy_GPIOnINTD and REG_GPIO_CFGy_GPIOnINCFG bits. This interrupt will be generated even if the pad is not configured as a GPIO in the Pad Configuration logic. Each interrupt is enabled, disabled, cleared or set with a standard set of Interrupt Registers GPIOA_IER, GPIOA_ISR, GPIOA_WCR and GPIOB_WSR for GPIO pads 0 to 31, and Registers GPIOB_IER, GPIOB_ISR, GPIOB_WCR and GPIOB_WSR for GPIO pads 32 to 49.

DS-A3-0p9p1

Page 386 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Below describes the interrupt configuration.

Table 565: Interrupt Configuration

INCFG 0 0 1 1

INTD 0 1 0 1

Interrupt Low -> high transition High -> low transition
Disabled Either low -> high or high -> low transition

11.4 Pad Connection Summary
Figure 62 shows the detailed implementation of each pad. Each element will be described in detail.
11.4.1 Output Selection
There is a multiplexer which selects the module signal to be driven to the output based on REG_GPIO_PADREGy_PADnFNCSEL field. This implements the multiplexing shown in Table 559 for output pads. For all pads, a PADnFNCSEL value of 0x3 selects the value in the corresponding GPIO_WTy register bit.
Certain functional groups, Timer (CT), NCE and MSPI in particular, have additional pre-muxing configuration as noted.
NOTE: In order to achieve high data rates on the MSPI interface, some of the normal GPIO muxing has been bypassed. When MSPI-related pads (24, 22, 26, 4, 23, 0, 1, 2, 3) are used for non-MSPI functions, the MSPI module must be powered down or the related bit in the MSPI PADOUTEN register must be disabled to ensure that the MSPI does not drive data to the pad (which is logically OR'd with the data from the GPIO functional mux select).
11.4.2 Output Control
The pad driver for each pad has a data input and an output enable input. Each of these controls is selected from among several alternatives based on the OUTDATSEL and OUTENSEL signals which are controlled by the selection of the output type as shown in Table 562 and Table 563.
OUTDATSEL normally selects the data from the output multiplexer, but if the pad is configured as Open Drain the data input is selected to be low.

DS-A3-0p9p1

Page 387 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

PADnFNCSEL

VDD

PADnRSEL
GPPAIODnnEPNULL
OUTENSEL
PADnFNCSEL
GPIOnWT
GPIOnEN

Other Outputs
GPIOnWT
Other IOnpthuetrMOuuxtpeusts

VDDMux
Mux
PAD
PAD

OthOeUr TInDpAutTMSuExLes PAODUnTSDTARTNSGEL
PADnSTRNG

GPIOnRD

GPIOnRD

GPGIOPInOINnICNFCGFG PADnFNCGSPEIOLn=IN3TD

OORR

AANNDD

AND
AND

PAPDAnDInNIPNEPNEN
GPIOnINT
GGPPIIOOnnIINNTTD
Analog Connection
PADnGFNPCIOSnEILN=TDanalog Analog Connection

XOR INT
XOR INT

AND
AND

Figure 62. Pad Connection Details

OUTENSEL normally selects a ground signal to keep the pad driver enabled. If the pad is configured to be Open Drain, the pad enable is driven with the data from the output multiplexer. If the pad is configured as a GPIO (PADnFNCSEL = 0x3) and the GPIO drive type is tri-state (GPIOnOUTCFG = 0x3), the pad enable is driven with the inverse of the corresponding GPIOEN bit. If the pad is not configured as an output, the pad enable is forced high to turn the driver off.
The drive strength of each pad driver is configured as described in Section 11.2 on page 379.

DS-A3-0p9p1

Page 388 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
11.4.3 Input Control
The input circuitry of the pad may be disabled by clearing the PADnINPEN bit. This configuration should always be set if the pad input is not being used, as it prevents unnecessary current consumption if the pad voltage happens to float to a level between VDD and Ground. If PADnINPEN is 0, the pad will always read as a 0. If PADnINPEN is set, the pad input then goes to two places. It is driven to the selected module signal as selected in Table 559. In addition, the pad input can always be read from the GPIORD register unless the pad is configured as a GPIO (PADnFNCSEL = 0x3) and GPIOnINCFG is high, which will force the GPIORD input to be a zero. The ability to always read the pad value is very useful in some diagnostic cases. The pad input is always sent to the GPIO interrupt logic, and a pad transition in the direction selected by GPIOnINTD will set the corresponding GPIOn_INT flip-flop. Note that this interrupt will be set even if the pad is not configured as a GPIO, which may be useful in detecting functions. As an example, this could be used to generate an interrupt when the I2C/SPI Slave nCE signal is driven low by the Interface Host.
11.4.4 Pull-up Control
If PADnPULL is high, a pullup resistor is connected between the pad and VDDH, except for pad 20, where PADnPULL connects the resistor to VSS rather than VDDH.
The fourteen pads which can be I2C/SPI Master output drivers (pads 0, 1, 5, 6, 8, 9, 25, 27, 39, 40, 42, 43 48 and 49) contain the additional circuitry shown with the dashed lines. In this case four different pullup resistors are selected by the PADnRSEL field.
11.4.5 Analog Pad Configuration
Pads which may have analog connections (pads 11-19, 29 and 31-35) include the circuitry shown with the dotted lines. If the pad is configured in analog mode (reference the analog input function selections in Table 1: Pin List and Function Table, the pad is connected directly to the particular analog module signal. In addition, OUTENSEL is forced high to disable the pad output, and the input of the pad is disabled independent of the value of PADnINPEN.
11.5 Module-specific Pad Configuration
The following sections describe in detail how to configure the pads for each module function.
11.5.1 Implementing IO Master Connections
The six IO Master modules must be correctly connected to the appropriate pads in order to operate.
11.5.1.1 IO Master 0 I2C Connection
I2C mode of IO Master 0 uses pad 5 as SCL and pad 6 as SDA. This mode is configured by setting the PADnFNCSEL fields as shown in Table 566. The PAD5INPEN and PAD6INPEN bits must be set. If the internal I2C pullup resistors are to be used, PAD5PULL and PAD6PULL should be set, and the PAD5RSEL

DS-A3-0p9p1

Page 389 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

and PAD6RSEL fields should be set to select the desired pullup resistor size as shown in Table 563. If external pullup resistors are used, PAD5PULL and PAD6PULL should be cleared.

Table 566: IO Master 0 I2C Configuration

Field PAD5FNCSEL PAD6FNCSEL

Value 0 0

11.5.1.2 IO Master 1 I2C Connection
I2C mode of IO Master 1 uses pad 8 as SCL and pad 9 as SDA. This mode is configured by setting the PADnFNCSEL fields as shown in Table 567. The PAD8INPEN and PAD9INPEN bits must be set. If the internal I2C pullup resistors are to be used, PAD8PULL and PAD9PULL should be set, and the PAD8RSEL and PAD9RSEL fields should be set to select the desired pullup resistor size as shown in Table 563. If external pullup resistors are used, PAD8PULL and PAD9PULL should be cleared.

Table 567: IO Master 1 I2C Configuration

Field PAD8FNCSEL PAD9FNCSEL

Value 0 0

11.5.1.3 IO Master 2 I2C Connection
I2C mode of IO Master 2 uses pad 27 as SCL and pad 25 as SDA. This mode is configured by setting the PADnFNCSEL fields as shown in Table 568. The PAD27INPEN and PAD25INPEN bits must be set. If the internal I2C pullup resistors are to be used, PAD27PULL and PAD25PULL should be set, and the PAD27RSEL and PAD25RSEL fields should be set to select the desired pullup resistor size as shown in Table 563. If external pullup resistors are used, PAD27PULL and PAD25PULL should be cleared.

Table 568: IO Master 2 I2C Configuration

Field PAD27FNCSEL PAD25FNCSEL

Value 4 4

11.5.1.4 IO Master 3 I2C Connection
I2C mode of IO Master 3 uses pad 42 as SCL and pad 43 as SDA. This mode is configured by setting the PADnFNCSEL fields as shown in Table 569. The PAD42INPEN and PAD43INPEN bits must be set. If the internal I2C pullup resistors are to be used, PAD42PULL and PAD43PULL should be set, and the

DS-A3-0p9p1

Page 390 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

PAD42RSEL and PAD43RSEL fields should be set to select the desired pullup resistor size as shown in Table 563. If external pullup resistors are used, PAD42PULL and PAD43PULL should be cleared.

Table 569: IO Master 3 I2C Configuration

Field PAD42FNCSEL PAD43FNCSEL

Value 4 4

11.5.1.5 IO Master 4 I2C Connection
I2C mode of IO Master 4 uses pad 39 as SCL and pad 40 as SDA. This mode is configured by setting the PADnFNCSEL fields as shown in Table 570. The PAD39INPEN and PAD40INPEN bits must be set. If the internal I2C pullup resistors are to be used, PAD39PULL and PAD40PULL should be set, and the PAD39RSEL and PAD40RSEL fields should be set to select the desired pullup resistor size as shown in Table 563. If external pullup resistors are used, PAD39PULL and PAD40PULL should be cleared.

Table 570: IO Master I2C Configuration

Field PAD39FNCSEL PAD40FNCSEL

Value 4 4

11.5.1.6 IO Master 5 I2C Connection
I2C mode of IO Master 5 uses pad 48 as SCL and pad 49 as SDA. This mode is configured by setting the PADnFNCSEL fields as shown in Table 571. The PAD48INPEN and PAD49INPEN bits must be set. If the internal I2C pullup resistors are to be used, PAD48PULL and PAD49PULL should be set, and the PAD48RSEL and PAD49RSEL fields should be set to select the desired pullup resistor size as shown in Table 563. If external pullup resistors are used, PAD48PULL and PAD49PULL should be cleared.

Table 571: IO Master 5 I2C Configuration

Field PAD48FNCSEL PAD49FNCSEL

Value 4 4

11.5.1.7 IO Master 0 4-wire SPI Connection
Four-wire SPI mode of IO Master 0 uses pad 5 as SCK, pad 6 as MISO and pad 7 as MOSI. This mode is configured by setting the PADnFNCSEL fields as shown in Table 572. The PAD5INPEN and PAD6INPEN bits must be set. PAD5PULL, PAD6PULL and PAD7PULL should be cleared.

Table 572: IO Master 0 4-wire SPI Configuration

Field PAD5FNCSEL PAD6FNCSEL PAD7FNCSEL

Value 1 1 1

DS-A3-0p9p1

Page 391 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

A variety of pads may be used for up to four nCE signals to select up to four separate slaves. The nCE signals are pre-muxed into a signal group called NCE. The muxing configuration is shown in Table 564. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.

11.5.1.8 IO Master 1 4-wire SPI Connection
Four-wire SPI mode of IO Master 1 uses pad 8 as SCK, pad 9 as MISO and pad 10 as MOSI. This mode is configured by setting the PADnFNCSEL fields as shown in Table 573. The PAD8INPEN and PAD9INPEN bits must be set. PAD8PULL, PAD9PULL and PAD10PULL should be cleared.

Table 573: IO Master 1 4-wire SPI Configuration

Field PAD8FNCSEL PAD9FNCSEL PAD10FNCSEL

Value 1 1 1

A variety of pads may be used for up to four nCE signals to select up to four separate slaves. The nCE signals are pre-muxed into a signal group called NCE. The muxing configuration is shown in Table 564. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.

11.5.1.9 IO Master 2 4-wire SPI Connection
Four-wire SPI mode of IO Master 2 uses pad 27 as SCK, pad 28 as MOSI and pad 25 as MISO. This mode is configured by setting the PADnFNCSEL fields as shown in Table 574. The PAD27INPEN and PAD28INPEN bits must be set. PAD27PULL, PAD28PULL and PAD25PULL should be cleared.

Table 574: IO Master 2 4-wire SPI Configuration

Field PAD27FNCSEL PAD28FNCSEL PAD25FNCSEL

Value 5 5 5

A variety of pads may be used for up to four nCE signals to select up to four separate slaves. The nCE signals are pre-muxed into a signal group called NCE. The muxing configuration is shown in Table 564. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.

11.5.1.10IO Master 3 4-wire SPI Connection
Four-wire SPI mode of IO Master 3 uses pad 42 as SCK, pad 43 as MISO and pad 38 as MOSI. This mode is configured by setting the PADnFNCSEL fields as shown in Table 575. The PAD42INPEN and PAD38INPEN bits must be set. PAD38PULL, PAD42PULL and PAD43PULL should be cleared.

Table 575: IO Master 3 4-wire SPI Configuration

Field PAD38FNCSEL PAD42FNCSEL PAD43FNCSEL

Value 5 5 5

DS-A3-0p9p1

Page 392 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

A variety of pads may be used for up to four nCE signals to select up to four separate slaves. The nCE signals are pre-muxed into a signal group called NCE. The muxing configuration is shown in Table 564. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.

11.5.1.11IO Master 4 4-wire SPI Connection
Four-wire SPI mode of IO Master 4 uses pad 39 as SCK, pad 40 as MISO and pad 44 as MOSI. This mode is configured by setting the PADnFNCSEL fields as shown in Table 576. The PAD39INPEN and PAD44INPEN bits must be set. PAD39PULL, PAD40PULL and PAD44PULL should be cleared.

Table 576: IO Master 4 4-wire SPI Configuration

Field PAD39FNCSEL PAD40FNCSEL PAD44FNCSEL

Value 5 5 5

A variety of pads may be used for up to four nCE signals to select up to four separate slaves. The nCE signals are pre-muxed into a signal group called NCE. The muxing configuration is shown in Table 564. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.

11.5.1.12IO Master 5 4-wire SPI Connection
Four-wire SPI mode of IO Master 5 uses pad 48 as SCK, pad 49 as MISO and pad 47 as MOSI. This mode is configured by setting the PADnFNCSEL fields as shown in Table 577. The PAD48INPEN and PAD47INPEN bits must be set. PAD48PULL, PAD49PULL and PAD47PULL should be cleared.

Table 577: IO Master 5 4-wire SPI Configuration

Field PAD48FNCSEL PAD49FNCSEL PAD47FNCSEL

Value 5 5 5

A variety of pads may be used for up to four nCE signals to select up to four separate slaves. The nCE signals are pre-muxed into a signal group called NCE. The muxing configuration is shown in Table 564. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.

11.5.1.13IO Master 0 3-wire SPI Connection
Three-wire SPI mode of IO Master 0 uses pad 5 as SCK and pad 6 as MOSI/MISO. This mode is configured by setting the PADnFNCSEL fields as shown in Table 578. The PAD5INPEN and PAD6INPEN bits must be set. PAD5PULL and PAD6PULL should be cleared. Pad 7 may be used for other functions.

Table 578: IO Master 0 3-wire SPI Configuration

Field PAD5FNCSEL PAD6FNCSEL

Value 1 0

DS-A3-0p9p1

Page 393 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

A variety of pads may be used for up to four nCE signals to select up to four separate slaves. The nCE signals are pre-muxed into a signal group called NCE. The muxing configuration is shown in Table 564. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.

11.5.1.14IO Master 1 3-wire SPI Connection
Three-wire SPI mode of IO Master 1 uses pad 8 as SCK and pad 9 as MOSI/MISO. This mode is configured by setting the PADnFNCSEL fields as shown in Table 579. The PAD8INPEN and PAD9INPEN bits must be set. PAD8PULL and PAD9PULL should be cleared. Pad 10 may be used for other functions.

Table 579: IO Master 1 3-wire SPI Configuration

Field PAD8FNCSEL PAD9FNCSEL

Value 1 0

A variety of pads may be used for up to four nCE signals to select up to four separate slaves. The nCE signals are pre-muxed into a signal group called NCE. The muxing configuration is shown in Table 564. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.

11.5.1.15IO Master 2 3-wire SPI Connection
Three-wire SPI mode of IO Master 2 uses pad 27 as SCK and pad 25 as MOSI/MISO. This mode is configured by setting the PADnFNCSEL fields as shown in Table 580. The PAD27INPEN and PAD25INPEN bits must be set. PAD27PULL and PAD25PULL should be cleared. Pad 28 may be used for other functions.

Table 580: IO Master 2 3-wire SPI Configuration

Field PAD27FNCSEL PAD25FNCSEL

Value 5 4

A variety of pads may be used for up to four nCE signals to select up to four separate slaves. The nCE signals are pre-muxed into a signal group called NCE. The muxing configuration is shown in Table 564. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.

11.5.1.16IO Master 3 3-wire SPI Connection
Three-wire SPI mode of IO Master 3 uses pad 42 as SCK and pad 43as MOSI/MISO. This mode is configured by setting the PADnFNCSEL fields as shown in Table 581. The PAD42INPENand PAD43INPENbits must be set. PAD42PULL and PAD43PULLshould be cleared. Pad 38 may be used for other functions.

Table 581: IO Master 3 3-wire SPI Configuration

Field PAD42FNCSEL PAD43FNCSEL

Value 5 4

DS-A3-0p9p1

Page 394 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

A variety of pads may be used for up to four nCE signals to select up to four separate slaves. The nCE signals are pre-muxed into a signal group called NCE. The muxing configuration is shown in Table 564. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.

11.5.1.17IO Master 4 3-wire SPI Connection
Three-wire SPI mode of IO Master 4 uses pad 39 as SCK and pad 40 as MOSI/MISO. This mode is configured by setting the PADnFNCSEL fields as shown in Table 582. The PAD39INPEN and PAD40INPEN bits must be set. PAD39PULL and PAD40PULL should be cleared. Pad 44 may be used for other functions.

Table 582: IO Master 4 3-wire SPI Configuration

Field PAD39FNCSEL PAD40FNCSEL

Value 5 4

A variety of pads may be used for up to four nCE signals to select up to four separate slaves. The nCE signals are pre-muxed into a signal group called NCE. The muxing configuration is shown in Table 564. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.

11.5.1.18IO Master 5 3-wire SPI Connection
Three-wire SPI mode of IO Master 5 uses pad 48 as SCK and pad 49 as MOSI/MISO. This mode is configured by setting the PADnFNCSEL fields as shown in Table 583. The PAD48INPEN and PAD49INPEN bits must be set. PAD48PULL and PAD49PULL should be cleared. Pad 47 may be used for other functions.

Table 583: IO Master 3-wire SPI Configuration

Field PAD48FNCSEL PAD49FNCSEL

Value 5 4

A variety of pads may be used for up to four nCE signals to select up to four separate slaves. The nCE signals are pre-muxed into a signal group called NCE. The muxing configuration is shown in Table 564. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.
11.5.1.19SPI Flow Control Connections
SPI Flow Control in interrupt mode requires an external pin to be specified as the interrupt pin. This is accomplished by configuring the desired pin in the IOMxIRQ register (x = 0 to 5).

DS-A3-0p9p1

Page 395 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

11.5.2 MSPI Connection
The MSPI interface has various device configurations. These are mainly handled within the MSPI controller configuration. However, there are some additional pad muxing options to provide more flexibility for system integration. These mux configurations are listed below.

Table 584: MSPI REG_MSPI_PADCFG Input Mux Configuration

Signal MSPI0 MSPI1 MSPI2

IN0[1:0]

3
MSPI D[5]

2
MSPI D[1]

1
MSPI D[4]

0
MSPI D[0]

-

-

-

-

-

-

-

-

IN1

1

0

-
MSPI D[5]
-

-
MSPI D[1]
-

MSPI3

-

-

-

-

-

-

IN2

1

0

-

-

IN3

1

0

-

-
MSPI D[6]
-

-
MSPI D[2]
-

-

-

-

-

MSPI MSPI D[7] D[3]

Table 585: MSPI REG_MSPI_PADCFG Output Mux Configuration

Signal
MSPI0 MSPI1 MSPI2 MSPI3 MSPI4 MSPI5 MSPI6 MSPI7 MSPI8

OUT7

1

0

-

-

-

-

-

-

-
MSPI D[3]

-
MSPI D[7]

OUT6

OUT5

OUT4

OUT3

1
MSPI D[2]

0

1

0

MSPI D[0] MSPI D[1] MSPI D[2]

-

-

-

-
MSPI D[6]

-

-

MSPI MSPI D[1] D[5]

-

-

1
MSPI D[0]
-

0
MSPI D[4]
-

1
MSPI CLK
-

0
MSPI D[3]
-

-

-

-

-

-

-

-

-

MSPI CLK

11.5.3 Implementing IO Slave Connections
The IO Master module must be correctly connected to the appropriate pads in order to operate.

DS-A3-0p9p1

Page 396 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

11.5.3.1 IO Slave I2C Connection
I2C mode of the IO Slave uses pad 0 as SCL and pad 1 as SDA. This mode is configured by setting the PADnFNCSEL fields as shown in Table 586. The PAD0INPEN and PAD1INPEN bits must be set. PAD0PULL and PAD1PULL should be cleared.

Table 586: IO Slave I2C Configuration

Field PAD0FNCSEL PAD1FNCSEL

Value 0 0

11.5.3.2 IO Slave 4-wire SPI Connection
Four-wire SPI mode of the IO Slave uses pad 0 as SCK, pad 1 as MISO, pad 2 as MOSI and pad 3 as nCE. This mode is configured by setting the PADnFNCSEL fields as shown in Table 587. The PAD0INPEN, PAD2INPEN and PAD3INPEN bits must be set. PAD0PULL, PAD1PULL, PAD2PULL and PAD3PULL should be cleared.

Table 587: IO Slave 4-wire SPI Configuration

Field PAD0FNCSEL PAD1FNCSEL PAD2FNCSEL PAD3FNCSEL

Value 1 1 1 1

11.5.3.3 IO Slave 3-wire SPI Connection
Three-wire SPI mode of the IO Slave uses pad 0 as SCK, pad 2 as MISO/MOSI and pad 3 as nCE. This mode is configured by setting the PADnFNCSEL fields as shown in Table 588. The PAD0INPEN, PAD2INPEN and PAD3INPEN bits must be set. PAD0PULL, PAD2PULL and PAD3PULL should be cleared. Pad 1 may be used for other functions.

Table 588: IO Slave 3-wire SPI Configuration

Field PAD0FNCSEL PAD2FNCSEL PAD3FNCSEL

Value 1 0 1

11.5.3.4 IO Slave Interrupt Connection
The IO Slave can be configured to generate an interrupt output under a variety of internal conditions. If this function is used, the interrupt will be generated on pad 4. PAD4FNCSEL must be set to 1, and PAD4INPEN and PAD4PULL should be cleared.
11.5.4 Implementing Counter/Timer Connections
Each Counter/Timer can optionally count pulses from an input pad, or generate pulses on an output pad. Table 589 shows the PADnFNCSEL settings to connect each Counter/Timer to the appropriate pad. If the

DS-A3-0p9p1

Page 397 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

pad is used as an input, the PADnINPEN bit should be set, otherwise it should be cleared. The PADnPULL bit may be set if the input signal is open drain.

Table 589: Counter/Timer Pad Configuration

Pad (FNCSEL)
PAD4 (6) PAD5 (7) PAD6 (5) PAD7 (7) PAD11 (2) PAD12 (2) PAD13 (2) PAD18 (2) PAD19 (2) PAD22 (2) PAD23 (2) PAD24 (5) PAD25 (2) PAD26 (2) PAD27 (2) PAD28 (2) PAD29 (2) PAD30 (2) PAD31 (2) PAD32 (2) PAD33 (6)

ctimer output signal CT17
CT8 CT10 CT19 CT31 CT0 CT2 CT4 CT6 CT12 CT14 CT21 CT1 CT3 CT5 CT7 CT9 CT11 CT13 CT15 CT23

0

1

Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1

Output Selection (REG_CTIMER_INCFG)

2

3

4

5

6

7

A4OUT2

B7OUT A4OUT A1OUT2 A6OUT2 A7OUT2

A2OUT

A3OUT2 A4OUT2 B6OUT A6OUT2 A7OUT2

B2OUT

B3OUT2 B4OUT2 A6OUT A6OUT2 A7OUT2

B4OUT2

A2OUT B4OUT B1OUT2 A6OUT2 A7OUT2

B7OUT2

A6OUT B7OUT B3OUT2 A6OUT2 A7OUT2

A0OUT

B2OUT2 A5OUT2 A6OUT A6OUT2 A7OUT2

B0OUT

B1OUT2 B6OUT2 A7OUT A6OUT2 A7OUT2

A1OUT

A2OUT2 A5OUT2 B5OUT A6OUT2 A7OUT2

B1OUT

A1OUT B5OUT2 B7OUT A6OUT2 A7OUT2

A3OUT

B1OUT B0OUT2 B6OUT2 A6OUT2 A7OUT2

B3OUT

B1OUT B7OUT2 A7OUT A6OUT2 A7OUT2

A5OUT2

A1OUT B5OUT A0OUT2 A6OUT2 A7OUT2

A0OUT2

A0OUT A5OUT B7OUT2 A6OUT2 A7OUT2

B0OUT2

B0OUT A1OUT A6OUT A6OUT2 A7OUT2

A1OUT2

A1OUT B6OUT A7OUT A6OUT2 A7OUT2

B1OUT2

B1OUT B5OUT A7OUT A6OUT2 A7OUT2

A2OUT2

A2OUT A4OUT B0OUT A6OUT2 A7OUT2

B2OUT2

B2OUT B4OUT B5OUT2 A6OUT2 A7OUT2

A3OUT2

A3OUT A6OUT B4OUT2 A6OUT2 A7OUT2

B3OUT2

B3OUT A7OUT A4OUT2 A6OUT2 A7OUT2

B5OUT2

A7OUT A5OUT B0OUT2 A6OUT2 A7OUT2

DS-A3-0p9p1

Page 398 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Pad (FNCSEL)
PAD35 (5) PAD37 (7) PAD39 (2) PAD42 (2) PAD43 (2) PAD44 (2) PAD45 (2) PAD46 (2) PAD47 (2) PAD48 (2) PAD49 (2)

Table 589: Counter/Timer Pad Configuration

ctimer output signal CT27 CT29 CT25 CT16 CT18 CT20 CT22 CT24 CT26 CT28 CT30

0

1

Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1

Output Selection (REG_CTIMER_INCFG)

2

3

4

5

6

7

B6OUT2

A1OUT B6OUT B2OUT2 A6OUT2 A7OUT2

B5OUT2

A1OUT A7OUT A3OUT2 A6OUT2 A7OUT2

B4OUT2

B2OUT A6OUT A2OUT2 A6OUT2 A7OUT2

A4OUT

A0OUT A0OUT2 B3OUT2 A6OUT2 A7OUT2

B4OUT

B0OUT A0OUT A3OUT2 A6OUT2 A7OUT2

A5OUT

A1OUT A1OUT2 B2OUT2 A6OUT2 A7OUT2

B5OUT

B1OUT A6OUT A2OUT2 A6OUT2 A7OUT2

A6OUT

A2OUT A1OUT B1OUT2 A6OUT2 A7OUT2

B6OUT

B2OUT A5OUT A1OUT2 A6OUT2 A7OUT2

A7OUTB

A3OUT A5OUT2 B0OUT2 A6OUT2 A7OUT2

B7OUT

B3OUT A4OUT2 A0OUT2 A6OUT2 A7OUT2

11.5.5 Implementing UART Connections
The UART signals can be connected to a variety of pads.

11.5.5.1 UART0 TX/RX Connections
The UART data signals TX and RX may each be connected to several pads. Note that TX and RX are selected independently. Table 590 shows the connections for TX, which should have the corresponding PADnINPEN and PADnPULL bits clear. Table 591 shows the connections for RX, which must have the corresponding PADnINPEN bit set and should have the corresponding PADnPULL bit clear.

DS-A3-0p9p1

Page 399 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 590: UART0 TX Configuration

Field

Value

Pad

PAD1FNCSEL

2

1

PAD7FNCSEL

5

7

PAD16FNCSEL

6

16

PAD20FNCSEL

4

20

PAD22FNCSEL

0

22

PAD26FNCSEL

6

26

PAD28FNCSEL

6

28

PAD30FNCSEL

4

30

PAD39FNCSEL

0

39

PAD41FNCSEL

6

41

PAD44FNCSEL

6

44

PAD48FNCSEL

0

48

Table 591: UART0 RX Configuration

Field

Value

Pad

PAD2FNCSEL

2

2

PAD11FNCSEL

6

11

PAD17FNCSEL

6

17

PAD21FNCSEL

4

21

PAD23FNCSEL

0

23

PAD27FNCSEL

0

27

PAD29FNCSEL

6

29

PAD31FNCSEL

4

31

PAD40FNCSEL

0

40

PAD45FNCSEL

6

45

PAD49FNCSEL

0

49

11.5.5.2 UART0 RTS/CTS Connections
The UART modem control signals RTS and CTS may each be connected to one of two pads. Note that RTS and CTS are selected independently. Table 592 shows the connections for RTS, which should have the corresponding PADnINPEN and PADnPULL bits clear. Table 593 shows the connections for CTS,

DS-A3-0p9p1

Page 400 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

which must have the corresponding PADnINPEN bit set and should have the corresponding PADnPULL bit clear.

Table 592: UART0 RTS Configuration

Field

Value

Pad

PAD3FNCSEL

0

3

PAD5FNCSEL

2

5

PAD13FNCSEL

6

13

PAD18FNCSEL

4

18

PAD34FNCSEL

5

34

PAD35FNCSEL

6

35

PAD37FNCSEL

2

37

PAD41FNCSEL

7

41

Table 593: UART0 CTS Configuration

Field

Value

Pad

PAD4FNCSEL

0

4

PAD6FNCSEL

2

6

PAD12FNCSEL

6

12

PAD24FNCSEL

4

24

PAD29FNCSEL

4

29

PAD33FNCSEL

5

33

PAD36FNCSEL

6

36

PAD38FNCSEL

2

38

11.5.5.3 UART1 TX/RX Connections
The UART data signals TX and RX may each be connected to several pads. Note that TX and RX are selected independently. Table 594 shows the connections for TX, which should have the corresponding PADnINPEN and PADnPULL bits clear. Table 595 shows the connections for RX, which must have the corresponding PADnINPEN bit set and should have the corresponding PADnPULL bit clear.

DS-A3-0p9p1

Page 401 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 594: UART1 TX Configuration

Field

Value

Pad

PAD8FNCSEL

6

8

PAD10FNCSEL

0

10

PAD12FNCSEL

7

12

PAD14FNCSEL

2

14

PAD18FNCSEL

6

18

PAD20FNCSEL

5

20

PAD24FNCSEL

0

24

PAD35FNCSEL

2

35

PAD37FNCSEL

5

37

PAD39FNCSEL

1

39

PAD42FNCSEL

0

42

PAD47FNCSEL

6

47

Table 595: UART1 RX Configuration

Field

Value

Pad

PAD2FNCSEL

0

2

PAD4FNCSEL

5

4

PAD9FNCSEL

6

9

PAD13FNCSEL

7

13

PAD15FNCSEL

2

15

PAD19FNCSEL

6

19

PAD21FNCSEL

5

21

PAD25FNCSEL

0

25

PAD36FNCSEL

2

36

PAD40FNCSEL

1

40

PAD43FNCSEL

0

43

PAD47FNCSEL

6

47

11.5.5.4 UART1 RTS/CTS Connections
The UART modem control signals RTS and CTS may each be connected to one of two pads. Note that RTS and CTS are selected independently. Table 596 shows the connections for RTS, which should have the corresponding PADnINPEN and PADnPULL bits clear. Table 597 shows the connections for CTS,

DS-A3-0p9p1

Page 402 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

which must have the corresponding PADnINPEN bit set and should have the corresponding PADnPULL bit clear.

Table 596: UART1 RTS Configuration

Field

Value

Pad

PAD10FNCSEL

5

10

PAD16FNCSEL

7

16

PAD20FNCSEL

7

20

PAD30FNCSEL

5

30

PAD31FNCSEL

7

31

PAD34FNCSEL

2

34

PAD41FNCSEL

5

41

PAD44FNCSEL

0

44

Table 597: UART1 CTS Configuration

Field

Value

Pad

PAD11FNCSEL

5

11

PAD17FNCSEL

7

17

PAD21FNCSEL

7

21

PAD26FNCSEL

7

26

PAD29FNCSEL

5

29

PAD32FNCSEL

7

32

PAD36FNCSEL

5

36

PAD45FNCSEL

0

45

11.5.6 Implementing Audio Connections
The Audio signals can be connected to a variety of pads.
11.5.6.1 PDM Connections
The PDM CLK and DATA signals may each be connected to several pads. Note that CLK and DATA are selected independently. Table 598 shows the connections for PDM CLK, which should have the corresponding PADnINPEN and PADnPULL bits clear. Table 599 shows the connections for PDM DATA, which must have the corresponding PADnINPEN bit set and should have the corresponding PADnPULL bit clear.

DS-A3-0p9p1

Page 403 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 598: PDM CLK Configuration

Field

Value

Pad

PAD10FNCSEL

4

10

PAD12FNCSEL

5

12

PAD14FNCSEL

4

14

PAD22FNCSEL

4

22

PAD37FNCSEL

6

37

PAD46FNCSEL

5

46

Table 599: PDM DATA Configuration

Field

Value

Pad

PAD11FNCSEL

7

11

PAD15FNCSEL

4

15

PAD29FNCSEL

7

29

PAD34FNCSEL

7

34

PAD36FNCSEL

7

36

PAD45FNCSEL

5

45

11.5.6.2 I2S Connections
The I2S BCLK, WCLK and DAT signalsmay each be connected to several pads. Note that BCLK, WCLK and DAT are selected independentlyTable 600 shows the connections for I2S BCLK, which should have the corresponding PADnINPEN and PADnPULL bits clear. Table 601 shows the connections for I2S WCLK, which should have the corresponding PADnINPEN and PADnPULL bits clear. Table 602 shows the connections for I2S DAT, which must have the corresponding PADnINPEN bit set and should have the corresponding PADnPULL bit clear.

Table 600: I2S BCLK Configuration

Field

Value

Pad

PAD13FNCSEL

4

13

PAD19FNCSEL

7

19

PAD20FNCSEL

6

20

PAD46FNCSEL

0

46

Table 601: I2S WCLK Configuration

Field

Value

Pad

PAD3FNCSEL

7

3

PAD23FNCSEL

4

23

PAD28FNCSEL

0

28

PAD41FNCSEL

4

41

DS-A3-0p9p1

Page 404 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 602: I2S DAT Configuration

Field

Value

Pad

PAD6FNCSEL

7

6

PAD30FNCSEL

7

30

PAD35FNCSEL

4

35

PAD45FNCSEL

4

45

11.5.7 Implementing Secure Card Connections
The Secure Card signals can be connected to a variety of pads. Table 603 shows the connections for Secure Card CLK (SCCCLK), which should have the corresponding PADnINPEN and PADnPULL bits clear. Table 604 shows the connections for Secure Card IO (SCCIO), which must have the corresponding PADnINPEN bit set and should have the corresponding PADnPULL bit clear.Table 605 shows the connections for Secure Card RSTIO (SCCRST), which must have the corresponding PADnINPEN and PADnPULL bits clear.

Table 603: Secure Card Clock Configuration

Field

Value

Pad

PAD8FNCSEL

4

8

PAD17FNCSEL

4

17

PAD19FNCSEL

4

19

PAD31FNCSEL

5

31

Table 604: Secure Card IO Configuration

Field

Value

Pad

PAD9FNCSEL

4

9

PAD18FNCSEL

7

18

PAD32FNCSEL

4

32

PAD37FNCSEL

4

37

Table 605: Secure Card RST Configuration

Field

Value

Pad

PAD16FNCSEL

4

16

PAD21FNCSEL

6

21

PAD26FNCSEL

4

26

PAD46FNCSEL

4

46

11.5.8 Implementing GPIO Connections
Each pad of the Apollo3 Blue MCU can be configured as a GPIO port by setting PADnFNCSEL to 3. PADnINPEN and PADnPULL must be set appropriately depending on the specific GPIO function.

DS-A3-0p9p1

Page 405 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

11.5.9 Implementing CLKOUT Connections
The flexible clock output of the Clock Generator module, CLKOUT, may be configured on several pads as shown in . PADnINPEN and PADnPULL should be cleared in each case.

Table 606: CLKOUT Configuration

Field PAD0FNCSEL PAD7FNCSEL

Value

Pad

2

0

2

7

11.5.10Implementing 32kHz CLKOUT Connections
In addition to the CLKOUT mux output, there is also a dedicated 32 kHz clock output. This clock is primarily for leveraging the 32 kHz oscillator clock from Apollo3 Blue MCU. This clock output may be configured on several pads as shown in Table 607. PADnINPEN and PADnPULL should be cleared in each case.

Table 607: 32kHz CLKOUT Configuration

Field PAD14FNCSEL PAD24FNCSEL PAD33FNCSEL PAD36FNCSEL PAD47FNCSEL

Value

Pad

7

14

6

24

2

33

4

36

0

47

11.5.11Implementing ADC Connections
Three types of pad connections may be made for the ADC module. Up to ten pads may be configured as the analog inputs, as shown in Table 608. The ADCREF reference voltage input supplied on a dedicated input pin. If an external digital trigger is desired, up to four selectable pad choices may be configured, as shown in Table 609. For the trigger inputs, PADnINPEN must be set. For other inputs, PADnINPEN should be cleared. PADnPULL should be cleared except in the case of an open drain trigger input.

Table 608: ADC Analog Input Configuration

Field PAD16FNCSEL PAD29FNCSEL PAD11FNCSEL PAD31FNCSEL PAD32FNCSEL PAD33FNCSEL PAD34FNCSEL PAD35FNCSEL
PAD13FNCSEL

Value 0 0 0 0 0 0 0 0
0

Input

Pad

ADCSE0

16

ADCSE1

29

ADCSE2

11

ADCSE3

31

ADCSE4

32

ADCSE5

33

ADCSE6

34

ADCSE7

35

ADCD0M/ SE8

13

DS-A3-0p9p1

Page 406 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 608: ADC Analog Input Configuration

Field
PAD12FNCSEL PAD14FNCSEL PAD15FNCSEL

Value
0 0 0

Input

Pad

ADCD0P/ SE9

12

ADCD1P

14

ADCD1M

15

I

Table 609: ADC Trigger Input Configuration

Field PAD7FNCSEL PAD16FNCSEL PAD40FNCSEL PAD3FNCSEL PAD17FNCSEL PAD36FNCSEL PAD37FNCSEL PAD38FNCSEL

Value 4 2 2 6 2 0 0 0

Input

Pad

TRIG0

7

TRIG0

16

TRIG0

40

TRIG1

3

TRIG1

17

TRIG1

36

TRIG2

37

TRIG3

38

11.5.12mplementing Voltage Comparator Connections
Two types of pad connections may be made for the Voltage Comparator (VCOMP) module. Three reference voltages may be used for the comparator negative input as shown in Table 610. The voltage to be applied to the comparator positive input are shown in . In each case PADnINPEN and PADnPULL should be clearedNote that for CMPRF2, this pin is muxed with ADCSE6 allowing for the same reference input to be used for both ADC and VCOMP operations. Additionally, CMPIN0 is muxed with ADCSE0 allowing for the same input to be used for both ADC and VCOMP operations.
NOTE: if voltage comparator and ADC operation are concurrently sampling the CMPIN0/ADCSE0 input, quality of the sample may be degraded and cannot be guaranteed. It is recommended that voltage comparator and ADC operations are sampled independently (time sliced) to avoid any signal quality loss.

Table 610: Voltage Comparator Reference Configuration

Field PAD19FNCSEL PAD17FNCSEL PAD34FNCSEL

Value 0 0 4

Input

Pad

CMPRF0

19

CMPRF1

17

CMPRF2

34

DS-A3-0p9p1

Table 611: Voltage Comparator Input Configuration

Field PAD16FNCSEL

Value 5

Input

Pad

CMPIN0

16

Page 407 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 611: Voltage Comparator Input Configuration

Field PAD18FNCSEL

Value 0

Input

Pad

CMPIN1

18

11.5.13Implementing the Software Debug Port Connections
The software debug clock (SWDCK) and data (SWDIO) must be connected on pads 20 and 21 respectively. PAD20FNCSEL and PAD21FNCSEL must be set to 0, PAD20INPEN and PAD21INPEN must be set, and PAD20PULL and PAD21PULL must be set, which results in a default state of SWDCK low and SWDIO high. Pads 14 and 15 can alternatively be used for SWDCK and SWDIO functionality, respectively. These pads are, however, not selected by default. Using pads 14 and 15 requires PAD14FNCSEL to be set to 6 and PAD15FNCSEL to be set to 6, PAD14INPEN and PAD15INPEN to be set, and PAD14PULL and PAD15PULL to be set. The optional continuous output signal SWO may be configured on a variety of pads as shown in Table 612, and PADnINPEN and PADnPULL should be cleared for the selected pad.

Table 612: SWO Configuration

Field PAD15FNCSEL PAD22FNCSEL PAD24FNCSEL PAD33FNCSEL PAD41FNCSEL PAD45FNCSEL PAD46FNCSEL

Value

Pad

7

15

7

22

7

24

7

33

2

41

7

45

7

46

11.5.14Fast GPIO
11.5.14.1Description
Access to GPIO pin registers on the Apollo3 Blue MCU can be multiple CPU cycles to complete. To support certain functions that require shorter latency access, a fast GPIO interface is supported. The fast GPIO is accessed via the fast GPIO registers shown in the next section.

11.6 FASTGPIO Registers
APB DMA Register Interfaces INSTANCE 0 BASE ADDRESS:0x40011000

DS-A3-0p9p1

Page 408 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

11.6.1 Register Memory Map

Table 613: FASTGPIO Register Map

Address(s) 0x40011000 0x40011004 0x40011008 0x40011020 0x40011040

Register Name BBVALUE BBSETCLEAR BBINPUT DEBUGDATA DEBUG

Description Control Register Set/Clear Register PIO Input Values PIO Input Values PIO Input Values

DS-A3-0p9p1

Page 409 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

11.6.2 FASTGPIO Registers
11.6.2.1 BBVALUE Register
Control Register OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x40011000 Control Register

Table 614: BBVALUE Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

PIN

RSVD

DATAOUT

Bit 31:24 23:16 15:8
7:0

Name RSVD
PIN RSVD DATAOUT

Table 615: BBVALUE Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RO PIO values

0x0

RO RESERVED

0x0

RW Data Output Values

11.6.2.2 BBSETCLEAR Register
Set/Clear Register OFFSET: 0x00000004 INSTANCE 0 ADDRESS: 0x40011004 Set/Clear Register

Table 616: BBSETCLEAR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CLEAR

RSVD

SET

DS-A3-0p9p1

Page 410 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:24 23:16 15:8
7:0

Name RSVD CLEAR RSVD SET

Table 617: BBSETCLEAR Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

WO Write 1 to Clear PIO value

0x0

RO RESERVED

0x0

WO Write 1 to Set PIO value (set hier priority than clear if both bit set)

11.6.2.3 BBINPUT Register
PIO Input Values OFFSET: 0x00000008 INSTANCE 0 ADDRESS: 0x40011008 PIO Input Values

Table 618: BBINPUT Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

DATAIN

Bit

Name

31:8

RSVD

7:0

DATAIN

Table 619: BBINPUT Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RO PIO values

11.6.2.4 DEBUGDATA Register
PIO Input Values OFFSET: 0x00000020 INSTANCE 0 ADDRESS: 0x40011020 PIO Input Values

DS-A3-0p9p1

Page 411 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 620: DEBUGDATA Register
33222222222211111111110000000000 10987654321098765432109876543210
DEBUGDATA

Bit

Name

31:0

DEBUGDATA

Table 621: DEBUGDATA Register Bits

Reset 0x0

RW RO Debug Data

Description

11.6.2.5 DEBUG Register
PIO Input Values OFFSET: 0x00000040 INSTANCE 0 ADDRESS: 0x40011040 PIO Input Values

Table 622: DEBUG Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

DEBUGEN

Bit

Name

31:4

RSVD

3:0

DEBUGEN

Table 623: DEBUG Register Bits

Reset 0x0

RW RO RESERVED

Description

Debug Enable

0x0

RW OFF = 0x0 - Debug Disabled

ARB = 0x1 - Debug Arb values

11.7 GPIO Registers
General Purpose IO INSTANCE 0 BASE ADDRESS:0x40010000

DS-A3-0p9p1

Page 412 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
This is the detailed description of the general purpose I/O (GPIO) block, as well as for the PAD multiplexor. Note that GPIO interrupt bits are edge triggered. WARNING: if an interrupt bit is cleared while the combination of polarity and input are still asserted then this bit will not set again.

DS-A3-0p9p1

Page 413 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

11.7.1 Register Memory Map

Table 624: GPIO Register Map

Address(s)
0x40010000 0x40010004 0x40010008 0x4001000C 0x40010010 0x40010014 0x40010018 0x4001001C 0x40010020 0x40010024 0x40010028 0x4001002C 0x40010030 0x40010040 0x40010044 0x40010048 0x4001004C 0x40010050 0x40010054 0x40010058 0x40010060 0x40010080 0x40010084 0x40010088 0x4001008C 0x40010090 0x40010094 0x40010098 0x4001009C 0x400100A0 0x400100A4 0x400100A8 0x400100AC 0x400100B4 0x400100B8 0x400100BC

Register Name
PADREGA PADREGB PADREGC PADREGD PADREGE PADREGF PADREGG PADREGH PADREGI PADREGJ PADREGK PADREGL PADREGM CFGA CFGB CFGC CFGD CFGE CFGF CFGG PADKEY RDA RDB WTA WTB WTSA WTSB WTCA WTCB ENA ENB ENSA ENSB ENCA ENCB STMRCAP

Description
Pad Configuration Register A (Pads 0-3) Pad Configuration Register B (Pads 4-7) Pad Configuration Register C (Pads 8-11) Pad Configuration Register D (Pads 12-15) Pad Configuration Register E (Pads 16-19) Pad Configuration Register F (Pads 20-23) Pad Configuration Register G (Pads 24-27) Pad Configuration Register H (Pads 28-31) Pad Configuration Register I (Pads 32-25) Pad Configuration Register J (Pads 36-39) Pad Configuration Register K (Pads 40-43) Pad Configuration Register L (Pads 44-47) Pad Configuration Register M (Pads 47-48) GPIO Configuration Register A (Pads 0-7) GPIO Configuration Register B (Pads 8-15) GPIO Configuration Register C (Pads 16-23) GPIO Configuration Register D (Pads 24-31) GPIO Configuration Register E (Pads 32-39) GPIO Configuration Register F (Pads 40 -47) GPIO Configuration Register G (Pads 48-49) Key Register for all pad configuration registers GPIO Input Register A GPIO Input Register B GPIO Output Register A GPIO Output Register B GPIO Output Register A Set GPIO Output Register B Set GPIO Output Register A Clear GPIO Output Register B Clear GPIO Enable Register A GPIO Enable Register B GPIO Enable Register A Set GPIO Enable Register B Set GPIO Enable Register A Clear GPIO Enable Register B Clear STIMER Capture Control

DS-A3-0p9p1

Page 414 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 624: GPIO Register Map

Address(s) 0x400100C0 0x400100C4 0x400100C8 0x400100CC 0x400100D0 0x400100D4 0x400100D8 0x400100DC 0x400100E0 0x400100E4

Register Name IOM0IRQ IOM1IRQ IOM2IRQ IOM3IRQ IOM4IRQ IOM5IRQ BLEIFIRQ GPIOOBS ALTPADCFGA ALTPADCFGB

0x400100E8 ALTPADCFGC

0x400100EC ALTPADCFGD

0x400100F0 ALTPADCFGE

0x400100F4 ALTPADCFGF

0x400100F8 ALTPADCFGG

0x400100FC ALTPADCFGH

0x40010100 ALTPADCFGI

0x40010104 ALTPADCFGJ

0x40010108 ALTPADCFGK

0x4001010C ALTPADCFGL

0x40010110 0x40010114 0x40010118 0x40010200 0x40010204 0x40010208 0x4001020C 0x40010210 0x40010214 0x40010218 0x4001021C

ALTPADCFGM SCDET CTENCFG INT0EN INT0STAT INT0CLR INT0SET INT1EN INT1STAT INT1CLR INT1SET

Description
IOM0 Flow Control IRQ Select
IOM1 Flow Control IRQ Select
IOM2 Flow Control IRQ Select IOM3 Flow Control IRQ Select
IOM4 Flow Control IRQ Select
IOM5 Flow Control IRQ Select BLEIF Flow Control IRQ Select
GPIO Observation Mode Sample register
Alternate Pad Configuration reg0 (Pads 3,2,1,0) Alternate Pad Configuration reg1 (Pads 7,6,5,4)
Alternate Pad Configuration reg2 (Pads 11,10,9,8) Alternate Pad Configuration reg3 (Pads 15,14,13,12)
Alternate Pad Configuration reg4 (Pads 19,18,17,16) Alternate Pad Configuration reg5 (Pads 23,22,21,20)
Alternate Pad Configuration reg6 (Pads 27,26,25,24)
Alternate Pad Configuration reg7 (Pads 31,30,29,28) Alternate Pad Configuration reg8 (Pads 35,34,33,32)
Alternate Pad Configuration reg9 (Pads 39,38,37,36)
Alternate Pad Configuration reg10 (Pads 43,42,41,40) Alternate Pad Configuration reg11 (Pads 47,46,45,44)
Alternate Pad Configuration reg12 (Pads 49,48) SCARD Card Detect select
Counter/Timer Enable Config
GPIO Interrupt Registers 31-0: Enable GPIO Interrupt Registers 31-0: Status
GPIO Interrupt Registers 31-0: Clear
GPIO Interrupt Registers 31-0: Set GPIO Interrupt Registers 49-32: Enable
GPIO Interrupt Registers 49-32: Status
GPIO Interrupt Registers 49-32: Clear GPIO Interrupt Registers 49-32: Set

DS-A3-0p9p1

Page 415 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

DS-A3-0p9p1

Page 416 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
11.7.2 GPIO Registers 11.7.2.1 PADREGA Register
Pad Configuration Register A (Pads 0-3) OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x40010000 This register controls the pad configuration controls for PAD3 through PAD0. Writes to this register must be unlocked by the PADKEY register.
Table 625: PADREGA Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD PAD3PWRUP PAD3FNCSEL PAD3STRNG PAD3INPEN
PAD3PULL RSVD
PAD2FNCSEL PAD2STRNG PAD2INPEN
PAD2PULL PAD1RSEL PAD1FNCSEL PAD1STRNG PAD1INPEN PAD1PULL PAD0RSEL PAD0FNCSEL PAD0STRNG PAD0INPEN PAD0PULL

Bit

Name

31

RSVD

30

PAD3PWRUP

29:27 PAD3FNCSEL

26

PAD3STRNG

25

PAD3INPEN

24

PAD3PULL

DS-A3-0p9p1

Table 626: PADREGA Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 3 VDD power switch enable

0x0

RW DIS = 0x0 - Power switch disabled

EN = 0x1 - Power switch enabled (switched to VDD)

Pad 3 function select

UA0RTS = 0x0 - Configure as the UART0 RTS output

SLnCE = 0x1 - Configure as the IOSLAVE SPI nCE signal

0x3

RW

NCE3 = 0x2 - IOM/MSPI nCE group 3 GPIO3 = 0x3 - Configure as GPIO3

RSVD = 0x4 - Reserved

MSPI7 = 0x5 - MSPI data connection 7

TRIG1 = 0x6 - Configure as the ADC Trigger 1 signal

I2S_WCLK = 0x7 - Configure as the PDM I2S Word Clock input

Pad 3 drive strength.

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 3 input enable.

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 3 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

Page 417 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 23:22

Name RSVD

21:19 PAD2FNCSEL

18

PAD2STRNG

17

PAD2INPEN

16

PAD2PULL

15:14

PAD1RSEL

13:11 PAD1FNCSEL

10

PAD1STRNG

9

PAD1INPEN

8

PAD1PULL

Table 626: PADREGA Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 2 function select

UART1RX = 0x0 - Configure as the UART1 RX input

SLMISO = 0x1 - Configure as the IOSLAVE SPI MISO signal

0x3

RW

UART0RX = 0x2 - Configure as the UART0 RX input GPIO2 = 0x3 - Configure as GPIO2

RSVD4 = 0x4 - Reserved

MSPI6 = 0x5 - CMSPI data connection 6

RSVD6 = 0x6 - Reserved

NCE2 = 0x7 - IOM/MSPI nCE group 2

Pad 2 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 2 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 2 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

Pad 1 pullup resistor selection.

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

Pad 1 function select

SLSDAWIR3 = 0x0 - Configure as the IOSLAVE I2C SDA or SPI WIR3 sig-

nal

SLMOSI = 0x1 - Configure as the IOSLAVE SPI MOSI signal

0x3

RW UART0TX = 0x2 - Configure as the UART0 TX output signal

GPIO1 = 0x3 - Configure as GPIO1

RSVD4 = 0x4 - Reserved

MSPI5 = 0x5 - MSPI data connection 5

RSVD6 = 0x6 - Reserved

NCE1 = 0x7 - IOM/MSPI nCE group 1

Pad 1 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 1 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 1 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

DS-A3-0p9p1

Page 418 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7:6

PAD0RSEL

5:3

PAD0FNCSEL

2

PAD0STRNG

1

PAD0INPEN

0

PAD0PULL

Table 626: PADREGA Register Bits

Reset

RW

Description

Pad 0 pullup resistor selection.

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

Pad 0 function select

SLSCL = 0x0 - Configure as the IOSLAVE I2C SCL signal

SLSCK = 0x1 - Configure as the IOSLAVE SPI SCK signal

0x3

RW

CLKOUT = 0x2 - Configure as the CLKOUT signal GPIO0 = 0x3 - Configure as GPIO0

RSVD4 = 0x4 - Reserved

MSPI4 = 0x5 - MSPI data connection 4

RSVD6 = 0x6 - Reserved

NCE0 = 0x7 - IOM/MSPI nCE group 0

Pad 0 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 0 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 0 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

11.7.2.2 PADREGB Register
Pad Configuration Register B (Pads 4-7) OFFSET: 0x00000004 INSTANCE 0 ADDRESS: 0x40010004 This register controls the pad configuration controls for PAD7 through PAD4. Writes to this register must be unlocked by the PADKEY register.

Table 627: PADREGB Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD PAD7FNCSEL PAD7STRNG PAD7INPEN
PAD7PULL PAD6RSEL PAD6FNCSEL PAD6STRNG PAD6INPEN PAD6PULL PAD5RSEL PAD5FNCSEL PAD5STRNG PAD5INPEN PAD5PULL
RSVD PAD4FNCSEL PAD4STRNG PAD4INPEN
PAD4PULL

DS-A3-0p9p1

Page 419 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:30

Name RSVD

29:27 PAD7FNCSEL

26

PAD7STRNG

25

PAD7INPEN

24

PAD7PULL

23:22

PAD6RSEL

21:19 PAD6FNCSEL

18

PAD6STRNG

17

PAD6INPEN

16

PAD6PULL

DS-A3-0p9p1

Table 628: PADREGB Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 7 function select

NCE7 = 0x0 - IOM/MSPI nCE group 7

M0MOSI = 0x1 - Configure as the IOMSTR0 SPI MOSI signal

0x3

RW

CLKOUT = 0x2 - Configure as the CLKOUT signal GPIO7 = 0x3 - Configure as GPIO7

TRIG0 = 0x4 - Configure as the ADC Trigger 0 signal

UART0TX = 0x5 - Configure as the UART0 TX output signal

RSVD = 0x6 - Reserved

CT19 = 0x7 - CTIMER connection 19

Pad 7 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 7 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 7 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

Pad 6 pullup resistor selection.

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

Pad 6 function select

M0SDAWIR3 = 0x0 - Configure as the IOMSTR0 I2C SDA or SPI WIR3 sig-

nal

M0MISO = 0x1 - Configure as the IOMSTR0 SPI MISO signal

0x3

RW UA0CTS = 0x2 - Configure as the UART0 CTS input signal

GPIO6 = 0x3 - Configure as GPIO6

RSVD4 = 0x4 - Reserved

CT10 = 0x5 - CTIMER connection 10

RSVD6 = 0x6 - Reserved

I2S_DAT = 0x7 - Configure as the PDM I2S Data output signal

Pad 6 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 6 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 6 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

Page 420 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

15:14

PAD5RSEL

13:11 PAD5FNCSEL

10

PAD5STRNG

9

PAD5INPEN

8

PAD5PULL

7:6

RSVD

5:3

PAD4FNCSEL

2

PAD4STRNG

1

PAD4INPEN

0

PAD4PULL

Table 628: PADREGB Register Bits

Reset

RW

Description

Pad 5 pullup resistor selection.

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

Pad 5 function select

M0SCL = 0x0 - Configure as the IOMSTR0 I2C SCL signal

M0SCK = 0x1 - Configure as the IOMSTR0 SPI SCK signal

0x3

RW

UA0RTS = 0x2 - Configure as the UART0 RTS signal output GPIO5 = 0x3 - Configure as GPIO5

RSVD4 = 0x4 - Reserved

RSVD6 = 0x6 - Reserved CT8 = 0x7 - CTIMER connection 8

Pad 5 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 5 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 5 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

Pad 4 function select

UA0CTS = 0x0 - Configure as the UART0 CTS input signal

SLINT = 0x1 - Configure as the IOSLAVE interrupt out signal

0x3

RW

NCE4 = 0x2 - IOM/SPI nCE group 4 GPIO4 = 0x3 - Configure as GPIO4

RSVD4 = 0x4 - Reserved

UART0RX = 0x5 - Configure as the UART0 RX input

CT17 = 0x6 - CTIMER connection 17

MSPI2 = 0x7 - MSPI data connection 2

Pad 4 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 4 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 4 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

DS-A3-0p9p1

Page 421 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
11.7.2.3 PADREGC Register
Pad Configuration Register C (Pads 8-11) OFFSET: 0x00000008 INSTANCE 0 ADDRESS: 0x40010008 This register controls the pad configuration controls for PAD11 through PAD8. Writes to this register must be unlocked by the PADKEY register.
Table 629: PADREGC Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD PAD11FNCSEL PAD11STRNG PAD11INPEN
PAD11PULL RSVD
PAD10FNCSEL
PAD10STRNG PAD10INPEN PAD10PULL
PAD9RSEL PAD9FNCSEL PAD9STRNG PAD9INPEN
PAD9PULL PAD8RSEL PAD8FNCSEL PAD8STRNG PAD8INPEN PAD8PULL

Bit 31:30

Name RSVD

29:27 PAD11FNCSEL

26

PAD11STRNG

25

PAD11INPEN

24

PAD11PULL

23:22

RSVD

Table 630: PADREGC Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 11 function select

ADCSE2 = 0x0 - Configure as the analog input for ADC single ended input 2

NCE11 = 0x1 - IOM/MSPI nCE group 11

0x3

RW

CT31 = 0x2 - CTIMER connection 31 GPIO11 = 0x3 - Configure as GPIO11

SLINT = 0x4 - Configure as the IOSLAVE interrupt out signal

UA1CTS = 0x5 - Configure as the UART1 CTS input signal

UART0RX = 0x6 - Configure as the UART0 RX input signal

PDM_DATA = 0x7 - Configure as the PDM Data input signal

Pad 11 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 11 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 11 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

DS-A3-0p9p1

Page 422 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

21:19 PAD10FNCSEL

18

PAD10STRNG

17

PAD10INPEN

16

PAD10PULL

15:14

PAD9RSEL

13:11 PAD9FNCSEL

10

PAD9STRNG

9

PAD9INPEN

8

PAD9PULL

Table 630: PADREGC Register Bits

Reset

RW Pad 10 function select

Description

RSVD0 = 0x0 - Reserved

M1MOSI = 0x1 - Configure as the IOMSTR1 SPI MOSI signal

0x3

RW

NCE10 = 0x2 - IOM/MSPI nCE group 10 GPIO10 = 0x3 - Configure as GPIO10

PDMCLK = 0x4 - PDM serial clock out

UA1RTS = 0x5 - Configure as the UART1 RTS output signal

RSVD6 = 0x6 - Reserved

RSVD7 = 0x7 - REserved

Pad 10 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 10 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 10 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

Pad 9 pullup resistor selection

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

Pad 9 function select

M1SDAWIR3 = 0x0 - Configure as the IOMSTR1 I2C SDA or SPI WIR3 sig-

nal

M1MISO = 0x1 - Configure as the IOMSTR1 SPI MISO signal

0x3

RW NCE9 = 0x2 - IOM/MSPI nCE group 9

GPIO9 = 0x3 - Configure as GPIO9

SCCIO = 0x4 - SCARD data I/O connection

RSVD5 = 0x5 - Reserved

UART1RX = 0x6 - Configure as UART1 RX input signal

RSVD7 = 0x7 - Reserved

Pad 9 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 9 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 9 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

DS-A3-0p9p1

Page 423 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7:6

PAD8RSEL

5:3

PAD8FNCSEL

2

PAD8STRNG

1

PAD8INPEN

0

PAD8PULL

Table 630: PADREGC Register Bits

Reset

RW

Description

Pad 8 pullup resistor selection.

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

Pad 8 function select

M1SCL = 0x0 - Configure as the IOMSTR1 I2C SCL signal

M1SCK = 0x1 - Configure as the IOMSTR1 SPI SCK signal

0x3

RW

NCE8 = 0x2 - IOM/MSPI nCE group 8 GPIO8 = 0x3 - Configure as GPIO8

SCCLK = 0x4 - SCARD serial clock output

RSVD5 = 0x5 - Reserved

UART1TX = 0x6 - Configure as the UART1 TX output signal

RSVD7 = 0x7 - Reserved

Pad 8 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 8 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 8 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

11.7.2.4 PADREGD Register
Pad Configuration Register D (Pads 12-15) OFFSET: 0x0000000C INSTANCE 0 ADDRESS: 0x4001000C This register controls the pad configuration controls for PAD15 through PAD12. Writes to this register must be unlocked by the PADKEY register.

Table 631: PADREGD Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD PAD15FNC-
SEL PAD15STRNG PAD15INPEN PAD15PULL
RSVD PAD14FNC-
SEL PAD14STRNG PAD14INPEN PAD14PULL
RSVD PAD13FNC-
SEL PAD13STRNG PAD13INPEN PAD13PULL
RSVD PAD12FNC-
SEL PAD12STRNG PAD12INPEN PAD12PULL

DS-A3-0p9p1

Page 424 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:30

Name RSVD

29:27 PAD15FNCSEL

26

PAD15STRNG

25

PAD15INPEN

24

PAD15PULL

23:22

RSVD

21:19 PAD14FNCSEL

18

PAD14STRNG

17

PAD14INPEN

16

PAD14PULL

15:14

RSVD

Table 632: PADREGD Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 15 function select

ADCD1N = 0x0 - Configure as the analog ADC differential pair 1 N input sig-

nal

NCE15 = 0x1 - IOM/MSPI nCE group 15

0x3

RW UART1RX = 0x2 - Configure as the UART1 RX signal

GPIO15 = 0x3 - Configure as GPIO15

PDMDATA = 0x4 - PDM serial data input

SWDIO = 0x6 - Configure as an alternate port for the SWDIO I/O signal SWO = 0x7 - Configure as an SWO (Serial Wire Trace output)

Pad 15 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 15 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 15 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

Pad 14 function select

ADCD1P = 0x0 - Configure as the analog ADC differential pair 1 P input sig-

nal

NCE14 = 0x1 - IOM/MSPI nCE group 14

0x3

RW UART1TX = 0x2 - Configure as the UART1 TX output signal

GPIO14 = 0x3 - Configure as GPIO14

PDMCLK = 0x4 - PDM serial clock output

SWDCK = 0x6 - Configure as the alternate input for the SWDCK input signal 32kHzXT = 0x7 - Configure as the 32kHz crystal output signal

Pad 14 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 14 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 14 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

DS-A3-0p9p1

Page 425 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

13:11 PAD13FNCSEL

10

PAD13STRNG

9

PAD13INPEN

8

PAD13PULL

7:6

RSVD

5:3

PAD12FNCSEL

2

PAD12STRNG

1

PAD12INPEN

0

PAD12PULL

Table 632: PADREGD Register Bits

Reset

RW Pad 13 function select

Description

ADCD0PSE8 = 0x0 - Configure as the ADC Differential pair 0 P, or Single

Ended input 8 analog input signal. Determination of the D0P vs SE8 usage

is done when the particular channel is selected within the ADC module

0x3

RW

NCE13 = 0x1 - IOM/MSPI nCE group 13 CT2 = 0x2 - CTIMER connection 2

GPIO13 = 0x3 - Configure as GPIO13

I2SBCLK = 0x4 - I2C interface bit clock

UA0RTS = 0x6 - Configure as the UART0 RTS signal output UART1RX = 0x7 - Configure as the UART1 RX input signal

Pad 13 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 13 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 13 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

Pad 12 function select

ADCD0NSE9 = 0x0 - Configure as the ADC Differential pair 0 N, or Single

Ended input 9 analog input signal. Determination of the D0N vs SE9 usage

is done when the particular channel is selected within the ADC module

0x3

RW

NCE12 = 0x1 - IOM/MSPI nCE group 12 CT0 = 0x2 - CTIMER connection 0

GPIO12 = 0x3 - Configure as GPIO12

SLnCE = 0x4 - Configure as the IOSLAVE SPI nCE signal

PDMCLK = 0x5 - PDM serial clock output

UA0CTS = 0x6 - Configure as the UART0 CTS input signal

UART1TX = 0x7 - Configure as the UART1 TX output signal

Pad 12 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 12 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 12 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

DS-A3-0p9p1

Page 426 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
11.7.2.5 PADREGE Register
Pad Configuration Register E (Pads 16-19) OFFSET: 0x00000010 INSTANCE 0 ADDRESS: 0x40010010 This register controls the pad configuration controls for PAD19 through PAD16. Writes to this register must be unlocked by the PADKEY register.
Table 633: PADREGE Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD PAD19FNC-
SEL PAD19STRNG PAD19INPEN
PAD19PULL RSVD
PAD18FNCSEL
PAD18STRNG PAD18INPEN PAD18PULL
RSVD PAD17FNC-
SEL PAD17STRNG PAD17INPEN
PAD17PULL RSVD
PAD16FNCSEL
PAD16STRNG PAD16INPEN PAD16PULL

Bit 31:30

Name RSVD

29:27 PAD19FNCSEL

26

PAD19STRNG

25

PAD19INPEN

24

PAD19PULL

23:22

RSVD

Table 634: PADREGE Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 19 function select

CMPRF0 = 0x0 - Configure as the analog comparator reference 0 signal

NCE19 = 0x1 - IOM/MSPI nCE group 19

0x3

RW

CT6 = 0x2 - CTIMER conenction 6 GPIO19 = 0x3 - Configure as GPIO19

SCCLK = 0x4 - SCARD serial clock

ANATEST1 = 0x5 - Configure as the ANATEST1 I/O signal

UART1RX = 0x6 - Configure as the UART1 RX input signal

I2SBCLK = 0x7 - Configure as the PDM I2S bit clock input signal

Pad 19 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 19 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 19 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

DS-A3-0p9p1

Page 427 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

21:19 PAD18FNCSEL

18

PAD18STRNG

17

PAD18INPEN

16

PAD18PULL

15:14

RSVD

13:11 PAD17FNCSEL

10

PAD17STRNG

9

PAD17INPEN

8

PAD17PULL

7:6

RSVD

Table 634: PADREGE Register Bits

Reset

RW Pad 18 function select

Description

CMPIN1 = 0x0 - Configure as the analog comparator input 1 signal

NCE18 = 0x1 - IOM/MSPI nCE group 18

0x3

RW

CT4 = 0x2 - CTIMER connection 4 GPIO18 = 0x3 - Configure as GPIO18

UA0RTS = 0x4 - Configure as UART0 RTS output signal

ANATEST2 = 0x5 - Configure as ANATEST2 I/O signal

UART1TX = 0x6 - Configure as UART1 TX output signal

SCCIO = 0x7 - SCARD data input/output connectin

Pad 18 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 18 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 18 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

Pad 17 function select

CMPRF1 = 0x0 - Configure as the analog comparator reference signal 1

input signal

NCE17 = 0x1 - IOM/MSPI nCE group 17

0x3

RW TRIG1 = 0x2 - Configure as the ADC Trigger 1 signal

GPIO17 = 0x3 - Configure as GPIO17

SCCCLK = 0x4 - SCARD serial clock output

RSVD = 0x5 - Reserved

UART0RX = 0x6 - Configure as UART0 RX input signal

UA1CTS = 0x7 - Configure as UART1 CTS input signal

Pad 17 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 17 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 17 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

DS-A3-0p9p1

Page 428 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

5:3

PAD16FNCSEL

2

PAD16STRNG

1

PAD16INPEN

0

PAD16PULL

Table 634: PADREGE Register Bits

Reset

RW Pad 16 function select

Description

ADCSE0 = 0x0 - Configure as the analog ADC single ended port 0 input sig-

nal

NCE16 = 0x1 - IOM/MSPI nCE group 16

0x3

RW TRIG0 = 0x2 - Configure as the ADC Trigger 0 signal

GPIO16 = 0x3 - Configure as GPIO16

SCCRST = 0x4 - SCARD reset output

CMPIN0 = 0x5 - Configure as comparator input 0 signal

UART0TX = 0x6 - Configure as UART0 TX output signal

UA1RTS = 0x7 - Configure as UART1 RTS output signal

Pad 16 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 16 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 16 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

11.7.2.6 PADREGF Register
Pad Configuration Register F (Pads 20-23) OFFSET: 0x00000014 INSTANCE 0 ADDRESS: 0x40010014 This register controls the pad configuration controls for PAD23 through PAD20. Writes to this register must be unlocked by the PADKEY register.

Table 635: PADREGF Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD PAD23FNC-
SEL PAD23STRNG PAD23INPEN
PAD23PULL RSVD
PAD22FNCSEL
PAD22STRNG PAD22INPEN PAD22PULL
RSVD PAD21FNC-
SEL PAD21STRNG PAD21INPEN
PAD21PULL RSVD
PAD20FNCSEL
PAD20STRNG PAD20INPEN PAD20PULL

Bit 31:30

Name RSVD

DS-A3-0p9p1

Table 636: PADREGF Register Bits

Reset 0x0

RW RO RESERVED

Description

Page 429 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

29:27 PAD23FNCSEL

26

PAD23STRNG

25

PAD23INPEN

24

PAD23PULL

23:22

RSVD

21:19 PAD22FNCSEL

18

PAD22STRNG

17

PAD22INPEN

16

PAD22PULL

15:14

RSVD

Table 636: PADREGF Register Bits

Reset

RW Pad 23 function select

Description

UART0RX = 0x0 - Configure as the UART0 RX signal

NCE23 = 0x1 - IOM/MSPI nCE group 23

0x3

RW

CT14 = 0x2 - CTIMER connection 14 GPIO23 = 0x3 - Configure as GPIO23

I2SWCLK = 0x4 - I2S word clock input

CMPOUT = 0x5 - Configure as voltage comparitor output

MSPI3 = 0x6 - MSPI data connection 3

Pad 23 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 23 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 23 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

Pad 22 function select

UART0TX = 0x0 - Configure as the UART0 TX signal

NCE22 = 0x1 - IOM/MSPI nCE group 22

0x3

RW

CT12 = 0x2 - CTIMER connection 12 GPIO22 = 0x3 - Configure as GPIO22

PDM_CLK = 0x4 - Configure as the PDM CLK output

MSPI0 = 0x6 - MSPI data connection 0 SWO = 0x7 - Configure as the serial trace data output signal

Pad 22 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 22 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 22 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

DS-A3-0p9p1

Page 430 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

13:11 PAD21FNCSEL

10

PAD21STRNG

9

PAD21INPEN

8

PAD21PULL

7:6

RSVD

5:3

PAD20FNCSEL

2

PAD20STRNG

1

PAD20INPEN

0

PAD20PULL

Table 636: PADREGF Register Bits

Reset

RW Pad 21 function select

Description

SWDIO = 0x0 - Configure as the serial wire debug data signal

NCE21 = 0x1 - IOM/MSPI nCE group 21

0x0

RW

RSVD = 0x2 - Reserved GPIO21 = 0x3 - Configure as GPIO21

UART0RX = 0x4 - Configure as UART0 RX input signal

UART1RX = 0x5 - Configure as UART1 RX input signal

I2SBCLK = 0x6 - I2S byte clock input

UA1CTS = 0x7 - Configure as UART1 CTS input signal

Pad 21 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 21 input enable

0x1

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 21 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

Pad 20 function select

SWDCK = 0x0 - Configure as the serial wire debug clock signal

NCE20 = 0x1 - IOM/MSPI nCE group 20

0x0

RW

RSVD = 0x2 - Reserved GPIO20 = 0x3 - Configure as GPIO20

UART0TX = 0x4 - Configure as UART0 TX output signal

UART1TX = 0x5 - Configure as UART1 TX output signal

I2SBCLK = 0x6 - I2S byte clock input

UA1RTS = 0x7 - Configure as UART1 RTS output signal

Pad 20 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 20 input enable

0x1

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 20 pulldown enable

0x0

RW DIS = 0x0 - Pulldown disabled

EN = 0x1 - Pulldown enabled

11.7.2.7 PADREGG Register
Pad Configuration Register G (Pads 24-27) OFFSET: 0x00000018 INSTANCE 0 ADDRESS: 0x40010018

DS-A3-0p9p1

Page 431 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
This register controls the pad configuration controls for PAD27 through PAD24. Writes to this register must be unlocked by the PADKEY register.
Table 637: PADREGG Register
33222222222211111111110000000000 10987654321098765432109876543210

PAD27RSEL PAD27FNC-
SEL PAD27STRNG PAD27INPEN
PAD27PULL RSVD
PAD26FNCSEL
PAD26STRNG PAD26INPEN PAD26PULL PAD25RSEL PAD25FNC-
SEL PAD25STRNG PAD25INPEN
PAD25PULL RSVD
PAD24FNCSEL
PAD24STRNG PAD24INPEN PAD24PULL

Bit

Name

31:30

PAD27RSEL

29:27 PAD27FNCSEL

26

PAD27STRNG

25

PAD27INPEN

24

PAD27PULL

23:22

RSVD

Table 638: PADREGG Register Bits

Reset

RW

Description

Pad 27 pullup resistor selection.

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

Pad 27 function select

UART0RX = 0x0 - Configure as UART0 RX input signal

NCE27 = 0x1 - IOM/MSPI nCE group 27

0x3

RW

CT5 = 0x2 - CTIMER connection 5 GPIO27 = 0x3 - Configure as GPIO27

M2SCL = 0x4 - Configure as I2C clock I/O signal from IOMSTR2

M2SCK = 0x5 - Configure as SPI clock output signal from IOMSTR2

RSVD6 = 0x6 - Reserved

RSVD7 = 0x7 - Reserved

Pad 27 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 27 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 27 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

DS-A3-0p9p1

Page 432 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

21:19 PAD26FNCSEL

18

PAD26STRNG

17

PAD26INPEN

16

PAD26PULL

15:14

PAD25RSEL

13:11 PAD25FNCSEL

10

PAD25STRNG

9

PAD25INPEN

8

PAD25PULL

7:6

RSVD

Table 638: PADREGG Register Bits

Reset

RW Pad 26 function select

Description

NCE26 = 0x1 - IOM/MSPI nCE group 26

0x3

RW

CT3 = 0x2 - CTIMER connection 3 GPIO26 = 0x3 - Configure as GPIO26

SCCRST = 0x4 - SCARD reset output

MSPI1 = 0x5 - MSPI data connection 1

UART0TX = 0x6 - Configure as UART0 TX output signal

UA1CTS = 0x7 - Configure as UART1 CTS input signal

Pad 26 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 26 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 26 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

Pad 25 pullup resistor selection.

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

Pad 25 function select

UART1RX = 0x0 - Configure as UART1 RX input signal

NCE25 = 0x1 - IOM/MSPI nCE group 25

CT1 = 0x2 - CTIMER connection 1

0x3

RW GPIO25 = 0x3 - Configure as GPIO25

M2SDAWIR3 = 0x4 - Configure as the IOMSTR2 I2C SDA or SPI WIR3 sig-

nal

M2MISO = 0x5 - Configure as the IOMSTR2 SPI MISO input signal

RSVD6 = 0x6 - Reserved

RSVD7 = 0x7 - Reserved

Pad 25 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 25 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 25 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

DS-A3-0p9p1

Page 433 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

5:3

PAD24FNCSEL

2

PAD24STRNG

1

PAD24INPEN

0

PAD24PULL

Table 638: PADREGG Register Bits

Reset

RW Pad 24 function select

Description

UART1TX = 0x0 - Configure as UART1 TX output signal

NCE24 = 0x1 - IOM/MSPI nCE group 24

0x3

RW

MSPI8 = 0x2 - MSPI data connection 8 GPIO24 = 0x3 - Configure as GPIO24

UA0CTS = 0x4 - Configure as UART0 CTS input signal

CT21 = 0x5 - CTIMER connection 21

32kHzXT = 0x6 - Configure as the 32kHz crystal output signal

SWO = 0x7 - Configure as the serial trace data output signal

Pad 24 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 24 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 24 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

11.7.2.8 PADREGH Register
Pad Configuration Register H (Pads 28-31) OFFSET: 0x0000001C INSTANCE 0 ADDRESS: 0x4001001C This register controls the pad configuration controls for PAD31 through PAD28. Writes to this register must be unlocked by the PADKEY register.

Table 639: PADREGH Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD PAD31FNC-
SEL PAD31STRNG PAD31INPEN PAD31PULL
RSVD PAD30FNC-
SEL PAD30STRNG PAD30INPEN PAD30PULL
RSVD PAD29FNC-
SEL PAD29STRNG PAD29INPEN PAD29PULL
RSVD PAD28FNC-
SEL PAD28STRNG PAD28INPEN PAD28PULL

Bit 31:30

Name RSVD

Table 640: PADREGH Register Bits

Reset 0x0

RW RO RESERVED

Description

DS-A3-0p9p1

Page 434 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

29:27 PAD31FNCSEL

26

PAD31STRNG

25

PAD31INPEN

24

PAD31PULL

23:22

RSVD

21:19 PAD30FNCSEL

18

PAD30STRNG

17

PAD30INPEN

16

PAD30PULL

15:14

RSVD

Table 640: PADREGH Register Bits

Reset

RW Pad 31 function select

Description

ADCSE3 = 0x0 - Configure as the analog input for ADC single ended input 3

NCE31 = 0x1 - IOM/MSPI nCE group 31

0x3

RW

CT13 = 0x2 - CTIMER connection 13 GPIO31 = 0x3 - Configure as GPIO31

UART0RX = 0x4 - Configure as the UART0 RX input signal

SCCCLK = 0x5 - SCARD serial clock output

RSVD = 0x6 - Reserved

UA1RTS = 0x7 - Configure as UART1 RTS output signal

Pad 31 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 31 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 31 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

Pad 30 function select

ANATEST1 = 0x0 - Configure as the ANATEST1 I/O signal

NCE30 = 0x1 - IOM/MSPI nCE group 30

0x3

RW

CT11 = 0x2 - CTIMER connection 11 GPIO30 = 0x3 - Configure as GPIO30

UART0TX = 0x4 - Configure as UART0 TX output signal

UA1RTS = 0x5 - Configure as UART1 RTS output signal

RSVD = 0x6 - Reserved

I2S_DAT = 0x7 - Configure as the PDM I2S Data output signal

Pad 30 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 30 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 30 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

DS-A3-0p9p1

Page 435 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

13:11 PAD29FNCSEL

10

PAD29STRNG

9

PAD29INPEN

8

PAD29PULL

7:6

RSVD

5:3

PAD28FNCSEL

2

PAD28STRNG

1

PAD28INPEN

0

PAD28PULL

Table 640: PADREGH Register Bits

Reset

RW Pad 29 function select

Description

ADCSE1 = 0x0 - Configure as the analog input for ADC single ended input 1

NCE29 = 0x1 - IOM/MSPI nCE group 29

0x3

RW

CT9 = 0x2 - CTIMER connection 9 GPIO29 = 0x3 - Configure as GPIO29

UA0CTS = 0x4 - Configure as the UART0 CTS input signal

UA1CTS = 0x5 - Configure as the UART1 CTS input signal

UART0RX = 0x6 - Configure as the UART0 RX input signal

PDM_DATA = 0x7 - Configure as PDM DATA input

Pad 29 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 29 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 29 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

Pad 28 function select

I2S_WCLK = 0x0 - Configure as the PDM I2S Word Clock input

NCE28 = 0x1 - IOM/MSPI nCE group 28

0x3

RW

CT7 = 0x2 - CTIMER connection 7 GPIO28 = 0x3 - Configure as GPIO28

RSVD4 = 0x4 - Reserved

M2MOSI = 0x5 - Configure as the IOMSTR2 SPI MOSI output signal

UART0TX = 0x6 - Configure as the UART0 TX output signal

RSVD7 = 0x7 - Reserved

Pad 28 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 28 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 28 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

11.7.2.9 PADREGI Register
Pad Configuration Register I (Pads 32-25) OFFSET: 0x00000020 INSTANCE 0 ADDRESS: 0x40010020

DS-A3-0p9p1

Page 436 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
This register controls the pad configuration controls for PAD35 through PAD32. Writes to this register must be unlocked by the PADKEY register.
Table 641: PADREGI Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD PAD35FNC-
SEL PAD35STRNG PAD35INPEN
PAD35PULL RSVD
PAD34FNCSEL
PAD34STRNG PAD34INPEN PAD34PULL
RSVD PAD33FNC-
SEL PAD33STRNG PAD33INPEN
PAD33PULL RSVD
PAD32FNCSEL
PAD32STRNG PAD32INPEN PAD32PULL

Bit 31:30

Name RSVD

29:27 PAD35FNCSEL

26

PAD35STRNG

25

PAD35INPEN

24

PAD35PULL

23:22

RSVD

21:19 PAD34FNCSEL

Table 642: PADREGI Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 35 function select

ADCSE7 = 0x0 - Configure as the analog input for ADC single ended input 7

NCE35 = 0x1 - IOM/MSPI nCE group 35

0x3

RW

UART1TX = 0x2 - Configure as the UART1 TX signal GPIO35 = 0x3 - Configure as GPIO35

I2SDAT = 0x4 - I2S serial data output

CT27 = 0x5 - CTIMER connection 27

UA0RTS = 0x6 - Configure as the UART0 RTS output

RSVD = 0x7 - Reserved

Pad 35 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 35 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 35 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

Pad 34 function select

ADCSE6 = 0x0 - Configure as the analog input for ADC single ended input 6

NCE34 = 0x1 - IOM/MSPI nCE group 34

0x3

RW

UA1RTS = 0x2 - Configure as the UART1 RTS output GPIO34 = 0x3 - Configure as GPIO34

CMPRF2 = 0x4 - Configure as the analog comparator reference 2 signal

UA0RTS = 0x5 - Configure as the UART0 RTS output

UART0RX = 0x6 - Configure as the UART0 RX input

PDMDATA = 0x7 - PDM serial data input

DS-A3-0p9p1

Page 437 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

18

PAD34STRNG

17

PAD34INPEN

16

PAD34PULL

15:14

RSVD

13:11 PAD33FNCSEL

10

PAD33STRNG

9

PAD33INPEN

8

PAD33PULL

7:6

RSVD

5:3

PAD32FNCSEL

2

PAD32STRNG

Table 642: PADREGI Register Bits

Reset 0x0 0x0 0x0 0x0

RW

Description

Pad 34 drive strength
RW LOW = 0x0 - Low drive strength HIGH = 0x1 - High drive strength

Pad 34 input enable
RW DIS = 0x0 - Pad input disabled EN = 0x1 - Pad input enabled

Pad 34 pullup enable
RW DIS = 0x0 - Pullup disabled EN = 0x1 - Pullup enabled
RO RESERVED

Pad 33 function select

ADCSE5 = 0x0 - Configure as the analog ADC single ended port 5 input sig-

nal

NCE33 = 0x1 - IOM/MSPI nCE group 33

0x3

RW 32kHzXT = 0x2 - Configure as the 32kHz crystal output signal

GPIO33 = 0x3 - Configure as GPIO33

RSVD = 0x4 - Reserved

UA0CTS = 0x5 - Configure as the UART0 CTS input

CT23 = 0x6 - CTIMER connection 23

SWO = 0x7 - Configure as the serial trace data output signal

Pad 33 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 33 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 33 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

Pad 32 function select

ADCSE4 = 0x0 - Configure as the analog input for ADC single ended input 4

NCE32 = 0x1 - IOM/MSPI nCE group 32

0x3

RW

CT15 = 0x2 - CTIMER connection 15 GPIO32 = 0x3 - Configure as GPIO32

SCCIO = 0x4 - SCARD serial data input/output

RSVD = 0x6 - Reserved UA1CTS = 0x7 - Configure as the UART1 CTS input

Pad 32 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

DS-A3-0p9p1

Page 438 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

1

PAD32INPEN

0

PAD32PULL

Table 642: PADREGI Register Bits

Reset 0x0 0x0

RW

Description

Pad 32 input enable
RW DIS = 0x0 - Pad input disabled EN = 0x1 - Pad input enabled

Pad 32 pullup enable
RW DIS = 0x0 - Pullup disabled EN = 0x1 - Pullup enabled

11.7.2.10PADREGJ Register
Pad Configuration Register J (Pads 36-39) OFFSET: 0x00000024 INSTANCE 0 ADDRESS: 0x40010024 This register controls the pad configuration controls for PAD39 through PAD36. Writes to this register must be unlocked by the PADKEY register.

Table 643: PADREGJ Register
33222222222211111111110000000000 10987654321098765432109876543210

PAD39RSEL PAD39FNC-
SEL PAD39STRNG PAD39INPEN
PAD39PULL RSVD
PAD38FNCSEL
PAD38STRNG PAD38INPEN PAD38PULL PAD37PWRDN
RSVD PAD37FNC-
SEL PAD37STRNG PAD37INPEN
PAD37PULL RSVD
PAD36PWRUP PAD36FNCSEL
PAD36STRNG PAD36INPEN PAD36PULL

Bit

Name

31:30

PAD39RSEL

29:27 PAD39FNCSEL

Table 644: PADREGJ Register Bits

Reset

RW

Description

Pad 39 pullup resistor selection.

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

Pad 39 function select

UART0TX = 0x0 - Configure as the UART0 TX output signal

UART1TX = 0x1 - Configure as the UART1 TX output signal

0x3

RW

CT25 = 0x2 - CTIMER connection 25 GPIO39 = 0x3 - Configure as GPIO39

M4SCL = 0x4 - Configure as the IOMSTR4 I2C SCL signal

M4SCK = 0x5 - Configure as the IOMSTR4 SPI SCK signal

RSVD6 = 0x6 - Reserved

RSVD7 = 0x7 - Reserved

DS-A3-0p9p1

Page 439 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

26

PAD39STRNG

25

PAD39INPEN

24

PAD39PULL

23:22

RSVD

21:19 PAD38FNCSEL

18

PAD38STRNG

17

PAD38INPEN

16

PAD38PULL

15

PAD37PWRDN

14

RSVD

13:11 PAD37FNCSEL

Table 644: PADREGJ Register Bits

Reset 0x0 0x0 0x0 0x0

RW

Description

Pad 39 drive strength
RW LOW = 0x0 - Low drive strength HIGH = 0x1 - High drive strength

Pad 39 input enable
RW DIS = 0x0 - Pad input disabled EN = 0x1 - Pad input enabled

Pad 39 pullup enable
RW DIS = 0x0 - Pullup disabled EN = 0x1 - Pullup enabled
RO RESERVED

Pad 38 function select

TRIG3 = 0x0 - Configure as the ADC Trigger 3 signal

NCE38 = 0x1 - IOM/MSPI nCE group 38

0x3

RW

UA0CTS = 0x2 - Configure as the UART0 CTS signal GPIO38 = 0x3 - Configure as GPIO38

RSVD4 = 0x4 - Reserved

M3MOSI = 0x5 - Configure as the IOMSTR3 SPI MOSI output signal

UART1RX = 0x6 - Configure as the UART1 RX input signal

RSVD7 = 0x7 - Reserved

Pad 38 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 38 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 38 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

Pad 37 VSS power switch enable

0x0

RW DIS = 0x0 - Power switch disabled

EN = 0x1 - Power switch enabled (switch to GND)

0x0

RO RESERVED

Pad 37 function select

TRIG2 = 0x0 - Configure as the ADC Trigger 2 signal

NCE37 = 0x1 - IOM/MSPI nCE group 37

0x3

RW

UA0RTS = 0x2 - Configure as the UART0 RTS output signal GPIO37 = 0x3 - Configure as GPIO37

SCCIO = 0x4 - SCARD serial data input/output

UART1TX = 0x5 - Configure as the UART1 TX output signal

PDMCLK = 0x6 - Configure as the PDM CLK output signal

CT29 = 0x7 - CTIMER connection 29

DS-A3-0p9p1

Page 440 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

10

PAD37STRNG

9

PAD37INPEN

8

PAD37PULL

7

RSVD

6

PAD36PWRUP

5:3

PAD36FNCSEL

2

PAD36STRNG

1

PAD36INPEN

0

PAD36PULL

Table 644: PADREGJ Register Bits

Reset 0x0 0x0 0x0 0x0

RW

Description

Pad 37 drive strength
RW LOW = 0x0 - Low drive strength HIGH = 0x1 - High drive strength

Pad 37 input enable
RW DIS = 0x0 - Pad input disabled EN = 0x1 - Pad input enabled

Pad 37 pullup enable
RW DIS = 0x0 - Pullup disabled EN = 0x1 - Pullup enabled
RO RESERVED

Pad 36 VDD power switch enable

0x0

RW DIS = 0x0 - Power switch disabled

EN = 0x1 - Power switch enabled (switched to VDD)

Pad 36 function select

TRIG1 = 0x0 - Configure as the ADC Trigger 1 signal

NCE36 = 0x1 - IOM/MSPI nCE group 36

0x3

RW

UART1RX = 0x2 - Configure as the UART1 RX input signal GPIO36 = 0x3 - Configure as GPIO36

32kHzXT = 0x4 - Configure as the 32kHz output clock from the crystal

UA1CTS = 0x5 - Configure as the UART1 CTS input signal

UA0CTS = 0x6 - Configure as the UART0 CTS input signal

PDMDATA = 0x7 - PDM serial data input

Pad 36 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 36 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 36 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

11.7.2.11PADREGK Register
Pad Configuration Register K (Pads 40-43) OFFSET: 0x00000028 INSTANCE 0 ADDRESS: 0x40010028 This register controls the pad configuration controls for PAD43 through PAD40. Writes to this register must be unlocked by the PADKEY register.

DS-A3-0p9p1

Page 441 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Table 645: PADREGK Register
33222222222211111111110000000000 10987654321098765432109876543210

PAD43RSEL PAD43FNC-
SEL PAD43STRNG PAD43INPEN PAD43PULL PAD42RSEL
PAD42FNCSEL
PAD42STRNG PAD42INPEN PAD42PULL PAD41PWRDN
RSVD PAD41FNC-
SEL PAD41STRNG PAD41INPEN PAD41PULL PAD40RSEL
PAD40FNCSEL
PAD40STRNG PAD40INPEN PAD40PULL

Bit

Name

31:30

PAD43RSEL

29:27 PAD43FNCSEL

26

PAD43STRNG

25

PAD43INPEN

24

PAD43PULL

23:22

PAD42RSEL

Table 646: PADREGK Register Bits

Reset

RW

Description

Pad 43 pullup resistor selection.

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

Pad 43 function select

UART1RX = 0x0 - Configure as the UART1 RX input signal

NCE43 = 0x1 - IOM/MSPI nCE group 43

CT18 = 0x2 - CTIMER connection 18

0x3

RW GPIO43 = 0x3 - Configure as GPIO43

M3SDAWIR3 = 0x4 - Configure as the IOMSTR3 I2C SDA or SPI WIR3 sig-

nal

M3MISO = 0x5 - Configure as the IOMSTR3 SPI MISO signal

RSVD6 = 0x6 - Reserved

RSVD7 = 0x7 - Reserved

Pad 43 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 43 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 43 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

Pad 42 pullup resistor selection.

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

DS-A3-0p9p1

Page 442 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

21:19 PAD42FNCSEL

18

PAD42STRNG

17

PAD42INPEN

16

PAD42PULL

15

PAD41PWRDN

14

RSVD

13:11 PAD41FNCSEL

10

PAD41STRNG

9

PAD41INPEN

8

PAD41PULL

Table 646: PADREGK Register Bits

Reset

RW Pad 42 function select

Description

UART1TX = 0x0 - Configure as the UART1 TX output signal

NCE42 = 0x1 - IOM/MSPI nCE group 42

0x3

RW

CT16 = 0x2 - CTIMER connection 16 GPIO42 = 0x3 - Configure as GPIO42

M3SCL = 0x4 - Configure as the IOMSTR3 I2C SCL clock I/O signal

M3SCK = 0x5 - Configure as the IOMSTR3 SPI SCK output

RSVD6 = 0x6 - Reserved

RSVD7 = 0x7 - Reserved

Pad 42 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 42 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 42 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

Pad 41 power switch enable

0x0

RW DIS = 0x0 - Power switch disabled

EN = 0x1 - Power switch enabled (Switch pad to VSS)

0x0

RO RESERVED

Pad 41 function select

NCE41 = 0x0 - IOM/MSPI nCE group 41

RSVD = 0x1 - Reserved

0x3

RW

SWO = 0x2 - Configure as the serial wire debug SWO signal GPIO41 = 0x3 - Configure as GPIO41

I2SWCLK = 0x4 - I2S word clock input

UA1RTS = 0x5 - Configure as the UART1 RTS output signal

UART0TX = 0x6 - Configure as the UART0 TX output signal

UA0RTS = 0x7 - Configure as the UART0 RTS output signal

Pad 41 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 41 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 41 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

DS-A3-0p9p1

Page 443 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7:6

PAD40RSEL

5:3

PAD40FNCSEL

2

PAD40STRNG

1

PAD40INPEN

0

PAD40PULL

Table 646: PADREGK Register Bits

Reset

RW

Description

Pad 40 pullup resistor selection.

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

Pad 40 function select

UART0RX = 0x0 - Configure as the UART0 RX input signal

UART1RX = 0x1 - Configure as the UART1 RX input signal

TRIG0 = 0x2 - Configure as the ADC Trigger 0 signal

0x3

RW GPIO40 = 0x3 - Configure as GPIO40

M4SDAWIR3 = 0x4 - Configure as the IOMSTR4 I2C SDA or SPI WIR3 sig-

nal

M4MISO = 0x5 - Configure as the IOMSTR4 SPI MISO input signal

RSVD6 = 0x6 - Reserved

RSVD7 = 0x7 - Reserved

Pad 40 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 40 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 40 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

11.7.2.12PADREGL Register
Pad Configuration Register L (Pads 44-47) OFFSET: 0x0000002C INSTANCE 0 ADDRESS: 0x4001002C This register controls the pad configuration controls for PAD47 through PAD44. Writes to this register must be unlocked by the PADKEY register.

Table 647: PADREGL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD PAD47FNC-
SEL PAD47STRNG PAD47INPEN
PAD47PULL RSVD
PAD46FNCSEL
PAD46STRNG PAD46INPEN PAD46PULL
RSVD PAD45FNC-
SEL PAD45STRNG PAD45INPEN
PAD45PULL RSVD
PAD44FNCSEL
PAD44STRNG PAD44INPEN PAD44PULL

DS-A3-0p9p1

Page 444 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:30

Name RSVD

29:27 PAD47FNCSEL

26

PAD47STRNG

25

PAD47INPEN

24

PAD47PULL

23:22

RSVD

21:19 PAD46FNCSEL

18

PAD46STRNG

17

PAD46INPEN

16

PAD46PULL

15:14

RSVD

Table 648: PADREGL Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 47 function select

32kHzXT = 0x0 - Configure as the 32kHz output clock from the crystal

NCE47 = 0x1 - IOM/MSPI nCE group 47

0x3

RW

CT26 = 0x2 - CTIMER connection 26 GPIO47 = 0x3 - Configure as GPIO47

RSVD4 = 0x4 - Reserved

M5MOSI = 0x5 - Configure as the IOMSTR5 SPI MOSI output signal

UART1RX = 0x6 - Configure as the UART1 RX input signal

RSVD7 = 0x7 - Reserved

Pad 47 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 47 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 47 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

Pad 46 function select

32khz_XT = 0x0 - Configure as the 32kHz output clock from the crystal

NCE46 = 0x1 - IOM/MSPI nCE group 46

0x3

RW

CT24 = 0x2 - CTIMER connection 24 GPIO46 = 0x3 - Configure as GPIO46

SCCRST = 0x4 - SCARD reset output

PDMCLK = 0x5 - PDM serial clock output

UART1TX = 0x6 - Configure as the UART1 TX output signal

SWO = 0x7 - Configure as the serial wire debug SWO signal

Pad 46 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 46 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 46 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

DS-A3-0p9p1

Page 445 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

13:11 PAD45FNCSEL

10

PAD45STRNG

9

PAD45INPEN

8

PAD45PULL

7:6

RSVD

5:3

PAD44FNCSEL

2

PAD44STRNG

1

PAD44INPEN

0

PAD44PULL

Table 648: PADREGL Register Bits

Reset

RW Pad 45 function select

Description

UA1CTS = 0x0 - Configure as the UART1 CTS input signal

NCE45 = 0x1 - IOM/MSPI nCE group 45

CT22 = 0x2 - CTIMER connection 22

0x3

RW GPIO45 = 0x3 - Configure as GPIO45

I2SDAT = 0x4 - I2S serial data output

PDMDATA = 0x5 - PDM serial data input

UART0RX = 0x6 - Configure as the SPI channel 5 nCE signal from IOM-

STR5

SWO = 0x7 - Configure as the serial wire debug SWO signal

Pad 45 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 45 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 45 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

0x0

RO RESERVED

Pad 44 function select

UA1RTS = 0x0 - Configure as the UART1 RTS output signal

NCE44 = 0x1 - IOM/MSPI nCE group 44

0x3

RW

CT20 = 0x2 - CTIMER connection 20 GPIO44 = 0x3 - Configure as GPIO44

RSVD4 = 0x4 - Reserved

M4MOSI = 0x5 - Configure as the IOMSTR4 SPI MOSI signal

M5nCE6 = 0x6 - Configure as the SPI channel 6 nCE signal from IOMSTR5

RSVD = 0x7 - Reserved

Pad 44 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 44 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 44 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

11.7.2.13PADREGM Register
Pad Configuration Register M (Pads 47-48) OFFSET: 0x00000030 INSTANCE 0 ADDRESS: 0x40010030

DS-A3-0p9p1

Page 446 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
This register controls the pad configuration controls for PAD49 through PAD48. Writes to this register must be unlocked by the PADKEY register.
Table 649: PADREGM Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

PAD49RSEL PAD49FNC-
SEL PAD49STRNG PAD49INPEN
PAD49PULL PAD48RSEL PAD48FNC-
SEL PAD48STRNG PAD48INPEN
PAD48PULL

Bit 31:16

Name RSVD

15:14

PAD49RSEL

13:11 PAD49FNCSEL

10

PAD49STRNG

9

PAD49INPEN

8

PAD49PULL

Table 650: PADREGM Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 49 pullup resistor selection.

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

Pad 49 function select

UART0RX = 0x0 - Configure as the UART0 RX input signal

NCE49 = 0x1 - IOM/MSPPI nCE group 49

CT30 = 0x2 - CTIMER connection 30

0x3

RW GPIO49 = 0x3 - Configure as GPIO49

M5SDAWIR3 = 0x4 - Configure as the IOMSTR5 I2C SDA or SPI WIR3 sig-

nal

M5MISO = 0x5 - Configure as the IOMSTR5 SPI MISO input signal

RSVD6 = 0x6 - Reserved

RSVD7 = 0x7 - Reserved

Pad 49 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 49 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 49 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

DS-A3-0p9p1

Page 447 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7:6

PAD48RSEL

5:3

PAD48FNCSEL

2

PAD48STRNG

1

PAD48INPEN

0

PAD48PULL

Table 650: PADREGM Register Bits

Reset

RW

Description

Pad 48 pullup resistor selection.

0x0

RW

PULL1_5K = 0x0 - Pullup is ~1.5 KOhms PULL6K = 0x1 - Pullup is ~6 KOhms

PULL12K = 0x2 - Pullup is ~12 KOhms

PULL24K = 0x3 - Pullup is ~24 KOhms

Pad 48 function select

UART0TX = 0x0 - Configure as the UART0 TX output signal

NCE48 = 0x1 - IOM/MSPI nCE group 48

0x3

RW

CT28 = 0x2 - CTIMER conenction 28 GPIO48 = 0x3 - Configure as GPIO48

M5SCL = 0x4 - Configure as the IOMSTR5 I2C SCL clock I/O signal

M5SCK = 0x5 - Configure as the IOMSTR5 SPI SCK output

RSVD6 = 0x6 - Reserved

RSVD7 = 0x7 - Reserved

Pad 48 drive strength

0x0

RW LOW = 0x0 - Low drive strength

HIGH = 0x1 - High drive strength

Pad 48 input enable

0x0

RW DIS = 0x0 - Pad input disabled

EN = 0x1 - Pad input enabled

Pad 48 pullup enable

0x0

RW DIS = 0x0 - Pullup disabled

EN = 0x1 - Pullup enabled

11.7.2.14CFGA Register
GPIO Configuration Register A (Pads 0-7) OFFSET: 0x00000040 INSTANCE 0 ADDRESS: 0x40010040 GPIO configuration controls for GPIO[7:0]. Writes to this register must be unlocked by the PADKEY register.

Table 651: CFGA Register
33222222222211111111110000000000 10987654321098765432109876543210

GPIO7INTD GPIO7OUTCFG
GPIO7INCFG GPIO6INTD GPIO6OUTCFG GPIO6INCFG GPIO5INTD GPIO5OUTCFG GPIO5INCFG GPIO4INTD GPIO4OUTCFG GPIO4INCFG GPIO3INTD GPIO3OUTCFG GPIO3INCFG GPIO2INTD GPIO2OUTCFG GPIO2INCFG GPIO1INTD GPIO1OUTCFG GPIO1INCFG GPIO0INTD GPIO0OUTCFG GPIO0INCFG

DS-A3-0p9p1

Page 448 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31

GPIO7INTD

30:29 GPIO7OUTCFG

28

GPIO7INCFG

27

GPIO6INTD

26:25 GPIO6OUTCFG

24

GPIO6INCFG

23

GPIO5INTD

Table 652: CFGA Register Bits

Reset

RW

Description

GPIO7 interrupt direction, nCE polarity.

nCELOW = 0x0 - FNCSEL = 0x0 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x0 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x0, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x0, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x0, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x0, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO7 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE1 = 0x0 - FNCSEL = 0x0 - IOM3 nCE, Channel 1

M4nCE1 = 0x1 - FNCSEL = 0x0 - IOM4 nCE, Channel 1

M5nCE1 = 0x2 - FNCSEL = 0x0 - IOM5 nCE, Channel 1

MSPInCE0 = 0x3 - FNCSEL = 0x0 - MSPI nCE, Channel 0

GPIO7 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO6 interrupt direction.

INTDIS = 0x0 - INCFG = 1 - No interrupt on GPIO transition

0x0

RW INTBOTH = 0x1 - INCFG = 1 - Interrupt on either low to high or high to low

GPIO transition

INTLH = 0x0 - INCFG = 0 - Interrupt on low to high GPIO transition

INTHL = 0x1 - INCFG = 0 - Interrupt on high to low GPIO transition

GPIO6 output configuration.

0x0

RW

DIS = 0x0 - FNCSEL = 0x3 - Output disabled PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

OD = 0x2 - FNCSEL = 0x3 - Output is open drain

TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

GPIO6 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO5 interrupt direction.

INTDIS = 0x0 - INCFG = 1 - No interrupt on GPIO transition

0x0

RW INTBOTH = 0x1 - INCFG = 1 - Interrupt on either low to high or high to low

GPIO transition

INTLH = 0x0 - INCFG = 0 - Interrupt on low to high GPIO transition

INTHL = 0x1 - INCFG = 0 - Interrupt on high to low GPIO transition

DS-A3-0p9p1

Page 449 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

22:21 GPIO5OUTCFG

20

GPIO5INCFG

19

GPIO4INTD

18:17 GPIO4OUTCFG

16

GPIO4INCFG

15

GPIO3INTD

Table 652: CFGA Register Bits

Reset

RW GPIO5 output configuration.

Description

0x0

RW

DIS = 0x0 - FNCSEL = 0x3 - Output disabled PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

OD = 0x2 - FNCSEL = 0x3 - Output is open drain

TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

GPIO5 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO4 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x2 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x2 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x2, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x2, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x2, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x2, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO4 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE1 = 0x0 - FNCSEL = 0x2 - IOM3 nCE, Channel 1

M4nCE1 = 0x1 - FNCSEL = 0x2 - IOM4 nCE, Channel 1

M5nCE1 = 0x2 - FNCSEL = 0x2 - IOM5 nCE, Channel 1

M1nCE1 = 0x3 - FNCSEL = 0x2 - IOM1 nCE, Channel 1

GPIO4 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO3 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x2 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x2 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x2, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x2, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x2, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x2, INCFG = 0 - Interrupt on high to low GPIO

transition

DS-A3-0p9p1

Page 450 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

14:13 GPIO3OUTCFG

12

GPIO3INCFG

11

GPIO2INTD

10:9 GPIO2OUTCFG

8

GPIO2INCFG

7

GPIO1INTD

Table 652: CFGA Register Bits

Reset

RW GPIO3 output configuration.

Description

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE0 = 0x0 - FNCSEL = 0x2 - IOM3 nCE, Channel 0

M4nCE0 = 0x1 - FNCSEL = 0x2 - IOM4 nCE, Channel 0

M5nCE0 = 0x2 - FNCSEL = 0x2 - IOM5 nCE, Channel 0

M2nCE0 = 0x3 - FNCSEL = 0x2 - IOM2 nCE, Channel 0

GPIO3 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO2 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x7 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x7 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x7, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x7, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x7, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x7, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO2 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE3 = 0x0 - FNCSEL = 0x7 - IOM3 nCE, Channel 3

M4nCE3 = 0x1 - FNCSEL = 0x7 - IOM4 nCE, Channel 3

M5nCE3 = 0x2 - FNCSEL = 0x7 - IOM5 nCE, Channel 3

M2nCE1 = 0x3 - FNCSEL = 0x7 - IOM2 nCE, Channel 1

GPIO2 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO1 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x7 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x7 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x7, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x7, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x7, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x7, INCFG = 0 - Interrupt on high to low GPIO

transition

DS-A3-0p9p1

Page 451 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

6:5 GPIO1OUTCFG

4

GPIO1INCFG

3

GPIO0INTD

2:1 GPIO0OUTCFG

0

GPIO0INCFG

Table 652: CFGA Register Bits

Reset

RW GPIO1 output configuration.

Description

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE2 = 0x0 - FNCSEL = 0x7 - IOM0 nCE, Channel 2

M1nCE2 = 0x1 - FNCSEL = 0x7 - IOM1 nCE, Channel 2

M2nCE2 = 0x2 - FNCSEL = 0x7 - IOM2 nCE, Channel 2

MSPInCE0 = 0x3 - FNCSEL = 0x7 - MSPI nCE, Channel 0

GPIO1 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO0 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x7 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x7 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x7, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x7, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x7, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x7, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO0 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE2 = 0x0 - FNCSEL = 0x7 - IOM3 nCE, Channel 2

M4nCE2 = 0x1 - FNCSEL = 0x7 - IOM4 nCE, Channel 2

M5nCE2 = 0x2 - FNCSEL = 0x7 - IOM5 nCE, Channel 2

M1nCE3 = 0x3 - FNCSEL = 0x7 - IOM1 nCE, Channel 3

GPIO0 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

11.7.2.15CFGB Register
GPIO Configuration Register B (Pads 8-15) OFFSET: 0x00000044 INSTANCE 0 ADDRESS: 0x40010044 GPIO configuration controls for GPIO[15:8]. Writes to this register must be unlocked by the PADKEY register.

DS-A3-0p9p1

Page 452 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Table 653: CFGB Register
33222222222211111111110000000000 10987654321098765432109876543210

GPIO15INTD GPIO15OUTCFG
GPIO15INCFG GPIO14INTD GPIO14OUTCFG GPIO14INCFG GPIO13INTD GPIO13OUTCFG GPIO13INCFG GPIO12INTD GPIO12OUTCFG GPIO12INCFG GPIO11INTD GPIO11OUTCFG GPIO11INCFG GPIO10INTD GPIO10OUTCFG GPIO10INCFG GPIO9INTD GPIO9OUTCFG GPIO9INCFG GPIO8INTD GPIO8OUTCFG GPIO8INCFG

Bit

Name

31

GPIO15INTD

30:29

GPIO15OUTCFG

28

GPIO15INCFG

27

GPIO14INTD

Table 654: CFGB Register Bits

Reset

RW GPIO15 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO15 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE3 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 3

M1nCE3 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 3

M2nCE3 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 3

MSPInCE0 = 0x3 - FNCSEL = 0x1 - MSPI nCE, Channel 0

GPIO15 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO14 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

DS-A3-0p9p1

Page 453 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

26:25

GPIO14OUTCFG

24

GPIO14INCFG

23

GPIO13INTD

22:21

GPIO13OUTCFG

20

GPIO13INCFG

19

GPIO12INTD

Table 654: CFGB Register Bits

Reset

RW

Description

GPIO14 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE2 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 2

M1nCE2 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 2

M2nCE2 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 2

M4nCE2 = 0x3 - FNCSEL = 0x1 - IOM4 nCE, Channel 2

GPIO14 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO13 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO13 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE1 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 1

M4nCE1 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 1

M5nCE1 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 1

M0nCE1 = 0x3 - FNCSEL = 0x1 - IOM0 nCE, Channel 1

GPIO13 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO12 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

DS-A3-0p9p1

Page 454 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

18:17

GPIO12OUTCFG

16

GPIO12INCFG

15

GPIO11INTD

14:13

GPIO11OUTCFG

12

GPIO11INCFG

11

GPIO10INTD

Table 654: CFGB Register Bits

Reset

RW

Description

GPIO12 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE0 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 0

M4nCE0 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 0

M5nCE0 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 0

MSPInCE1 = 0x3 - FNCSEL = 0x1 - MPSI nCE, Channel 1

GPIO12 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO11 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO11 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE0 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 0

M1nCE0 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 0

M2nCE0 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 0

M3nCE0 = 0x3 - FNCSEL = 0x1 - IOM3 nCE, Channel 0

GPIO11 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO10 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x2 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x2 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x2, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x2, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x2, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x2, INCFG = 0 - Interrupt on high to low GPIO

transition

DS-A3-0p9p1

Page 455 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

10:9

GPIO10OUTCFG

8

GPIO10INCFG

7

GPIO9INTD

6:5 GPIO9OUTCFG

4

GPIO9INCFG

3

GPIO8INTD

Table 654: CFGB Register Bits

Reset

RW

Description

GPIO10 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE2 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 2

M4nCE2 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 2

M5nCE2 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 2

MSPInCE0 = 0x3 - FNCSEL = 0x1 - MPSI nCE, Channel 0

GPIO10 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO9 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x2 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x2 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x2, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x2, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x2, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x2, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO9 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE3 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 3

M4nCE3 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 3

M5nCE3 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 3

M2nCE3 = 0x3 - FNCSEL = 0x1 - IOM2 nCE, Channel 3

GPIO9 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO8 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x2 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x2 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x2, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x2, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x2, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x2, INCFG = 0 - Interrupt on high to low GPIO

transition

DS-A3-0p9p1

Page 456 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

2:1 GPIO8OUTCFG

0

GPIO8INCFG

Table 654: CFGB Register Bits

Reset

RW GPIO8 output configuration.

Description

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE0 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 0

M4nCE0 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 0

M5nCE0 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 0

M0nCE0 = 0x3 - FNCSEL = 0x1 - IOM0 nCE, Channel 0

GPIO8 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

11.7.2.16CFGC Register
GPIO Configuration Register C (Pads 16-23) OFFSET: 0x00000048 INSTANCE 0 ADDRESS: 0x40010048 GPIO configuration controls for GPIO[23:16]. Writes to this register must be unlocked by the PADKEY register.

Table 655: CFGC Register
33222222222211111111110000000000 10987654321098765432109876543210

GPIO23INTD GPIO23OUTCFG
GPIO23INCFG GPIO22INTD GPIO22OUTCFG GPIO22INCFG GPIO21INTD GPIO21OUTCFG GPIO21INCFG GPIO20INTD GPIO20OUTCFG GPIO20INCFG GPIO19INTD GPIO19OUTCFG GPIO19INCFG GPIO18INTD GPIO18OUTCFG GPIO18INCFG GPIO17INTD GPIO17OUTCFG GPIO17INCFG GPIO16INTD GPIO16OUTCFG GPIO16INCFG

DS-A3-0p9p1

Page 457 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31

GPIO23INTD

30:29

GPIO23OUTCFG

28

GPIO23INCFG

27

GPIO22INTD

26:25

GPIO22OUTCFG

24

GPIO22INCFG

Table 656: CFGC Register Bits

Reset

RW GPIO23 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO23 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE0 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 0

M1nCE0 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 0

M2nCE0 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 0

M4nCE0 = 0x3 - FNCSEL = 0x1 - IOM4 nCE, Channel 0

GPIO23 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO22 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO22 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE3 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 3

M4nCE3 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 3

M5nCE3 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 3

M0nCE3 = 0x3 - FNCSEL = 0x1 - IOM0 nCE, Channel 3

GPIO22 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 458 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

23

GPIO21INTD

22:21

GPIO21OUTCFG

20

GPIO21INCFG

19

GPIO20INTD

18:17

GPIO20OUTCFG

16

GPIO20INCFG

Table 656: CFGC Register Bits

Reset

RW GPIO21 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO21 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE2 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 2

M4nCE2 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 2

M5nCE2 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 2

M2nCE2 = 0x3 - FNCSEL = 0x1 - IOM2 nCE, Channel 2

GPIO21 input enable.

0x1

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO20 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO20 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE1 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 1

M4nCE1 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 1

M5nCE1 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 1

M2nCE1 = 0x3 - FNCSEL = 0x1 - IOM2 nCE, Channel 1

GPIO20 input enable.

0x1

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 459 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

15

GPIO19INTD

14:13

GPIO19OUTCFG

12

GPIO19INCFG

11

GPIO18INTD

10:9

GPIO18OUTCFG

8

GPIO18INCFG

Table 656: CFGC Register Bits

Reset

RW GPIO19 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO19 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE3 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 3

M1nCE3 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 3

M2nCE3 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 3

MSPInCE0 = 0x3 - FNCSEL = 0x1 - MSPI nCE, Channel 0

GPIO19 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO18 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO18 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE2 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 2

M1nCE2 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 2

M2nCE2 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 2

M3nCE2 = 0x3 - FNCSEL = 0x1 - IOM3 nCE, Channel 2

GPIO18 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 460 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7

GPIO17INTD

6:5

GPIO17OUTCFG

4

GPIO17INCFG

3

GPIO16INTD

2:1

GPIO16OUTCFG

0

GPIO16INCFG

Table 656: CFGC Register Bits

Reset

RW GPIO17 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO17 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE1 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 1

M1nCE1 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 1

M2nCE1 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 1

M4nCE1 = 0x3 - FNCSEL = 0x1 - IOM4 nCE, Channel 1

GPIO17 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO16 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO16 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE0 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 0

M1nCE0 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 0

M2nCE0 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 0

M5nCE0 = 0x3 - FNCSEL = 0x1 - IOM5 nCE, Channel 0

GPIO16 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 461 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
11.7.2.17CFGD Register
GPIO Configuration Register D (Pads 24-31) OFFSET: 0x0000004C INSTANCE 0 ADDRESS: 0x4001004C GPIO configuration controls for GPIO[31:24]. Writes to this register must be unlocked by the PADKEY register.
Table 657: CFGD Register
33222222222211111111110000000000 10987654321098765432109876543210

GPIO31INTD GPIO31OUTCFG
GPIO31INCFG GPIO30INTD GPIO30OUTCFG GPIO30INCFG GPIO29INTD GPIO29OUTCFG GPIO29INCFG GPIO28INTD GPIO28OUTCFG GPIO28INCFG GPIO27INTD GPIO27OUTCFG GPIO27INCFG GPIO26INTD GPIO26OUTCFG GPIO26INCFG GPIO25INTD GPIO25OUTCFG GPIO25INCFG GPIO24INTD GPIO24OUTCFG GPIO24INCFG

Bit

Name

31

GPIO31INTD

30:29

GPIO31OUTCFG

28

GPIO31INCFG

Table 658: CFGD Register Bits

Reset

RW GPIO31 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO31 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE0 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 0

M1nCE0 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 0

M2nCE0 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 0

M4nCE0 = 0x3 - FNCSEL = 0x1 - IOM4 nCE, Channel 0

GPIO31 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 462 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

27

GPIO30INTD

26:25

GPIO30OUTCFG

24

GPIO30INCFG

23

GPIO29INTD

22:21

GPIO29OUTCFG

20

GPIO29INCFG

Table 658: CFGD Register Bits

Reset

RW GPIO30 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO30 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE3 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 3

M4nCE3 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 3

M5nCE3 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 3

M0nCE3 = 0x3 - FNCSEL = 0x1 - IOM0 nCE, Channel 3

GPIO30 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO29 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO29 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE2 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 2

M4nCE2 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 2

M5nCE2 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 2

M1nCE2 = 0x3 - FNCSEL = 0x1 - IOM1 nCE, Channel 2

GPIO29 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 463 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

19

GPIO28INTD

18:17

GPIO28OUTCFG

16

GPIO28INCFG

15

GPIO27INTD

14:13

GPIO27OUTCFG

12

GPIO27INCFG

Table 658: CFGD Register Bits

Reset

RW GPIO28 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO28 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE1 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 1

M4nCE1 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 1

M5nCE1 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 1

MSPInCE0 = 0x3 - FNCSEL = 0x1 - MSPI nCE, Channel 0

GPIO28 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO27 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO27 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE0 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 0

M4nCE0 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 0

M5nCE0 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 0

M1nCE0 = 0x3 - FNCSEL = 0x1 - IOM1 nCE, Channel 0

GPIO27 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 464 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

11

GPIO26INTD

10:9

GPIO26OUTCFG

8

GPIO26INCFG

7

GPIO25INTD

6:5

GPIO25OUTCFG

4

GPIO25INCFG

Table 658: CFGD Register Bits

Reset

RW GPIO26 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO26 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE3 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 3

M4nCE3 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 3

M5nCE3 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 3

M1nCE3 = 0x3 - FNCSEL = 0x1 - IOM1 nCE, Channel 3

GPIO26 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO25 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO25 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE2 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 2

M4nCE2 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 2

M5nCE2 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 2

M0nCE2 = 0x3 - FNCSEL = 0x1 - IOM0 nCE, Channel 2

GPIO25 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 465 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3

GPIO24INTD

2:1

GPIO24OUTCFG

0

GPIO24INCFG

Table 658: CFGD Register Bits

Reset

RW GPIO24 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO24 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE1 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 1

M1nCE1 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 1

M2nCE1 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 1

M5nCE1 = 0x3 - FNCSEL = 0x1 - IOM5 nCE, Channel 1

GPIO24 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

11.7.2.18CFGE Register
GPIO Configuration Register E (Pads 32-39) OFFSET: 0x00000050 INSTANCE 0 ADDRESS: 0x40010050 GPIO configuration controls for GPIO[39:32]. Writes to this register must be unlocked by the PADKEY register.

Table 659: CFGE Register
33222222222211111111110000000000 10987654321098765432109876543210

GPIO39INTD GPIO39OUTCFG
GPIO39INCFG GPIO38INTD GPIO38OUTCFG GPIO38INCFG GPIO37INTD GPIO37OUTCFG GPIO37INCFG GPIO36INTD GPIO36OUTCFG GPIO36INCFG GPIO35INTD GPIO35OUTCFG GPIO35INCFG GPIO34INTD GPIO34OUTCFG GPIO34INCFG GPIO33INTD GPIO33OUTCFG GPIO33INCFG GPIO32INTD GPIO32OUTCFG GPIO32INCFG

DS-A3-0p9p1

Page 466 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31

GPIO39INTD

30:29

GPIO39OUTCFG

28

GPIO39INCFG

27

GPIO38INTD

26:25

GPIO38OUTCFG

24

GPIO38INCFG

Table 660: CFGE Register Bits

Reset

RW GPIO39 interrupt direction.

Description

INTDIS = 0x0 - INCFG = 1 - No interrupt on GPIO transition

0x0

RW INTBOTH = 0x1 - INCFG = 1 - Interrupt on either low to high or high to low

GPIO transition

INTLH = 0x0 - INCFG = 0 - Interrupt on low to high GPIO transition

INTHL = 0x1 - INCFG = 0 - Interrupt on high to low GPIO transition

GPIO39 output configuration.

0x0

RW

DIS = 0x0 - FNCSEL = 0x3 - Output disabled PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

OD = 0x2 - FNCSEL = 0x3 - Output is open drain

TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

GPIO39 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO38 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO38 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE3 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 3

M1nCE3 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 3

M2nCE3 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 3

M5nCE3 = 0x3 - FNCSEL = 0x1 - IOM5 nCE, Channel 3

GPIO38 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 467 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

23

GPIO37INTD

22:21

GPIO37OUTCFG

20

GPIO37INCFG

19

GPIO36INTD

18:17

GPIO36OUTCFG

16

GPIO36INCFG

Table 660: CFGE Register Bits

Reset

RW GPIO37 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO37 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE2 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 2

M4nCE2 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 2

M5nCE2 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 2

M0nCE2 = 0x3 - FNCSEL = 0x1 - IOM0 nCE, Channel 2

GPIO37 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO36 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO36 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE1 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 1

M4nCE1 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 1

M5nCE1 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 1

MSPInCE1 = 0x3 - FNCSEL = 0x1 - MSPI nCE, Channel 1

GPIO36 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 468 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

15

GPIO35INTD

14:13

GPIO35OUTCFG

12

GPIO35INCFG

11

GPIO34INTD

10:9

GPIO34OUTCFG

8

GPIO34INCFG

Table 660: CFGE Register Bits

Reset

RW GPIO35 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO35 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE0 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 0

M1nCE0 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 0

M2nCE0 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 0

M3nCE0 = 0x3 - FNCSEL = 0x1 - IOM3 nCE, Channel 0

GPIO35 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO34 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO34 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE3 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 3

M1nCE3 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 3

M2nCE3 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 3

M3nCE3 = 0x3 - FNCSEL = 0x1 - IOM3 nCE, Channel 3

GPIO34 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 469 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7

GPIO33INTD

6:5

GPIO33OUTCFG

4

GPIO33INCFG

3

GPIO32INTD

2:1

GPIO32OUTCFG

0

GPIO32INCFG

Table 660: CFGE Register Bits

Reset

RW GPIO33 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO33 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE2 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 2

M1nCE2 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 2

M2nCE2 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 2

M5nCE2 = 0x3 - FNCSEL = 0x1 - IOM5 nCE, Channel 2

GPIO33 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO32 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO32 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE1 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 1

M1nCE1 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 1

M2nCE1 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 1

MSPInCE1 = 0x3 - FNCSEL = 0x1 - MSPI nCE, Channel 1

GPIO32 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 470 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
11.7.2.19CFGF Register
GPIO Configuration Register F (Pads 40 -47) OFFSET: 0x00000054 INSTANCE 0 ADDRESS: 0x40010054 GPIO configuration controls for GPIO[47:40]. Writes to this register must be unlocked by the PADKEY register.
Table 661: CFGF Register
33222222222211111111110000000000 10987654321098765432109876543210

GPIO47INTD GPIO47OUTCFG
GPIO47INCFG GPIO46INTD GPIO46OUTCFG GPIO46INCFG GPIO45INTD GPIO45OUTCFG GPIO45INCFG GPIO44INTD GPIO44OUTCFG GPIO44INCFG GPIO43INTD GPIO43OUTCFG GPIO43INCFG GPIO42INTD GPIO42OUTCFG GPIO42INCFG GPIO41INTD GPIO41OUTCFG GPIO41INCFG GPIO40INTD GPIO40OUTCFG GPIO40INCFG

Bit

Name

31

GPIO47INTD

30:29

GPIO47OUTCFG

28

GPIO47INCFG

Table 662: CFGF Register Bits

Reset

RW GPIO47 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO47 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE1 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 1

M1nCE1 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 1

M2nCE1 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 1

M3nCE1 = 0x3 - FNCSEL = 0x1 - IOM3 nCE, Channel 1

GPIO47 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 471 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

27

GPIO46INTD

26:25

GPIO46OUTCFG

24

GPIO46INCFG

23

GPIO45INTD

22:21

GPIO45OUTCFG

20

GPIO45INCFG

Table 662: CFGF Register Bits

Reset

RW GPIO46 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO46 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE0 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 0

M4nCE0 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 0

M5nCE0 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 0

MSPInCE1 = 0x3 - FNCSEL = 0x1 - MSPI nCE, Channel 1

GPIO46 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO45 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO45 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M3nCE3 = 0x0 - FNCSEL = 0x1 - IOM3 nCE, Channel 3

M4nCE3 = 0x1 - FNCSEL = 0x1 - IOM4 nCE, Channel 3

M5nCE3 = 0x2 - FNCSEL = 0x1 - IOM5 nCE, Channel 3

M1nCE3 = 0x3 - FNCSEL = 0x1 - IOM1 nCE, Channel 3

GPIO45 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 472 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

19

GPIO44INTD

18:17

GPIO44OUTCFG

16

GPIO44INCFG

15

GPIO43INTD

14:13

GPIO43OUTCFG

12

GPIO43INCFG

Table 662: CFGF Register Bits

Reset

RW GPIO44 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO44 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE2 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 2

M1nCE2 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 2

M2nCE2 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 2

M5nCE2 = 0x3 - FNCSEL = 0x1 - IOM5 nCE, Channel 2

GPIO44 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO43 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO43 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE1 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 1

M1nCE1 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 1

M2nCE1 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 1

MSPInCE1 = 0x3 - FNCSEL = 0x1 - MSPI nCE, Channel 1

GPIO43 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 473 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

11

GPIO42INTD

10:9

GPIO42OUTCFG

8

GPIO42INCFG

7

GPIO41INTD

6:5

GPIO41OUTCFG

4

GPIO41INCFG

Table 662: CFGF Register Bits

Reset

RW GPIO42 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO42 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE0 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 0

M1nCE0 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 0

M2nCE0 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 0

M5nCE0 = 0x3 - FNCSEL = 0x1 - IOM5 nCE, Channel 0

GPIO42 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO41 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x0 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x0 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x0, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x0, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x0, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x0, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO41 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE1 = 0x0 - FNCSEL = 0x0 - IOM0 nCE, Channel 1

M1nCE1 = 0x1 - FNCSEL = 0x0 - IOM1 nCE, Channel 1

M2nCE1 = 0x2 - FNCSEL = 0x0 - IOM2 nCE, Channel 1

MSPInCE1 = 0x3 - FNCSEL = 0x0 - MSPI nCE, Channel 1

GPIO41 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 474 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3

GPIO40INTD

2:1

GPIO40OUTCFG

0

GPIO40INCFG

Table 662: CFGF Register Bits

Reset

RW GPIO40 interrupt direction.

Description

INTDIS = 0x0 - INCFG = 1 - No interrupt on GPIO transition

0x0

RW INTBOTH = 0x1 - INCFG = 1 - Interrupt on either low to high or high to low

GPIO transition

INTLH = 0x0 - INCFG = 0 - Interrupt on low to high GPIO transition

INTHL = 0x1 - INCFG = 0 - Interrupt on high to low GPIO transition

GPIO40 output configuration.

0x0

RW

DIS = 0x0 - FNCSEL = 0x3 - Output disabled PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

OD = 0x2 - FNCSEL = 0x3 - Output is open drain

TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

GPIO40 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

11.7.2.20CFGG Register
GPIO Configuration Register G (Pads 48-49) OFFSET: 0x00000058 INSTANCE 0 ADDRESS: 0x40010058 GPIO configuration controls for GPIO[49:48]. Writes to this register must be unlocked by the PADKEY register.

Table 663: CFGG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

GPIO49INTD GPIO49OUTCFG
GPIO49INCFG GPIO48INTD GPIO48OUTCFG GPIO48INCFG

Bit

Name

31:8

RSVD

Table 664: CFGG Register Bits

Reset 0x0

RW RO RESERVED

Description

DS-A3-0p9p1

Page 475 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7

GPIO49INTD

6:5

GPIO49OUTCFG

4

GPIO49INCFG

3

GPIO48INTD

2:1

GPIO48OUTCFG

0

GPIO48INCFG

Table 664: CFGG Register Bits

Reset

RW GPIO49 interrupt direction.

Description

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO49 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE3 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 3

M1nCE3 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 3

M2nCE3 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 3

M4nCE3 = 0x3 - FNCSEL = 0x1 - IOM4 nCE, Channel 3

GPIO49 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

GPIO48 interrupt direction.

nCELOW = 0x0 - FNCSEL = 0x1 - nCE polarity active low

nCEHIGH = 0x1 - FNCSEL = 0x1 - nCE polarity active high

INTDIS = 0x0 - FNCSEL != 0x1, INCFG = 1 - No interrupt on GPIO transi-

0x0

RW

tion INTBOTH = 0x1 - FNCSEL != 0x1, INCFG = 1 - Interrupt on either low to

high or high to low GPIO transition

INTLH = 0x0 - FNCSEL != 0x1, INCFG = 0 - Interrupt on low to high GPIO

transition

INTHL = 0x1 - FNCSEL != 0x1, INCFG = 0 - Interrupt on high to low GPIO

transition

GPIO48 output configuration.

DIS = 0x0 - FNCSEL = 0x3 - Output disabled

PUSHPULL = 0x1 - FNCSEL = 0x3 - Output is push-pull

0x0

RW

OD = 0x2 - FNCSEL = 0x3 - Output is open drain TS = 0x3 - FNCSEL = 0x3 - Output is tri-state

M0nCE2 = 0x0 - FNCSEL = 0x1 - IOM0 nCE, Channel 2

M1nCE2 = 0x1 - FNCSEL = 0x1 - IOM1 nCE, Channel 2

M2nCE2 = 0x2 - FNCSEL = 0x1 - IOM2 nCE, Channel 2

M3nCE2 = 0x3 - FNCSEL = 0x1 - IOM3 nCE, Channel 2

GPIO48 input enable.

0x0

RW READ = 0x0 - Read the GPIO pin data

RDZERO = 0x1 - INTD = 0 - Readback will always be zero

READEN = 0x1 - INTD = 1 - Read the GPIO pin data

DS-A3-0p9p1

Page 476 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

11.7.2.21PADKEY Register
Key Register for all pad configuration registers OFFSET: 0x00000060 INSTANCE 0 ADDRESS: 0x40010060 Key Register for all pad configuration registers
Table 665: PADKEY Register
33222222222211111111110000000000 10987654321098765432109876543210
PADKEY

Bit

Name

31:0

PADKEY

Table 666: PADKEY Register Bits

Reset 0x0

RW
Key register value. RW
Key = 0x73 - Key

Description

11.7.2.22RDA Register
GPIO Input Register A OFFSET: 0x00000080 INSTANCE 0 ADDRESS: 0x40010080 GPIO Input Register A

Table 667: RDA Register
33222222222211111111110000000000 10987654321098765432109876543210
RDA

Bit

Name

31:0

RDA

Reset 0x0

Table 668: RDA Register Bits

RW RO GPIO31-0 read data.

Description

11.7.2.23RDB Register
GPIO Input Register B OFFSET: 0x00000084

DS-A3-0p9p1

Page 477 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

INSTANCE 0 ADDRESS: 0x40010084 GPIO Input Register B

Table 669: RDB Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RDB

Bit 31:18 17:0

Name RSVD RDB

Reset 0x0 0x0

Table 670: RDB Register Bits

RW RO RESERVED

Description

RO GPIO49-32 read data.

11.7.2.24WTA Register
GPIO Output Register A OFFSET: 0x00000088 INSTANCE 0 ADDRESS: 0x40010088 GPIO Output Register A

Table 671: WTA Register
33222222222211111111110000000000 10987654321098765432109876543210
WTA

Bit

Name

31:0

WTA

Reset 0x0

Table 672: WTA Register Bits

RW RW GPIO31-0 write data.

Description

11.7.2.25WTB Register
GPIO Output Register B OFFSET: 0x0000008C INSTANCE 0 ADDRESS: 0x4001008C GPIO Output Register B

DS-A3-0p9p1

Page 478 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 673: WTB Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

WTB

Bit 31:18 17:0

Name RSVD WTB

Table 674: WTB Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW GPIO49-32 write data.

11.7.2.26WTSA Register
GPIO Output Register A Set OFFSET: 0x00000090 INSTANCE 0 ADDRESS: 0x40010090 GPIO Output Register A Set

Table 675: WTSA Register
33222222222211111111110000000000 10987654321098765432109876543210
WTSA

Bit

Name

31:0

WTSA

Table 676: WTSA Register Bits

Reset 0x0

RW

Description

WO Set the GPIO31-0 write data.

11.7.2.27WTSB Register
GPIO Output Register B Set OFFSET: 0x00000094 INSTANCE 0 ADDRESS: 0x40010094 GPIO Output Register B Set

DS-A3-0p9p1

Page 479 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 677: WTSB Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

WTSB

Bit 31:18 17:0

Name RSVD WTSB

Table 678: WTSB Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

WO Set the GPIO49-32 write data.

11.7.2.28WTCA Register
GPIO Output Register A Clear OFFSET: 0x00000098 INSTANCE 0 ADDRESS: 0x40010098 GPIO Output Register A Clear

Table 679: WTCA Register
33222222222211111111110000000000 10987654321098765432109876543210
WTCA

Bit

Name

31:0

WTCA

Table 680: WTCA Register Bits

Reset 0x0

RW

Description

WO Clear the GPIO31-0 write data.

11.7.2.29WTCB Register
GPIO Output Register B Clear OFFSET: 0x0000009C INSTANCE 0 ADDRESS: 0x4001009C GPIO Output Register B Clear

DS-A3-0p9p1

Page 480 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 681: WTCB Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

WTCB

Bit 31:18 17:0

Name RSVD WTCB

Table 682: WTCB Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

WO Clear the GPIO49-32 write data.

11.7.2.30ENA Register
GPIO Enable Register A OFFSET: 0x000000A0 INSTANCE 0 ADDRESS: 0x400100A0 GPIO Enable Register A

Table 683: ENA Register
33222222222211111111110000000000 10987654321098765432109876543210
ENA

Bit

Name

31:0

ENA

Reset 0x0

Table 684: ENA Register Bits

RW RW GPIO31-0 output enables

Description

11.7.2.31ENB Register
GPIO Enable Register B OFFSET: 0x000000A4 INSTANCE 0 ADDRESS: 0x400100A4 GPIO Enable Register B

DS-A3-0p9p1

Page 481 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 685: ENB Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ENB

Bit 31:18 17:0

Name RSVD ENB

Reset 0x0 0x0

Table 686: ENB Register Bits

RW RO RESERVED

Description

RW GPIO49-32 output enables

11.7.2.32ENSA Register
GPIO Enable Register A Set OFFSET: 0x000000A8 INSTANCE 0 ADDRESS: 0x400100A8 GPIO Enable Register A Set

Table 687: ENSA Register
33222222222211111111110000000000 10987654321098765432109876543210
ENSA

Bit

Name

31:0

ENSA

Table 688: ENSA Register Bits

Reset 0x0

RW

Description

RW Set the GPIO31-0 output enables

11.7.2.33ENSB Register
GPIO Enable Register B Set OFFSET: 0x000000AC INSTANCE 0 ADDRESS: 0x400100AC GPIO Enable Register B Set

DS-A3-0p9p1

Page 482 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 689: ENSB Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ENSB

Bit 31:18 17:0

Name RSVD ENSB

Table 690: ENSB Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Set the GPIO49-32 output enables

11.7.2.34ENCA Register
GPIO Enable Register A Clear OFFSET: 0x000000B4 INSTANCE 0 ADDRESS: 0x400100B4 GPIO Enable Register A Clear

Table 691: ENCA Register
33222222222211111111110000000000 10987654321098765432109876543210
ENCA

Bit

Name

31:0

ENCA

Table 692: ENCA Register Bits

Reset 0x0

RW

Description

RW Clear the GPIO31-0 output enables

11.7.2.35ENCB Register
GPIO Enable Register B Clear OFFSET: 0x000000B8 INSTANCE 0 ADDRESS: 0x400100B8 GPIO Enable Register B Clear

DS-A3-0p9p1

Page 483 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 693: ENCB Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ENCB

Bit 31:18 17:0

Name RSVD ENCB

Table 694: ENCB Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Clear the GPIO49-32 output enables

11.7.2.36STMRCAP Register
STIMER Capture Control OFFSET: 0x000000BC INSTANCE 0 ADDRESS: 0x400100BC STIMER Capture trigger select and enable.

Table 695: STMRCAP Register
33222222222211111111110000000000 10987654321098765432109876543210

STSEL3

STSEL2

STSEL1

STSEL0

RSVD STPOL3
RSVD STPOL2
RSVD STPOL1
RSVD STPOL0

Bit

Name

31

RSVD

30

STPOL3

29:24 23

STSEL3 RSVD

Table 696: STMRCAP Register Bits

Reset 0x0

RW RO RESERVED

Description

STIMER Capture 3 Polarity.

0x0

RW CAPLH = 0x0 - Capture on low to high GPIO transition

CAPHL = 0x1 - Capture on high to low GPIO transition

0x3f

RW STIMER Capture 3 Select.

0x0

RO RESERVED

DS-A3-0p9p1

Page 484 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

22

STPOL2

21:16 15

STSEL2 RSVD

14

STPOL1

13:8

STSEL1

7

RSVD

6

STPOL0

5:0

STSEL0

Table 696: STMRCAP Register Bits

Reset 0x0 0x3f

RW

Description

STIMER Capture 2 Polarity.
RW CAPLH = 0x0 - Capture on low to high GPIO transition CAPHL = 0x1 - Capture on high to low GPIO transition

RW STIMER Capture 2 Select.

0x0

RO RESERVED

STIMER Capture 1 Polarity.

0x0

RW CAPLH = 0x0 - Capture on low to high GPIO transition

CAPHL = 0x1 - Capture on high to low GPIO transition

0x3f

RW STIMER Capture 1 Select.

0x0

RO RESERVED

STIMER Capture 0 Polarity.

0x0

RW CAPLH = 0x0 - Capture on low to high GPIO transition

CAPHL = 0x1 - Capture on high to low GPIO transition

0x3f

RW STIMER Capture 0 Select.

11.7.2.37IOM0IRQ Register
IOM0 Flow Control IRQ Select OFFSET: 0x000000C0 INSTANCE 0 ADDRESS: 0x400100C0 IOMSTR0 IRQ select for flow control.

Table 697: IOM0IRQ Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

IOM0IRQ

Bit

Name

31:6

RSVD

5:0

IOM0IRQ

Table 698: IOM0IRQ Register Bits

Reset 0x0

RW RO RESERVED

Description

0x3f

RW IOMSTR0 IRQ pad select.

DS-A3-0p9p1

Page 485 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

11.7.2.38IOM1IRQ Register
IOM1 Flow Control IRQ Select OFFSET: 0x000000C4 INSTANCE 0 ADDRESS: 0x400100C4 IOMSTR1 IRQ select for flow control.

Table 699: IOM1IRQ Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

IOM1IRQ

Bit

Name

31:6

RSVD

5:0

IOM1IRQ

Table 700: IOM1IRQ Register Bits

Reset 0x0

RW RO RESERVED

Description

0x3f

RW IOMSTR1 IRQ pad select.

11.7.2.39IOM2IRQ Register
IOM2 Flow Control IRQ Select OFFSET: 0x000000C8 INSTANCE 0 ADDRESS: 0x400100C8 IOMSTR2 IRQ select for flow control.

Table 701: IOM2IRQ Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

IOM2IRQ

Bit

Name

31:6

RSVD

5:0

IOM2IRQ

Table 702: IOM2IRQ Register Bits

Reset 0x0

RW RO RESERVED

Description

0x3f

RW IOMSTR2 IRQ pad select.

DS-A3-0p9p1

Page 486 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

11.7.2.40IOM3IRQ Register
IOM3 Flow Control IRQ Select OFFSET: 0x000000CC INSTANCE 0 ADDRESS: 0x400100CC IOMSTR3 IRQ select for flow control.

Table 703: IOM3IRQ Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

IOM3IRQ

Bit

Name

31:6

RSVD

5:0

IOM3IRQ

Table 704: IOM3IRQ Register Bits

Reset 0x0

RW RO RESERVED

Description

0x3f

RW IOMSTR3 IRQ pad select.

11.7.2.41IOM4IRQ Register
IOM4 Flow Control IRQ Select OFFSET: 0x000000D0 INSTANCE 0 ADDRESS: 0x400100D0 IOMSTR4 IRQ select for flow control.

Table 705: IOM4IRQ Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

IOM4IRQ

Bit

Name

31:6

RSVD

5:0

IOM4IRQ

Table 706: IOM4IRQ Register Bits

Reset 0x0

RW RO RESERVED

Description

0x3f

RW IOMSTR4 IRQ pad select.

DS-A3-0p9p1

Page 487 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

11.7.2.42IOM5IRQ Register
IOM5 Flow Control IRQ Select OFFSET: 0x000000D4 INSTANCE 0 ADDRESS: 0x400100D4 IOMSTR5 IRQ select for flow control.

Table 707: IOM5IRQ Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

IOM5IRQ

Bit

Name

31:6

RSVD

5:0

IOM5IRQ

Table 708: IOM5IRQ Register Bits

Reset 0x0

RW RO RESERVED

Description

0x3f

RW IOMSTR5 IRQ pad select.

11.7.2.43BLEIFIRQ Register
BLEIF Flow Control IRQ Select OFFSET: 0x000000D8 INSTANCE 0 ADDRESS: 0x400100D8 BLE IF IRQ select for flow control.

Table 709: BLEIFIRQ Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

BLEIFIRQ

Bit

Name

31:6

RSVD

5:0

BLEIFIRQ

Table 710: BLEIFIRQ Register Bits

Reset 0x0

RW RO RESERVED

Description

0x3f

RW BLEIF IRQ pad select.

DS-A3-0p9p1

Page 488 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

11.7.2.44GPIOOBS Register
GPIO Observation Mode Sample register OFFSET: 0x000000DC INSTANCE 0 ADDRESS: 0x400100DC GPIO Observation mode sample register

Table 711: GPIOOBS Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

OBS_DATA

Bit 31:16

Name RSVD

15:0

OBS_DATA

Table 712: GPIOOBS Register Bits

Reset 0x0

RW RO RESERVED

Description

Sample of the data output on the GPIO observation port. May have async

0x0

RW

sampling issues, as the data is not synronized to the read operation. Intended for debug purposes only

11.7.2.45ALTPADCFGA Register
Alternate Pad Configuration reg0 (Pads 3,2,1,0) OFFSET: 0x000000E0 INSTANCE 0 ADDRESS: 0x400100E0 This register has additional configuration control for pads 3, 2, 1, 0

Table 713: ALTPADCFGA Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

PAD3_SR PAD3_DS1 PAD2_SR PAD2_DS1 PAD1_SR PAD1_DS1 PAD0_SR PAD0_DS1

Bit 31:29

Name RSVD

DS-A3-0p9p1

Table 714: ALTPADCFGA Register Bits

Reset 0x0

RW RO RESERVED

Description

Page 489 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

28

PAD3_SR

27:25

RSVD

24

PAD3_DS1

23:21

RSVD

20

PAD2_SR

19:17

RSVD

16

PAD2_DS1

15:13

RSVD

12

PAD1_SR

11:9

RSVD

8

PAD1_DS1

7:5

RSVD

4

PAD0_SR

3:1

RSVD

0

PAD0_DS1

Table 714: ALTPADCFGA Register Bits

Reset 0x0 0x0

RW

Description

Pad 3 slew rate selection. RW
SR_EN = 0x1 - Enables Slew rate control on pad

RO RESERVED

Pad 3 high order drive strength selection. Used in conjunction with

0x0

RW PAD3STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 2 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 2 high order drive strength selection. Used in conjunction with

0x0

RW PAD2STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 1 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 1 high order drive strength selection. Used in conjunction with

0x0

RW PAD1STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 0 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 0 high order drive strength selection. Used in conjunction with

0x0

RW PAD0STRNG field to set the pad drive strength.

11.7.2.46ALTPADCFGB Register
Alternate Pad Configuration reg1 (Pads 7,6,5,4) OFFSET: 0x000000E4 INSTANCE 0 ADDRESS: 0x400100E4 This register has additional configuration control for pads 7, 6, 5, 4

DS-A3-0p9p1

Page 490 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 715: ALTPADCFGB Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

PAD7_SR PAD7_DS1 PAD6_SR PAD6_DS1 PAD5_SR PAD5_DS1 PAD4_SR PAD4_DS1

Bit 31:29

Name RSVD

28

PAD7_SR

27:25

RSVD

24

PAD7_DS1

23:21

RSVD

20

PAD6_SR

19:17

RSVD

16

PAD6_DS1

15:13

RSVD

12

PAD5_SR

11:9

RSVD

8

PAD5_DS1

7:5

RSVD

4

PAD4_SR

Table 716: ALTPADCFGB Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 7 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 7 high order drive strength selection. Used in conjunction with

0x0

RW PAD7STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 6 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 6 high order drive strength selection. Used in conjunction with

0x0

RW PAD6STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 5 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 5 high order drive strength selection. Used in conjunction with

0x0

RW PAD5STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 4 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

DS-A3-0p9p1

Page 491 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3:1

RSVD

0

PAD4_DS1

Table 716: ALTPADCFGB Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 4 high order drive strength selection. Used in conjunction with

0x0

RW PAD4STRNG field to set the pad drive strength.

11.7.2.47ALTPADCFGC Register
Alternate Pad Configuration reg2 (Pads 11,10,9,8) OFFSET: 0x000000E8 INSTANCE 0 ADDRESS: 0x400100E8 This register has additional configuration control for pads 11, 10, 9, 8

Table 717: ALTPADCFGC Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

PAD11_SR PAD11_DS1 PAD10_SR PAD10_DS1
PAD9_SR PAD9_DS1 PAD8_SR PAD8_DS1

Bit 31:29

Name RSVD

28

PAD11_SR

27:25

RSVD

24

PAD11_DS1

23:21

RSVD

20

PAD10_SR

19:17

RSVD

16

PAD10_DS1

Table 718: ALTPADCFGC Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 11 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 11 high order drive strength selection. Used in conjunction with

0x0

RW PAD11STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 10 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 10 high order drive strength selection. Used in conjunction with

0x0

RW PAD10STRNG field to set the pad drive strength.

DS-A3-0p9p1

Page 492 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 15:13

Name RSVD

12

PAD9_SR

11:9

RSVD

8

PAD9_DS1

7:5

RSVD

4

PAD8_SR

3:1

RSVD

0

PAD8_DS1

Table 718: ALTPADCFGC Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 9 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 9 high order drive strength selection. Used in conjunction with

0x0

RW PAD9STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 8 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 8 high order drive strength selection. Used in conjunction with

0x0

RW PAD8STRNG field to set the pad drive strength.

11.7.2.48ALTPADCFGD Register
Alternate Pad Configuration reg3 (Pads 15,14,13,12) OFFSET: 0x000000EC INSTANCE 0 ADDRESS: 0x400100EC This register has additional configuration control for pads 15, 14, 13, 12

Table 719: ALTPADCFGD Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

PAD15_SR PAD15_DS1 PAD14_SR PAD14_DS1 PAD13_SR PAD13_DS1 PAD12_SR PAD12_DS1

Bit 31:29

Name RSVD

28

PAD15_SR

DS-A3-0p9p1

Table 720: ALTPADCFGD Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 15 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

Page 493 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 27:25

Name RSVD

24

PAD15_DS1

23:21

RSVD

20

PAD14_SR

19:17

RSVD

16

PAD14_DS1

15:13

RSVD

12

PAD13_SR

11:9

RSVD

8

PAD13_DS1

7:5

RSVD

4

PAD12_SR

3:1

RSVD

0

PAD12_DS1

Table 720: ALTPADCFGD Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 15 high order drive strength selection. Used in conjunction with

0x0

RW PAD15STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 14 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 14 high order drive strength selection. Used in conjunction with

0x0

RW PAD14STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 13 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 13 high order drive strength selection. Used in conjunction with

0x0

RW PAD13STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 12 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 12 high order drive strength selection. Used in conjunction with

0x0

RW PAD12STRNG field to set the pad drive strength.

11.7.2.49ALTPADCFGE Register
Alternate Pad Configuration reg4 (Pads 19,18,17,16) OFFSET: 0x000000F0 INSTANCE 0 ADDRESS: 0x400100F0 This register has additional configuration control for pads 19, 18, 17, 16

DS-A3-0p9p1

Page 494 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 721: ALTPADCFGE Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

PAD19_SR PAD19_DS1 PAD18_SR PAD18_DS1 PAD17_SR PAD17_DS1 PAD16_SR PAD16_DS1

Bit 31:29

Name RSVD

28

PAD19_SR

27:25

RSVD

24

PAD19_DS1

23:21

RSVD

20

PAD18_SR

19:17

RSVD

16

PAD18_DS1

15:13

RSVD

12

PAD17_SR

11:9

RSVD

8

PAD17_DS1

7:5

RSVD

4

PAD16_SR

Table 722: ALTPADCFGE Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 19 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 19 high order drive strength selection. Used in conjunction with

0x0

RW PAD19STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 18 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 18 high order drive strength selection. Used in conjunction with

0x0

RW PAD18STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 17 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 17 high order drive strength selection. Used in conjunction with

0x0

RW PAD17STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 16 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

DS-A3-0p9p1

Page 495 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3:1

RSVD

0

PAD16_DS1

Table 722: ALTPADCFGE Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 16 high order drive strength selection. Used in conjunction with

0x0

RW PAD16STRNG field to set the pad drive strength.

11.7.2.50ALTPADCFGF Register
Alternate Pad Configuration reg5 (Pads 23,22,21,20) OFFSET: 0x000000F4 INSTANCE 0 ADDRESS: 0x400100F4 This register has additional configuration control for pads 23, 22, 21, 20

Table 723: ALTPADCFGF Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

PAD23_SR PAD23_DS1 PAD22_SR PAD22_DS1 PAD21_SR PAD21_DS1 PAD20_SR PAD20_DS1

Bit 31:29

Name RSVD

28

PAD23_SR

27:25

RSVD

24

PAD23_DS1

23:21

RSVD

20

PAD22_SR

19:17

RSVD

16

PAD22_DS1

Table 724: ALTPADCFGF Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 23 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 23 high order drive strength selection. Used in conjunction with

0x0

RW PAD23STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 22 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 22 high order drive strength selection. Used in conjunction with

0x0

RW PAD22STRNG field to set the pad drive strength.

DS-A3-0p9p1

Page 496 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 15:13

Name RSVD

12

PAD21_SR

11:9

RSVD

8

PAD21_DS1

7:5

RSVD

4

PAD20_SR

3:1

RSVD

0

PAD20_DS1

Table 724: ALTPADCFGF Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 21 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 21 high order drive strength selection. Used in conjunction with

0x0

RW PAD21STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 20 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 20 high order drive strength selection. Used in conjunction with

0x0

RW PAD20STRNG field to set the pad drive strength.

11.7.2.51ALTPADCFGG Register
Alternate Pad Configuration reg6 (Pads 27,26,25,24) OFFSET: 0x000000F8 INSTANCE 0 ADDRESS: 0x400100F8 This register has additional configuration control for pads 27, 26, 25, 24

Table 725: ALTPADCFGG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

PAD27_SR PAD27_DS1 PAD26_SR PAD26_DS1 PAD25_SR PAD25_DS1 PAD24_SR PAD24_DS1

Bit 31:29

Name RSVD

28

PAD27_SR

DS-A3-0p9p1

Table 726: ALTPADCFGG Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 27 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

Page 497 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 27:25

Name RSVD

24

PAD27_DS1

23:21

RSVD

20

PAD26_SR

19:17

RSVD

16

PAD26_DS1

15:13

RSVD

12

PAD25_SR

11:9

RSVD

8

PAD25_DS1

7:5

RSVD

4

PAD24_SR

3:1

RSVD

0

PAD24_DS1

Table 726: ALTPADCFGG Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 27 high order drive strength selection. Used in conjunction with

0x0

RW PAD27STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 26 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 26 high order drive strength selection. Used in conjunction with

0x0

RW PAD26STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 25 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 25 high order drive strength selection. Used in conjunction with

0x0

RW PAD25STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 24 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 24 high order drive strength selection. Used in conjunction with

0x0

RW PAD24STRNG field to set the pad drive strength.

11.7.2.52ALTPADCFGH Register
Alternate Pad Configuration reg7 (Pads 31,30,29,28) OFFSET: 0x000000FC INSTANCE 0 ADDRESS: 0x400100FC This register has additional configuration control for pads 31, 30, 29, 28

DS-A3-0p9p1

Page 498 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 727: ALTPADCFGH Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

PAD31_SR PAD31_DS1 PAD30_SR PAD30_DS1 PAD29_SR PAD29_DS1 PAD28_SR PAD28_DS1

Bit 31:29

Name RSVD

28

PAD31_SR

27:25

RSVD

24

PAD31_DS1

23:21

RSVD

20

PAD30_SR

19:17

RSVD

16

PAD30_DS1

15:13

RSVD

12

PAD29_SR

11:9

RSVD

8

PAD29_DS1

7:5

RSVD

4

PAD28_SR

Table 728: ALTPADCFGH Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 31 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 31 high order drive strength selection. Used in conjunction with

0x0

RW PAD31STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 30 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 30 high order drive strength selection. Used in conjunction with

0x0

RW PAD30STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 29 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 29 high order drive strength selection. Used in conjunction with

0x0

RW PAD29STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 28 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

DS-A3-0p9p1

Page 499 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3:1

RSVD

0

PAD28_DS1

Table 728: ALTPADCFGH Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 28 high order drive strength selection. Used in conjunction with

0x0

RW PAD28STRNG field to set the pad drive strength.

11.7.2.53ALTPADCFGI Register
Alternate Pad Configuration reg8 (Pads 35,34,33,32) OFFSET: 0x00000100 INSTANCE 0 ADDRESS: 0x40010100 This register has additional configuration control for pads 35, 34, 33, 32

Table 729: ALTPADCFGI Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

PAD35_SR PAD35_DS1 PAD34_SR PAD34_DS1 PAD33_SR PAD33_DS1 PAD32_SR PAD32_DS1

Bit 31:29

Name RSVD

28

PAD35_SR

27:25

RSVD

24

PAD35_DS1

23:21

RSVD

20

PAD34_SR

19:17

RSVD

16

PAD34_DS1

Table 730: ALTPADCFGI Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 35 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 35 high order drive strength selection. Used in conjunction with

0x0

RW PAD35STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 34 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 34 high order drive strength selection. Used in conjunction with

0x0

RW PAD34STRNG field to set the pad drive strength.

DS-A3-0p9p1

Page 500 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 15:13

Name RSVD

12

PAD33_SR

11:9

RSVD

8

PAD33_DS1

7:5

RSVD

4

PAD32_SR

3:1

RSVD

0

PAD32_DS1

Table 730: ALTPADCFGI Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 33 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 33 high order drive strength selection. Used in conjunction with

0x0

RW PAD33STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 32 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 32 high order drive strength selection. Used in conjunction with

0x0

RW PAD32STRNG field to set the pad drive strength.

11.7.2.54ALTPADCFGJ Register
Alternate Pad Configuration reg9 (Pads 39,38,37,36) OFFSET: 0x00000104 INSTANCE 0 ADDRESS: 0x40010104 This register has additional configuration control for pads 39, 38, 37, 36

Table 731: ALTPADCFGJ Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

PAD39_SR PAD39_DS1 PAD38_SR PAD38_DS1 PAD37_SR PAD37_DS1 PAD36_SR PAD36_DS1

Bit 31:29

Name RSVD

28

PAD39_SR

DS-A3-0p9p1

Table 732: ALTPADCFGJ Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 39 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

Page 501 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 27:25

Name RSVD

24

PAD39_DS1

23:21

RSVD

20

PAD38_SR

19:17

RSVD

16

PAD38_DS1

15:13

RSVD

12

PAD37_SR

11:9

RSVD

8

PAD37_DS1

7:5

RSVD

4

PAD36_SR

3:1

RSVD

0

PAD36_DS1

Table 732: ALTPADCFGJ Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 39 high order drive strength selection. Used in conjunction with

0x0

RW PAD39STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 38 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 38 high order drive strength selection. Used in conjunction with

0x0

RW PAD38STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 37 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 37 high order drive strength selection. Used in conjunction with

0x0

RW PAD37STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 36 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 36 high order drive strength selection. Used in conjunction with

0x0

RW PAD36STRNG field to set the pad drive strength.

11.7.2.55ALTPADCFGK Register
Alternate Pad Configuration reg10 (Pads 43,42,41,40) OFFSET: 0x00000108 INSTANCE 0 ADDRESS: 0x40010108 This register has additional configuration control for pads 43, 42, 41, 40

DS-A3-0p9p1

Page 502 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 733: ALTPADCFGK Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

PAD43_SR PAD43_DS1 PAD42_SR PAD42_DS1 PAD41_SR PAD41_DS1 PAD40_SR PAD40_DS1

Bit 31:29

Name RSVD

28

PAD43_SR

27:25

RSVD

24

PAD43_DS1

23:21

RSVD

20

PAD42_SR

19:17

RSVD

16

PAD42_DS1

15:13

RSVD

12

PAD41_SR

11:9

RSVD

8

PAD41_DS1

7:5

RSVD

4

PAD40_SR

Table 734: ALTPADCFGK Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 43 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 43 high order drive strength selection. Used in conjunction with

0x0

RW PAD43STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 42 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 42 high order drive strength selection. Used in conjunction with

0x0

RW PAD42STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 41 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 41 high order drive strength selection. Used in conjunction with

0x0

RW PAD41STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 40 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

DS-A3-0p9p1

Page 503 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3:1

RSVD

0

PAD40_DS1

Table 734: ALTPADCFGK Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 40 high order drive strength selection. Used in conjunction with

0x0

RW PAD40STRNG field to set the pad drive strength.

11.7.2.56ALTPADCFGL Register
Alternate Pad Configuration reg11 (Pads 47,46,45,44) OFFSET: 0x0000010C INSTANCE 0 ADDRESS: 0x4001010C This register has additional configuration control for pads 47, 46, 45, 44

Table 735: ALTPADCFGL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

RSVD

PAD47_SR PAD47_DS1 PAD46_SR PAD46_DS1 PAD45_SR PAD45_DS1 PAD44_SR PAD44_DS1

Bit 31:29

Name RSVD

28

PAD47_SR

27:25

RSVD

24

PAD47_DS1

23:21

RSVD

20

PAD46_SR

19:17

RSVD

16

PAD46_DS1

Table 736: ALTPADCFGL Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 47 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 47 high order drive strength selection. Used in conjunction with

0x0

RW PAD47STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 46 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 46 high order drive strength selection. Used in conjunction with

0x0

RW PAD46STRNG field to set the pad drive strength.

DS-A3-0p9p1

Page 504 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 15:13

Name RSVD

12

PAD45_SR

11:9

RSVD

8

PAD45_DS1

7:5

RSVD

4

PAD44_SR

3:1

RSVD

0

PAD44_DS1

Table 736: ALTPADCFGL Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 45 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 45 high order drive strength selection. Used in conjunction with

0x0

RW PAD45STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 44 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 44 high order drive strength selection. Used in conjunction with

0x0

RW PAD44STRNG field to set the pad drive strength.

11.7.2.57ALTPADCFGM Register
Alternate Pad Configuration reg12 (Pads 49,48) OFFSET: 0x00000110 INSTANCE 0 ADDRESS: 0x40010110 This register has additional configuration control for pads 49, 48

Table 737: ALTPADCFGM Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

PAD49_SR PAD49_DS1 PAD48_SR PAD48_DS1

Bit 31:13

Name RSVD

12

PAD49_SR

DS-A3-0p9p1

Table 738: ALTPADCFGM Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 49 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

Page 505 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

11:9

RSVD

8

PAD49_DS1

7:5

RSVD

4

PAD48_SR

3:1

RSVD

0

PAD48_DS1

Table 738: ALTPADCFGM Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad 49 high order drive strength selection. Used in conjunction with

0x0

RW PAD49STRNG field to set the pad drive strength.

0x0

RO RESERVED

Pad 48 slew rate selection.

0x0

RW

SR_EN = 0x1 - Enables Slew rate control on pad

0x0

RO RESERVED

Pad 48 high order drive strength selection. Used in conjunction with

0x0

RW PAD48STRNG field to set the pad drive strength.

11.7.2.58SCDET Register
SCARD Card Detect select OFFSET: 0x00000114 INSTANCE 0 ADDRESS: 0x40010114 Scard card detect select.

Table 739: SCDET Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

SCDET

Bit

Name

31:6

RSVD

5:0

SCDET

Table 740: SCDET Register Bits

Reset 0x0

RW RO RESERVED

Description

0x3f

RW SCARD card detect pad select.

11.7.2.59CTENCFG Register
Counter/Timer Enable Config OFFSET: 0x00000118 INSTANCE 0 ADDRESS: 0x40010118 Pad enable configuration.

DS-A3-0p9p1

Page 506 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Table 741: CTENCFG Register
33222222222211111111110000000000 10987654321098765432109876543210

EN31 EN30 EN29 EN28 EN27 EN26 EN25 EN24 EN23 EN22 EN21 EN20 EN19 EN18 EN17 EN16 EN15 EN14 EN13 EN12 EN11 EN10 EN9 EN8 EN7 EN6 EN5 EN4 EN3 EN2 EN1 EN0

Bit

Name

31

EN31

30

EN30

29

EN29

28

EN28

27

EN27

26

EN26

25

EN25

24

EN24

23

EN23

22

EN22

Table 742: CTENCFG Register Bits

Reset 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1

RW

Description

CT31 Enable
RW DIS = 0x1 - Disable CT31 for output EN = 0x0 - Enable CT31 for output
CT30 Enable
RW DIS = 0x1 - Disable CT30 for output EN = 0x0 - Enable CT30 for output
CT29 Enable
RW DIS = 0x1 - Disable CT29 for output EN = 0x0 - Enable CT29 for output
CT28 Enable
RW DIS = 0x1 - Disable CT28 for output EN = 0x0 - Enable CT28 for output
CT27 Enable
RW DIS = 0x1 - Disable CT27 for output EN = 0x0 - Enable CT27 for output
CT26 Enable
RW DIS = 0x1 - Disable CT26 for output EN = 0x0 - Enable CT26 for output
CT25 Enable
RW DIS = 0x1 - Disable CT25 for output EN = 0x0 - Enable CT25 for output
CT24 Enable
RW DIS = 0x1 - Disable CT24 for output EN = 0x0 - Enable CT24 for output
CT23 Enable
RW DIS = 0x1 - Disable CT23 for output EN = 0x0 - Enable CT23 for output
CT22 Enable
RW DIS = 0x1 - Disable CT22 for output EN = 0x0 - Enable CT22 for output

DS-A3-0p9p1

Page 507 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Bit

Name

21

EN21

20

EN20

19

EN19

18

EN18

17

EN17

16

EN16

15

EN15

14

EN14

13

EN13

12

EN12

11

EN11

10

EN10

9

EN9

DS-A3-0p9p1

Apollo3 Blue Datasheet

Table 742: CTENCFG Register Bits

Reset 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1

RW

Description

CT21 Enable
RW DIS = 0x1 - Disable CT21 for output EN = 0x0 - Enable CT21 for output
CT20 Enable
RW DIS = 0x1 - Disable CT20 for output EN = 0x0 - Enable CT20 for output
CT19 Enable
RW DIS = 0x1 - Disable CT19 for output EN = 0x0 - Enable CT19 for output
CT18 Enable
RW DIS = 0x1 - Disable CT18 for output EN = 0x0 - Enable CT18 for output
CT17 Enable
RW DIS = 0x1 - Disable CT17 for output EN = 0x0 - Enable CT17 for output
CT16 Enable
RW DIS = 0x1 - Disable CT16 for output EN = 0x0 - Enable CT16 for output
CT15 Enable
RW DIS = 0x1 - Disable CT15 for output EN = 0x0 - Enable CT15 for output
CT14 Enable
RW DIS = 0x1 - Disable CT14 for output EN = 0x0 - Enable CT14 for output
CT13 Enable
RW DIS = 0x1 - Disable CT13 for output EN = 0x0 - Enable CT13 for output
CT12 Enable
RW DIS = 0x1 - Disable CT12 for output EN = 0x0 - Enable CT12 for output
CT11 Enable
RW DIS = 0x1 - Disable CT11 for output EN = 0x0 - Enable CT11 for output
CT10 Enable
RW DIS = 0x1 - Disable CT10 for output EN = 0x0 - Enable CT10 for output
CT9 Enable
RW DIS = 0x0 - Disable CT9 for output EN = 0x0 - Enable CT9 for output

Page 508 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

8

EN8

7

EN7

6

EN6

5

EN5

4

EN4

3

EN3

2

EN2

1

EN1

0

EN0

Table 742: CTENCFG Register Bits

Reset 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1

RW

Description

CT8 Enable
RW DIS = 0x1 - Disable CT8 for output EN = 0x0 - Enable CT8 for output
CT7 Enable
RW DIS = 0x1 - Disable CT7 for output EN = 0x0 - Enable CT7 for output
CT6 Enable
RW DIS = 0x1 - Disable CT6 for output EN = 0x0 - Enable CT6 for output
CT5 Enable
RW DIS = 0x1 - Disable CT5 for output EN = 0x0 - Enable CT5 for output
CT4 Enable
RW DIS = 0x1 - Disable CT4 for output EN = 0x0 - Enable CT4 for output
CT3 Enable
RW DIS = 0x1 - Disable CT3 for output EN = 0x0 - Enable CT3 for output
CT2 Enable
RW DIS = 0x1 - Disable CT2 for output EN = 0x0 - Enable CT2 for output
CT1 Enable
RW DIS = 0x1 - Disable CT1 for output EN = 0x0 - Enable CT1 for output
CT0 Enable
RW DIS = 0x1 - Disable CT0 for output EN = 0x0 - Enable CT0 for output

11.7.2.60INT0EN Register
GPIO Interrupt Registers 31-0: Enable OFFSET: 0x00000200 INSTANCE 0 ADDRESS: 0x40010200 Set bits in this register to allow this module to generate the corresponding interrupt.

DS-A3-0p9p1

Page 509 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Table 743: INT0EN Register
33222222222211111111110000000000 10987654321098765432109876543210

GPIO31 GPIO30 GPIO29 GPIO28 GPIO27 GPIO26 GPIO25 GPIO24 GPIO23 GPIO22 GPIO21 GPIO20 GPIO19 GPIO18 GPIO17 GPIO16 GPIO15 GPIO14 GPIO13 GPIO12 GPIO11 GPIO10 GPIO9 GPIO8 GPIO7 GPIO6 GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0

Bit

Name

31

GPIO31

30

GPIO30

29

GPIO29

28

GPIO28

27

GPIO27

26

GPIO26

25

GPIO25

24

GPIO24

23

GPIO23

22

GPIO22

21

GPIO21

20

GPIO20

19

GPIO19

18

GPIO18

17

GPIO17

16

GPIO16

15

GPIO15

14

GPIO14

DS-A3-0p9p1

Table 744: INT0EN Register Bits

Reset 0x0

RW RW GPIO31 interrupt.

Description

0x0

RW GPIO30 interrupt.

0x0

RW GPIO29 interrupt.

0x0

RW GPIO28 interrupt.

0x0

RW GPIO27 interrupt.

0x0

RW GPIO26 interrupt.

0x0

RW GPIO25 interrupt.

0x0

RW GPIO24 interrupt.

0x0

RW GPIO23 interrupt.

0x0

RW GPIO22 interrupt.

0x0

RW GPIO21 interrupt.

0x0

RW GPIO20 interrupt.

0x0

RW GPIO19 interrupt.

0x0

RW GPIO18interrupt.

0x0

RW GPIO17 interrupt.

0x0

RW GPIO16 interrupt.

0x0

RW GPIO15 interrupt.

0x0

RW GPIO14 interrupt.

Page 510 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

13

GPIO13

12

GPIO12

11

GPIO11

10

GPIO10

9

GPIO9

8

GPIO8

7

GPIO7

6

GPIO6

5

GPIO5

4

GPIO4

3

GPIO3

2

GPIO2

1

GPIO1

0

GPIO0

Table 744: INT0EN Register Bits

Reset 0x0

RW RW GPIO13 interrupt.

Description

0x0

RW GPIO12 interrupt.

0x0

RW GPIO11 interrupt.

0x0

RW GPIO10 interrupt.

0x0

RW GPIO9 interrupt.

0x0

RW GPIO8 interrupt.

0x0

RW GPIO7 interrupt.

0x0

RW GPIO6 interrupt.

0x0

RW GPIO5 interrupt.

0x0

RW GPIO4 interrupt.

0x0

RW GPIO3 interrupt.

0x0

RW GPIO2 interrupt.

0x0

RW GPIO1 interrupt.

0x0

RW GPIO0 interrupt.

11.7.2.61INT0STAT Register
GPIO Interrupt Registers 31-0: Status OFFSET: 0x00000204 INSTANCE 0 ADDRESS: 0x40010204 Read bits from this register to discover the cause of a recent interrupt.

Table 745: INT0STAT Register
33222222222211111111110000000000 10987654321098765432109876543210

GPIO31 GPIO30 GPIO29 GPIO28 GPIO27 GPIO26 GPIO25 GPIO24 GPIO23 GPIO22 GPIO21 GPIO20 GPIO19 GPIO18 GPIO17 GPIO16 GPIO15 GPIO14 GPIO13 GPIO12 GPIO11 GPIO10 GPIO9 GPIO8 GPIO7 GPIO6 GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0

DS-A3-0p9p1

Page 511 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31

GPIO31

30

GPIO30

29

GPIO29

28

GPIO28

27

GPIO27

26

GPIO26

25

GPIO25

24

GPIO24

23

GPIO23

22

GPIO22

21

GPIO21

20

GPIO20

19

GPIO19

18

GPIO18

17

GPIO17

16

GPIO16

15

GPIO15

14

GPIO14

13

GPIO13

12

GPIO12

11

GPIO11

10

GPIO10

Table 746: INT0STAT Register Bits

Reset 0x0

RW RW GPIO31 interrupt.

Description

0x0

RW GPIO30 interrupt.

0x0

RW GPIO29 interrupt.

0x0

RW GPIO28 interrupt.

0x0

RW GPIO27 interrupt.

0x0

RW GPIO26 interrupt.

0x0

RW GPIO25 interrupt.

0x0

RW GPIO24 interrupt.

0x0

RW GPIO23 interrupt.

0x0

RW GPIO22 interrupt.

0x0

RW GPIO21 interrupt.

0x0

RW GPIO20 interrupt.

0x0

RW GPIO19 interrupt.

0x0

RW GPIO18interrupt.

0x0

RW GPIO17 interrupt.

0x0

RW GPIO16 interrupt.

0x0

RW GPIO15 interrupt.

0x0

RW GPIO14 interrupt.

0x0

RW GPIO13 interrupt.

0x0

RW GPIO12 interrupt.

0x0

RW GPIO11 interrupt.

0x0

RW GPIO10 interrupt.

DS-A3-0p9p1

Page 512 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

9

GPIO9

8

GPIO8

7

GPIO7

6

GPIO6

5

GPIO5

4

GPIO4

3

GPIO3

2

GPIO2

1

GPIO1

0

GPIO0

Table 746: INT0STAT Register Bits

Reset 0x0

RW RW GPIO9 interrupt.

Description

0x0

RW GPIO8 interrupt.

0x0

RW GPIO7 interrupt.

0x0

RW GPIO6 interrupt.

0x0

RW GPIO5 interrupt.

0x0

RW GPIO4 interrupt.

0x0

RW GPIO3 interrupt.

0x0

RW GPIO2 interrupt.

0x0

RW GPIO1 interrupt.

0x0

RW GPIO0 interrupt.

11.7.2.62INT0CLR Register
GPIO Interrupt Registers 31-0: Clear OFFSET: 0x00000208 INSTANCE 0 ADDRESS: 0x40010208 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.

Table 747: INT0CLR Register
33222222222211111111110000000000 10987654321098765432109876543210

GPIO31 GPIO30 GPIO29 GPIO28 GPIO27 GPIO26 GPIO25 GPIO24 GPIO23 GPIO22 GPIO21 GPIO20 GPIO19 GPIO18 GPIO17 GPIO16 GPIO15 GPIO14 GPIO13 GPIO12 GPIO11 GPIO10 GPIO9 GPIO8 GPIO7 GPIO6 GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0

Bit

Name

31

GPIO31

30

GPIO30

Table 748: INT0CLR Register Bits

Reset 0x0

RW RW GPIO31 interrupt.

Description

0x0

RW GPIO30 interrupt.

DS-A3-0p9p1

Page 513 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

29

GPIO29

28

GPIO28

27

GPIO27

26

GPIO26

25

GPIO25

24

GPIO24

23

GPIO23

22

GPIO22

21

GPIO21

20

GPIO20

19

GPIO19

18

GPIO18

17

GPIO17

16

GPIO16

15

GPIO15

14

GPIO14

13

GPIO13

12

GPIO12

11

GPIO11

10

GPIO10

9

GPIO9

8

GPIO8

7

GPIO7

Table 748: INT0CLR Register Bits

Reset 0x0

RW RW GPIO29 interrupt.

Description

0x0

RW GPIO28 interrupt.

0x0

RW GPIO27 interrupt.

0x0

RW GPIO26 interrupt.

0x0

RW GPIO25 interrupt.

0x0

RW GPIO24 interrupt.

0x0

RW GPIO23 interrupt.

0x0

RW GPIO22 interrupt.

0x0

RW GPIO21 interrupt.

0x0

RW GPIO20 interrupt.

0x0

RW GPIO19 interrupt.

0x0

RW GPIO18interrupt.

0x0

RW GPIO17 interrupt.

0x0

RW GPIO16 interrupt.

0x0

RW GPIO15 interrupt.

0x0

RW GPIO14 interrupt.

0x0

RW GPIO13 interrupt.

0x0

RW GPIO12 interrupt.

0x0

RW GPIO11 interrupt.

0x0

RW GPIO10 interrupt.

0x0

RW GPIO9 interrupt.

0x0

RW GPIO8 interrupt.

0x0

RW GPIO7 interrupt.

DS-A3-0p9p1

Page 514 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

6

GPIO6

5

GPIO5

4

GPIO4

3

GPIO3

2

GPIO2

1

GPIO1

0

GPIO0

Table 748: INT0CLR Register Bits

Reset 0x0

RW RW GPIO6 interrupt.

Description

0x0

RW GPIO5 interrupt.

0x0

RW GPIO4 interrupt.

0x0

RW GPIO3 interrupt.

0x0

RW GPIO2 interrupt.

0x0

RW GPIO1 interrupt.

0x0

RW GPIO0 interrupt.

11.7.2.63INT0SET Register
GPIO Interrupt Registers 31-0: Set OFFSET: 0x0000020C INSTANCE 0 ADDRESS: 0x4001020C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).

Table 749: INT0SET Register
33222222222211111111110000000000 10987654321098765432109876543210

GPIO31 GPIO30 GPIO29 GPIO28 GPIO27 GPIO26 GPIO25 GPIO24 GPIO23 GPIO22 GPIO21 GPIO20 GPIO19 GPIO18 GPIO17 GPIO16 GPIO15 GPIO14 GPIO13 GPIO12 GPIO11 GPIO10 GPIO9 GPIO8 GPIO7 GPIO6 GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0

Bit

Name

31

GPIO31

30

GPIO30

29

GPIO29

28

GPIO28

27

GPIO27

DS-A3-0p9p1

Table 750: INT0SET Register Bits

Reset 0x0

RW RW GPIO31 interrupt.

Description

0x0

RW GPIO30 interrupt.

0x0

RW GPIO29 interrupt.

0x0

RW GPIO28 interrupt.

0x0

RW GPIO27 interrupt.

Page 515 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

26

GPIO26

25

GPIO25

24

GPIO24

23

GPIO23

22

GPIO22

21

GPIO21

20

GPIO20

19

GPIO19

18

GPIO18

17

GPIO17

16

GPIO16

15

GPIO15

14

GPIO14

13

GPIO13

12

GPIO12

11

GPIO11

10

GPIO10

9

GPIO9

8

GPIO8

7

GPIO7

6

GPIO6

5

GPIO5

4

GPIO4

Table 750: INT0SET Register Bits

Reset 0x0

RW RW GPIO26 interrupt.

Description

0x0

RW GPIO25 interrupt.

0x0

RW GPIO24 interrupt.

0x0

RW GPIO23 interrupt.

0x0

RW GPIO22 interrupt.

0x0

RW GPIO21 interrupt.

0x0

RW GPIO20 interrupt.

0x0

RW GPIO19 interrupt.

0x0

RW GPIO18interrupt.

0x0

RW GPIO17 interrupt.

0x0

RW GPIO16 interrupt.

0x0

RW GPIO15 interrupt.

0x0

RW GPIO14 interrupt.

0x0

RW GPIO13 interrupt.

0x0

RW GPIO12 interrupt.

0x0

RW GPIO11 interrupt.

0x0

RW GPIO10 interrupt.

0x0

RW GPIO9 interrupt.

0x0

RW GPIO8 interrupt.

0x0

RW GPIO7 interrupt.

0x0

RW GPIO6 interrupt.

0x0

RW GPIO5 interrupt.

0x0

RW GPIO4 interrupt.

DS-A3-0p9p1

Page 516 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3

GPIO3

2

GPIO2

1

GPIO1

0

GPIO0

Table 750: INT0SET Register Bits

Reset 0x0

RW RW GPIO3 interrupt.

Description

0x0

RW GPIO2 interrupt.

0x0

RW GPIO1 interrupt.

0x0

RW GPIO0 interrupt.

11.7.2.64INT1EN Register
GPIO Interrupt Registers 49-32: Enable OFFSET: 0x00000210 INSTANCE 0 ADDRESS: 0x40010210 Set bits in this register to allow this module to generate the corresponding interrupt.

Table 751: INT1EN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

GPIO49 GPIO48 GPIO47 GPIO46 GPIO45 GPIO44 GPIO43 GPIO42 GPIO41 GPIO40 GPIO39 GPIO38 GPIO37 GPIO36 GPIO35 GPIO34 GPIO33 GPIO32

Bit 31:18
17 16 15 14 13 12 11

Name RSVD GPIO49 GPIO48 GPIO47 GPIO46 GPIO45 GPIO44 GPIO43

Table 752: INT1EN Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW GPIO49 interrupt.

0x0

RW GPIO48 interrupt.

0x0

RW GPIO47 interrupt.

0x0

RW GPIO46 interrupt.

0x0

RW GPIO45 interrupt.

0x0

RW GPIO44 interrupt.

0x0

RW GPIO43 interrupt.

DS-A3-0p9p1

Page 517 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

10

GPIO42

9

GPIO41

8

GPIO40

7

GPIO39

6

GPIO38

5

GPIO37

4

GPIO36

3

GPIO35

2

GPIO34

1

GPIO33

0

GPIO32

Table 752: INT1EN Register Bits

Reset 0x0

RW RW GPIO42 interrupt.

Description

0x0

RW GPIO41 interrupt.

0x0

RW GPIO40 interrupt.

0x0

RW GPIO39 interrupt.

0x0

RW GPIO38 interrupt.

0x0

RW GPIO37 interrupt.

0x0

RW GPIO36 interrupt.

0x0

RW GPIO35 interrupt.

0x0

RW GPIO34 interrupt.

0x0

RW GPIO33 interrupt.

0x0

RW GPIO32 interrupt.

11.7.2.65INT1STAT Register
GPIO Interrupt Registers 49-32: Status OFFSET: 0x00000214 INSTANCE 0 ADDRESS: 0x40010214 Read bits from this register to discover the cause of a recent interrupt.

Table 753: INT1STAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

GPIO49 GPIO48 GPIO47 GPIO46 GPIO45 GPIO44 GPIO43 GPIO42 GPIO41 GPIO40 GPIO39 GPIO38 GPIO37 GPIO36 GPIO35 GPIO34 GPIO33 GPIO32

Bit 31:18

Name RSVD

Table 754: INT1STAT Register Bits

Reset 0x0

RW RO RESERVED

Description

DS-A3-0p9p1

Page 518 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

17

GPIO49

16

GPIO48

15

GPIO47

14

GPIO46

13

GPIO45

12

GPIO44

11

GPIO43

10

GPIO42

9

GPIO41

8

GPIO40

7

GPIO39

6

GPIO38

5

GPIO37

4

GPIO36

3

GPIO35

2

GPIO34

1

GPIO33

0

GPIO32

Table 754: INT1STAT Register Bits

Reset 0x0

RW RW GPIO49 interrupt.

Description

0x0

RW GPIO48 interrupt.

0x0

RW GPIO47 interrupt.

0x0

RW GPIO46 interrupt.

0x0

RW GPIO45 interrupt.

0x0

RW GPIO44 interrupt.

0x0

RW GPIO43 interrupt.

0x0

RW GPIO42 interrupt.

0x0

RW GPIO41 interrupt.

0x0

RW GPIO40 interrupt.

0x0

RW GPIO39 interrupt.

0x0

RW GPIO38 interrupt.

0x0

RW GPIO37 interrupt.

0x0

RW GPIO36 interrupt.

0x0

RW GPIO35 interrupt.

0x0

RW GPIO34 interrupt.

0x0

RW GPIO33 interrupt.

0x0

RW GPIO32 interrupt.

11.7.2.66INT1CLR Register
GPIO Interrupt Registers 49-32: Clear OFFSET: 0x00000218 INSTANCE 0 ADDRESS: 0x40010218 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.

DS-A3-0p9p1

Page 519 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 755: INT1CLR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

GPIO49 GPIO48 GPIO47 GPIO46 GPIO45 GPIO44 GPIO43 GPIO42 GPIO41 GPIO40 GPIO39 GPIO38 GPIO37 GPIO36 GPIO35 GPIO34 GPIO33 GPIO32

Bit 31:18
17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

Name RSVD GPIO49 GPIO48 GPIO47 GPIO46 GPIO45 GPIO44 GPIO43 GPIO42 GPIO41 GPIO40 GPIO39 GPIO38 GPIO37 GPIO36 GPIO35 GPIO34 GPIO33

DS-A3-0p9p1

Table 756: INT1CLR Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW GPIO49 interrupt.

0x0

RW GPIO48 interrupt.

0x0

RW GPIO47 interrupt.

0x0

RW GPIO46 interrupt.

0x0

RW GPIO45 interrupt.

0x0

RW GPIO44 interrupt.

0x0

RW GPIO43 interrupt.

0x0

RW GPIO42 interrupt.

0x0

RW GPIO41 interrupt.

0x0

RW GPIO40 interrupt.

0x0

RW GPIO39 interrupt.

0x0

RW GPIO38 interrupt.

0x0

RW GPIO37 interrupt.

0x0

RW GPIO36 interrupt.

0x0

RW GPIO35 interrupt.

0x0

RW GPIO34 interrupt.

0x0

RW GPIO33 interrupt.

Page 520 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

GPIO32

Table 756: INT1CLR Register Bits

Reset 0x0

RW RW GPIO32 interrupt.

Description

11.7.2.67INT1SET Register
GPIO Interrupt Registers 49-32: Set OFFSET: 0x0000021C INSTANCE 0 ADDRESS: 0x4001021C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).

Table 757: INT1SET Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

GPIO49 GPIO48 GPIO47 GPIO46 GPIO45 GPIO44 GPIO43 GPIO42 GPIO41 GPIO40 GPIO39 GPIO38 GPIO37 GPIO36 GPIO35 GPIO34 GPIO33 GPIO32

Bit 31:18
17 16 15 14 13 12 11 10 9 8

Name RSVD GPIO49 GPIO48 GPIO47 GPIO46 GPIO45 GPIO44 GPIO43 GPIO42 GPIO41 GPIO40

DS-A3-0p9p1

Table 758: INT1SET Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW GPIO49 interrupt.

0x0

RW GPIO48 interrupt.

0x0

RW GPIO47 interrupt.

0x0

RW GPIO46 interrupt.

0x0

RW GPIO45 interrupt.

0x0

RW GPIO44 interrupt.

0x0

RW GPIO43 interrupt.

0x0

RW GPIO42 interrupt.

0x0

RW GPIO41 interrupt.

0x0

RW GPIO40 interrupt.

Page 521 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7

GPIO39

6

GPIO38

5

GPIO37

4

GPIO36

3

GPIO35

2

GPIO34

1

GPIO33

0

GPIO32

Table 758: INT1SET Register Bits

Reset 0x0

RW RW GPIO39 interrupt.

Description

0x0

RW GPIO38 interrupt.

0x0

RW GPIO37 interrupt.

0x0

RW GPIO36 interrupt.

0x0

RW GPIO35 interrupt.

0x0

RW GPIO34 interrupt.

0x0

RW GPIO33 interrupt.

0x0

RW GPIO32 interrupt.

DS-A3-0p9p1

Page 522 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
12. Clock Generator and Real Time Clock Module

Calibration Registers
XT Osc

Autocal Logic XT Chain

LFRC Osc

LFRC Chain

Module Clocks

HFRC Osc

HFRC Chain

100 Hz

CLKOUT

Core, Flash CLKOUT RTC

Figure 63. Block diagram for the Clock Generator and Real Time Clock Module
12.1 Clock Generator
12.1.1 Functional Overview
A high-level view of the Clock Generator Module, which supplies all clocks required by the Apollo3 Blue MCU, is shown in Figure 63. These clocks are derived from one of three fundamental clock sources: a high precision crystal controlled oscillator (XT), a low power 1 kHz RC oscillator (LFRC) and a high frequency 48/96 MHz oscillator (HFRC). A clock, CLKOUT, generated from any of the oscillators, may be configured and driven onto an external pin. CLKOUT also drives the Real Time Clock (RTC) Module and other internal clock nodes. The Clock Generator automatically controls the enabling of the oscillators, so that they are only powered up and used when requested by another module. This allows minimal power consumption without complex

DS-A3-0p9p1

Page 523 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
software intervention, so that software does not need to manage any enabling or disabling of the oscillators. As an example, an I2C/SPI Master requires the HFRC in order to generate the serial interface clock. If a transfer is initiated and the processor is put into Deep Sleep mode, the HFRC will remain active until the I/O transfer is completed. At that point the HFRC will be powered down without requiring any software intervention. Figure 64 shows the available clock sources, divisors and distribution to the various modules of the Apollo3 Blue MCU.

Figure 64. Apollo3 Blue Clock Tree
12.1.2 Low Frequency RC Oscillator (LFRC)
The low power LFRC, with a nominal frequency of 1024 Hz, is used when short term frequency accuracy is not important. It also supplies clocks for SIMO buck regulator in low power mode (32kHz) as well as some basic state machines and is always enabled. Calibration logic is included.

DS-A3-0p9p1

Page 524 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
12.1.2.1 LFRC Oscillator Digital Calibration
The LFRC Oscillator includes a patented Distributed Digital Calibration function similar to that of the XT Oscillator (Section 12.1.3.2). Because the LFRC Oscillator has a greater fundamental variability, the required range of calibration is much larger. When the 1024 Hz RC oscillator is selected, the clock at the 512 Hz level of the divider chain is modified on a selectable interval using the calibration value CALRC in the REG_CLKGEN_CALRC Register. Clock pulses are either added or subtracted to ensure accuracy of the LFRC. CALRC cycles of the 512 Hz clock are gated (negative calibration) or replaced by 1024 Hz pulses (positive calibration) within every 1024 second calibration period. Each step in CALRC modifies the clock frequency by 1.907 ppm, with a maximum adjustment of +249,954/-249,955 ppm (±25%). This is enabled in the CALRC register, which is 18 bits wide. The most significant bit is the "sign" bit. A '1' on bit 17 would mean a subtraction, and a '0' would mean an addition. Bits 16 to 0 would be the number of cycles to be added to or subtracted from the 512Hz LFRC clock across a 1024 second period. The range of clocks that can be added or subtracted range from -131072 to 131071.
The pulses which are added to or subtracted from the 512 Hz clock are spread evenly over each 1024 second period using the Ambiq Micro patented Distributed Calibration algorithm. This ensures that in LFRC mode the maximum cycle-to-cycle jitter in any clock of a frequency 512 Hz or lower caused by calibration will be no more than one 512 Hz period (~2 ms). This maximum jitter applies to all clocks in the Apollo3 Blue MCU which use the LFRC.
Note that since the 512 Hz LFRC clock is calibrated, the original 1024 Hz LFRC is an uncalibrated clock. This may be a useful selection in some cases.
12.1.2.2 LFRC Calibration Process
The LFRC oscillator calibration value is determined by the following process:
1. Write "0x47" to the CLKKEY register to enable access to CLK_GEN registers 2. Set the CALRC field to 0 to insure calibration is not occurring. 3. Select the LFRC oscillator by setting the REG_CLKGEN_OCTRL_OSEL bit to 1. 4. Select the LFRC or a division of it on a CLKOUT pad. 5. Measure the frequency Fmeas at the CLKOUT pad. 6. Compute the adjustment value required in ppm as ((Fnom ­ Fmeas)*1000000)/Fmeas = PAdj 7. Compute the adjustment value in steps as PAdj/(1000000/2^19) = PAdj/(1.90735) = Adj 8. Compare Adj value with min/max range of -131072 to 131071 9. If the adjustment value falls between these two values, set CALRC = Adj 10. Otherwise, the LFRC frequency is too low or too high to be calibrated
12.1.3 High Precision XT Oscillator (XT)
The high accuracy XT Oscillator is tuned to an external 32.768 kHz crystal, and has a nominal frequency of 32.768 kHz. It is used when frequency accuracy is critically important. Because a crystal oscillator uses a significant amount of power, the XT is only enabled when an internal module is using it. Digital calibration logic is included.The output of the XT oscillator may be digitally calibrated to ±1 ppm (part per million).
It should be noted that the XT oscillator is also optional if the requirements of the design can tolerate the internal LFRC/HFRC oscillator specifications. It should also be noted that external capacitors are not required to tune an internal divided clock of the crystal input to achieve a precise scaling of 32.768kHz. This is handled within the Apollo3 Blue MCU.
NOTE: The XTAL is highly sensitive to external leakage on the XI pin. Therefore it is recommended to minimize the components on XI and to use extremely low leakage load capacitors.

DS-A3-0p9p1

Page 525 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
12.1.3.1 XT Oscillator Digital Calibration
The XT Oscillator includes a Distributed Digital Calibration function. When the 32 kHz XT oscillator is selected, the clock at the 16 kHz level of the divider chain is modified on a selectable interval using the calibration value CALXT in the REG_CLKGEN_CALXT Register. Clock pulses are either added or subtracted to ensure accuracy of the XT. CALXT cycles of the 16 kHz clock are gated (negative calibration) or replaced by 32 kHz pulses (positive calibration) within every 64 second calibration period. Each step in CALXT modifies the clock frequency by 0.9535 ppm, with a maximum adjustment of +975/-976 ppm (±0.1%).
The pulses which are added to or subtracted from the 16 kHz clock are spread evenly over each 64 second period using the Ambiq Micro patented Distributed Calibration algorithm. This insures that in XT mode the maximum cycle-to-cycle jitter in any clock of a frequency 16 kHz or lower caused by calibration will be no more than one 16 kHz period (~60 us). This maximum jitter applies to all clocks in the Apollo3 Blue MCU which use the XT.
Note that since the 16 kHz XT clock is calibrated, the 32 kHz XT is an uncalibrated clock. This may be a useful selection in some cases.
12.1.3.2 XT Calibration Process
The XT Oscillator calibration value is determined by the following process:
1. Write "0x47" to the CLKKEY register to enable access to CLK_GEN registers 2. Set the CALXT register field to 0 to insure calibration is not occurring. 3. Select the XT oscillator by setting the REG_CLKGEN_OCTRL_OSEL bit to 0. 4. Select the XT or a division of it on a CLKOUT pad. 5. Measure the frequency Fmeas at the CLKOUT pad. 6. Compute the adjustment value required in ppm as ((Fnom ­ Fmeas)*1000000)/Fmeas = PAdj 7. Compute the adjustment value in steps as PAdj/(1000000/219) = PAdj/(0.9535) = Adj 8. Compare Adj value with min/max range of -976 to 975 9. If target Adj is within min and max, set CALXT = Adj 10. Otherwise, the XT frequency is too low to be calibrated.
If the 32 kHz XT Oscillator generates clocks at less than 8 kHz for a period of more than 32 ms, the Apollo3 Blue MCU detects an Oscillator Failure. The Oscillator Fail (OF) flag is set when an Oscillator Failure occurs, and is also set when the Apollo3 Blue MCU initially powers up. If the Oscillator Fail interrupt enable (OFIE) bit is set, the OF flag will generate an interrupt. The current status of the XT Oscillator can be read in the REG_CLKGEN_STATUS_OSCF bit, which will be a 1 if the XT Oscillator is not running at least 8 kHz. Note that OSCF will always be set if the LFRC Oscillator is currently selected by the REG_CLKGEN_OCTRL_OSEL bit.
If the FOS bit in REG_CLK_GEN_OCTRL is set and the Apollo3 Blue MCU RTC is currently using the XT Oscillator, it will automatically switch to the LFRC Oscillator on an Oscillator Failure. This guarantees that the RTC clock will not stop in any case. If the XT Oscillator experiences a temporary failure and subsequently restarts, the Apollo3 Blue MCU will switch back to the XT Oscillator. The REG_CLKGEN_STATUS_OMODE bit indicates the currently selected oscillator, which may not match the oscillator requested by the REG_CLKGEN_OCTRL_OSEL bit if the XT Oscillator is not running.
12.1.4 High Frequency RC Oscillator (HFRC)
The high frequency HFRC Oscillator, with a nominal frequency of 48 MHz, is used to supply all high frequency clocks in the Apollo3 Blue MCU such as the processor clock for the ARM core, memories and many peripheral modules. Digital calibration is not supported for the HFRC, but its frequency may be

DS-A3-0p9p1

Page 526 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

automatically adjusted by the Auto-adjustment function which is a combination of analog and digital operations.
The HFRC is enabled only when it is required by an internal module. When the ARM core goes into a sleep mode, the HFRC will be disabled unless another module is using it. If the ARM core goes into deep sleep mode, the HFRC will be powered down when it is not needed. When the HFRC is powered up, it will take a few microseconds for it to begin oscillating, and a few more microseconds before the output is completely stable. In order to prevent erroneous internal clocks from occurring, the internal clocks are gated until the HFRC is stable. The Apollo3 Blue MCU supports high frequency TurboSPOT burst mode. The HFRC supplies both the 96MHz as well as the 48MHz clocks to support the high frequency core/ memory domains and the stable 48MHz clock for the remaining logic/IO controllers.

12.1.5 HFRC Auto-adjustment
In some applications it is important that the HFRC frequency be more accurate than the ±2% variation typically seen, particularly in cases where the temperature may vary widely. A good example of this is in cases where the Apollo3 Blue MCU communicates with another device via the UART. The frequency matching with the other device in the connection is an important factor in the reliability of the connection. In order to support a highly accurate HFRC, a function called Auto-adjustment is provided.
It should be noted that Auto-adjustment is dependent on an accurate clock source such as the crystal. The min/max variation of the HFRC frequency with and without adjustment is different. See Section 21.5 on page 778.
During auto-adjustment, the number of HFRC cycles which occur in one 32.768 kHz XT Oscillator cycle is compared to a target value. If the count is different from the target, an HFRC tuning value is modified to change the HFRC frequency. The target count is held in the REG_CLKGEN_HFADJ_HFXTADJ field. If the target HFRC frequency is 48 MHz, the optimal HFXTADJ value is 48,000/32.768 or 1464. A different value will result in a different nominal HFRC frequency.
Auto-adjustment works by periodically enabling the HFRC and the XT, counting the HFRC cycles in a single XT cycle, subtracting that value from HFXTADJ and adding the resulting difference to the actual HFRC tuning value. The current tuning value may be read back in the HFTUNERB field of the REG_CLKGEN_HFVAL Register. Auto-adjustment is enabled in the REG_CLKGEN_HFADJ Register by loading the repeat frequency value into the HFADJCK field and then setting the HFADJEN bit.
Auto-adjustment cycles will occur continuously if both the XT and the HFRC are currently requested by other modules. If either oscillator is disabled, Auto-adjustment cycles will then occur at intervals determined by the REG_CLKGEN_HFADJ_HFADJCK field, as shown in the register description. Shorter repeat intervals will result in more accurate HFRC frequencies, especially if the temperature is changing rapidly, but will result in higher power consumption. When an Auto-adjustment cycle occurs, if the XT was disabled it is enabled and then a delay occurs to allow the XT to stabilize. This delay is defined by the REG_CLKGEN_HFADJ_HFWARMUP field as defined in the Register document. Once the HFRC is stable, the HFRC is enabled and several Auto-adjustments occur, each of which results in a refinement of the tuning value. Once those adjustments are complete, the HFRC and XT are powered down unless they are in use by other functions.
The following steps are recommended to enable the HFADJ functionality.
1. Write "0x47" to the CLKKEY register to enable access to CLK_GEN registers 2. Set the HFADJCK field in HFADJ register to set the target HFRC adjustment period. It can range
from 4 seconds (0x0) to 1024 seconds (0x7). 3. Set the gain for the adjustment through HFADJGAIN field in HFADJ register.
4. Set the HFWARMUP field if XT is STOP (through the OCTRL register STOPXT field). 5. Enable HFADJEN field in HFADJ register to start the adjustment cycle.

DS-A3-0p9p1

Page 527 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
12.1.6 Burst Mode Support
The Apollo3 Blue MCU supports the TurboSPOT burst operating mode. Under burst mode, the core clock runs at 96MHz. Burst mode is initiated when the BURSTREQ bit in REG_CLK_GEN_FREQCTRL is written with a '1'. Once the burst mode is available, the BURSTACK and BURSTSTATUS bit in REG_CLK_GEN_FREQCTRL register are updated.
When burst mode is no longer required, software will write a '0' to the BURSTREQ bit in REG_CLK_GEN_FREQCTRL. The BURSTSTATUS will be updated immediately, while the BURSTACK will only be updated once the nominal operating mode is available.
The following steps are necessary for enabling burst mode:
(Note that Burst can only be enabled if Burst is allowed - indicated via the SKU register)
1. This can be checked with REG_MCU_CTRL_SKU register in MCU_CTRL - ALLOWBURST bit 2. Set the BURSTREQ bit in REG_MCU_CTRL_FEATUREENABLE 3. Write "0x47" to the CLKKEY register to enable access to CLK_GEN registers 4. Set BURSTREQ bit in REG_CLK_GEN_FREQCTRL 5. Poll BURSTSTATUS bit and BURSTACK bit in REG_CLK_GEN_FREQCTRL register
OR
Wait for Event trigger (enabled through BURSTFEATUREEVEN bit in REG_PWRCTRL_DEVPWREVENTEN register)
NOTE
In Burst Mode on the Apollo3 Blue MCU, the SYSTICK increments at twice the normal (48 MHz) clock rate. Some RTOSes may use SYSTICK for scheduler timing by default, in which case scheduler event timing will be wrong when using Burst Mode. It is recommended not to use SYSTICK and Burst Mode together unless proper compensation is made, e.g., ignoring every other SYSTICK interrupt during Burst Mode.
12.1.7 Frequency Measurement
The Autocalibration logic may be used to measure the frequency of an internal clock signal relative to the XT Oscillator frequency. The following steps are required to perform this measurement:
1. Write "0x47" to the CLKKEY register to enable access to CLK_GEN registers 2. Set the REG_CLKGEN_OCTRL_ACAL field to 000. 3. Clear the ACC interrupt flag. 4. Select the clock to be measured with the CKSEL REG_CLKGEN_CLKOUT_CKSEL field. 5. Set ACAL to 110. 6. Wait for the ACC interrupt flag to be set. 7. Read the REG_CLKGEN_ACALCTR_ACALCTR field. This will contain the number of reference
clocks which occurred during one cycle of the XT Oscillator. 8. Calculate the frequency of the measured clock.
The measured frequency is:
FMEAS = FREF ÷ ACALCTR
where FREF is the frequency of the reference clock and ACALCTR is the value read from ACALCTR when the measurement is complete. Note that the longer the measurement period is, the more time the measurement takes, but the resulting FMEAS will be more accurate.

DS-A3-0p9p1

Page 528 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
12.1.8 Generating 100 Hz
The Real Time Clock (RTC) module requires a 100 Hz clock which is provided by the Clock Generator. This clock may come either from the LFRC or the XT Oscillators, as determined by the REG_CLKGEN_OCTRL_OSEL bit. Since 100 Hz is not a simple power of two division of either of these oscillators, special functions are used to create it. If the XT Oscillator is selected, 100 Hz is generated by dividing the 2048 Hz division of the XT by 21 for 12 iterations and by 20 for 13 iterations out of every 25 clock periods. This produces an effective division of: (21 * 12 + 20 * 13)/25 = 20.48 producing an exact average frequency of 100 Hz with a maximum jitter of less than 1 ms. If the LFRC Oscillator is selected, 100 Hz is generated by dividing the 256 Hz division of the LFRC by 2 for 11 iterations and by 3 for 14 iterations out of every 25 clock periods. This produces an effective division of: (2 * 11 + 3 * 14)/25 = 2.56 producing an exact average frequency of 100 Hz with a maximum jitter of less than 8 ms.
12.2 CLKGEN Registers
Clock Generator INSTANCE 0 BASE ADDRESS:0x40004000 This is the register bank for the clock generator registers. It includes the RTC unit and the register control for BLE Ton Adjust unit

DS-A3-0p9p1

Page 529 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

12.2.1 Register Memory Map

Table 759: CLKGEN Register Map

Address(s)
0x40004000 0x40004004 0x40004008 0x4000400C 0x40004010 0x40004014 0x40004018 0x4000401C 0x40004020 0x40004028 0x4000402C 0x40004030 0x40004034 0x4000403C 0x40004100 0x40004104 0x40004108 0x4000410C

Register Name
CALXT CALRC ACALCTR OCTRL CLKOUT CLKKEY CCTRL STATUS HFADJ CLOCKENSTAT CLOCKEN2STAT CLOCKEN3STAT FREQCTRL BLEBUCKTONADJ INTRPTEN INTRPTSTAT INTRPTCLR INTRPTSET

Description
XT Oscillator Control RC Oscillator Control Autocalibration Counter Oscillator Control CLKOUT Frequency Select Key Register for Clock Control Register HFRC Clock Control Clock Generator Status HFRC Adjustment Clock Enable Status Clock Enable Status Clock Enable Status HFRC Frequency Control register BLE BUCK TON ADJUST CLKGEN Interrupt Register: Enable CLKGEN Interrupt Register: Status CLKGEN Interrupt Register: Clear CLKGEN Interrupt Register: Set

DS-A3-0p9p1

Page 530 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

12.2.2 CLKGEN Registers
12.2.2.1 CALXT Register
XT Oscillator Control
OFFSET: 0x00000000
INSTANCE 0 ADDRESS: 0x40004000
This is the XT Oscillator Calibration value. This value allows any derived XT clocks to be "calibrated". This means that the original 32KHz version of XT will not be changed, but a 16KHz version (divided down version) can be modified. This register value will add or subtract the number of cycles programmed in this register across a 32 seconds interval. For example, if a value of 100 is programmed in this register, then 100 additional clock cycles will be added into a 16KHz clock period across a 32 second interval.

Table 760: CALXT Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CALXT

Bit 31:11

Name RSVD

10:0

CALXT

Table 761: CALXT Register Bits

Reset 0x0

RW RO RESERVED

Description

XT Oscillator calibration value. This register will enable the hardware to

increase or decrease the number of cycles in a 16KHz clock derived from

the original 32KHz version. The most significant bit is the sign. A '1' is a

0x0

RW reduction, and a '0' is an addition. This calibration value will add or reduce

the number of cycles programmed here across a 32 second interval. The

maximum value that is effective is from -1024 to 1023.

12.2.2.2 CALRC Register
RC Oscillator Control
OFFSET: 0x00000004
INSTANCE 0 ADDRESS: 0x40004004
This is the LFRC Calibration value. Similar to the XT calibration, it allows the derived LFRC clock to be calibrated. The original 1024Hz clock source will not change, but a 512Hz version (divided down version) can be modified. This register will add or subtract the number of cycles programmed in this register across a 1024 seconds interval. For example, if a value of 200 is programmed in this register, then 200 additional clocks will be added into the 512Hz derived clock across a 1024 seconds interval.

DS-A3-0p9p1

Page 531 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 762: CALRC Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CALRC

Bit 31:18

Name RSVD

17:0

CALRC

Table 763: CALRC Register Bits

Reset 0x0

RW RO RESERVED

Description

LFRC Oscillator calibration value. This register will enable the hardware to

increase or decrease the number of cycles in a 512 Hz clock derived from

the original 1024 version. The most significant bit is the sign. A '1' is a

reduction, and a '0' is an addition. This calibration value will add or reduce

0x0

RW

the number of cycles programmed here across a 32 second interval. The range is from -131072 (decimal) to 131071 (decimal). This register is nor-

mally used in conjuction with ACALCTR register. The CALRC register will

load the ACALCTR register (bits 17:0) if the ACALCTR register is set to

measure the LFRC with the XT clock.

12.2.2.3 ACALCTR Register
Autocalibration Counter
OFFSET: 0x00000008
INSTANCE 0 ADDRESS: 0x40004008
This register can be used for 2 purposes. The first is to calibrate the LFRC clock using the XT clock source. The second is to measure an internal clock signal relative to the external clock. In that case, the ACALCTR will show the multiple of the external clock with respect to the internal clock signal. E.g. Fref = Fmeas x ACALCTR. Note that this register should not be confused with the HFRC Adjustment register, which is separately defined in CLKGEN_HFADJ register.

Table 764: ACALCTR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ACALCTR

Bit 31:24

Name RSVD

Table 765: ACALCTR Register Bits

Reset 0x0

RW RO RESERVED

Description

DS-A3-0p9p1

Page 532 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

23:0

ACALCTR

Table 765: ACALCTR Register Bits

Reset 0x0

RW

Description

Autocalibration Counter result. Bits 17 down to 0 of this is feed directly to the

RO

CALRC register if ACAL register in OCTRL register is set to 1024SEC or 512SEC.

12.2.2.4 OCTRL Register
Oscillator Control OFFSET: 0x0000000C INSTANCE 0 ADDRESS: 0x4000400C This register includes controls for autocalibration in addition to the RTC oscillator controls.

Table 766: OCTRL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ACAL

RSVD

OSEL FOS STOPRC STOPXT

Bit 31:11

Name RSVD

10:8

ACAL

7

OSEL

6

FOS

DS-A3-0p9p1

Table 767: OCTRL Register Bits

Reset 0x0

RW RO RESERVED

Description

Autocalibration control. This selects the source to be used in the autocalibration flow. This flow can also be used to measure an internal clock against an external clock source, with the external clock normally used as the reference.

DIS = 0x0 - Disable Autocalibration

0x0

RW 1024SEC = 0x2 - Autocalibrate every 1024 seconds. Once autocalibration

is done, an interrupt will be triggered at the end of 1024 seconds.

512SEC = 0x3 - Autocalibrate every 512 seconds. Once autocalibration is

done, an interrupt will be trigged at the end of 512 seconds.

XTFREQ = 0x6 - Frequency measurement using XT. The XT clock is nor-

mally considered much more accurate than the LFRC clock source.

EXTFREQ = 0x7 - Frequency measurement using external clock.

Selects the RTC oscillator (1 => LFRC, 0 => XT)

0x0

RW RTC_XT = 0x0 - RTC uses the XT

RTC_LFRC = 0x1 - RTC uses the LFRC

Oscillator switch on failure function. If this is set, then LFRC clock source

will switch from XT to RC.

0x0

RW

DIS = 0x0 - Disable the oscillator switch on failure function.

EN = 0x1 - Enable the oscillator switch on failure function.

Page 533 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

5:2

RSVD

1

STOPRC

0

STOPXT

Table 767: OCTRL Register Bits

Reset 0x0

RW RO RESERVED

Description

Stop the LFRC Oscillator to the RTC

0x0

RW EN = 0x0 - Enable the LFRC Oscillator to drive the RTC

STOP = 0x1 - Stop the LFRC Oscillator when driving the RTC

Stop the XT Oscillator to the RTC

0x0

RW EN = 0x0 - Enable the XT Oscillator to drive the RTC

STOP = 0x1 - Stop the XT Oscillator when driving the RTC

12.2.2.5 CLKOUT Register
CLKOUT Frequency Select OFFSET: 0x00000010 INSTANCE 0 ADDRESS: 0x40004010 This register enables the CLKOUT to the GPIOs, and selects the clock source to that.

Table 768: CLKOUT Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CKSEL

CKEN RSVD

Bit

Name

31:8

RSVD

7

CKEN

6

RSVD

Table 769: CLKOUT Register Bits

Reset 0x0

RW RO RESERVED

Description

Enable the CLKOUT signal

0x0

RW DIS = 0x0 - Disable CLKOUT

EN = 0x1 - Enable CLKOUT

0x0

RO RESERVED

DS-A3-0p9p1

Page 534 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Bit

Name

Apollo3 Blue Datasheet

Table 769: CLKOUT Register Bits

Reset

RW CLKOUT signal select

Description

LFRC = 0x0 - LFRC XT_DIV2 = 0x1 - XT / 2 XT_DIV4 = 0x2 - XT / 4 XT_DIV8 = 0x3 - XT / 8 XT_DIV16 = 0x4 - XT / 16 XT_DIV32 = 0x5 - XT / 32 RTC_1Hz = 0x10 - 1 Hz as selected in RTC XT_DIV2M = 0x16 - XT / 2^21 XT = 0x17 - XT CG_100Hz = 0x18 - 100 Hz as selected in CLKGEN

5:0

CKSEL

0x0

RW LFRC_DIV2 = 0x23 - LFRC / 2

LFRC_DIV32 = 0x24 - LFRC / 32

LFRC_DIV512 = 0x25 - LFRC / 512

LFRC_DIV32K = 0x26 - LFRC / 32768

XT_DIV256 = 0x27 - XT / 256

XT_DIV8K = 0x28 - XT / 8192

XT_DIV64K = 0x29 - XT / 2^16

ULFRC_DIV16 = 0x2A - Uncal LFRC / 16

ULFRC_DIV128 = 0x2B - Uncal LFRC / 128

ULFRC_1Hz = 0x2C - Uncal LFRC / 1024

ULFRC_DIV4K = 0x2D - Uncal LFRC / 4096

ULFRC_DIV1M = 0x2E - Uncal LFRC / 2^20

LFRC_DIV1M = 0x31 - LFRC / 2^20

XTNE = 0x35 - XT (not autoenabled) XTNE_DIV16 = 0x36 - XT / 16 (not autoenabled) LFRCNE_DIV32 = 0x37 - LFRC / 32 (not autoenabled) LFRCNE = 0x39 - LFRC (not autoenabled) - Default for undefined values
12.2.2.6 CLKKEY Register
Key Register for Clock Control Register OFFSET: 0x00000014 INSTANCE 0 ADDRESS: 0x40004014 Key Register for Clock Control Register

DS-A3-0p9p1

Page 535 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 770: CLKKEY Register
33222222222211111111110000000000 10987654321098765432109876543210
CLKKEY

Bit

Name

31:0

CLKKEY

Table 771: CLKKEY Register Bits

Reset 0x0

RW
Key register value. RW
Key = 0x47 - Key

Description

12.2.2.7 CCTRL Register
HFRC Clock Control OFFSET: 0x00000018 INSTANCE 0 ADDRESS: 0x40004018 This register controls the main divider for HFRC clock. If this is set, all internal HFRC clock sources are divided by 2.

Table 772: CCTRL Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CORE-

Bit

Name

31:1

RSVD

0

CORESEL

Table 773: CCTRL Register Bits

Reset 0x0

RW RO RESERVED

Description

Core Clock divisor

0x1

RW HFRC = 0x0 - Core Clock is HFRC

HFRC_DIV2 = 0x1 - Core Clock is HFRC / 2

12.2.2.8 STATUS Register
Clock Generator Status OFFSET: 0x0000001C

DS-A3-0p9p1

Page 536 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
INSTANCE 0 ADDRESS: 0x4000401C This register provides status to the XT oscillator and the source of the RTC.
Table 774: STATUS Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

OSCF OMODE

Bit

Name

31:2

RSVD

1

OSCF

0

OMODE

Table 775: STATUS Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RO XT Oscillator is enabled but not oscillating

Current RTC oscillator (1 => LFRC, 0 => XT). After an RTC oscillator

0x0

RO change, it may take up to 2 seconds for this field to reflect the new oscillator.

12.2.2.9 HFADJ Register
HFRC Adjustment OFFSET: 0x00000020 INSTANCE 0 ADDRESS: 0x40004020 This register controls the HFRC adjustment. The HFRC clock can change with temperature and process corners, and this register controls the HFRC adjustment logic which reduces the fluctuations to the clock.

Table 776: HFADJ Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

HFXTADJ

RSVD

HFADJGAIN HFWARMUP
HFADJCK HFADJEN

Bit 31:24

Name RSVD

DS-A3-0p9p1

Table 777: HFADJ Register Bits

Reset 0x0

RW RO RESERVED

Description

Page 537 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

23:21

HFADJGAIN

20

HFWARMUP

19:8

HFXTADJ

7:4

RSVD

3:1

HFADJCK

0

HFADJEN

Table 777: HFADJ Register Bits

Reset

RW

Description

Gain control for HFRC adjustment

0x1
0x0 0x5b8

Gain_of_1 = 0x0 - HF Adjust with Gain of 1

RW

Gain_of_1_in_2 = 0x1 - HF Adjust with Gain of 0.5 Gain_of_1_in_4 = 0x2 - HF Adjust with Gain of 0.25

Gain_of_1_in_8 = 0x3 - HF Adjust with Gain of 0.125

Gain_of_1_in_16 = 0x4 - HF Adjust with Gain of 0.0625

Gain_of_1_in_32 = 0x5 - HF Adjust with Gain of 0.03125

XT warmup period for HFRC adjustment

RW 1SEC = 0x0 - Autoadjust XT warmup period = 1-2 seconds 2SEC = 0x1 - Autoadjust XT warmup period = 2-4 seconds

RW Target HFRC adjustment value.

0x0

RO RESERVED

Repeat period for HFRC adjustment

4SEC = 0x0 - Autoadjust repeat period = 4 seconds

16SEC = 0x1 - Autoadjust repeat period = 16 seconds

0x0

RW

32SEC = 0x2 - Autoadjust repeat period = 32 seconds 64SEC = 0x3 - Autoadjust repeat period = 64 seconds

128SEC = 0x4 - Autoadjust repeat period = 128 seconds

256SEC = 0x5 - Autoadjust repeat period = 256 seconds

512SEC = 0x6 - Autoadjust repeat period = 512 seconds

1024SEC = 0x7 - Autoadjust repeat period = 1024 seconds

HFRC adjustment control

0x0

RW DIS = 0x0 - Disable the HFRC adjustment

EN = 0x1 - Enable the HFRC adjustment

12.2.2.10CLOCKENSTAT Register
Clock Enable Status OFFSET: 0x00000028 INSTANCE 0 ADDRESS: 0x40004028 This register provides the enable status to all the peripheral clocks.

Table 778: CLOCKENSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
CLOCKENSTAT

DS-A3-0p9p1

Page 538 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CLOCKENSTAT

Table 779: CLOCKENSTAT Register Bits

Reset

RW Clock enable status

Description

ADC_CLKEN = 0x1 - Clock enable for the ADC.

APBDMA_ACTIVITY_CLKEN = 0x2 - Clock enable for the APBDMA

ACTIVITY

APBDMA_AOH_CLKEN = 0x4 - Clock enable for the APBDMA AOH

DOMAIN

APBDMA_AOL_CLKEN = 0x8 - Clock enable for the APBDMA AOL

DOMAIN

APBDMA_APB_CLKEN = 0x10 - Clock enable for the APBDMA_APB

APBDMA_BLEL_CLKEN = 0x20 - Clock enable for the APBDMA_BLEL

APBDMA_HCPA_CLKEN = 0x40 - Clock enable for the APBDMA_HCPA

APBDMA_HCPB_CLKEN = 0x80 - Clock enable for the APBDMA_HCPB

APBDMA_HCPC_CLKEN = 0x100 - Clock enable for the APBDMA_HCPC

APBDMA_MSPI_CLKEN = 0x200 - Clock enable for the APBDMA_MSPI

APBDMA_PDM_CLKEN = 0x400 - Clock enable for the APBDMA_PDM

BLEIF_CLK_CLKEN = 0x800 - Clock enable for the BLEIF

BLEIF_CLK32K_CLKEN = 0x1000 - Clock enable for the BLEIF 32khZ

0x0

RO

CLOCK CTIMER_CLKEN = 0x2000 - Clock enable for the CTIMER BLOCK

CTIMER0A_CLKEN = 0x4000 - Clock enable for the CTIMER0A

CTIMER0B_CLKEN = 0x8000 - Clock enable for the CTIMER0B

CTIMER1A_CLKEN = 0x10000 - Clock enable for the CTIMER1A

CTIMER1B_CLKEN = 0x20000 - Clock enable for the CTIMER1B

CTIMER2A_CLKEN = 0x40000 - Clock enable for the CTIMER2A

CTIMER2B_CLKEN = 0x80000 - Clock enable for the CTIMER2B

CTIMER3A_CLKEN = 0x100000 - Clock enable for the CTIMER3A

CTIMER3B_CLKEN = 0x200000 - Clock enable for the CTIMER3B

CTIMER4A_CLKEN = 0x400000 - Clock enable for the CTIMER4A

CTIMER4B_CLKEN = 0x800000 - Clock enable for the CTIMER4B

CTIMER5A_CLKEN = 0x1000000 - Clock enable for the CTIMER5A

CTIMER5B_CLKEN = 0x2000000 - Clock enable for the CTIMER5B

CTIMER6A_CLKEN = 0x4000000 - Clock enable for the CTIMER6A

CTIMER6B_CLKEN = 0x8000000 - Clock enable for the CTIMER6B

CTIMER7A_CLKEN = 0x10000000 - Clock enable for the CTIMER7A

CTIMER7B_CLKEN = 0x20000000 - Clock enable for the CTIMER7B

DAP_CLKEN = 0x40000000 - Clock enable for the DAP

IOMSTRIFC0_CLKEN = 0x80000000 - Clock enable for the IOMSTRIFC0

12.2.2.11CLOCKEN2STAT Register
Clock Enable Status OFFSET: 0x0000002C INSTANCE 0 ADDRESS: 0x4000402C This is a continuation of the clock enable status.

Table 780: CLOCKEN2STAT Register
33222222222211111111110000000000 10987654321098765432109876543210
CLOCKEN2STAT

DS-A3-0p9p1

Page 539 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CLOCKEN2STAT

Table 781: CLOCKEN2STAT Register Bits

Reset

RW Clock enable status 2

Description

IOMSTRIFC1_CLKEN = 0x1 - Clock enable for the IO MASTER 1 IFC

INTERFACE

IOMSTRIFC2_CLKEN = 0x2 - Clock enable for the IO MASTER 2 IFC

INTERFACE

IOMSTRIFC3_CLKEN = 0x4 - Clock enable for the IO MASTER 3 IFC

INTERFACE

IOMSTRIFC4_CLKEN = 0x8 - Clock enable for the IO MASTER 4 IFC

INTERFACE

IOMSTRIFC5_CLKEN = 0x10 - Clock enable for the IO MASTER 5 IFC

INTERFACE

PDM_CLKEN = 0x20 - Clock enable for the PDM

0x0

RO

PDMIFC_CLKEN = 0x40 - Clock enable for the PDM INTERFACE PWRCTRL_CLKEN = 0x80 - Clock enable for the PWRCTRL

PWRCTRL_COUNT_CLKEN = 0x100 - Clock enable for the PWRCTRL

counter

RSTGEN_CLKEN = 0x200 - Clock enable for the RSTGEN

SCARD_CLKEN = 0x400 - Clock enable for the SCARD

SCARD_ALTAPB_CLKEN = 0x800 - Clock enable for the SCARD ALTAPB

STIMER_CNT_CLKEN = 0x1000 - Clock enable for the STIMER_CNT_-

CLKEN

TPIU_CLKEN = 0x2000 - Clock enable for the TPIU_CLKEN

UART0HF_CLKEN = 0x4000 - Clock enable for the UART0 HF

UART1HF_CLKEN = 0x8000 - Clock enable for the UART1 HF

WDT_CLKEN = 0x8000 - Clock enable for the Watchdog timer

XT_32KHZ_EN = 0x40000000 - Clock enable for the XT 32KHZ

FORCEHFRC = 0x80000000 - HFRC is forced on Status.

12.2.2.12CLOCKEN3STAT Register
Clock Enable Status OFFSET: 0x00000030 INSTANCE 0 ADDRESS: 0x40004030 This is a continuation of the clock enable status.

Table 782: CLOCKEN3STAT Register
33222222222211111111110000000000 10987654321098765432109876543210
CLOCKEN3STAT

DS-A3-0p9p1

Page 540 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CLOCKEN3STAT

Table 783: CLOCKEN3STAT Register Bits

Reset

RW Clock enable status 3

Description

DAP_enabled = 0x20000 - DAP clock is enabled [17]

VCOMP_enabled = 0x40000 - VCOMP powerdown indicator [18]

XTAL_enabled = 0x1000000 - XTAL is enabled [24]

0x0

RO

HFRC_enabled = 0x2000000 - HFRC is enabled [25] HFADJEN = 0x4000000 - HFRC Adjust enabled [26]

HFRC_en_out = 0x8000000 - HFRC Enabled out [27]

RTC_XT = 0x10000000 - RTC use XT [28]

clkout_xtal_en = 0x20000000 - XTAL clkout enabled [29]

clkout_hfrc_en = 0x40000000 - HFRC clkout enabled [30]

flashclk_en = 0x80000000 - Flash clk is enabled [31]

12.2.2.13FREQCTRL Register
HFRC Frequency Control register OFFSET: 0x00000034 INSTANCE 0 ADDRESS: 0x40004034 This register provides the burst control and burst status.

Table 784: FREQCTRL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

BURSTSTATUS BURSTACK BURSTREQ

Bit

Name

31:3

RSVD

2

BURSTSTATUS

1

BURSTACK

0

BURSTREQ

Table 785: FREQCTRL Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RO This represents frequency burst status.

Frequency Burst Request Acknowledge. Frequency burst requested is

0x0

RO

always acknowledged whether burst is granted or not depending on feature enable.

Frequency Burst Enable Request

0x0

RW DIS = 0x0 - Frequency for ARM core stays at 48MHz

EN = 0x1 - Frequency for ARM core is increased to 96MHz

DS-A3-0p9p1

Page 541 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
12.2.2.14BLEBUCKTONADJ Register
BLE BUCK TON ADJUST OFFSET: 0x0000003C INSTANCE 0 ADDRESS: 0x4000403C This is the register control for BLE ton adjustment logic.
Table 786: BLEBUCKTONADJ Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

TONHIGHTHRESHOLD

TONLOWTHRESHOLD

ZEROLENDETECTEN ZEROLENDETECTTRIM
TONADJUSTEN TONADJUSTPERIOD

Bit 31:28

Name RSVD

27

ZEROLENDETECTEN

Table 787: BLEBUCKTONADJ Register Bits

Reset 0x0

RW RO RESERVED

Description

BLEBUCK ZERO LENGTH DETECT ENABLE

0x0

RW DIS = 0x0 - Disable Zero Length Detect

EN = 0x1 - Enable Zero Length Detect

DS-A3-0p9p1

Page 542 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

26:23

ZEROLENDETECTTRIM

22

TONADJUSTEN

21:20

TONADJUSTPERIOD

19:10

TONHIGHTHRESHOLD

9:0

TONLOWTHRESHOLD

Table 787: BLEBUCKTONADJ Register Bits

Reset

RW

Description

BLEBUCK ZERO LENGTH DETECT TRIM

SetF = 0xF - Indicator send when the BLE BUCK asserts blebuck_comp1

for about 81us (10 percent margin of error) or more

SetE = 0xE - Indicator send when the BLE BUCK asserts blebuck_comp1

for about 75.6us (10 percent margin of error) or more

SetD = 0xD - Indicator send when the BLE BUCK asserts blebuck_comp1

for about 70.2us (10 percent margin of error) or more

SetC = 0xC - Indicator send when the BLE BUCK asserts blebuck_comp1

for about 64.8us (10 percent margin of error) or more

SetB = 0xB - Indicator send when the BLE BUCK asserts blebuck_comp1

for about 59.4us (10 percent margin of error) or more

SetA = 0xA - Indicator send when the BLE BUCK asserts blebuck_comp1

for about 54.0us (10 percent margin of error) or more

Set9 = 0x9 - Indicator send when the BLE BUCK asserts blebuck_comp1 for

about 48.6us (10 percent margin of error) or more

0x0

RW

Set8 = 0x8 - Indicator send when the BLE BUCK asserts blebuck_comp1 for about 43.2us (10 percent margin of error) or more

Set7 = 0x7 - Indicator send when the BLE BUCK asserts blebuck_comp1 for

about 37.8us (10 percent margin of error) or more

Set6 = 0x6 - Indicator send when the BLE BUCK asserts blebuck_comp1 for

about 32.4us (10 percent margin of error) or more

Set5 = 0x5 - Indicator send when the BLE BUCK asserts blebuck_comp1 for

about 27.0us (10 percent margin of error) or more

Set4 = 0x4 - Indicator send when the BLE BUCK asserts blebuck_comp1 for

about 21.6us (10 percent margin of error) or more

Set3 = 0x3 - Indicator send when the BLE BUCK asserts blebuck_comp1 for

about 16.2us (10 percent margin of error) or more

Set2 = 0x2 - Indicator send when the BLE BUCK asserts blebuck_comp1 for

about 10.8us (10 percent margin of error) or more

Set1 = 0x1 - Indicator send when the BLE BUCK asserts blebuck_comp1 for

about 5.4us (10 percent margin of error) or more

Set0 = 0x0 - Indicator send when the BLE BUCK asserts blebuck_comp1 for

about 2.0us (10 percent margin of error) or more

TON ADJUST ENABLE

0x0

RW DIS = 0x0 - Disable Adjust for BLE BUCK TON trim

EN = 0x1 - Enable Adjust for BLE BUCK TON trim

TON ADJUST PERIOD

0x0

RW

HFRC_94KHz = 0x0 - Adjust done for every 1 94KHz period

TON ADJUST HIGH THRESHOLD. Suggested values are #15(94KHz)

0x0

RW #2A(47Khz) #A6(12Khz) #29A(3Khz)

TON ADJUST LOW THRESHOLD. Suggested values are #A(94KHz)

0x0

RW #15(47KHz) #53(12Khz) #14D(3Khz)

12.2.2.15INTRPTEN Register
CLKGEN Interrupt Register: Enable OFFSET: 0x00000100 INSTANCE 0 ADDRESS: 0x40004100

DS-A3-0p9p1

Page 543 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Set bits in this register to allow this module to generate the corresponding interrupt.
Table 788: INTRPTEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

OF ACC ACF

Bit

Name

31:3

RSVD

2

OF

1

ACC

0

ACF

Table 789: INTRPTEN Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW XT Oscillator Fail interrupt

0x0

RW Autocalibration Complete interrupt

0x0

RW Autocalibration Fail interrupt

12.2.2.16INTRPTSTAT Register
CLKGEN Interrupt Register: Status OFFSET: 0x00000104 INSTANCE 0 ADDRESS: 0x40004104 Read bits from this register to discover the cause of a recent interrupt.

Table 790: INTRPTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

OF ACC ACF

Bit

Name

31:3

RSVD

2

OF

1

ACC

DS-A3-0p9p1

Table 791: INTRPTSTAT Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW XT Oscillator Fail interrupt

0x0

RW Autocalibration Complete interrupt

Page 544 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

ACF

Table 791: INTRPTSTAT Register Bits

Reset 0x0

RW RW Autocalibration Fail interrupt

Description

12.2.2.17INTRPTCLR Register
CLKGEN Interrupt Register: Clear OFFSET: 0x00000108 INSTANCE 0 ADDRESS: 0x40004108 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.

Table 792: INTRPTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

OF ACC ACF

Bit

Name

31:3

RSVD

2

OF

1

ACC

0

ACF

Table 793: INTRPTCLR Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW XT Oscillator Fail interrupt

0x0

RW Autocalibration Complete interrupt

0x0

RW Autocalibration Fail interrupt

12.2.2.18INTRPTSET Register
CLKGEN Interrupt Register: Set OFFSET: 0x0000010C INSTANCE 0 ADDRESS: 0x4000410C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).

DS-A3-0p9p1

Page 545 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

OF ACC ACF

Table 794: INTRPTSET Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

Bit

Name

31:3

RSVD

2

OF

1

ACC

0

ACF

Table 795: INTRPTSET Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW XT Oscillator Fail interrupt

0x0

RW Autocalibration Complete interrupt

0x0

RW Autocalibration Fail interrupt

DS-A3-0p9p1

Page 546 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

12.3 Real Time Clock

100Hz

100ths Ctr

Secs Ctr

Mins Ctr

Hours Ctr

Date Ctr

Month Ctr

Year Ctr

Wkdy Ctr

Cmpr
100ths Alm

Cmpr
Secs Alm

Cmpr
Mins Alm

Cmpr
Hours Alm

Cmpr
Date Alm

Cmpr
Month Alm

Int Logic

Cmpr
Wkdy Alm

Figure 65. Block diagram for the Real Time Clock Module
12.3.1 RTC Functional Overview
The Real Time Clock (RTC) Module, shown in Figure 65, provides an accurate real time measurement. Key features are:
 100th of a second resolution  Time is measured for the years between 1900 and 2199  Automatic leap year calculation  Hours may be specified in 12 or 24 hour mode  Alarm precise to 1/100 second  Alarm interval every 100th second, 10th second, second, minute, hour, day, week, month or year.  100 Hz input clock taken from either the high accuracy XT Oscillator or the low power LFRC Oscillator.
12.3.2 Calendar Counters
The real time is held in a set of eight Calendar Counters, which hold the current 1/100th of a second (REG_CLK_GEN_CTRLOW_CTR100), the current second (REG_CLK_GEN_CTRLOW_CTRSEC), the minute (REG_CLK_GEN_CTRLOW_CTRMIN), the hour (REG_CLK_GEN_CTRLOW_CTRHR), the current day of the month (REG_CLK_GEN_CTRUP_CTRDATE), the current day of the week (REG_CLK_GEN_CTRUP_CTRWKDY), the current month (REG_CLK_GEN_CTRUP_CTRMO), the current year (REG_CLK_GEN_CTRUP_CTRYR) and the current century (REG_CLK_GEN_CTRUP_CB), all in BCD format. In order to insure that the RTC starts precisely, the timer chain which generates the 100 Hz clock is reset to 0 whenever any of the Calendar Counter Registers is written. Since unintentional modification of the Calendar Counters is a serious problem, the REG_CLK_GEN_RTCCTL_WRTC bit must be set in order to write any of the counters, and should be reset by software after any load of the Calendar Counters.
Software may stop the clock to the Calendar Counters by setting the REG_CLK_GEN_RTCCTL_RSTOP bit. This may be used in modes like Stopwatch to precisely start and stop the Calendar Counters.
12.3.3 Calendar Counter Reads
The RTC includes special logic to help insure that the Calendar Counters may be read reliably, i.e. that no rollover has occurred. Because two 32-bit reads are required to read the complete set of counters, it is possible that a delay occurs between the two reads which causes a rollover to occur. An interrupt is the most likely reason this could occur. If two 100 Hz clocks occur between these two reads, the REG_CLK_GEN_CTRUP_CTRERR bit will be set. Software should check this bit after any Calendar Counter read, and perform the read again if it is set. Any read of the upper counter word will clear the CTRERR bit.

DS-A3-0p9p1

Page 547 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

12.3.4 Alarms
There are seven Alarm Registers which may be used to generate an Alarm interrupt at a specific time. These registers correspond to the 100th of a second (REG_CLK_GEN_ALMLOW_ALM100), second (REG_CLK_GEN_ALMLOW_ALMSEC), minute (REG_CLK_GEN_ALMLOW_ALMMIN), hour (REG_CLK_GEN_ALMLOW_ALMHR), day of the month (REG_CLK_GEN_ALMUP_ALMDATE), day of the week (REG_CLK_GEN_ALMUP_ALMWKDY) and month (REG_CLK_GEN_ALMUP_ALMMO) Calendar Counters. The comparison is controlled by the REG_CLK_GEN_RTCCTL_RPT field and the REG_CLK_GEN_ALMLOW_ALM100 Register as shown in 12/24 Hour Mode. In the ALM100 Register, n indicates any digit 0-9. When all selected Counters match their corresponding Alarm Register, the ALM interrupt flag is set (see the Clock Generator section for the ALM interrupt control).

Table 796: Alarm RPT Function

RPT Value 000 001 010 011 100 101 110 111

Interval Disabled Every year Every month Every week Every day Every hour Every minute Every second

Comparison None 100th, second, minute, hour, day, month 100th, second, minute, hour, day 100th, second, minute, hour, weekday 100th, second, minute, hour 100th, second, minute 100th, second 100th

All alarm interrupts are asserted on the next 100 Hz clock cycle after the counters match the alarm register, except for 100ths of a second. To get an interrupt that occurs precisely at a certain time, the comparison value in the corresponding alarm register should be set 10 ms (one 100 Hz count) earlier than the desired interrupt time.
For the 100ths of a second interrupt, the first 100 Hz clock sets the comparison with the alarm register and the next clock asserts the interrupt. Therefore, the first 100ths interrupt will be asserted after 20 ms, not 10 ms. This occurs each and every time the 100ths of a second counter with interrupts is enabled if the RTC is stopped. If the RTC is already running when configured, then the first interrupt will occur between 10 and 20 ms after configuration.
12.3.5 12/24 Hour Mode
If the REG_CLK_GEN_RTCCTL_HR1224 bit is 0, the RTC is in 24-hour mode, and the Hours and Hours Alarm Registers hold a 6-bit BCD value which is the 24-hour time (values 0 to 23). If the HR1224 bit is 1, the RTC is in 12-hour mode, and the Hours and Hours Alarm Registers hold a 5-bit BCD value which is the 12-hour time (values 1 to 12) , and bit 5 is the AP bit which is 0 for an AM time and 1 for a PM time. If the HR1224 bit is modified the Hours and Hours Alarm fields must be updated.
12.3.6 Century Control and Leap Year Management
The REG_CLK_GEN_CTRUP_CB bit indicates the current century. A value of 0 indicates the 20th century, and a value of 1 indicates the 19th or 21st century. The CB value will toggle when the Years counter rolls over from 99 to 0 if the REG_CLK_GEN_CTRUP_CEB bit is set, and will remain constant if CEB is clear. The century value is used to control the Leap Year functions, which create the correct insertion of February 29 in years which are divisible by 4 and not divisible by 100, and also the year 2000.

DS-A3-0p9p1

Page 548 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

12.3.7 Weekday Function
The Weekday Counter is simply a 3-bit counter which counts up to 6 and then resets to 0. It is the responsibility of software to assign particular days of the week to each counter value.
12.4 RTC Registers
Real Time Clock INSTANCE 0 BASE ADDRESS:0x40004200

12.4.1 Register Memory Map

Table 797: RTC Register Map

Address(s) 0x40004240 0x40004244 0x40004248 0x4000424C 0x40004250 0x40004300 0x40004304 0x40004308 0x4000430C

Register Name CTRLOW CTRUP ALMLOW ALMUP RTCCTL INTEN INTSTAT INTCLR INTSET

Description RTC Counters Lower RTC Counters Upper RTC Alarms Lower RTC Alarms Upper RTC Control Register RTC Interrupt Register: Enable RTC Interrupt Register: Status RTC Interrupt Register: Clear RTC Interrupt Register: Set

DS-A3-0p9p1

Page 549 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

12.4.2 RTC Registers
12.4.2.1 CTRLOW Register
RTC Counters Lower OFFSET: 0x00000040 INSTANCE 0 ADDRESS: 0x40004240 This counter contains the values for hour, minutes, seconds and 100ths of a second Counter.

Table 798: CTRLOW Register
33222222222211111111110000000000 10987654321098765432109876543210

CTRHR

CTRMIN

CTRSEC

CTR100

RSVD RSVD RSVD

Bit 31:30 29:24
23 22:16
15 14:8 7:0

Name RSVD CTRHR RSVD CTRMIN RSVD CTRSEC CTR100

Table 799: CTRLOW Register Bits

Reset 0x0

RW RO RESERVED

Description

0x1

RW Hours Counter

0x0

RO RESERVED

0x0

RW Minutes Counter

0x0

RO RESERVED

0x0

RW Seconds Counter

0x0

RW 100ths of a second Counter

12.4.2.2 CTRUP Register
RTC Counters Upper
OFFSET: 0x00000044
INSTANCE 0 ADDRESS: 0x40004244
This register contains the day, month and year information. It contains which day in the week, and the century as well. The information of the century can also be derived from the year information. The 31st bit contains the error bit. See description in the register bit for condition when error is triggered.

DS-A3-0p9p1

Page 550 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 800: CTRUP Register
33222222222211111111110000000000 10987654321098765432109876543210

CTRYR

RSVD

CTRMO

CTRDATE

CTERR RSVD CEB
CB CTRWKDY
RSVD

Bit

Name

31

CTERR

30:29 28

RSVD CEB

27

CB

26:24 23:16 15:13 12:8
7:6 5:0

CTRWKDY CTRYR RSVD CTRMO RSVD
CTRDATE

Table 801: CTRUP Register Bits

Reset 0x0

RW

Description

Counter read error status. Error is triggered when software reads the lower

word of the counters, and fails to read the upper counter within 1/100 sec-

ond. This is because when the lower counter is read, the upper counter is

RO

held off from incrementing until it is read so that the full time stamp can be read.

NOERR = 0x0 - No read error occurred RDERR = 0x1 - Read error occurred

0x0

RO RESERVED

Century enable

0x0

RW DIS = 0x0 - Disable the Century bit from changing

EN = 0x1 - Enable the Century bit to change

Century

0x0

RW 2000 = 0x0 - Century is 2000s

1900_2100 = 0x1 - Century is 1900s/2100s

0x0

RW Weekdays Counter

0x0

RW Years Counter

0x0

RO RESERVED

0x0

RW Months Counter

0x0

RO RESERVED

0x0

RW Date Counter

12.4.2.3 ALMLOW Register
RTC Alarms Lower OFFSET: 0x00000048 INSTANCE 0 ADDRESS: 0x40004248

DS-A3-0p9p1

Page 551 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

This register is the Alarm settings for hours, minutes, second and 1/100th seconds settings.

Table 802: ALMLOW Register
33222222222211111111110000000000 10987654321098765432109876543210

ALMHR

ALMMIN

ALMSEC

ALM100

RSVD RSVD RSVD

Bit 31:30 29:24
23 22:16
15 14:8 7:0

Name RSVD ALMHR RSVD ALMMIN RSVD ALMSEC ALM100

Table 803: ALMLOW Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Hours Alarm

0x0

RO RESERVED

0x0

RW Minutes Alarm

0x0

RO RESERVED

0x0

RW Seconds Alarm

0x0

RW 100ths of a second Alarm

12.4.2.4 ALMUP Register
RTC Alarms Upper OFFSET: 0x0000004C INSTANCE 0 ADDRESS: 0x4000424C This register is the alarm settings for week, month and day.

Table 804: ALMUP Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

ALMMO

ALMDATE

ALMWKDY RSVD

DS-A3-0p9p1

Page 552 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:19 18:16 15:13 12:8
7:6 5:0

Name RSVD ALMWKDY RSVD ALMMO RSVD ALMDATE

Table 805: ALMUP Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW Weekdays Alarm

0x0

RO RESERVED

0x0

RW Months Alarm

0x0

RO RESERVED

0x0

RW Date Alarm

12.4.2.5 RTCCTL Register
RTC Control Register OFFSET: 0x00000050 INSTANCE 0 ADDRESS: 0x40004250 This is the register control for the RTC module. It sets the 12 or 24 hours mode, enables counter writes and sets the alarm repeat interval.

Table 806: RTCCTL Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RPT

HR1224 RSTOP WRTC

Bit

Name

31:6

RSVD

5

HR1224

4

RSTOP

Table 807: RTCCTL Register Bits

Reset 0x0

RW RO RESERVED

Description

Hours Counter mode

0x0

RW 24HR = 0x0 - Hours in 24 hour mode

12HR = 0x1 - Hours in 12 hour mode

RTC input clock control

0x0

RW RUN = 0x0 - Allow the RTC input clock to run

STOP = 0x1 - Stop the RTC input clock

DS-A3-0p9p1

Page 553 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3:1

RPT

0

WRTC

Table 807: RTCCTL Register Bits

Reset

RW Alarm repeat interval

Description

DIS = 0x0 - Alarm interrupt disabled

YEAR = 0x1 - Interrupt every year

0x0

RW

MONTH = 0x2 - Interrupt every month WEEK = 0x3 - Interrupt every week

DAY = 0x4 - Interrupt every day

HR = 0x5 - Interrupt every hour

MIN = 0x6 - Interrupt every minute

SEC = 0x7 - Interrupt every second/10th/100th

Counter write control

0x0

RW DIS = 0x0 - Counter writes are disabled

EN = 0x1 - Counter writes are enabled

12.4.2.6 INTEN Register
RTC Interrupt Register: Enable OFFSET: 0x00000100 INSTANCE 0 ADDRESS: 0x40004300 Set bits in this register to allow this module to generate the corresponding interrupt.

Table 808: INTEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

ALM

Bit

Name

31:1

RSVD

0

ALM

Table 809: INTEN Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW RTC Alarm interrupt

12.4.2.7 INTSTAT Register
RTC Interrupt Register: Status OFFSET: 0x00000104 INSTANCE 0 ADDRESS: 0x40004304 Read bits from this register to discover the cause of a recent interrupt.

DS-A3-0p9p1

Page 554 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 810: INTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

ALM

Bit

Name

31:1

RSVD

0

ALM

Table 811: INTSTAT Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW RTC Alarm interrupt

12.4.2.8 INTCLR Register
RTC Interrupt Register: Clear OFFSET: 0x00000108 INSTANCE 0 ADDRESS: 0x40004308 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.

Table 812: INTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

ALM

Bit

Name

31:1

RSVD

0

ALM

Table 813: INTCLR Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW RTC Alarm interrupt

12.4.2.9 INTSET Register
RTC Interrupt Register: Set OFFSET: 0x0000010C INSTANCE 0 ADDRESS: 0x4000430C

DS-A3-0p9p1

Page 555 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).
Table 814: INTSET Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

ALM

Bit

Name

31:1

RSVD

0

ALM

Table 815: INTSET Register Bits

Reset 0x0

RW RO RESERVED

Description

0x0

RW RTC Alarm interrupt

DS-A3-0p9p1

Page 556 of 909

2019 Ambiq Micro, Inc. All rights reserved.

13. Counter/Timer Module

TMRPINB TMRPINA
Clk Sources

CLRA 16-bit Counter A

Apollo3 Blue Datasheet
CLRB 16-bit Counter B

16-bit Compare0/1/2/3A 16-bit Compare0/1/2/3B

Cmprs

Patsel

Cmprs

Patsel

TRIGGERA TRIGGERB
TMRINTA TMRINTB TMRINTA TMRINTB

ConfigurationA ConfigurationB

Control

TMRAOUT TMRAOUT2 TMRBOUT TMRBOUT2

Figure 66. Block Diagram for One Counter/Timer Pair
13.1 Functional Overview
The Apollo3 Blue MCU Timer/Counter module includes eight Timer/Counter pairs, one of which is shown in Figure 66, as well as a system timer shown in Figure 84 in the System Timer chapter. Each Timer/Counter pair includes two very low power asynchronous 16-bit counters, which may be combined to provide a 32bit counter. Eight registers contain reset values for the counters and/or comparison values to allow the generation of complex internal and external signals. Each Timer/Counter has an external pin connection, and can be configured to provide a variety of functions:
 Interrupt after a specified delay  Interrupt periodically with a specified period  Determine the time between events  Generate an external pulse of a specified width, configurable after a specified delay  Generate an external PWM signal with a specified period and duty cycle  Count edges on an external input  Interrupt after a specified number of external pulses

DS-A3-0p9p1

Page 557 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

 Generate outputs triggered or terminated by outputs of other Timer/Counters  Generate a specified number of patterns  Special inversion functions to support bidirectional stepper motor patterns

13.2 Counter/Timer Functions
Each Counter/Timer operates in a mode controlled by the REG_CTIMER_CTCTRLx_TMRxyFN bit field (x=0 to 7, y=A or B). The mode affects both the generation of interrupts and the control of the outputs. Each mode is described in the following sections. Note that for all functions except for Pattern Generation, a REG_CTIMER_CMPR0/1/2/3 value of zero (a count of 1) is invalid, and that the first measured period will be between the REG_CTIMER_CMPR0 value plus 2 and the specified value plus 3. Subsequent repeated cycles will be correctly of length (CMPR value + 1). There are eight modes:
0 => Single Count: Counts one time to the compare value, then the output changes polarity and stays at that level, with an optional interrupt.
1 => Repeated Count: Periodic 1-clock-cycle wide pulses with optional interrupts.
2 => Single Pulse (One Shot): A single pulse of programmed width, with an optional interrupt.
3 => Repeated Pulse: A rectangular (or square) waveform with programmed high and low widths, and optional interrupts on each cycle.
4 => Single Pattern: one burst of bits specified by the CMPR0/1/2/3 registers.
5 => Repeated Pattern: repeated burst of bits specified by the CMPR0/1/2/3 registers.
6 => Continuous: Free running timer with a single level change on the output and a single optional interrupt.
7 => Alternate Pulse: like Repeated Pulse but alternating between two different pulse width/spacing settings.
13.2.1 Single Count (FN = 0)
Operation in this mode is shown in Figure 67. When the Timer is enabled, the pin output is at the level selected by the POL bit and the Timer is at zero because CLR has been asserted previously. The Timer counts up on each selected clock, and when it reaches the value in the corresponding REG_CTIMER_CMPR0 Register the output pin switches polarity (if the PE bit is set) and an interrupt is generated (if the IE bit is set). At this point the Timer resets to 0 and the output pin is maintained at the selected level until the Timer is cleared with CLR. The interrupt may be cleared by writing the corresponding WC bit in the TMRWCR Register.
~CMPR0+2

Out (POL = 0)

Out (POL = 1)

INT

Counter 0

Incrementing

0

EN

Figure 67. Counter/Timer Operation, FN = 0

DS-A3-0p9p1

Page 558 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

13.2.2 Repeated Count (FN = 1)
Operation in this mode is shown in Figure 68. When the Timer is enabled, the pin output is at the level selected by the POL bit and the Timer is at zero because REG_CTIMER_TMRxyCLR has been asserted previously. The Timer counts up on each selected clock, and when it reaches the value in the corresponding CMPR0 Register the output pin switches polarity (if the REG_CTIMER_TMRxyPE bit is set) and an interrupt is generated (if the IE bit is set). At this point the Timer resets to 0 and the output pin is maintained at the selected level for one clock cycle, after which it returns to the original value. The Timer continues to count up and the process is repeated, creating a stream of pulses or interrupts at a fixed interval. The interrupt may be cleared by writing the corresponding WC bit in the TMRWCR Register at any point prior to the next setting pulse.
If the REG_CTIMER_TMRxyEN bit is cleared, the Timer will stop counting but will not be cleared, so the sequence may be paused and then resumed. Setting CLR will reset the Timer to zero. Note that CMPR0 must be at least 1 so that the repeat interval is two clock cycles.

~CMPR0 + 2

CMPR0 + 1

CMPR0 + 1

Out (POL = 0)

Out (POL = 1)

INT

Counter 0

Incrementing

0

Incrementing

0

Incrementing

0 Inc

EN

Figure 68. Counter/Timer Operation, FN = 1
13.2.3 Single Pulse (FN = 2)
Operation in this mode is shown in Figure 69. When the Timer is enabled, the pin output is at the level selected by the REG_CTIMER_TMRxyPOL bit and the Timer is at zero because CLR has been asserted previously. The Timer counts up on each selected clock, and when it reaches the value in the corresponding CMPR0 Register the output pin switches polarity (if the REG_CTIMER_TMRxyPE bit is set) and an interrupt is generated (if the REG_CTIMER_TMRxyIE bit is set). At this point the Timer continues to increment and the output pin is maintained at the selected level until the Timer reaches the value in the CMPR1 Register, at which point it switches back to the original level. This allows the creation of a pulse of a specified width. The Timer is reset to 0 so that a single pulse is created. The interrupt may be cleared by writing the corresponding WC bit in the TMRWCR Register.

DS-A3-0p9p1

Page 559 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

~CMPR1 + 2

~CMPR0 + 2

Out (POL = 0)

Out (POL = 1)

INT

Counter 0

Incrementing

0

EN

Figure 69. Counter/Timer Operation, FN = 2
The normal interrupt is generated on the rising edge of the output (before polarity is applied) if IE0 is set, as shown in Counter/Timer Operation, FN = 2Figure 69. The secondary interrupt is generated on the falling edge of the output if the REG_CTIMER_TMRxyIE1 bit is set.
13.2.4 Repeated Pulse (FN = 3)
Operation in this mode is shown in Figure 70. When the Timer is enabled, the pin output is at the level selected by the POL bit and the Timer is at zero because CLR has been asserted previously. The Timer counts up on each selected clock, and when it reaches the value in the corresponding CMPR0 Register the output pin switches polarity (if the PE bit is set) and an interrupt is generated (if the IE bit is set). At this point the Timer continues to increment and the output pin is maintained at the selected level until the Timer reaches the value in the CMPR1 Register, at which point it switches back to the original level. This allows the creation of a pulse of a specified width. The interrupt may be cleared by writing the corresponding WC bit in the TMRWCR Register. Note that CMPR1 must be at least 1 so that the repeat interval is two clock cycles.
The Timer is reset to 0 and continues to increment, so that a stream of pulses of the specified width and period is generated. If the EN bit is cleared, the Timer stops counting, but is not cleared, so the sequence may be paused and restarted. This mode is particularly valuable for creating a PWM (Pulse Width Modulation) output on the pin which may be used, for example, to vary the brightness of an LED.

~CMPR1 + 2

CMPR1 + 1

~CMPR0 + 2

CMPR0 + 1

Out (POL = 0)

Out (POL = 1)

INT

Counter 0

Incrementing

0

Incrementing

0 Inc

EN

DS-A3-0p9p1

Figure 70. Counter/Timer Operation, FN = 3
Page 560 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

The normal interrupt is generated on the rising edge of the output (before polarity is applied) if IE0 is set, as shown in Counter/Timer Operation, FN = 3Figure 70. The secondary interrupt is generated on the falling edge of the output if the IE1 bit is set.
13.2.5 Single Pattern (FN = 4)
In this mode the CTIMER outputs are generated from the pattern in the CMPR0/1/2/3 registers rather than from comparisons to the Counter. The Counter is still used to step through the pattern bits. Bit 0 of CMPR0 is output when the Counter is 0, bit 1 is output when the Counter is 1, and so on until the Counter reaches 16. At that point bit 0 from CMPR1 is output. Similarly, when the Counter reaches 32 the bits from CMPR2 will be output, and when the Counter reaches 48 the bits from CMPR3 will be output. When the Counter reaches the limit set by REG_CTIMER_CTAUXxy_LMT, the pattern generation stops and OUT returns to 0 as shown in Figure 71. Note that this results in LMT + 1 bits being generated. The pattern generation will begin 1 or 2 clock cycles after EN is asserted. The polarity of OUT is controlled by the POL bit as in other cases. If LMT is greater than 127, the pattern will repeat until LMT is reached and then stop.
LMT + 1

OUT

PATTERN

INT

Counter 0

INCREMENTING

0

EN

Figure 71. Counter/Timer Operation, FN = 4
The primary interrupt is generated when the pattern completes if IE0 is set. If LMT is greater than 31 and less than 63, the secondary interrupt will be generated when the Counter increments to 32 if IE1 is set. If LMT is 63, the secondary interrupt will be generated both when the Counter increments to 32, and when the Counter rolls over to 0.
If LMT is greater than 63, the pattern generation will use 128-bit mode. This mode is only available for the A CTIMER of a CTIMER pair, and the REG_CTIMER_CTCTRLx_CTRLINKx bit must be set. In this mode, the first 64 bits of the pattern are taken from the CMPRA0/1/2/3 registers as described above, and the remaining bits (up to a total of 128) are taken from the CMPRB0/1/2/3 registers. If IE1 is set, the secondary interrupt will be generated when the Counter increments to 64. If LMT is 127, the secondary interrupt will also be generated when the Counter rolls over to 0.
If LMT is greater than 127, the pattern will continue to repeat until the Counter reaches LMT. The secondary interrupt will be generated each time the Counter increments to a multiple of 64.
13.2.6 Repeat Pattern (FN = 5)
In this mode the CTIMER outputs the pattern from CMPR0/1/2/3 just as in the Single Pattern case, but the pattern repeats as soon as the LMT value is reached, as shown in Figure 72. The polarity is controlled by POL, and if LMT is greater than 63 the pattern will repeat within each pattern burst, although it will restart at the beginning once LMT is reached. The pattern generation will begin between 1 and 2 clock cycles after EN is asserted.

DS-A3-0p9p1

Page 561 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

LMT + 1

LMT + 1

LMT + 1

OUT

PATTERN

PATTERN

PATTERN

PAT

INT

Counter 0

Incrementing

0 Incrementing 0 Incrementing 0 Inc

EN

Figure 72. Counter/Timer Operation, FN = 5

The primary interrupt is generated when the pattern rolls over to 0 (if IE0 is set). If LMT is greater than 31 and less than 63, the secondary interrupt will be generated when the Counter increments to 32 (if IE1 is set). If LMT is 63, the secondary interrupt will be generated both when the Counter increments to 32, and when the Counter rolls over to 0.
If LMT is greater than 63, the pattern generation will use 128-bit mode. This mode is only available for the A CTIMER of a CTIMER pair, and the REG_CTIMER_CTCTRLx_CTRLINKx bit must be set. In this mode, the first 64 bits of the pattern are taken from the CMPRA0/1/2/3 registers as described above, and the remaining bits (up to a total of 128) are taken from the CMPRB0/1/2/3 registers. The secondary interrupt will be generated when the Counter increments to 64 (if IE1 is set). If LMT is 127, the secondary interrupt will also be generated when the Counter rolls over to 0.
If LMT is greater than 127, the pattern will continue to repeat until the Counter reaches LMT, and then it will repeat from the beginning. The secondary interrupt will be generated each time the Counter increments to a multiple of 64.

13.2.7 Continuous (FN = 6)
Operation in this mode is shown in Figure 73. When the Timer is enabled, the pin output is at the level selected by the POL bit and the Timer is at zero because CLR has been asserted previously. The Timer counts up on each selected clock, and when it reaches the value in the corresponding CMPR0 Register the output pin switches polarity (if the PE bit is set) and an interrupt is generated (if the IE bit is set). The Timer continues to count and is never automatically reset. If the Timer rolls over to zero and reaches the CMPR0 value again, an interrupt will not be generated and the output pin will not change.
This mode is primarily used for two functions. The first is counting transitions on the external input pin, and it may be valuable to generate an interrupt when a specified number of transitions have been detected. The second is as a general timer which software reads in order to measure time periods. In this second case an interrupt is often not used and will not be enabled.

DS-A3-0p9p1

Page 562 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

LMT + 1

OUT

PATTERN

INT

Counter 0

INCREMENTING

0

EN

Figure 73. Counter/Timer Operation, FN = 4

13.2.8 Alternate Pulse (FN = 7)
Operation in this mode is shown in Figure 74, and is very similar to Repeated Pulse mode (FN = 3). The only difference is that at the end of each cycle, the comparison register switch between CMPR0/1 and CMPR2/3. This can be used to create a more complex stream of pulses, and may also be used to support an efficient software controlled audio output.

~CMPR1 + 2

CMPR3 + 1

~CMPR0 + 2

CMPR2 + 1

CMPR0 + 1

Out (POL = 0)

Out (POL = 1)

INT

Counter 0

Incrementing

0

Incrementing

0 Inc

EN

Figure 74. Counter/Timer Operation, FN = 7
The normal interrupt is generated on the rising edge of the output (before polarity is applied) if IE0 is set, as shown in Counter/Timer Operation, FN = 7Counter/Timer Operation, FN = 3. The secondary interrupt is generated on the falling edge of the output if the IE1 bit is set.

13.3 Creating 32-bit Counters
Each pair (A/B) of 16-bit counters may be combined to create a 32-bit counter. This configuration is created by setting the REG_CTIMER_CTCTRLx_CTRLINKx bit for the pair. The control bits for the A counter of the pair are used to control the 32-bit counter, and the B control bits are ignored. The CMPR0 , CMPR1, CMPR2 and CMPR3 registers for each 16-bit counter are concatenated to provide the 32-bit comparison values, and all timer modes are supported.

DS-A3-0p9p1

Page 563 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

13.4 Creating a Secondary Output with CMPR2/3
In any of the Count or Pulse modes (FN = 0, 1, 2 or 3), the REG_CTIMER_CMPR2 and REG_CTIMER_CMPR3 registers provide two additional comparison points. When the counter reaches a value in either CMPR2 or CMPR3, the secondary output OUT2 is toggled. This allows the creation of complex combinations of the two outputs, as shown in Complex Operations with CMPR2 and CMPR3. In these examples, the CTIMER is configured in repeated pulse mode (FN = 3) to produce the OUT output, and several variations of the output OUT2 are shown. The third example is particularly interesting. If CMPR2 and CMPR3 are set to the same value, or one of them is set to a value larger than CMPR1, OUT2 will toggle only once per OUT cycle, creating a divide-by-two signal.

CMPR0

CMPR1 CMPR0

CMPR1

OUT OUT2

OUT2

CMPR2

CMPR3

CMPR2

CMPR3

CMPR2
OUT2

CMPR3 CMPR2

CMPR3

CMPR2/3

CMPR2/3

Figure 75. Complex Operations with CMPR2 and CMPR3

CMPR2 and CMPR3 operate in the same way for pulse and count modes. Thus in Single Count mode (FN = 0) for example, OUT2 can produce a single pulse or transition at any time prior to the termination of the count when OUT goes high. The polarity of OUT2 is controlled by the REG_CTIMER_CTAUXxy_POL23 bit.

13.5 Generating Dual Patterns
If the REG_CTIMER_CTAUXxy_EN23 bit is set in a Pattern Mode, a dual pattern will be created on OUT and OUT2. The pattern on OUT will use only the CMPR0/1 register bits, and the pattern on OUT2 will use the CMPR2/3 register bits, so that the longest dual pattern that can be created from a single CTIMER is 32 bits. The output patterns are shown in Figure 76. Dual patterns are particularly valuable in the case of stepper motor control signals, which require positive and negative signals to be generated synchronously.

DS-A3-0p9p1

Page 564 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

OUT OUT2
INT Counter 0
EN

LMT + 1 PATTERN01 PATTERN23

LMT + 1 PATTERN01 PATTERN23

LMT + 1 PATTERN01 PATTERN23

Incrementing

0 Incrementing 0 Incrementing 0 Inc

Figure 76. Dual Pattern Generation

13.6 Synchronized A/B Patterns
If the CTLINK bit is set for the B timer of a pair when a Pattern mode is selected (FN = 4 or 5), the pattern comparison value is taken from the A Counter rather than the B Counter. This allows the generation of dual up to 64-bit patterns using the OUT outputs of both the A and B Timers with EN23 clear in both cases, or quad up to 32-bit patterns using the OUT and OUT2 outputs of both timers with EN23 set in both cases.

13.7 Triggering Functions
The REG_CTIMER_CTAUXxy_TRIG field allows the specification of the output of another CTIMER to be used as a trigger. There are several areas where the trigger function may be used to create extremely sophisticated pattern outputs. If the TRIG field is 0, the triggering function is disabled. Otherwise, TRIG selects the internal timer output to be used as the trigger.
13.7.1 Initiating a One-shot Operation
If the mode of a CTIMER is a one-shot mode (FN = 2 or 4), when EN is asserted one cycle of the operation will be executed. At that point, a rising edge on the trigger signal selected by TRIG will cause the operation to be executed again. This allows the creation of complex operations with a single configuration. Figure 77 shows an example of this. The TRIG signal is the OUT signal from a CTIMER configured for Repeat Count.

LMT + 1

LMT + 1

LMT + 1

OUT

PATTERN

PATTERN

PATTERN

TRIG

Counter 0 Incrementing 0 Incrementing 0 Incrementing 0

EN
Figure 77. Triggered One-Shot Patterns

13.7.2 Terminating a Repeat Operation
If the mode of a CTIMER is a repeat mode (FN = 1, 3 or 5), the rising edge of the TRIG signal will cause the repeated operation to terminate after the current cycle is complete. This allows the easy creation of a

DS-A3-0p9p1

Page 565 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

burst of pulses or patterns of a specified length. This is shown in Figure 78 for the case of Repeat Pulse mode. In this case the TRIG signal is the output of a TIMER configured in Single Pulse mode (FN = 2) with the time configured to be somewhat more than 3 times the pulse repeat. When the TRIG signal occurs, the pulse output is terminated at the end of the current cycle.
OUT
TRIG
EN
Figure 78. Terminated Repeat Patterns
13.7.3 Complex Patterns with Triggers
The two trigger modes can be combined to produce even more complex patterns. As a particular example, the OUT signal of Figure 78 could be selected as the TRIG signal in Figure 77. This would then produce exactly four bursts of the pattern.
13.7.4 Dual Edge Triggers
Some of the trigger input selections specify dual edge triggers. In that case, the trigger occurs on both the rising and falling edge of the trigger signal. This is very valuable in some stepper motor applications described below.
13.7.5 Trigger Controlled Inversion
If the REG_CTIMER_CTAUXxy_TMRxyTINV bit is set, both the OUT and OUT2 outputs will be XORed with the trigger signal selected by TRIG. This enables some complex stepper motor configurations described below.
13.8 Clocking Timer/Counters with Other Counter/Timer Outputs
There are cases where it is very valuable to use the output of a CTIMER as the clock of another CTIMER. The TMRxyCLK field includes choices which implement this function, in addition to the normal clocks taken from the internal oscillators. An example of such a function is the terminated count shown in Figure 78. If the clock of the timer which produces the TRIG signal were taken from the OUT output of the first timer, the CMPR0 value used for the trigger generator would be trivially calculated as 2, and would be independent of the actual clock used to generate the OUT signal.
13.9 Global Timer/Counter Enable
There are times when it is very important to be able to start multiple Timer/Counters precisely together, particularly in cases where one output is used as the trigger of another. The REG_CTIMER_GLOBEN register contains one enable bit for each Timer/Counter, which is ANDed with the local EN bit of the timer. The GLOBEN register normally has all bits set to 1, so that the local EN bits control the timers. For synchronized enabling, the GLOBEN register bits to be synchronized are set to 0, and then the local EN bits of those timers are set to 1. At that point a single write to the GLOBEN register will enable all of the selected timers at once.
13.10Power Optimization by Measuring HCLK
Each timer has the capability to select the processor clock HCLK as the counter clock input. This allows a very straightforward measurement of how much of the time the processor is in a Sleep or Deep Sleep

DS-A3-0p9p1

Page 566 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
mode. Two counters are configured with FN = 6 so that they count continuously. One is supplied HCLK as its clock, and the other is supplied with a divided version of the HFRC clock. The two counters are enabled simultaneously, and after some period of system operation they are disabled and read. The HFRC count value defines how much real time has elapsed and how many HCLKs could have occurred in that time, and the HCLK count value defines how many actual HCLKs were received in that time. The ratio is an accurate measurement of the percentage of time the CPU is asleep, and is an effective tool for power optimization.
13.11Generating the Sample Rate for the ADC
Timer CTTMRA3 has a special function which allows it to function as the sample trigger generator for the ADC. If the REG_CTIMER_ CTCTRL3 _ADCEN bit is set, the output of the timer is sent to the ADC which uses it as a trigger. Mode 1 is typically selected. TMRA3IE may be set to generate an interrupt whenever the trigger occurs, but typically the ADC interrupt will be used for this purpose.Typically, Ctimer3 is configured in Repeated Count (FN =1) mode. TMRA3IE may be set to generate an interrupt whenever the trigger occurs, but typically the ADC interrupt will be used for this purpose.
13.12Software Generated Serial Data Stream
It is possible to use the Repeat Pattern mode to produce a serial data stream, such as PDM. A Timer/ Counter would be configured to use an external pad as the clock. Software would load the CMPR0/1/2/3 registers with the first 64 bits of the pattern. When the secondary interrupt is received, the first 32 bits will have been transferred, and software can load the next 32 bits into CMPR0/1. When the next secondary interrupt is generated, software can load the next 32 bits into the CMPR2/3 registers, and continue to toggle between the two pairs of registers. This can continue indefinitely.
Note that the requirement for software to update the registers continuously will require the processor to remain awake, unless the transfer is quite slow. For example, if the clock frequency were 1 MHz, software would have to load a 32-bit register every 32 us, which would probably not support a wakeup interrupt. However, at lower frequencies this could be a useful function.
13.13Software Generated PWM Audio Output
The Alternate Pulse mode can be used to efficiently create an audio output stream in software. In many cases, audio can be effectively produced by generating a stream of pulses with a fixed period, but a variable duty cycle (i.e. a variable pulse width). When this is applied through a low pass filter, reasonable audio output will result. In Alternate Pulse mode, CMPR1 and CMPR3 are set to the desired sample period, and CMPR0 and CMPR2 are configured with the widths of the first two pulses. When the interrupt occurs at the end of the period, software loads CMPR0 with the next pulse width. When the next interrupt occurs, software loads CMPR2 with the next pulse width, and toggles between the two registers for each subsequent pulse. Because the sample rate of audio is often quite slow, software can generally handle this process in an interrupt driven fashion. When the interrupt occurs, there is a full sample period before new register data is needed, so that the interrupt service requirement is easy to achieve.
13.14Stepper Motors Driven by Pattern Generation
Stepper motors can be driven by the CTIMERs by utilizing the pattern generation feature. Some of the key pattern generation features are arbitrary patterns up to 128 bits long, synchronization of multiple CTIMER pattern generation outputs, and the ability to use another CTIMER to generate the pattern clock base for CTIMER pattern generation output.

DS-A3-0p9p1

Page 567 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

13.15Pattern-based Sine Wave Examples
Some applications, such as driving the Linear Resonance Actuator (LRA) in a Haptic Driver or vibrator, require the generation of a pattern which is integrated into an analog signal, most commonly as a sine wave. Figure 79 shows the typical function. The square pulses have variable duty cycles, and they are integrated by the external device to produce the sine wave. The external device typically has positive and negative inputs, so the positive-going pulses occur on a pin which is connected to the positive input and the negative-going pulses are actually positive pulses connected to the negative input. The CTIMER can generate these pulse trains in two different ways.

1y

y sinx, x 0,2

x

O

/2



3/2

2

-1

y -sinx, x 0,2

Figure 79. Creating a Sine Wave
13.15.1PWM-based Pulse Trains
The pulse patterns shown in Figure 79 can be generated using the Alternate Pulse function described in Section 13.2.8. The PWM pulses are shown in Figure 80. Initially CMPR0/1/2/3 are configured with the desired parameters for the first two pulses. In many cases, the PWM Period is fixed so that CMPR1/3 contain the same value and never change, but these times can also be varied. When the first interrupt is received at the end of first CMPR0 period, software will update the CMPR0 register with the value required in the next period (and would also update CMPR3 with the next value if it should change). When the next interrupt is received at the comparison to CMPR2, a new CMPR2 value (and a new CMPR1 value if desired) are loaded. This process proceeds throughout the cycle which generates ½ of the sine wave. A similar process is repeated for the negative output to produce the second ½ of the sine wave. Note that software must be able to respond to the interrupt within a period which is slightly longer than the PWM Period, in order to insure that the correct comparison values are loaded.

DS-A3-0p9p1

Page 568 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Fast_clk PWM Out
PWM Period PWM Period PWM Period PWM Period PWM Period PWM Period PWM Period PWM Period

CMPR0 CMPR2 + Intrpt + Intrpt

CMPR0 + Intrpt

CMPR2 + Intrpt

CMPR0 + Intrpt

CMPR2 + Intrpt

CMPR0 + Intrpt

CMPR2 + Intrpt

CMPR1 CMPR3 CMPR1 CMPR3 CMPR1 CMPR3 CMPR1 CMPR3

Figure 80. PWM-based Pulse Train

13.15.2Pattern-based Pulse Trains
The pulse patterns may also be generated using the Repeated Pattern function described in Section 13.2.6. This is shown in Figure 81, and assumes the same pattern as the one in Figure 80. However, in this case the first N bits of the desired pattern (where N can be 64 or 128) are loaded into the CMPR0/1/2/ 3 registers of either a single CTIMER (for 64-bit patterns) or the A and B CTIMERs of a CTIMER pair (for 128-bit patterns). A full pattern consists of both Pattern 1 and Pattern 2 in Figure 81, for example. The process is started, and an interrupt will occur after ½ of the first full pattern (32 or 64 bits) has been generated. At that point software loads a new ½ pattern into the appropriate CMPR registers, and the process continues until the complete pattern has been generated.

Fast_clk PWM Out

Pattern 1

Pattern 2

Pattern 3

Pattern 4

INT

INT

INT

Figure 81. Pattern-based Pulse Train

The selection of 64-bit vs. 128-bit patterns is a tradeoff between power (the longer pattern results in half as many interrupts) and resource usage (the longer pattern requires two CTIMERs instead of one). If there are sufficient CTIMERs available, the 128-bit pattern is always more efficient.

13.15.3Selecting the Optimal Method
Both of the above approaches produce the same result in terms of the generated pattern, so the optimal selection is a function of minimizing the number of interrupts required to produce the overall pattern. Fewer interrupts result in longer CPU sleep times and less interrupt servicing overhead, which reduces the overall power. If the half pattern can cover more time than the average PWM Period, the Pattern-based approach will typically be more energy efficient. Whether this is the case is a function of the desired fast clock frequency, which determines the precision of the pulses, and the desired pulse lengths.

13.16CLR and EN Details
The overall operation of each CTIMER is controlled by two configuration bits, CLR and EN. When CLR is set to 1, the CTIMER is immediately set to all zeroes and will remain there independent of any other configuration. CLR is typically used to initialize a CTIMER before use.

DS-A3-0p9p1

Page 569 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

EN is used to enable (when 1) and disable (when 0) the counting function of the CTIMER. However, EN and the deassertion of CLR are synchronized to the selected clock, which must be accounted for when they are used. CLR and EN Operation shows how this synchronization occurs. When CLR is set to 0, the Counter will begin counting on the second edge of the selected clock if EN is set to 1. When EN is set to 0, the Counter will increment on the next clock (from 1 to 2 in CLR and EN Operation) and then hold its current value. When EN is set to 1, the Counter will resume counting on the second following edge.

Clock

Counter N N + 1

0

1

2

3

CLR

EN
Figure 82. CLR and EN Operation

Since the operation of the processor is essentially asynchronous to the selected clock, the synchronization introduces an uncertainty as to when the Counter will begin counting. If the frequency of the selected clock is high relative to the processor clock, the impact of the synchronization will be negligible. However, for low frequency clocks, external pin clocks and the buck clocks the effective delay caused by the synchronization may be significant.

13.17NOSYNC Function
Under normal conditions, the CTIMER clocks are supplied directly by the clock selected in the REG_CTIMER_CTCTRLx_TMRxyCLK register field. However, if software reads the TMR value the clock will be temporarily synchronized to the processor clock, which may cause the time of edges on an output to move slightly. The time of any edge will be moved by at most 20 ns from the normal time. If this variation is unacceptable for a specific application, it can be eliminated in one of two ways:
1. Do not read the TMR value during the output generation. This is often an acceptable restriction. 2. Set the REG_CTIMER_CTAUXxy_NOSYNC register bit. This will disable the synchronization func-
tion.
If the NOSYNC bit is set, the TMR update will no longer be synchronized to the processor clock. As a result, the TMR value read might be incorrect. In this case, software should read the TMR three times in quick succession (with interrupts disabled) and determine the correct value from those. If the first two reads are the same, that is the correct value. If they are different, the third value is correct.

13.18Counter Functions
A CTIMER operates in Counter mode when the TMRxyCLK field selects either the external pad input (if 0x00) or a buck pulse input (if 0x10). Although any of the modes may be selected, the typical configuration is Continuous. In this mode the CTIMER will count edges on the selected clock, and may be configured to generate an interrupt on a particular count value. The different clock selections provide different functions.
13.18.1Counting External Edges
If the CLK field is 0x00, the CTIMER clock input comes from an external pad as selected by the INCFG register. This allows the CTIMER to monitor pulses or edges on an external signal.

DS-A3-0p9p1

Page 570 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

13.18.2Counting Buck Converter Edges
Apollo3 includes three separate buck converters which provide power for the Processor power domain (BUCKA), the Memory power domain (BUCKB) and the BLE interface module (BUCKBLE). Each CTIMER may be connected to a pulse stream from any of the three analog Buck Converters. One pulse is generated each time the Buck Converter inserts charge into the capacitor, and therefore the number of pulses is a good indication of the amount of energy used by the corresponding power domain in a particular time period.
A possible option to determine energy consumption is as follows. Two counters could be configured with FN = 6 so that they count continuously. One is supplied a Buck Converter pulse stream as its clock, and the other is supplied with a divided version of the LFRC clock to avoid creating extra power consumption due to the power measurement. Once configured such, the two counters should be enabled simultaneously, and after some period of system operation they should be disabled and read. The LFRC count value would now define how much real time has elapsed, and the Buck Converter count value would define how much energy was consumed in that time.
13.19Interconnecting CTIMERs
The OUT or OUT2 output of one CTIMER may be used as either the Trigger or the clock of another CTIMER. Figure 83 shows the interconnection structure for two example CTIMERs, where p and q are A or B and x and y are 0 through 7. The selection of the actual clock or trigger interconnection is made within each CTIMER. The interconnection Matrix is not complete, as each CTIMER can select from only 15 triggers and 12 external clocks.

Interconnection Matrix (no logic)

ctimerpx_extclk 11 ctimerpx_trig 15
ctimerqy_extclk 11 ctimerqy_trig 15

CTIMERpx
...
CTIMERqy

ctimerpx_out ctimerpx_out2
ctimerqy_out ctimerqy_out2

Figure 83. CTIMER Interconnection

DS-A3-0p9p1

Page 571 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
13.20Pad Connections from the Timer/Counter
In order to provide flexibility in connecting timers to external devices, a secondary multiplexing mechanism is provided for the timer outputs. There are 32 pads which can be configured for either inputs to or outputs from the Timer/Counter module. Each of these pads can be driven by one of four outputs selected by the REG_CTIMER_OUTCFG0/1/2/3 registers, as shown in Table 818. The ctimer_out column specifies the bit in REG_GPIO_CTENCFG (EN0-EN31) which enables the corresponding pad CT0-31 output. The Output Selection columns define the output choices for each output based on the CFG fields in OUTCFGx, where CFG=0 forces the output to 0, CFG=1 forces the output to 1 and CFG=2 through 7 produce the choices in the table. The shaded cells indicate selections which correspond to the Timer/Counter connections in previous Apollo3 devices..

DS-A3-0p9p1

Page 572 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 816: Counter/Timer Pad Configuration

Field
PAD12FNCSEL PAD25FNCSEL PAD42FNCSEL PAD13FNCSEL PAD26FNCSEL PAD43FNCSEL PAD18FNCSEL PAD27FNCSEL PAD44FNCSEL PAD19FNCSEL PAD28FNCSEL PAD45FNCSEL PAD20FNCSEL PAD29FNCSEL PAD46FNCSEL PAD21FNCSEL PAD30FNCSEL PAD47FNCSEL PAD22FNCSEL PAD31FNCSEL PAD48FNCSEL PAD23FNCSEL PAD32FNCSEL PAD49FNCSEL

Value
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

Ctr/Timer

Pad

A0

12

A0

25

A0

42

B0

13

B0

26

B0

43

A1

18

A1

27

A1

44

B1

19

B1

28

B1

45

A2

20

A2

29

A2

46

B2

21

B2

30

B2

47

A3

22

A3

31

A3

48

B3

23

B3

32

B3

49

DS-A3-0p9p1

Page 573 of 909

2019 Ambiq Micro, Inc. All rights reserved.

DS-A3-0p9p1

Apollo3 Blue Datasheet

Table 817: Counter/Timer Pad Configuration

Field
PAD12FNCSEL PAD25FNCSEL PAD42FNCSEL PAD13FNCSEL PAD26FNCSEL PAD43FNCSEL PAD18FNCSEL PAD19FNCSEL PAD24FNCSEL PAD26FNCSEL PAD27FNCSEL PAD35FNCSEL PAD37FNCSEL PAD44FNCSEL PAD45FNCSEL PAD46FNCSEL PAD19FNCSEL PAD22FNCSEL PAD23FNCSEL PAD28FNCSEL PAD31FNCSEL PAD32FNCSEL PAD33FNCSEL PAD45FNCSEL PAD20FNCSEL PAD29FNCSEL PAD46FNCSEL PAD21FNCSEL PAD30FNCSEL PAD47FNCSEL PAD22FNCSEL PAD31FNCSEL PAD48FNCSEL PAD23FNCSEL PAD32FNCSEL PAD49FNCSEL

Value
2 2 2 2 2 2 2 4 5 5 2 5 7 2 7 4 2 6 6 2 5 5 6 2 2 2 2 2 2 2 2 2 2 2 2 2

Ctr/Timer

Pad

A0

12

A0

25

A0

42

B0

13

B0

26

B0

43

A1

18

A1

19

A1

24

A1

26

A1

27

A1

35

A1

37

A1

44

A1

45

A1

46

B1

19

B1

22

B1

22

B1

28

B1

31

B1

32

B1

33

B1

45

A2

20

A2

29

A2

46

B2

21

B2

30

B2

47

A3

22

A3

31

A3

48

B3

23

B3

32

B3

49

Page 574 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Pad (FNCSEL)
PAD4 (6) PAD5 (7) PAD6 (5) PAD7 (7) PAD11 (2) PAD12 (2) PAD13 (2) PAD18 (2) PAD19 (2) PAD22 (2) PAD23 (2) PAD24 (5) PAD25 (2) PAD26 (2) PAD27 (2) PAD28 (2) PAD29 (2) PAD30 (2) PAD31 (2) PAD32 (2) PAD33 (6) PAD35 (5)

Table 818: Counter/Timer Pad Configuration

ctimer output signal CT17
CT8 CT10 CT19 CT31 CT0 CT2 CT4 CT6 CT12 CT14 CT21 CT1 CT3 CT5 CT7 CT9 CT11 CT13 CT15 CT23 CT27

0

1

Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1

Output Selection (REG_CTIMER_INCFG)

2

3

4

5

6

7

A4OUT2

B7OUT A4OUT A1OUT2 A6OUT2 A7OUT2

A2OUT

A3OUT2 A4OUT2 B6OUT A6OUT2 A7OUT2

B2OUT

B3OUT2 B4OUT2 A6OUT A6OUT2 A7OUT2

B4OUT2

A2OUT B4OUT B1OUT2 A6OUT2 A7OUT2

B7OUT2

A6OUT B7OUT B3OUT2 A6OUT2 A7OUT2

A0OUT

B2OUT2 A5OUT2 A6OUT A6OUT2 A7OUT2

B0OUT

B1OUT2 B6OUT2 A7OUT A6OUT2 A7OUT2

A1OUT

A2OUT2 A5OUT2 B5OUT A6OUT2 A7OUT2

B1OUT

A1OUT B5OUT2 B7OUT A6OUT2 A7OUT2

A3OUT

B1OUT B0OUT2 B6OUT2 A6OUT2 A7OUT2

B3OUT

B1OUT B7OUT2 A7OUT A6OUT2 A7OUT2

A5OUT2

A1OUT B5OUT A0OUT2 A6OUT2 A7OUT2

A0OUT2

A0OUT A5OUT B7OUT2 A6OUT2 A7OUT2

B0OUT2

B0OUT A1OUT A6OUT A6OUT2 A7OUT2

A1OUT2

A1OUT B6OUT A7OUT A6OUT2 A7OUT2

B1OUT2

B1OUT B5OUT A7OUT A6OUT2 A7OUT2

A2OUT2

A2OUT A4OUT B0OUT A6OUT2 A7OUT2

B2OUT2

B2OUT B4OUT B5OUT2 A6OUT2 A7OUT2

A3OUT2

A3OUT A6OUT B4OUT2 A6OUT2 A7OUT2

B3OUT2

B3OUT A7OUT A4OUT2 A6OUT2 A7OUT2

B5OUT2

A7OUT A5OUT B0OUT2 A6OUT2 A7OUT2

B6OUT2

A1OUT B6OUT B2OUT2 A6OUT2 A7OUT2

DS-A3-0p9p1

Page 575 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Pad (FNCSEL)
PAD37 (7) PAD39 (2) PAD42 (2) PAD43 (2) PAD44 (2) PAD45 (2) PAD46 (2) PAD47 (2) PAD48 (2) PAD49 (2)

Table 818: Counter/Timer Pad Configuration

ctimer output signal CT29 CT25 CT16 CT18 CT20 CT22 CT24 CT26 CT28 CT30

0

1

Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1
Force Force to 0 to 1

Output Selection (REG_CTIMER_INCFG)

2

3

4

5

6

7

B5OUT2

A1OUT A7OUT A3OUT2 A6OUT2 A7OUT2

B4OUT2

B2OUT A6OUT A2OUT2 A6OUT2 A7OUT2

A4OUT

A0OUT A0OUT2 B3OUT2 A6OUT2 A7OUT2

B4OUT

B0OUT A0OUT A3OUT2 A6OUT2 A7OUT2

A5OUT

A1OUT A1OUT2 B2OUT2 A6OUT2 A7OUT2

B5OUT

B1OUT A6OUT A2OUT2 A6OUT2 A7OUT2

A6OUT

A2OUT A1OUT B1OUT2 A6OUT2 A7OUT2

B6OUT

B2OUT A5OUT A1OUT2 A6OUT2 A7OUT2

A7OUTB

A3OUT A5OUT2 B0OUT2 A6OUT2 A7OUT2

B7OUT

B3OUT A4OUT2 A0OUT2 A6OUT2 A7OUT2

Each timer may be clocked by one of two of the pads, selected by the REG_CTIMER_INCFG register as shown in Table 819. The polarity of the input clock is selection by the POL23 bit.

Table 819: CTIMER Pad Input Connections

CTIMER
CTIMERA0 CTIMERA1 CTIMERA2 CTIMERA3 CTIMERA4 CTIMERA5 CTIMERA6 CTIMERA7

INCFG

0 CT0 CT4 CT8 CT12 CT16 CT20 CT24 CT28

1 CT1 CT5 CT9 CT13 CT17 CT21 CT25 CT29

CTIMER
CTIMERB0 CTIMERB1 CTIMERB2 CTIMERB3 CTIMERB4 CTIMERB5 CTIMERB6 CTIMERB7

INCFG

0

1

CT2 CT6 CT10 CT14 CT18 CT22 CT26 CT30

CT3 CT7 CT11 CT15 CT19 CT23 CT27 CT31

The REG_GPIO_CTENCFG register holds one bit for each pad, which selects whether the pad is an output (if 0) or an input (if 1).
The assignments in Table 818 and Table 819 assume that COMMON outputs will be created from either A7OUT2 or A6OUT2. These outputs can also be used in the case where it is desired to drive multiple outputs from the same timer.

DS-A3-0p9p1

Page 576 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Note that for the Pulse and Count modes, the CMPR2/3 registers can always be configured so that OUT2 matches OUT. This provides more flexibility in the pin assignments, as any OUT2 connection can be used as the corresponding OUT function if a separate OUT2 function is not required. For a single 32-bit pattern from a timer, OUT2 can be configured in the CMPR2/3 registers to produce the same pattern as OUT. The OUT and OUT2 outputs of each CTIMER will be toggling whenever the CTIMER is enabled, independent of any pin connections configured for it. This allows these signals to be used as clocks and triggers for other CTIMERs even when they are not being used as pin outputs. Example flow is illustrated below:
1) Pick the pad you want to use, from column Pad (FNCSEL). 2) Set that pad's FNCSEL to the value in parentheses. 3) Determine which of the outputs in columns 2-7 you want to use to drive this pin. 4) Set the OUTCFG0/1/2/3_CFGx bitfield to the value of 2 through 7 to select the desired CTIMER
output. 5) Clear the bit in CTENCFG corresponding to the CTxx value that matches the pad, to make it an
output.
13.21CTIMER Registers
Counter/Timer INSTANCE 0 BASE ADDRESS:0x40008000 The Counter/Timer block contains 8 sixteen bit counter or timer functions. Each pair of these counters can be cascaded into 32 bit Counter/Timer functions.

DS-A3-0p9p1

Page 577 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

13.21.1Register Memory Map

Table 820: CTIMER Register Map

Address(s)
0x40008000 0x40008004 0x40008008 0x4000800C 0x40008014 0x40008018 0x4000801C 0x40008020 0x40008024 0x40008028 0x4000802C 0x40008034 0x40008038 0x4000803C 0x40008040 0x40008044 0x40008048 0x4000804C 0x40008054 0x40008058 0x4000805C 0x40008060 0x40008064 0x40008068 0x4000806C 0x40008074 0x40008078 0x4000807C 0x40008080 0x40008084 0x40008088 0x4000808C 0x40008094 0x40008098 0x4000809C 0x400080A0

Register Name
TMR0 CMPRA0 CMPRB0 CTRL0 CMPRAUXA0 CMPRAUXB0 AUX0 TMR1 CMPRA1 CMPRB1 CTRL1 CMPRAUXA1 CMPRAUXB1 AUX1 TMR2 CMPRA2 CMPRB2 CTRL2 CMPRAUXA2 CMPRAUXB2 AUX2 TMR3 CMPRA3 CMPRB3 CTRL3 CMPRAUXA3 CMPRAUXB3 AUX3 TMR4 CMPRA4 CMPRB4 CTRL4 CMPRAUXA4 CMPRAUXB4 AUX4 TMR5

Description
Counter/Timer Register Counter/Timer A0 Compare Registers Counter/Timer B0 Compare Registers Counter/Timer Control Counter/Timer A0 Compare Registers Counter/Timer B0 Compare Registers Counter/Timer Auxiliary Counter/Timer Register Counter/Timer A1 Compare Registers Counter/Timer B1 Compare Registers Counter/Timer Control Counter/Timer A1 Compare Registers Counter/Timer B1 Compare Registers Counter/Timer Auxiliary Counter/Timer Register Counter/Timer A2 Compare Registers Counter/Timer B2 Compare Registers Counter/Timer Control Counter/Timer A2 Compare Registers Counter/Timer B2 Compare Registers Counter/Timer Auxiliary Counter/Timer Register Counter/Timer A3 Compare Registers Counter/Timer B3 Compare Registers Counter/Timer Control Counter/Timer A3 Compare Registers Counter/Timer B3 Compare Registers Counter/Timer Auxiliary Counter/Timer Register Counter/Timer A4 Compare Registers Counter/Timer B4 Compare Registers Counter/Timer Control Counter/Timer A4 Compare Registers Counter/Timer B4 Compare Registers Counter/Timer Auxiliary Counter/Timer Register

DS-A3-0p9p1

Page 578 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 820: CTIMER Register Map

Address(s)
0x400080A4 0x400080A8 0x400080AC 0x400080B4 0x400080B8 0x400080BC 0x400080C0 0x400080C4 0x400080C8 0x400080CC 0x400080D4 0x400080D8 0x400080DC 0x400080E0 0x400080E4 0x400080E8 0x400080EC 0x400080F4 0x400080F8 0x400080FC 0x40008100 0x40008104 0x40008108 0x4000810C 0x40008114 0x40008118 0x40008200 0x40008204 0x40008208 0x4000820C

Register Name
CMPRA5 CMPRB5 CTRL5 CMPRAUXA5 CMPRAUXB5 AUX5 TMR6 CMPRA6 CMPRB6 CTRL6 CMPRAUXA6 CMPRAUXB6 AUX6 TMR7 CMPRA7 CMPRB7 CTRL7 CMPRAUXA7 CMPRAUXB7 AUX7 GLOBEN OUTCFG0 OUTCFG1 OUTCFG2 OUTCFG3 INCFG INTEN INTSTAT INTCLR INTSET

Description
Counter/Timer A5 Compare Registers Counter/Timer B5 Compare Registers Counter/Timer Control Counter/Timer A5 Compare Registers Counter/Timer B5 Compare Registers Counter/Timer Auxiliary Counter/Timer Register Counter/Timer A6 Compare Registers Counter/Timer B6 Compare Registers Counter/Timer Control Counter/Timer A6 Compare Registers Counter/Timer B6 Compare Registers Counter/Timer Auxiliary Counter/Timer Register Counter/Timer A7 Compare Registers Counter/Timer B7 Compare Registers Counter/Timer Control Counter/Timer A7 Compare Registers Counter/Timer B7 Compare Registers Counter/Timer Auxiliary Counter/Timer Global Enable Counter/Timer Output Config 0 Counter/Timer Output Config 1 Counter/Timer Output Config 2 Counter/Timer Output Config 3 Counter/Timer Input Config Counter/Timer Interrupts: Enable Counter/Timer Interrupts: Status Counter/Timer Interrupts: Clear Counter/Timer Interrupts: Set

DS-A3-0p9p1

Page 579 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

13.21.2CTIMER Registers
13.21.2.1TMR0 Register
Counter/Timer Register OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x40008000 This register holds the running time or event count for ctimer 0. This is either for each 16 bit half or for the whole 32 bit count when the pair is linked. If the pair is not linked, they can be running on seperate clocks and are completely independent.

Table 821: TMR0 Register

33222222222211111111110000000000 10987654321098765432109876543210

CTTMRB0

CTTMRA0

Bit 31:16 15:0

Name CTTMRB0 CTTMRA0

Table 822: TMR0 Register Bits

Reset 0x0

RW RO Counter/Timer B0.

Description

0x0

RO Counter/Timer A0.

13.21.2.2CMPRA0 Register
Counter/Timer A0 Compare Registers OFFSET: 0x00000004 INSTANCE 0 ADDRESS: 0x40008004 This contains the Compare limits for timer 0 A half.

Table 823: CMPRA0 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1A0

CMPR0A0

DS-A3-0p9p1

Page 580 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16 15:0

Name CMPR1A0 CMPR0A0

Table 824: CMPRA0 Register Bits

Reset 0x0

RW

Description

Counter/Timer A0 Compare Register 1. Holds the upper limit for timer half RW A.

0x0

RW Counter/Timer A0 Compare Register 0. Holds the lower limit for timer half A.

13.21.2.3CMPRB0 Register
Counter/Timer B0 Compare Registers OFFSET: 0x00000008 INSTANCE 0 ADDRESS: 0x40008008 This contains the Compare limits for timer 0 B half.

Table 825: CMPRB0 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1B0

CMPR0B0

Bit 31:16 15:0

Name CMPR1B0 CMPR0B0

Table 826: CMPRB0 Register Bits

Reset 0x0

RW

Description

Counter/Timer B0 Compare Register 1. Holds the upper limit for timer half RW B.

0x0

RW Counter/Timer B0 Compare Register 0. Holds the lower limit for timer half B.

13.21.2.4CTRL0 Register
Counter/Timer Control OFFSET: 0x0000000C INSTANCE 0 ADDRESS: 0x4000800C This includes the Control bit fields for both halves of timer 0.

DS-A3-0p9p1

Page 581 of 909

2019 Ambiq Micro, Inc. All rights reserved.

CTLINK0 RSVD
TMRB0POL TMRB0CLR TMRB0IE1 TMRB0IE0 TMRB0FN TMRB0EN TMRA0POL TMRA0CLR TMRA0IE1 TMRA0IE0 TMRA0FN TMRA0EN

Apollo3 Blue Datasheet

Table 827: CTRL0 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB0CLK

RSVD

TMRA0CLK

Bit

Name

31

CTLINK0

30:29

RSVD

28

TMRB0POL

27

TMRB0CLR

26

TMRB0IE1

25

TMRB0IE0

Table 828: CTRL0 Register Bits

Reset

RW

Description

Counter/Timer A0/B0 Link bit.

0x0

RW TWO_16BIT_TIMERS = 0x0 - Use A0/B0 timers as two independent 16-bit

timers (default).

32BIT_TIMER = 0x1 - Link A0/B0 timers into a single 32-bit timer.

0x0

RO RESERVED

Counter/Timer B0 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINB0 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINB0 pin is the inverse of the

timer output.

Counter/Timer B0 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer B0 to run

CLEAR = 0x1 - Holds counter/timer B0 at 0x0000.

Counter/Timer B0 Interrupt Enable bit for COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer B0 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer B0 to generate an interrupt based on COM-

PR1.

Counter/Timer B0 Interrupt Enable bit for COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer B0 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer B0 to generate an interrupt based on COM-

PR0

DS-A3-0p9p1

Page 582 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

24:22

TMRB0FN

21:17

TMRB0CLK

16

TMRB0EN

15:13

RSVD

Table 828: CTRL0 Register Bits

Reset

RW

Description

Counter/Timer B0 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0B0, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0B0, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0B0, assert, count to CMPR1B0, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0B0, assert,

count to CMPR1B0, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

Counter/Timer B0 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINB.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRA0 = 0x14 - Clock source is CTIMERA0 OUT.

CTMRB1 = 0x15 - Clock source is CTIMERB1 OUT.

CTMRA1 = 0x16 - Clock source is CTIMERA1 OUT.

CTMRA2 = 0x17 - Clock source is CTIMERA2 OUT.

CTMRB2 = 0x18 - Clock source is CTIMERB2 OUT.

CTMRB3 = 0x19 - Clock source is CTIMERB3 OUT.

CTMRB4 = 0x1A - Clock source is CTIMERB4 OUT.

CTMRB5 = 0x1B - Clock source is CTIMERB5 OUT.

CTMRB6 = 0x1C - Clock source is CTIMERB6 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

Counter/Timer B0 Enable bit.

0x0

RW DIS = 0x0 - Counter/Timer B0 Disable.

EN = 0x1 - Counter/Timer B0 Enable.

0x0

RO RESERVED

DS-A3-0p9p1

Page 583 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

12

TMRA0POL

11

TMRA0CLR

10

TMRA0IE1

9

TMRA0IE0

8:6

TMRA0FN

Table 828: CTRL0 Register Bits

Reset

RW

Description

Counter/Timer A0 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINA0 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINA0 pin is the inverse of the

timer output.

Counter/Timer A0 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer A0 to run

CLEAR = 0x1 - Holds counter/timer A0 at 0x0000.

Counter/Timer A0 Interrupt Enable bit based on COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer A0 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer A0 to generate an interrupt based on COM-

PR1.

Counter/Timer A0 Interrupt Enable bit based on COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer A0 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer A0 to generate an interrupt based on COM-

PR0.

Counter/Timer A0 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0A0, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0A0, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0A0, assert, count to CMPR1A0, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0A0, assert,

count to CMPR1A0, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

DS-A3-0p9p1

Page 584 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

5:1

TMRA0CLK

0

TMRA0EN

Table 828: CTRL0 Register Bits

Reset

RW

Description

Counter/Timer A0 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINA.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRB0 = 0x14 - Clock source is CTIMERB0 OUT.

CTMRA1 = 0x15 - Clock source is CTIMERA1 OUT.

CTMRB1 = 0x16 - Clock source is CTIMERB1 OUT.

CTMRA2 = 0x17 - Clock source is CTIMERA2 OUT.

CTMRB2 = 0x18 - Clock source is CTIMERB2 OUT.

CTMRB3 = 0x19 - Clock source is CTIMERB3 OUT.

CTMRB4 = 0x1A - Clock source is CTIMERB4 OUT.

CTMRB5 = 0x1B - Clock source is CTIMERB5 OUT.

CTMRB6 = 0x1C - Clock source is CTIMERB6 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

Counter/Timer A0 Enable bit.

0x0

RW DIS = 0x0 - Counter/Timer A0 Disable.

EN = 0x1 - Counter/Timer A0 Enable.

13.21.2.5CMPRAUXA0 Register
Counter/Timer A0 Compare Registers OFFSET: 0x00000014 INSTANCE 0 ADDRESS: 0x40008014 Enhanced compare limits for timer half A. This is valid if timer 0 is set to function 4 and function 5.

Table 829: CMPRAUXA0 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3A0

CMPR2A0

DS-A3-0p9p1

Page 585 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16 15:0

Name CMPR3A0 CMPR2A0

Table 830: CMPRAUXA0 Register Bits

Reset 0x0

RW

Description

Counter/Timer A0 Compare Register 3. Holds the upper limit for timer half RW A.

0x0

RW Counter/Timer A0 Compare Register 2. Holds the lower limit for timer half A.

13.21.2.6CMPRAUXB0 Register
Counter/Timer B0 Compare Registers OFFSET: 0x00000018 INSTANCE 0 ADDRESS: 0x40008018 Enhanced compare limits for timer half B. This is valid if timer 0 is set to function 4 and function 5.

Table 831: CMPRAUXB0 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3B0

CMPR2B0

Bit 31:16 15:0

Name CMPR3B0 CMPR2B0

Table 832: CMPRAUXB0 Register Bits

Reset 0x0

RW

Description

Counter/Timer B0 Compare Register 3. Holds the upper limit for timer half RW B.

0x0

RW Counter/Timer B0 Compare Register 2. Holds the lower limit for timer half B.

13.21.2.7AUX0 Register
Counter/Timer Auxiliary OFFSET: 0x0000001C INSTANCE 0 ADDRESS: 0x4000801C Control bit fields for both halves of timer 0.

DS-A3-0p9p1

Page 586 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 833: AUX0 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB0LMT

TMRA0LMT

RSVD TMRB0EN23 TMRB0POL23 TMRB0TINV TMRB0NOSYNC TMRB0TRIG
RSVD RSVD TMRA0EN23 TMRA0POL23 TMRA0TINV TMRA0NOSYNC TMRA0TRIG

Bit

Name

31

RSVD

30

TMRB0EN23

29

TMRB0POL23

28

TMRB0TINV

27

TMRB0NOSYNC

26:23

TMRB0TRIG

22

RSVD

Table 834: AUX0 Register Bits

Reset 0x0

RW RO RESERVED

Description

Counter/Timer B0 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Upper output polarity

0x0

RW NORM = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer B0 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

Source clock synchronization control.

0x0

RW DIS = 0x0 - Synchronization on source clock

NOSYNC = 0x1 - No synchronization on source clock

Counter/Timer B0 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

A0OUT = 0x1 - Trigger source is CTIMERA0 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

B2OUT = 0x4 - Trigger source is CTIMERB2 OUT.

B5OUT = 0x5 - Trigger source is CTIMERB5 OUT.

0x0

RW

A4OUT = 0x6 - Trigger source is CTIMERA4 OUT. B4OUT = 0x7 - Trigger source is CTIMERB4 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

B7OUT2 = 0xA - Trigger source is CTIMERB7 OUT2.

A2OUT2 = 0xB - Trigger source is CTIMERA2 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B5OUT2DUAL = 0xE - Trigger source is CTIMERB5 OUT2, dual edge.

A5OUT2DUAL = 0xF - Trigger source is CTIMERA5 OUT2, dual edge.

0x0

RO RESERVED

DS-A3-0p9p1

Page 587 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 21:16
15

Name TMRB0LMT
RSVD

14

TMRA0EN23

13

TMRA0POL23

12

TMRA0TINV

11

TMRA0NOSYNC

10:7

TMRA0TRIG

6:0

TMRA0LMT

Table 834: AUX0 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B0 Pattern Limit Count.

0x0

RO RESERVED

Counter/Timer A0 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Counter/Timer A0 Upper output polarity

0x0

RW NORM = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer A0 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

Source clock synchronization control.

0x0

RW DIS = 0x0 - Synchronization on source clock

NOSYNC = 0x1 - No synchronization on source clock

Counter/Timer A0 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

B0OUT = 0x1 - Trigger source is CTIMERB0 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

A1OUT = 0x4 - Trigger source is CTIMERA1 OUT.

B1OUT = 0x5 - Trigger source is CTIMERB1 OUT.

0x0

RW

A5OUT = 0x6 - Trigger source is CTIMERA5 OUT. B5OUT = 0x7 - Trigger source is CTIMERB5 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

B6OUT2 = 0xA - Trigger source is CTIMERB6 OUT2.

A2OUT2 = 0xB - Trigger source is CTIMERA2 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B4OUT2DUAL = 0xE - Trigger source is CTIMERB4 OUT2, dual edge.

A4OUT2DUAL = 0xF - Trigger source is CTIMERA4 OUT2, dual edge.

0x0

RW Counter/Timer A0 Pattern Limit Count.

13.21.2.8TMR1 Register
Counter/Timer Register
OFFSET: 0x00000020
INSTANCE 0 ADDRESS: 0x40008020
This register holds the running time or event count for ctimer 1. This is either for each 16 bit half or for the whole 32 bit count when the pair is linked. If the pair is not linked, they can be running on seperate clocks and are completely independent.

DS-A3-0p9p1

Page 588 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 835: TMR1 Register

33222222222211111111110000000000 10987654321098765432109876543210

CTTMRB1

CTTMRA1

Bit 31:16 15:0

Name CTTMRB1 CTTMRA1

Table 836: TMR1 Register Bits

Reset 0x0

RW RO Counter/Timer B1.

Description

0x0

RO Counter/Timer A1.

13.21.2.9CMPRA1 Register
Counter/Timer A1 Compare Registers OFFSET: 0x00000024 INSTANCE 0 ADDRESS: 0x40008024 This contains the Compare limits for timer 1 A half.

Table 837: CMPRA1 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1A1

CMPR0A1

Bit 31:16 15:0

Name CMPR1A1 CMPR0A1

Table 838: CMPRA1 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer A1 Compare Register 1.

0x0

RW Counter/Timer A1 Compare Register 0.

13.21.2.10CMPRB1 Register
Counter/Timer B1 Compare Registers OFFSET: 0x00000028 INSTANCE 0 ADDRESS: 0x40008028 This contains the Compare limits for timer 1 B half.

DS-A3-0p9p1

Page 589 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 839: CMPRB1 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1B1

CMPR0B1

Bit 31:16 15:0

Name CMPR1B1 CMPR0B1

Table 840: CMPRB1 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B1 Compare Register 1.

0x0

RW Counter/Timer B1 Compare Register 0.

13.21.2.11CTRL1 Register
Counter/Timer Control OFFSET: 0x0000002C INSTANCE 0 ADDRESS: 0x4000802C This includes the Control bit fields for both halves of timer 1.

Table 841: CTRL1 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB1CLK

RSVD

TMRA1CLK

CTLINK1 RSVD
TMRB1POL TMRB1CLR TMRB1IE1 TMRB1IE0 TMRB1FN TMRB1EN TMRA1POL TMRA1CLR TMRA1IE1 TMRA1IE0 TMRA1FN TMRA1EN

Bit

Name

31

CTLINK1

30:29

RSVD

Table 842: CTRL1 Register Bits

Reset

RW

Description

Counter/Timer A1/B1 Link bit.

0x0

RW TWO_16BIT_TIMERS = 0x0 - Use A1/B1 timers as two independent 16-bit

timers (default).

32BIT_TIMER = 0x1 - Link A1/B1 timers into a single 32-bit timer.

0x0

RO RESERVED

DS-A3-0p9p1

Page 590 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

28

TMRB1POL

27

TMRB1CLR

26

TMRB1IE1

25

TMRB1IE0

24:22

TMRB1FN

Table 842: CTRL1 Register Bits

Reset

RW

Description

Counter/Timer B1 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINB1 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINB1 pin is the inverse of the

timer output.

Counter/Timer B1 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer B1 to run

CLEAR = 0x1 - Holds counter/timer B1 at 0x0000.

Counter/Timer B1 Interrupt Enable bit for COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer B1 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer B1 to generate an interrupt based on COM-

PR1.

Counter/Timer B1 Interrupt Enable bit for COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer B1 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer B1 to generate an interrupt based on COM-

PR0

Counter/Timer B1 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0B1, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0B1, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0B1, assert, count to CMPR1B1, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0B1, assert,

count to CMPR1B1, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

DS-A3-0p9p1

Page 591 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

21:17

TMRB1CLK

16

TMRB1EN

15:13

RSVD

12

TMRA1POL

11

TMRA1CLR

10

TMRA1IE1

Table 842: CTRL1 Register Bits

Reset

RW

Description

Counter/Timer B1 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINB.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRA1 = 0x14 - Clock source is CTIMERA1 OUT.

CTMRA0 = 0x15 - Clock source is CTIMERA0 OUT.

CTMRB0 = 0x16 - Clock source is CTIMERB0 OUT.

CTMRA2 = 0x17 - Clock source is CTIMERA2 OUT.

CTMRB2 = 0x18 - Clock source is CTIMERB2 OUT.

CTMRB3 = 0x19 - Clock source is CTIMERB3 OUT.

CTMRB4 = 0x1A - Clock source is CTIMERB4 OUT.

CTMRB5 = 0x1B - Clock source is CTIMERB5 OUT.

CTMRB6 = 0x1C - Clock source is CTIMERB6 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

Counter/Timer B1 Enable bit.

0x0

RW DIS = 0x0 - Counter/Timer B1 Disable.

EN = 0x1 - Counter/Timer B1 Enable.

0x0

RO RESERVED

Counter/Timer A1 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINA1 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINA1 pin is the inverse of the

timer output.

Counter/Timer A1 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer A1 to run

CLEAR = 0x1 - Holds counter/timer A1 at 0x0000.

Counter/Timer A1 Interrupt Enable bit based on COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer A1 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer A1 to generate an interrupt based on COM-

PR1.

DS-A3-0p9p1

Page 592 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

9

TMRA1IE0

8:6

TMRA1FN

5:1

TMRA1CLK

Table 842: CTRL1 Register Bits

Reset

RW

Description

Counter/Timer A1 Interrupt Enable bit based on COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer A1 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer A1 to generate an interrupt based on COM-

PR0.

Counter/Timer A1 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0A1, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0A1, restart.

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0A1,

0x0

RW

assert, count to CMPR1A1, deassert, stop. PULSE_CONT = 0x3 - Pulse continously.

Count to CMPR0A1, assert,

count to CMPR1A1, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

TRIGCOPY = 0x7 - Replicate the trigger input

DUALTRIGPATTERN = 0x4 - Single pattern, trigger on either edge.

Counter/Timer A1 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINA.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRB1 = 0x14 - Clock source is CTIMERB1 OUT.

CTMRA0 = 0x15 - Clock source is CTIMERA0 OUT.

CTMRB0 = 0x16 - Clock source is CTIMERB0 OUT.

CTMRA2 = 0x17 - Clock source is CTIMERA2 OUT.

CTMRB2 = 0x18 - Clock source is CTIMERB2 OUT.

CTMRB3 = 0x19 - Clock source is CTIMERB3 OUT.

CTMRB4 = 0x1A - Clock source is CTIMERB4 OUT.

CTMRB5 = 0x1B - Clock source is CTIMERB5 OUT.

CTMRB6 = 0x1C - Clock source is CTIMERB6 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

DS-A3-0p9p1

Page 593 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

TMRA1EN

Table 842: CTRL1 Register Bits

Reset 0x0

RW

Description

Counter/Timer A1 Enable bit.
RW DIS = 0x0 - Counter/Timer A1 Disable. EN = 0x1 - Counter/Timer A1 Enable.

13.21.2.12CMPRAUXA1 Register
Counter/Timer A1 Compare Registers OFFSET: 0x00000034 INSTANCE 0 ADDRESS: 0x40008034 Enhanced compare limits for timer half A. This is valid if timer 1 is set to function 4 and function 5.

Table 843: CMPRAUXA1 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3A1

CMPR2A1

Bit 31:16

Name CMPR3A1

15:0

CMPR2A1

Table 844: CMPRAUXA1 Register Bits

Reset 0x0

RW

Description

Counter/Timer A1 Compare Register 3. Holds the upper limit for timer half RW A.

0x0

RW Counter/Timer A1 Compare Register 2. Holds the lower limit for timer half A.

13.21.2.13CMPRAUXB1 Register
Counter/Timer B1 Compare Registers OFFSET: 0x00000038 INSTANCE 0 ADDRESS: 0x40008038 Enhanced compare limits for timer half B. This is valid if timer 1 is set to function 4 and function 5.

Table 845: CMPRAUXB1 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3B1

CMPR2B1

DS-A3-0p9p1

Page 594 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16 15:0

Name CMPR3B1 CMPR2B1

Table 846: CMPRAUXB1 Register Bits

Reset 0x0

RW

Description

Counter/Timer B1 Compare Register 3. Holds the upper limit for timer half RW B.

0x0

RW Counter/Timer B1 Compare Register 2. Holds the lower limit for timer half B.

13.21.2.14AUX1 Register
Counter/Timer Auxiliary OFFSET: 0x0000003C INSTANCE 0 ADDRESS: 0x4000803C Control bit fields for both halves of timer 0.

Table 847: AUX1 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB1LMT

TMRA1LMT

RSVD TMRB1EN23 TMRB1POL23 TMRB1TINV TMRB1NOSYNC TMRB1TRIG
RSVD RSVD TMRA1EN23 TMRA1POL23 TMRA1TINV TMRA1NOSYNC TMRA1TRIG

Bit

Name

31

RSVD

30

TMRB1EN23

29

TMRB1POL23

28

TMRB1TINV

Table 848: AUX1 Register Bits

Reset 0x0

RW RO RESERVED

Description

Counter/Timer B1 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Upper output polarity

0x0

RW NORM = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer B1 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

DS-A3-0p9p1

Page 595 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

27

TMRB1NOSYNC

26:23

TMRB1TRIG

22 21:16
15

RSVD TMRB1LMT
RSVD

14

TMRA1EN23

13

TMRA1POL23

12

TMRA1TINV

11

TMRA1NOSYNC

Table 848: AUX1 Register Bits

Reset 0x0

RW

Description

Source clock synchronization control.
RW DIS = 0x0 - Synchronization on source clock NOSYNC = 0x1 - No synchronization on source clock

Counter/Timer B1 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

A1OUT = 0x1 - Trigger source is CTIMERA1 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

A6OUT = 0x4 - Trigger source is CTIMERA6 OUT.

B6OUT = 0x5 - Trigger source is CTIMERB6 OUT.

0x0

RW

A0OUT = 0x6 - Trigger source is CTIMERA0 OUT. B0OUT = 0x7 - Trigger source is CTIMERB0 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

A4OUT2 = 0xA - Trigger source is CTIMERA4 OUT2.

B4OUT2 = 0xB - Trigger source is CTIMERB4 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B5OUT2DUAL = 0xE - Trigger source is CTIMERB5 OUT2, dual edge.

A5OUT2DUAL = 0xF - Trigger source is CTIMERA5 OUT2, dual edge.

0x0

RO RESERVED

0x0

RW Counter/Timer B1 Pattern Limit Count.

0x0

RO RESERVED

Counter/Timer A1 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Counter/Timer A1 Upper output polarity

0x0

RW NORMAL = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer A1 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

Source clock synchronization control.

0x0

RW DIS = 0x0 - Synchronization on source clock

NOSYNC = 0x1 - No synchronization on source clock

DS-A3-0p9p1

Page 596 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

10:7

TMRA1TRIG

6:0

TMRA1LMT

Table 848: AUX1 Register Bits

Reset

RW

Description

Counter/Timer A1 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

B1OUT = 0x1 - Trigger source is CTIMERB1 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

A0OUT = 0x4 - Trigger source is CTIMERA0 OUT.

B0OUT = 0x5 - Trigger source is CTIMERB0 OUT.

0x0

RW

A5OUT = 0x6 - Trigger source is CTIMERA5 OUT. B5OUT = 0x7 - Trigger source is CTIMERB5 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

A4OUT2 = 0xA - Trigger source is CTIMERA4 OUT2.

B4OUT2 = 0xB - Trigger source is CTIMERB4 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B5OUT2DUAL = 0xE - Trigger source is CTIMERB5 OUT2, dual edge.

A5OUT2DUAL = 0xF - Trigger source is CTIMERA5 OUT2, dual edge.

0x0

RW Counter/Timer A1 Pattern Limit Count.

13.21.2.15TMR2 Register
Counter/Timer Register
OFFSET: 0x00000040
INSTANCE 0 ADDRESS: 0x40008040
This register holds the running time or event count for ctimer 2. This is either for each 16 bit half or for the whole 32 bit count when the pair is linked. If the pair is not linked, they can be running on seperate clocks and are completely independent.

Table 849: TMR2 Register

33222222222211111111110000000000 10987654321098765432109876543210

CTTMRB2

CTTMRA2

Bit 31:16 15:0

Name CTTMRB2 CTTMRA2

Table 850: TMR2 Register Bits

Reset 0x0

RW RO Counter/Timer B2.

Description

0x0

RO Counter/Timer A2.

DS-A3-0p9p1

Page 597 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

13.21.2.16CMPRA2 Register
Counter/Timer A2 Compare Registers OFFSET: 0x00000044 INSTANCE 0 ADDRESS: 0x40008044 This register holds the compare limits for timer 2 A half.

Table 851: CMPRA2 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1A2

CMPR0A2

Bit 31:16 15:0

Name CMPR1A2 CMPR0A2

Table 852: CMPRA2 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer A2 Compare Register 1.

0x0

RW Counter/Timer A2 Compare Register 0.

13.21.2.17CMPRB2 Register
Counter/Timer B2 Compare Registers OFFSET: 0x00000048 INSTANCE 0 ADDRESS: 0x40008048 This register holds the compare limits for timer 2 B half.

Table 853: CMPRB2 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1B2

CMPR0B2

Bit 31:16 15:0

Name CMPR1B2 CMPR0B2

Table 854: CMPRB2 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B2 Compare Register 1.

0x0

RW Counter/Timer B2 Compare Register 0.

DS-A3-0p9p1

Page 598 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

13.21.2.18CTRL2 Register
Counter/Timer Control OFFSET: 0x0000004C INSTANCE 0 ADDRESS: 0x4000804C This register holds the control bit fields for both halves of timer 2.

Table 855: CTRL2 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB2CLK

RSVD

TMRA2CLK

CTLINK2 RSVD
TMRB2POL TMRB2CLR TMRB2IE1 TMRB2IE0 TMRB2FN TMRB2EN TMRA2POL TMRA2CLR TMRA2IE1 TMRA2IE0 TMRA2FN TMRA2EN

Bit

Name

31

CTLINK2

30:29

RSVD

28

TMRB2POL

27

TMRB2CLR

26

TMRB2IE1

25

TMRB2IE0

Table 856: CTRL2 Register Bits

Reset

RW

Description

Counter/Timer A2/B2 Link bit.

0x0

RW TWO_16BIT_TIMERS = 0x0 - Use A2/B2 timers as two independent 16-bit

timers (default).

32BIT_TIMER = 0x1 - Link A2/B2 timers into a single 32-bit timer.

0x0

RO RESERVED

Counter/Timer B2 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINB2 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINB2 pin is the inverse of the

timer output.

Counter/Timer B2 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer B2 to run

CLEAR = 0x1 - Holds counter/timer B2 at 0x0000.

Counter/Timer B2 Interrupt Enable bit for COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer B2 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer B2 to generate an interrupt based on COM-

PR1.

Counter/Timer B2 Interrupt Enable bit for COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer B2 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer B2 to generate an interrupt based on COM-

PR0

DS-A3-0p9p1

Page 599 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

24:22

TMRB2FN

21:17

TMRB2CLK

16

TMRB2EN

15:13

RSVD

Table 856: CTRL2 Register Bits

Reset

RW

Description

Counter/Timer B2 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0B2, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0B2, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0B2, assert, count to CMPR1B2, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0B2, assert,

count to CMPR1B2, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

Counter/Timer B2 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINB.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRA2 = 0x14 - Clock source is CTIMERA2 OUT.

CTMRB3 = 0x15 - Clock source is CTIMERA3 OUT.

CTMRA3 = 0x16 - Clock source is CTIMERB3 OUT.

CTMRA4 = 0x17 - Clock source is CTIMERA4 OUT.

CTMRB4 = 0x18 - Clock source is CTIMERB4 OUT.

CTMRB0 = 0x19 - Clock source is CTIMERB0 OUT.

CTMRB1 = 0x1A - Clock source is CTIMERB1 OUT.

CTMRB5 = 0x1B - Clock source is CTIMERB5 OUT.

CTMRB6 = 0x1C - Clock source is CTIMERB6 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

Counter/Timer B2 Enable bit.

0x0

RW DIS = 0x0 - Counter/Timer B2 Disable.

EN = 0x1 - Counter/Timer B2 Enable.

0x0

RO RESERVED

DS-A3-0p9p1

Page 600 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

12

TMRA2POL

11

TMRA2CLR

10

TMRA2IE1

9

TMRA2IE0

8:6

TMRA2FN

Table 856: CTRL2 Register Bits

Reset

RW

Description

Counter/Timer A2 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINA2 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINA2 pin is the inverse of the

timer output.

Counter/Timer A2 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer A2 to run

CLEAR = 0x1 - Holds counter/timer A2 at 0x0000.

Counter/Timer A2 Interrupt Enable bit based on COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer A2 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer A2 to generate an interrupt based on COM-

PR1.

Counter/Timer A2 Interrupt Enable bit based on COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer A2 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer A2 to generate an interrupt based on COM-

PR0.

Counter/Timer A2 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0A2, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0A2, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0A2, assert, count to CMPR1A2, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0A2, assert,

count to CMPR1A2, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

DS-A3-0p9p1

Page 601 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

5:1

TMRA2CLK

0

TMRA2EN

Table 856: CTRL2 Register Bits

Reset

RW

Description

Counter/Timer A2 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINA.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRB2 = 0x14 - Clock source is CTIMERB2 OUT.

CTMRB3 = 0x15 - Clock source is CTIMERA3 OUT.

CTMRA3 = 0x16 - Clock source is CTIMERB3 OUT.

CTMRA4 = 0x17 - Clock source is CTIMERA4 OUT.

CTMRB4 = 0x18 - Clock source is CTIMERB4 OUT.

CTMRB0 = 0x19 - Clock source is CTIMERB0 OUT.

CTMRB1 = 0x1A - Clock source is CTIMERB1 OUT.

CTMRB5 = 0x1B - Clock source is CTIMERB5 OUT.

CTMRB6 = 0x1C - Clock source is CTIMERB6 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

Counter/Timer A2 Enable bit.

0x0

RW DIS = 0x0 - Counter/Timer A2 Disable.

EN = 0x1 - Counter/Timer A2 Enable.

13.21.2.19CMPRAUXA2 Register
Counter/Timer A2 Compare Registers OFFSET: 0x00000054 INSTANCE 0 ADDRESS: 0x40008054 Enhanced compare limits for timer half A.

Table 857: CMPRAUXA2 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3A2

CMPR2A2

DS-A3-0p9p1

Page 602 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16 15:0

Name CMPR3A2 CMPR2A2

Table 858: CMPRAUXA2 Register Bits

Reset 0x0

RW

Description

Counter/Timer A2 Compare Register 3. Holds the upper limit for timer half RW A.

0x0

RW Counter/Timer A2 Compare Register 2. Holds the lower limit for timer half A.

13.21.2.20CMPRAUXB2 Register
Counter/Timer B2 Compare Registers OFFSET: 0x00000058 INSTANCE 0 ADDRESS: 0x40008058 Enhanced compare limits for timer half B.

Table 859: CMPRAUXB2 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3B2

CMPR2B2

Bit 31:16 15:0

Name CMPR3B2 CMPR2B2

Table 860: CMPRAUXB2 Register Bits

Reset 0x0

RW

Description

Counter/Timer B2 Compare Register 3. Holds the upper limit for timer half RW B.

0x0

RW Counter/Timer B2 Compare Register 2. Holds the lower limit for timer half B.

13.21.2.21AUX2 Register
Counter/Timer Auxiliary OFFSET: 0x0000005C INSTANCE 0 ADDRESS: 0x4000805C Control bit fields for both halves of timer 0.

DS-A3-0p9p1

Page 603 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 861: AUX2 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB2LMT

TMRA2LMT

RSVD TMRB2EN23 TMRB2POL23 TMRB2TINV TMRB2NOSYNC TMRB2TRIG
RSVD RSVD TMRA2EN23 TMRA2POL23 TMRA2TINV TMRA2NOSYNC TMRA2TRIG

Bit

Name

31

RSVD

30

TMRB2EN23

29

TMRB2POL23

28

TMRB2TINV

27

TMRB2NOSYNC

26:23

TMRB2TRIG

22

RSVD

Table 862: AUX2 Register Bits

Reset 0x0

RW RO RESERVED

Description

Counter/Timer B2 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Upper output polarity

0x0

RW NORM = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer B2 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

Source clock synchronization control.

0x0

RW DIS = 0x0 - Synchronization on source clock

NOSYNC = 0x1 - No synchronization on source clock

Counter/Timer B2 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

A2OUT = 0x1 - Trigger source is CTIMERA2 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

A1OUT = 0x4 - Trigger source is CTIMERA1 OUT.

B1OUT = 0x5 - Trigger source is CTIMERB1 OUT.

0x0

RW

A4OUT = 0x6 - Trigger source is CTIMERA4 OUT. B4OUT = 0x7 - Trigger source is CTIMERB4 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

A5OUT2 = 0xA - Trigger source is CTIMERA5 OUT2.

B5OUT2 = 0xB - Trigger source is CTIMERB5 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B4OUT2DUAL = 0xE - Trigger source is CTIMERB4 OUT2, dual edge.

A4OUT2DUAL = 0xF - Trigger source is CTIMERA4 OUT2, dual edge.

0x0

RO RESERVED

DS-A3-0p9p1

Page 604 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 21:16
15

Name TMRB2LMT
RSVD

14

TMRA2EN23

13

TMRA2POL23

12

TMRA2TINV

11

TMRA2NOSYNC

10:7

TMRA2TRIG

6:0

TMRA2LMT

Table 862: AUX2 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B2 Pattern Limit Count.

0x0

RO RESERVED

Counter/Timer A2 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Counter/Timer A2 Upper output polarity

0x0

RW NORM = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer A2 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

Source clock synchronization control.

0x0

RW DIS = 0x0 - Synchronization on source clock

NOSYNC = 0x1 - No synchronization on source clock

Counter/Timer A2 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

B2OUT = 0x1 - Trigger source is CTIMERB2 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

A0OUT = 0x4 - Trigger source is CTIMERA0 OUT.

B0OUT = 0x5 - Trigger source is CTIMERB0 OUT.

0x0

RW

A4OUT = 0x6 - Trigger source is CTIMERA4 OUT. B4OUT = 0x7 - Trigger source is CTIMERB4 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

A5OUT2 = 0xA - Trigger source is CTIMERA5 OUT2.

B5OUT2 = 0xB - Trigger source is CTIMERB5 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B4OUT2DUAL = 0xE - Trigger source is CTIMERB4 OUT2, dual edge.

A4OUT2DUAL = 0xF - Trigger source is CTIMERA4 OUT2, dual edge.

0x0

RW Counter/Timer A2 Pattern Limit Count.

13.21.2.22TMR3 Register
Counter/Timer Register OFFSET: 0x00000060 INSTANCE 0 ADDRESS: 0x40008060 Counter/Timer Register

DS-A3-0p9p1

Page 605 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 863: TMR3 Register

33222222222211111111110000000000 10987654321098765432109876543210

CTTMRB3

CTTMRA3

Bit 31:16 15:0

Name CTTMRB3 CTTMRA3

Table 864: TMR3 Register Bits

Reset 0x0

RW RO Counter/Timer B3.

Description

0x0

RO Counter/Timer A3.

13.21.2.23CMPRA3 Register
Counter/Timer A3 Compare Registers OFFSET: 0x00000064 INSTANCE 0 ADDRESS: 0x40008064 This register holds the compare limits for timer half A.

Table 865: CMPRA3 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1A3

CMPR0A3

Bit 31:16 15:0

Name CMPR1A3 CMPR0A3

Table 866: CMPRA3 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer A3 Compare Register 1.

0x0

RW Counter/Timer A3 Compare Register 0.

13.21.2.24CMPRB3 Register
Counter/Timer B3 Compare Registers OFFSET: 0x00000068 INSTANCE 0 ADDRESS: 0x40008068 This register holds the compare limits for timer half B.

DS-A3-0p9p1

Page 606 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 867: CMPRB3 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1B3

CMPR0B3

Bit 31:16 15:0

Name CMPR1B3 CMPR0B3

Table 868: CMPRB3 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B3 Compare Register 1.

0x0

RW Counter/Timer B3 Compare Register 0.

13.21.2.25CTRL3 Register
Counter/Timer Control OFFSET: 0x0000006C INSTANCE 0 ADDRESS: 0x4000806C This register holds the control bit fields for both halves of timer 3.

Table 869: CTRL3 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB3CLK

TMRA3CLK

CTLINK3 RSVD
TMRB3POL TMRB3CLR TMRB3IE1 TMRB3IE0 TMRB3FN TMRB3EN
ADCEN RSVD TMRA3POL TMRA3CLR TMRA3IE1 TMRA3IE0 TMRA3FN TMRA3EN

Bit

Name

31

CTLINK3

30:29

RSVD

Table 870: CTRL3 Register Bits

Reset

RW

Description

Counter/Timer A3/B3 Link bit.

0x0

RW TWO_16BIT_TIMERS = 0x0 - Use A3/B3 timers as two independent 16-bit

timers (default).

32BIT_TIMER = 0x1 - Link A3/B3 timers into a single 32-bit timer.

0x0

RO RESERVED

DS-A3-0p9p1

Page 607 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

28

TMRB3POL

27

TMRB3CLR

26

TMRB3IE1

25

TMRB3IE0

24:22

TMRB3FN

Table 870: CTRL3 Register Bits

Reset

RW

Description

Counter/Timer B3 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINB3 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINB3 pin is the inverse of the

timer output.

Counter/Timer B3 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer B3 to run

CLEAR = 0x1 - Holds counter/timer B3 at 0x0000.

Counter/Timer B3 Interrupt Enable bit for COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer B3 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer B3 to generate an interrupt based on COM-

PR1.

Counter/Timer B3 Interrupt Enable bit for COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer B3 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer B3 to generate an interrupt based on COM-

PR0

Counter/Timer B3 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0B3, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0B3, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0B3, assert, count to CMPR1B3, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0B3, assert,

count to CMPR1B3, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

DS-A3-0p9p1

Page 608 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

21:17

TMRB3CLK

16

TMRB3EN

15 14:13

ADCEN RSVD

12

TMRA3POL

11

TMRA3CLR

Table 870: CTRL3 Register Bits

Reset

RW

Description

Counter/Timer B3 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINB.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRA3 = 0x14 - Clock source is CTIMERA3 OUT.

CTMRA2 = 0x15 - Clock source is CTIMERA2 OUT.

CTMRB2 = 0x16 - Clock source is CTIMERB2 OUT.

CTMRA4 = 0x17 - Clock source is CTIMERA4 OUT.

CTMRB4 = 0x18 - Clock source is CTIMERB4 OUT.

CTMRB0 = 0x19 - Clock source is CTIMERB0 OUT.

CTMRB1 = 0x1A - Clock source is CTIMERB1 OUT.

CTMRB5 = 0x1B - Clock source is CTIMERB5 OUT.

CTMRB6 = 0x1C - Clock source is CTIMERB6 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

Counter/Timer B3 Enable bit.

0x0

RW DIS = 0x0 - Counter/Timer B3 Disable.

EN = 0x1 - Counter/Timer B3 Enable.

0x0

RW Special Timer A3 enable for ADC function.

0x0

RO RESERVED

Counter/Timer A3 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINA3 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINA3 pin is the inverse of the

timer output.

Counter/Timer A3 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer A3 to run

CLEAR = 0x1 - Holds counter/timer A3 at 0x0000.

DS-A3-0p9p1

Page 609 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

10

TMRA3IE1

9

TMRA3IE0

8:6

TMRA3FN

Table 870: CTRL3 Register Bits

Reset

RW

Description

Counter/Timer A3 Interrupt Enable bit based on COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer A3 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer A3 to generate an interrupt based on COM-

PR1.

Counter/Timer A3 Interrupt Enable bit based on COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer A3 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer A3 to generate an interrupt based on COM-

PR0.

Counter/Timer A3 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0A3, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0A3, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0A3, assert, count to CMPR1A3, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0A3, assert,

count to CMPR1A3, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

DS-A3-0p9p1

Page 610 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

5:1

TMRA3CLK

0

TMRA3EN

Table 870: CTRL3 Register Bits

Reset

RW

Description

Counter/Timer A3 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINA.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRB3 = 0x14 - Clock source is CTIMERB3 OUT.

CTMRA2 = 0x15 - Clock source is CTIMERA2 OUT.

CTMRB2 = 0x16 - Clock source is CTIMERB2 OUT.

CTMRA4 = 0x17 - Clock source is CTIMERA4 OUT.

CTMRB4 = 0x18 - Clock source is CTIMERB4 OUT.

CTMRB0 = 0x19 - Clock source is CTIMERB0 OUT.

CTMRB1 = 0x1A - Clock source is CTIMERB1 OUT.

CTMRB5 = 0x1B - Clock source is CTIMERB5 OUT.

CTMRB6 = 0x1C - Clock source is CTIMERB6 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

Counter/Timer A3 Enable bit.

0x0

RW DIS = 0x0 - Counter/Timer A3 Disable.

EN = 0x1 - Counter/Timer A3 Enable.

13.21.2.26CMPRAUXA3 Register
Counter/Timer A3 Compare Registers OFFSET: 0x00000074 INSTANCE 0 ADDRESS: 0x40008074 Enhanced compare limits for timer half A.

Table 871: CMPRAUXA3 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3A3

CMPR2A3

DS-A3-0p9p1

Page 611 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16 15:0

Name CMPR3A3 CMPR2A3

Table 872: CMPRAUXA3 Register Bits

Reset 0x0

RW

Description

Counter/Timer A3 Compare Register 3. Holds the upper limit for timer half RW A.

0x0

RW Counter/Timer A3 Compare Register 2. Holds the lower limit for timer half A.

13.21.2.27CMPRAUXB3 Register
Counter/Timer B3 Compare Registers OFFSET: 0x00000078 INSTANCE 0 ADDRESS: 0x40008078 Enhanced compare limits for timer half B.

Table 873: CMPRAUXB3 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3B3

CMPR2B3

Bit 31:16 15:0

Name CMPR3B3 CMPR2B3

Table 874: CMPRAUXB3 Register Bits

Reset 0x0

RW

Description

Counter/Timer B3 Compare Register 3. Holds the upper limit for timer half RW B.

0x0

RW Counter/Timer B3 Compare Register 2. Holds the lower limit for timer half B.

13.21.2.28AUX3 Register
Counter/Timer Auxiliary OFFSET: 0x0000007C INSTANCE 0 ADDRESS: 0x4000807C Control bit fields for both halves of timer 0.

DS-A3-0p9p1

Page 612 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 875: AUX3 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB3LMT

TMRA3LMT

RSVD TMRB3EN23 TMRB3POL23 TMRB3TINV TMRB3NOSYNC TMRB3TRIG
RSVD RSVD TMRA3EN23 TMRA3POL23 TMRA3TINV TMRA3NOSYNC TMRA3TRIG

Bit

Name

31

RSVD

30

TMRB3EN23

29

TMRB3POL23

28

TMRB3TINV

27

TMRB3NOSYNC

26:23

TMRB3TRIG

22

RSVD

Table 876: AUX3 Register Bits

Reset 0x0

RW RO RESERVED

Description

Counter/Timer B3 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Upper output polarity

0x0

RW NORM = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer B3 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

Source clock synchronization control.

0x0

RW DIS = 0x0 - Synchronization on source clock

NOSYNC = 0x1 - No synchronization on source clock

Counter/Timer B3 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

A3OUT = 0x1 - Trigger source is CTIMERA3 OUT.

B2OUT = 0x2 - Trigger source is CTIMERB2 OUT.

A2OUT = 0x3 - Trigger source is CTIMERA2 OUT.

A4OUT = 0x4 - Trigger source is CTIMERA4 OUT.

B4OUT = 0x5 - Trigger source is CTIMERB4 OUT.

0x0

RW

A6OUT = 0x6 - Trigger source is CTIMERA6 OUT. B6OUT = 0x7 - Trigger source is CTIMERB6 OUT.

B5OUT2 = 0x8 - Trigger source is CTIMERB5 OUT2.

A5OUT2 = 0x9 - Trigger source is CTIMERA5 OUT2.

A1OUT2 = 0xA - Trigger source is CTIMERA1 OUT2.

B1OUT2 = 0xB - Trigger source is CTIMERB1 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B2OUT2DUAL = 0xE - Trigger source is CTIMERB2 OUT2, dual edge.

A2OUT2DUAL = 0xF - Trigger source is CTIMERA2 OUT2, dual edge.

0x0

RO RESERVED

DS-A3-0p9p1

Page 613 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 21:16
15

Name TMRB3LMT
RSVD

14

TMRA3EN23

13

TMRA3POL23

12

TMRA3TINV

11

TMRA3NOSYNC

10:7

TMRA3TRIG

6:0

TMRA3LMT

Table 876: AUX3 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B3 Pattern Limit Count.

0x0

RO RESERVED

Counter/Timer A3 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Counter/Timer A3 Upper output polarity

0x0

RW NORM = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer A3 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

Source clock synchronization control.

0x0

RW DIS = 0x0 - Synchronization on source clock

NOSYNC = 0x1 - No synchronization on source clock

Counter/Timer A3 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

B3OUT = 0x1 - Trigger source is CTIMERB3 OUT.

B2OUT = 0x2 - Trigger source is CTIMERB2 OUT.

A2OUT = 0x3 - Trigger source is CTIMERA2 OUT.

A4OUT = 0x4 - Trigger source is CTIMERA4 OUT.

B4OUT = 0x5 - Trigger source is CTIMERB4 OUT.

0x0

RW

A7OUT = 0x6 - Trigger source is CTIMERA7 OUT. B7OUT = 0x7 - Trigger source is CTIMERB7 OUT.

B5OUT2 = 0x8 - Trigger source is CTIMERB5 OUT2.

A5OUT2 = 0x9 - Trigger source is CTIMERA5 OUT2.

A1OUT2 = 0xA - Trigger source is CTIMERA1 OUT2.

B1OUT2 = 0xB - Trigger source is CTIMERB1 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B2OUT2DUAL = 0xE - Trigger source is CTIMERB2 OUT2, dual edge.

A2OUT2DUAL = 0xF - Trigger source is CTIMERA2 OUT2, dual edge.

0x0

RW Counter/Timer A3 Pattern Limit Count.

13.21.2.29TMR4 Register
Counter/Timer Register OFFSET: 0x00000080 INSTANCE 0 ADDRESS: 0x40008080 This register holds the running time or event count, either for each 16 bit half or for the whole 32 bit count when the pair is linked.

DS-A3-0p9p1

Page 614 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 877: TMR4 Register

33222222222211111111110000000000 10987654321098765432109876543210

CTTMRB4

CTTMRA4

Bit 31:16 15:0

Name CTTMRB4 CTTMRA4

Table 878: TMR4 Register Bits

Reset 0x0

RW RO Counter/Timer B4.

Description

0x0

RO Counter/Timer A4.

13.21.2.30CMPRA4 Register
Counter/Timer A4 Compare Registers OFFSET: 0x00000084 INSTANCE 0 ADDRESS: 0x40008084 Compare limits for timer half A.

Table 879: CMPRA4 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1A4

CMPR0A4

Bit 31:16

Name CMPR1A4

15:0

CMPR0A4

Table 880: CMPRA4 Register Bits

Reset 0x0

RW

Description

Counter/Timer A4 Compare Register 1. Holds the upper limit for timer half RW A.

0x0

RW Counter/Timer A4 Compare Register 0. Holds the lower limit for timer half A.

13.21.2.31CMPRB4 Register
Counter/Timer B4 Compare Registers OFFSET: 0x00000088 INSTANCE 0 ADDRESS: 0x40008088 Compare limits for timer half B.

DS-A3-0p9p1

Page 615 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 881: CMPRB4 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1B4

CMPR0B4

Bit 31:16 15:0

Name CMPR1B4 CMPR0B4

Table 882: CMPRB4 Register Bits

Reset 0x0

RW

Description

Counter/Timer B4 Compare Register 1. Holds the upper limit for timer half RW B.

0x0

RW Counter/Timer B4 Compare Register 0. Holds the lower limit for timer half B.

13.21.2.32CTRL4 Register
Counter/Timer Control OFFSET: 0x0000008C INSTANCE 0 ADDRESS: 0x4000808C Control bit fields for both halves of timer 4.

Table 883: CTRL4 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB4CLK

RSVD

TMRA4CLK

CTLINK4 RSVD
TMRB4POL TMRB4CLR TMRB4IE1 TMRB4IE0 TMRB4FN TMRB4EN TMRA4POL TMRA4CLR TMRA4IE1 TMRA4IE0 TMRA4FN TMRA4EN

Bit

Name

31

CTLINK4

30:29

RSVD

Table 884: CTRL4 Register Bits

Reset

RW

Description

Counter/Timer A4/B4 Link bit.

0x0

RW TWO_16BIT_TIMERS = 0x0 - Use A4/B4 timers as two independent 16-bit

timers (default).

32BIT_TIMER = 0x1 - Link A4/B4 timers into a single 32-bit timer.

0x0

RO RESERVED

DS-A3-0p9p1

Page 616 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

28

TMRB4POL

27

TMRB4CLR

26

TMRB4IE1

25

TMRB4IE0

24:22

TMRB4FN

Table 884: CTRL4 Register Bits

Reset

RW

Description

Counter/Timer B4 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINB4 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINB4 pin is the inverse of the

timer output.

Counter/Timer B4 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer B4 to run

CLEAR = 0x1 - Holds counter/timer B4 at 0x0000.

Counter/Timer B4 Interrupt Enable bit for COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer B4 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer B4 to generate an interrupt based on COM-

PR1.

Counter/Timer B4 Interrupt Enable bit for COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer B4 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer B4 to generate an interrupt based on COM-

PR0

Counter/Timer B4 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0B4, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0B4, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0B4, assert, count to CMPR1B4, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0B4, assert,

count to CMPR1B4, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

DS-A3-0p9p1

Page 617 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

21:17

TMRB4CLK

16

TMRB4EN

15:13

RSVD

12

TMRA4POL

11

TMRA4CLR

10

TMRA4IE1

Table 884: CTRL4 Register Bits

Reset

RW

Description

Counter/Timer B4 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINB.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRA4 = 0x14 - Clock source is CTIMERA4 OUT.

CTMRA1 = 0x15 - Clock source is CTIMERA1 OUT.

CTMRB1 = 0x16 - Clock source is CTIMERB1 OUT.

CTMRA5 = 0x17 - Clock source is CTIMERA5 OUT.

CTMRB5 = 0x18 - Clock source is CTIMERB5 OUT.

CTMRB0 = 0x19 - Clock source is CTIMERB0 OUT.

CTMRB2 = 0x1A - Clock source is CTIMERB2 OUT.

CTMRB3 = 0x1B - Clock source is CTIMERB3 OUT.

CTMRB6 = 0x1C - Clock source is CTIMERB6 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

Counter/Timer B4 Enable bit.

0x0

RW DIS = 0x0 - Counter/Timer B4 Disable.

EN = 0x1 - Counter/Timer B4 Enable.

0x0

RO RESERVED

Counter/Timer A4 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINA4 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINA4 pin is the inverse of the

timer output.

Counter/Timer A4 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer A4 to run

CLEAR = 0x1 - Holds counter/timer A4 at 0x0000.

Counter/Timer A4 Interrupt Enable bit based on COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer A4 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer A4 to generate an interrupt based on COM-

PR1.

DS-A3-0p9p1

Page 618 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

9

TMRA4IE0

8:6

TMRA4FN

5:1

TMRA4CLK

Table 884: CTRL4 Register Bits

Reset

RW

Description

Counter/Timer A4 Interrupt Enable bit based on COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer A4 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer A4 to generate an interrupt based on COM-

PR0.

Counter/Timer A4 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0A4, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0A4, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0A4, assert, count to CMPR1A4, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0A4, assert,

count to CMPR1A4, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

Counter/Timer A4 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINA.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4. (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRB4 = 0x14 - Clock source is CTIMERB4 OUT.

CTMRA1 = 0x15 - Clock source is CTIMERA1 OUT.

CTMRB1 = 0x16 - Clock source is CTIMERB1 OUT.

CTMRA5 = 0x17 - Clock source is CTIMERA5 OUT.

CTMRB5 = 0x18 - Clock source is CTIMERB5 OUT.

CTMRB0 = 0x19 - Clock source is CTIMERB0 OUT.

CTMRB2 = 0x1A - Clock source is CTIMERB2 OUT.

CTMRB3 = 0x1B - Clock source is CTIMERB3 OUT.

CTMRB6 = 0x1C - Clock source is CTIMERB6 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

DS-A3-0p9p1

Page 619 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

TMRA4EN

Table 884: CTRL4 Register Bits

Reset 0x0

RW

Description

Counter/Timer A4 Enable bit.
RW DIS = 0x0 - Counter/Timer A4 Disable. EN = 0x1 - Counter/Timer A4 Enable.

13.21.2.33CMPRAUXA4 Register
Counter/Timer A4 Compare Registers OFFSET: 0x00000094 INSTANCE 0 ADDRESS: 0x40008094 Enhanced compare limits for timer half A.

Table 885: CMPRAUXA4 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3A4

CMPR2A4

Bit 31:16

Name CMPR3A4

15:0

CMPR2A4

Table 886: CMPRAUXA4 Register Bits

Reset 0x0

RW

Description

Counter/Timer A4 Compare Register 3. Holds the upper limit for timer half RW A.

0x0

RW Counter/Timer A4 Compare Register 2. Holds the lower limit for timer half A.

13.21.2.34CMPRAUXB4 Register
Counter/Timer B4 Compare Registers OFFSET: 0x00000098 INSTANCE 0 ADDRESS: 0x40008098 Enhanced compare limits for timer half B.

Table 887: CMPRAUXB4 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3B4

CMPR2B4

DS-A3-0p9p1

Page 620 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16 15:0

Name CMPR3B4 CMPR2B4

Table 888: CMPRAUXB4 Register Bits

Reset 0x0

RW

Description

Counter/Timer B4 Compare Register 3. Holds the upper limit for timer half RW B.

0x0

RW Counter/Timer B4 Compare Register 2. Holds the lower limit for timer half B.

13.21.2.35AUX4 Register
Counter/Timer Auxiliary OFFSET: 0x0000009C INSTANCE 0 ADDRESS: 0x4000809C Control bit fields for both halves of timer 4.

Table 889: AUX4 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB4LMT

TMRA4LMT

RSVD TMRB4EN23 TMRB4POL23 TMRB4TINV TMRB4NOSYNC TMRB4TRIG
RSVD RSVD TMRA4EN23 TMRA4POL23 TMRA4TINV TMRA4NOSYNC TMRA4TRIG

Bit

Name

31

RSVD

30

TMRB4EN23

29

TMRB4POL23

28

TMRB4TINV

Table 890: AUX4 Register Bits

Reset 0x0

RW RO RESERVED

Description

Counter/Timer B4 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Upper output polarity

0x0

RW NORM = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer B4 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

DS-A3-0p9p1

Page 621 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

27

TMRB4NOSYNC

26:23

TMRB4TRIG

22 21:16
15

RSVD TMRB4LMT
RSVD

14

TMRA4EN23

Table 890: AUX4 Register Bits

Reset 0x0

RW

Description

Source clock synchronization control.
RW DIS = 0x0 - Synchronization on source clock NOSYNC = 0x1 - No synchronization on source clock

Counter/Timer B4 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

A4OUT = 0x1 - Trigger source is CTIMERA4 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

A7OUT = 0x4 - Trigger source is CTIMERA7 OUT.

B7OUT = 0x5 - Trigger source is CTIMERB7 OUT.

A1OUT = 0x6 - Trigger source is CTIMERA1 OUT.

B1OUT = 0x7 - Trigger source is CTIMERB1 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

A1OUT2 = 0xA - Trigger source is CTIMERA1 OUT2.

B1OUT2 = 0xB - Trigger source is CTIMERB1 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B5OUT2DUAL = 0xE - Trigger source is CTIMERB5 OUT2, dual edge.

A5OUT2DUAL = 0xF - Trigger source is CTIMERA5 OUT2, dual edge.

STIMERCAP0 = 0x4 - Trigger source is STimer Capture0 Interrupt. When

CTLINK==1 and TMRA4TRIG==1. (Apollo3 - B0)

0x0

RW

STIMERCAP1 = 0x5 - Trigger source is STimer Capture1 Interrupt. When CTLINK==1 and TMRA4TRIG==1. (Apollo3 - B0)

STIMERCAP2 = 0x6 - Trigger source is STimer Capture2 Interrupt. When

CTLINK==1 and TMRA4TRIG==1. (Apollo3 - B0)

STIMERCAP3 = 0x7 - Trigger source is STimer Capture3 Interrupt. When

CTLINK==1 and TMRA4TRIG==1. (Apollo3 - B0)

STIMERCMP0 = 0x8 - Trigger source is STimer Compare0 Interrupt. When

CTLINK==1 and TMRA4TRIG==1. (Apollo3 - B0)

STIMERCMP1 = 0x9 - Trigger source is STimer Compare1 Interrupt. When

CTLINK==1 and TMRA4TRIG==1. (Apollo3 - B0)

STIMERCMP2 = 0xA - Trigger source is STimer Compare2 Interrupt. When

CTLINK==1 and TMRA4TRIG==1. (Apollo3 - B0)

STIMERCMP3 = 0xB - Trigger source is STimer Compare3 Interrupt. When

CTLINK==1 and TMRA4TRIG==1. (Apollo3 - B0)

STIMERCMP4 = 0xC - Trigger source is STimer Compare4 Interrupt. When

CTLINK==1 and TMRA4TRIG==1. (Apollo3 - B0)

STIMERCMP5 = 0xD - Trigger source is STimer Compare5 Interrupt. When

CTLINK==1 and TMRA4TRIG==1. (Apollo3 - B0)

STIMERCMP6 = 0xE - Trigger source is STimer Compare6 Interrupt. When

CTLINK==1 and TMRA4TRIG==1. (Apollo3 - B0)

STIMERCMP7 = 0xF - Trigger source is STimer Compare7 Interrupt. When

CTLINK==1 and TMRA4TRIG==1. (Apollo3 - B0)

0x0

RO RESERVED

0x0

RW Counter/Timer B4 Pattern Limit Count.

0x0

RO RESERVED

Counter/Timer A4 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

DS-A3-0p9p1

Page 622 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

13

TMRA4POL23

12

TMRA4TINV

11

TMRA4NOSYNC

10:7

TMRA4TRIG

6:0

TMRA4LMT

Table 890: AUX4 Register Bits

Reset 0x0 0x0 0x0

RW

Description

Counter/Timer A4 Upper output polarity
RW NORM = 0x0 - Upper output normal polarity INV = 0x1 - Upper output inverted polarity.

Counter/Timer A4 Invert on trigger.
RW DIS = 0x0 - Disable invert on trigger EN = 0x1 - Enable invert on trigger

Source clock synchronization control.
RW DIS = 0x0 - Synchronization on source clock NOSYNC = 0x1 - No synchronization on source clock
Counter/Timer A4 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

STIMER = 0x1 - Trigger source is STimer Interrupt. Only Active When

CTLINK==1 and TMRB4TRIG!=0. TMRB4TRIG selects an STIMER inter-

rupt

B4OUT = 0x1 - Trigger source is CTIMERB4 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

A6OUT = 0x4 - Trigger source is CTIMERA6 OUT.

0x0

RW B6OUT = 0x5 - Trigger source is CTIMERB6 OUT.

A2OUT = 0x6 - Trigger source is CTIMERA2 OUT.

B2OUT = 0x7 - Trigger source is CTIMERB2 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

A1OUT2 = 0xA - Trigger source is CTIMERA1 OUT2.

B1OUT2 = 0xB - Trigger source is CTIMERB1 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B5OUT2DUAL = 0xE - Trigger source is CTIMERB5 OUT2, dual edge.

A5OUT2DUAL = 0xF - Trigger source is CTIMERA5 OUT2, dual edge.

0x0

RW Counter/Timer A4 Pattern Limit Count.

13.21.2.36TMR5 Register
Counter/Timer Register OFFSET: 0x000000A0 INSTANCE 0 ADDRESS: 0x400080A0 This register holds the running time or event count, either for each 16 bit half or for the whole 32 bit count when the pair is linked.

Table 891: TMR5 Register

33222222222211111111110000000000 10987654321098765432109876543210

CTTMRB5

CTTMRA5

DS-A3-0p9p1

Page 623 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16 15:0

Name CTTMRB5 CTTMRA5

Table 892: TMR5 Register Bits

Reset 0x0

RW RO Counter/Timer B5.

Description

0x0

RO Counter/Timer A5.

13.21.2.37CMPRA5 Register
Counter/Timer A5 Compare Registers OFFSET: 0x000000A4 INSTANCE 0 ADDRESS: 0x400080A4 This register holds the compare limits for timer half A.

Table 893: CMPRA5 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1A5

CMPR0A5

Bit 31:16 15:0

Name CMPR1A5 CMPR0A5

Table 894: CMPRA5 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer A5 Compare Register 1.

0x0

RW Counter/Timer A5 Compare Register 0.

13.21.2.38CMPRB5 Register
Counter/Timer B5 Compare Registers OFFSET: 0x000000A8 INSTANCE 0 ADDRESS: 0x400080A8 This register holds the compare limits for timer half B.

Table 895: CMPRB5 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1B5

CMPR0B5

DS-A3-0p9p1

Page 624 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16 15:0

Name CMPR1B5 CMPR0B5

Table 896: CMPRB5 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B5 Compare Register 1.

0x0

RW Counter/Timer B5 Compare Register 0.

13.21.2.39CTRL5 Register
Counter/Timer Control OFFSET: 0x000000AC INSTANCE 0 ADDRESS: 0x400080AC Control bit fields for both halves of timer 0.

Table 897: CTRL5 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB5CLK

RSVD

TMRA5CLK

CTLINK5 RSVD
TMRB5POL TMRB5CLR TMRB5IE1 TMRB5IE0 TMRB5FN TMRB5EN TMRA5POL TMRA5CLR TMRA5IE1 TMRA5IE0 TMRA5FN TMRA5EN

Bit

Name

31

CTLINK5

30:29

RSVD

28

TMRB5POL

27

TMRB5CLR

Table 898: CTRL5 Register Bits

Reset

RW

Description

Counter/Timer A5/B5 Link bit.

0x0

RW TWO_16BIT_TIMERS = 0x0 - Use A5/B5 timers as two independent 16-bit

timers (default).

32BIT_TIMER = 0x1 - Link A5/B5 timers into a single 32-bit timer.

0x0

RO RESERVED

Counter/Timer B5 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINB5 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINB5 pin is the inverse of the

timer output.

Counter/Timer B5 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer B5 to run

CLEAR = 0x1 - Holds counter/timer B5 at 0x0000.

DS-A3-0p9p1

Page 625 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

26

TMRB5IE1

25

TMRB5IE0

24:22

TMRB5FN

Table 898: CTRL5 Register Bits

Reset

RW

Description

Counter/Timer B5 Interrupt Enable bit for COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer B5 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer B5 to generate an interrupt based on COM-

PR1.

Counter/Timer B5 Interrupt Enable bit for COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer B5 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer B5 to generate an interrupt based on COM-

PR0

Counter/Timer B5 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0B5, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0B5, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0B5, assert, count to CMPR1B5, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0B5, assert,

count to CMPR1B5, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

DS-A3-0p9p1

Page 626 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

21:17

TMRB5CLK

16

TMRB5EN

15:13

RSVD

12

TMRA5POL

11

TMRA5CLR

10

TMRA5IE1

Table 898: CTRL5 Register Bits

Reset

RW

Description

Counter/Timer B5 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINB.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRA5 = 0x14 - Clock source is CTIMERA5 OUT.

CTMRA0 = 0x15 - Clock source is CTIMERA0 OUT.

CTMRB0 = 0x16 - Clock source is CTIMERB0 OUT.

CTMRA6 = 0x17 - Clock source is CTIMERA6 OUT.

CTMRB6 = 0x18 - Clock source is CTIMERB6 OUT.

CTMRB1 = 0x19 - Clock source is CTIMERB1 OUT.

CTMRB2 = 0x1A - Clock source is CTIMERB2 OUT.

CTMRB3 = 0x1B - Clock source is CTIMERB3 OUT.

CTMRB4 = 0x1C - Clock source is CTIMERB4 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

Counter/Timer B5 Enable bit.

0x0

RW DIS = 0x0 - Counter/Timer B5 Disable.

EN = 0x1 - Counter/Timer B5 Enable.

0x0

RO RESERVED

Counter/Timer A5 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINA5 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINA5 pin is the inverse of the

timer output.

Counter/Timer A5 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer A5 to run

CLEAR = 0x1 - Holds counter/timer A5 at 0x0000.

Counter/Timer A5 Interrupt Enable bit based on COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer A5 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer A5 to generate an interrupt based on COM-

PR1.

DS-A3-0p9p1

Page 627 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

9

TMRA5IE0

8:6

TMRA5FN

5:1

TMRA5CLK

Table 898: CTRL5 Register Bits

Reset

RW

Description

Counter/Timer A5 Interrupt Enable bit based on COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer A5 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer A5 to generate an interrupt based on COM-

PR0.

Counter/Timer A5 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0A5, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0A5, restart.

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0A5,

0x0

RW

assert, count to CMPR1A5, deassert, stop. PULSE_CONT = 0x3 - Pulse continously.

Count to CMPR0A5, assert,

count to CMPR1A5, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

TRIGCOPY = 0x7 - Replicate the trigger input

DUALTRIGPATTERN = 0x4 - Single pattern, trigger on either edge.

Counter/Timer A5 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINA.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRB5 = 0x14 - Clock source is CTIMERB5 OUT.

CTMRA0 = 0x15 - Clock source is CTIMERA0 OUT.

CTMRB0 = 0x16 - Clock source is CTIMERB0 OUT.

CTMRA6 = 0x17 - Clock source is CTIMERA6 OUT.

CTMRB6 = 0x18 - Clock source is CTIMERB6 OUT.

CTMRB1 = 0x19 - Clock source is CTIMERB1 OUT.

CTMRB2 = 0x1A - Clock source is CTIMERB2 OUT.

CTMRB3 = 0x1B - Clock source is CTIMERB3 OUT.

CTMRB4 = 0x1C - Clock source is CTIMERB4 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

DS-A3-0p9p1

Page 628 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

TMRA5EN

Table 898: CTRL5 Register Bits

Reset 0x0

RW

Description

Counter/Timer A5 Enable bit.
RW DIS = 0x0 - Counter/Timer A5 Disable. EN = 0x1 - Counter/Timer A5 Enable.

13.21.2.40CMPRAUXA5 Register
Counter/Timer A5 Compare Registers OFFSET: 0x000000B4 INSTANCE 0 ADDRESS: 0x400080B4 Enhanced compare limits for timer half A.

Table 899: CMPRAUXA5 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3A5

CMPR2A5

Bit 31:16

Name CMPR3A5

15:0

CMPR2A5

Table 900: CMPRAUXA5 Register Bits

Reset 0x0

RW

Description

Counter/Timer A5 Compare Register 3. Holds the upper limit for timer half RW A.

0x0

RW Counter/Timer A5 Compare Register 2. Holds the lower limit for timer half A.

13.21.2.41CMPRAUXB5 Register
Counter/Timer B5 Compare Registers OFFSET: 0x000000B8 INSTANCE 0 ADDRESS: 0x400080B8 Enhanced compare limits for timer half B.

Table 901: CMPRAUXB5 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3B5

CMPR2B5

DS-A3-0p9p1

Page 629 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16 15:0

Name CMPR3B5 CMPR2B5

Table 902: CMPRAUXB5 Register Bits

Reset 0x0

RW

Description

Counter/Timer B5 Compare Register 3. Holds the upper limit for timer half RW B.

0x0

RW Counter/Timer B5 Compare Register 2. Holds the lower limit for timer half B.

13.21.2.42AUX5 Register
Counter/Timer Auxiliary OFFSET: 0x000000BC INSTANCE 0 ADDRESS: 0x400080BC Control bit fields for both halves of timer 0.

Table 903: AUX5 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB5LMT

TMRA5LMT

RSVD TMRB5EN23 TMRB5POL23 TMRB5TINV TMRB5NOSYNC TMRB5TRIG
RSVD RSVD TMRA5EN23 TMRA5POL23 TMRA5TINV TMRA5NOSYNC TMRA5TRIG

Bit

Name

31

RSVD

30

TMRB5EN23

29

TMRB5POL23

28

TMRB5TINV

Table 904: AUX5 Register Bits

Reset 0x0

RW RO RESERVED

Description

Counter/Timer B5 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Upper output polarity

0x0

RW NORM = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer B5 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

DS-A3-0p9p1

Page 630 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

27

TMRB5NOSYNC

26:23

TMRB5TRIG

22 21:16
15

RSVD TMRB5LMT
RSVD

14

TMRA5EN23

Table 904: AUX5 Register Bits

Reset 0x0

RW

Description

Source clock synchronization control.
RW DIS = 0x0 - Synchronization on source clock NOSYNC = 0x1 - No synchronization on source clock

Counter/Timer B5 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

A5OUT = 0x1 - Trigger source is CTIMERA5 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

A6OUT = 0x4 - Trigger source is CTIMERA6 OUT.

B6OUT = 0x5 - Trigger source is CTIMERB6 OUT.

A1OUT = 0x6 - Trigger source is CTIMERA1 OUT.

B1OUT = 0x7 - Trigger source is CTIMERB1 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

A0OUT2 = 0xA - Trigger source is CTIMERA0 OUT2.

B0OUT2 = 0xB - Trigger source is CTIMERB0 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B4OUT2DUAL = 0xE - Trigger source is CTIMERB4 OUT2, dual edge.

A4OUT2DUAL = 0xF - Trigger source is CTIMERA4 OUT2, dual edge.

STIMERCAP0 = 0x4 - Trigger source is STimer Capture0 Interrupt. When

CTLINK==1 and TMRA5TRIG==1. (Apollo3 - B0)

0x0

RW

STIMERCAP1 = 0x5 - Trigger source is STimer Capture1 Interrupt. When CTLINK==1 and TMRA5TRIG==1. (Apollo3 - B0)

STIMERCAP2 = 0x6 - Trigger source is STimer Capture2 Interrupt. When

CTLINK==1 and TMRA5TRIG==1. (Apollo3 - B0)

STIMERCAP3 = 0x7 - Trigger source is STimer Capture3 Interrupt. When

CTLINK==1 and TMRA5TRIG==1. (Apollo3 - B0)

STIMERCMP0 = 0x8 - Trigger source is STimer Compare0 Interrupt. When

CTLINK==1 and TMRA5TRIG==1. (Apollo3 - B0)

STIMERCMP1 = 0x9 - Trigger source is STimer Compare1 Interrupt. When

CTLINK==1 and TMRA5TRIG==1. (Apollo3 - B0)

STIMERCMP2 = 0xA - Trigger source is STimer Compare2 Interrupt. When

CTLINK==1 and TMRA5TRIG==1. (Apollo3 - B0)

STIMERCMP3 = 0xB - Trigger source is STimer Compare3 Interrupt. When

CTLINK==1 and TMRA5TRIG==1. (Apollo3 - B0)

STIMERCMP4 = 0xC - Trigger source is STimer Compare4 Interrupt. When

CTLINK==1 and TMRA5TRIG==1. (Apollo3 - B0)

STIMERCMP5 = 0xD - Trigger source is STimer Compare5 Interrupt. When

CTLINK==1 and TMRA5TRIG==1. (Apollo3 - B0)

STIMERCMP6 = 0xE - Trigger source is STimer Compare6 Interrupt. When

CTLINK==1 and TMRA5TRIG==1. (Apollo3 - B0)

STIMERCMP7 = 0xF - Trigger source is STimer Compare7 Interrupt. When

CTLINK==1 and TMRA5TRIG==1. (Apollo3 - B0)

0x0

RO RESERVED

0x0

RW Counter/Timer B5 Pattern Limit Count.

0x0

RO RESERVED

Counter/Timer A5 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

DS-A3-0p9p1

Page 631 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

13

TMRA5POL23

12

TMRA5TINV

11

TMRA5NOSYNC

10:7

TMRA5TRIG

6:0

TMRA5LMT

Table 904: AUX5 Register Bits

Reset 0x0 0x0 0x0

RW

Description

Counter/Timer A5 Upper output polarity
RW NORMAL = 0x0 - Upper output normal polarity INV = 0x1 - Upper output inverted polarity.

Counter/Timer A5 Invert on trigger.
RW DIS = 0x0 - Disable invert on trigger EN = 0x1 - Enable invert on trigger

Source clock synchronization control.
RW DIS = 0x0 - Synchronization on source clock NOSYNC = 0x1 - No synchronization on source clock
Counter/Timer A5 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

STIMER = 0x1 - Trigger source is STimer Interrupt. Only Active When

CTLINK==1 and TMRB5TRIG!=0. TMRB5TRIG selects an STIMER inter-

rupt

B5OUT = 0x1 - Trigger source is CTIMERB5 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

A4OUT = 0x4 - Trigger source is CTIMERA4 OUT.

0x0

RW B4OUT = 0x5 - Trigger source is CTIMERB4 OUT.

A2OUT = 0x6 - Trigger source is CTIMERA2 OUT.

B2OUT = 0x7 - Trigger source is CTIMERB2 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

A0OUT2 = 0xA - Trigger source is CTIMERA0 OUT2.

B0OUT2 = 0xB - Trigger source is CTIMERB0 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B4OUT2DUAL = 0xE - Trigger source is CTIMERB4 OUT2, dual edge.

A4OUT2DUAL = 0xF - Trigger source is CTIMERA4 OUT2, dual edge.

0x0

RW Counter/Timer A5 Pattern Limit Count.

13.21.2.43TMR6 Register
Counter/Timer Register OFFSET: 0x000000C0 INSTANCE 0 ADDRESS: 0x400080C0 Counter/Timer Register

Table 905: TMR6 Register

33222222222211111111110000000000 10987654321098765432109876543210

CTTMRB6

CTTMRA6

DS-A3-0p9p1

Page 632 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16 15:0

Name CTTMRB6 CTTMRA6

Table 906: TMR6 Register Bits

Reset 0x0

RW RO Counter/Timer B6.

Description

0x0

RO Counter/Timer A6.

13.21.2.44CMPRA6 Register
Counter/Timer A6 Compare Registers OFFSET: 0x000000C4 INSTANCE 0 ADDRESS: 0x400080C4 This register holds the compare limits for timer half A.

Table 907: CMPRA6 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1A6

CMPR0A6

Bit 31:16 15:0

Name CMPR1A6 CMPR0A6

Table 908: CMPRA6 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer A6 Compare Register 1.

0x0

RW Counter/Timer A6 Compare Register 0.

13.21.2.45CMPRB6 Register
Counter/Timer B6 Compare Registers OFFSET: 0x000000C8 INSTANCE 0 ADDRESS: 0x400080C8 This register holds the compare limits for timer half B.

Table 909: CMPRB6 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1B6

CMPR0B6

DS-A3-0p9p1

Page 633 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16 15:0

Name CMPR1B6 CMPR0B6

Table 910: CMPRB6 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B6 Compare Register 1.

0x0

RW Counter/Timer B6 Compare Register 0.

13.21.2.46CTRL6 Register
Counter/Timer Control OFFSET: 0x000000CC INSTANCE 0 ADDRESS: 0x400080CC This register holds the control bit fields for both halves of timer 6.

Table 911: CTRL6 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB6CLK

RSVD

TMRA6CLK

CTLINK6 RSVD
TMRB6POL TMRB6CLR TMRB6IE1 TMRB6IE0 TMRB6FN TMRB6EN TMRA6POL TMRA6CLR TMRA6IE1 TMRA6IE0 TMRA6FN TMRA6EN

Bit

Name

31

CTLINK6

30:29

RSVD

28

TMRB6POL

27

TMRB6CLR

Table 912: CTRL6 Register Bits

Reset

RW

Description

Counter/Timer A6/B6 Link bit.

0x0

RW TWO_16BIT_TIMERS = 0x0 - Use A6/B6 timers as two independent 16-bit

timers (default).

32BIT_TIMER = 0x1 - Link A6/B6 timers into a single 32-bit timer.

0x0

RO RESERVED

Counter/Timer B6 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINB6 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINB6 pin is the inverse of the

timer output.

Counter/Timer B6 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer B6 to run

CLEAR = 0x1 - Holds counter/timer B6 at 0x0000.

DS-A3-0p9p1

Page 634 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

26

TMRB6IE1

25

TMRB6IE0

24:22

TMRB6FN

Table 912: CTRL6 Register Bits

Reset

RW

Description

Counter/Timer B6 Interrupt Enable bit for COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer B6 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer B6 to generate an interrupt based on COM-

PR1.

Counter/Timer B6 Interrupt Enable bit for COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer B6 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer B6 to generate an interrupt based on COM-

PR0

Counter/Timer B6 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0B6, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0B6, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0B6, assert, count to CMPR1B6, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0B6, assert,

count to CMPR1B6, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

DS-A3-0p9p1

Page 635 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

21:17

TMRB6CLK

16

TMRB6EN

15:13

RSVD

12

TMRA6POL

11

TMRA6CLR

10

TMRA6IE1

Table 912: CTRL6 Register Bits

Reset

RW

Description

Counter/Timer B6 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINB.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRA6 = 0x14 - Clock source is CTIMERA6 OUT.

CTMRA3 = 0x15 - Clock source is CTIMERA3 OUT.

CTMRB3 = 0x16 - Clock source is CTIMERB3 OUT.

CTMRA7 = 0x17 - Clock source is CTIMERA7 OUT.

CTMRB7 = 0x18 - Clock source is CTIMERB7 OUT.

CTMRB0 = 0x19 - Clock source is CTIMERB0 OUT.

CTMRB1 = 0x1A - Clock source is CTIMERB1 OUT.

CTMRB2 = 0x1B - Clock source is CTIMERB2 OUT.

CTMRB4 = 0x1C - Clock source is CTIMERB4 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

Counter/Timer B6 Enable bit.

0x0

RW DIS = 0x0 - Counter/Timer B6 Disable.

EN = 0x1 - Counter/Timer B6 Enable.

0x0

RO RESERVED

Counter/Timer A6 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINA6 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINA6 pin is the inverse of the

timer output.

Counter/Timer A6 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer A6 to run

CLEAR = 0x1 - Holds counter/timer A6 at 0x0000.

Counter/Timer A6 Interrupt Enable bit based on COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer A6 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer A6 to generate an interrupt based on COM-

PR1.

DS-A3-0p9p1

Page 636 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

9

TMRA6IE0

8:6

TMRA6FN

5:1

TMRA6CLK

Table 912: CTRL6 Register Bits

Reset

RW

Description

Counter/Timer A6 Interrupt Enable bit based on COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer A6 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer A6 to generate an interrupt based on COM-

PR0.

Counter/Timer A6 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0A6, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0A6, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0A6, assert, count to CMPR1A6, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0A6, assert,

count to CMPR1A6, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

Counter/Timer A6 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINA.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRB6 = 0x14 - Clock source is CTIMERB6 OUT.

CTMRA3 = 0x15 - Clock source is CTIMERA3 OUT.

CTMRB3 = 0x16 - Clock source is CTIMERB3 OUT.

CTMRA7 = 0x17 - Clock source is CTIMERA7 OUT.

CTMRB7 = 0x18 - Clock source is CTIMERB7 OUT.

CTMRB0 = 0x19 - Clock source is CTIMERB0 OUT.

CTMRB1 = 0x1A - Clock source is CTIMERB1 OUT.

CTMRB2 = 0x1B - Clock source is CTIMERB2 OUT.

CTMRB4 = 0x1C - Clock source is CTIMERB4 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

DS-A3-0p9p1

Page 637 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

TMRA6EN

Table 912: CTRL6 Register Bits

Reset 0x0

RW

Description

Counter/Timer A6 Enable bit.
RW DIS = 0x0 - Counter/Timer A6 Disable. EN = 0x1 - Counter/Timer A6 Enable.

13.21.2.47CMPRAUXA6 Register
Counter/Timer A6 Compare Registers OFFSET: 0x000000D4 INSTANCE 0 ADDRESS: 0x400080D4 Enhanced compare limits for timer half A.

Table 913: CMPRAUXA6 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3A6

CMPR2A6

Bit 31:16

Name CMPR3A6

15:0

CMPR2A6

Table 914: CMPRAUXA6 Register Bits

Reset 0x0

RW

Description

Counter/Timer A6 Compare Register 3. Holds the upper limit for timer half RW A.

0x0

RW Counter/Timer A6 Compare Register 2. Holds the lower limit for timer half A.

13.21.2.48CMPRAUXB6 Register
Counter/Timer B6 Compare Registers OFFSET: 0x000000D8 INSTANCE 0 ADDRESS: 0x400080D8 Enhanced compare limits for timer half B.

Table 915: CMPRAUXB6 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3B6

CMPR2B6

DS-A3-0p9p1

Page 638 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16 15:0

Name CMPR3B6 CMPR2B6

Table 916: CMPRAUXB6 Register Bits

Reset 0x0

RW

Description

Counter/Timer B6 Compare Register 3. Holds the upper limit for timer half RW B.

0x0

RW Counter/Timer B6 Compare Register 2. Holds the lower limit for timer half B.

13.21.2.49AUX6 Register
Counter/Timer Auxiliary OFFSET: 0x000000DC INSTANCE 0 ADDRESS: 0x400080DC Control bit fields for both halves of timer 0.

Table 917: AUX6 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB6LMT

TMRA6LMT

RSVD TMRB6EN23 TMRB6POL23 TMRB6TINV TMRB6NOSYNC TMRB6TRIG
RSVD RSVD TMRA6EN23 TMRA6POL23 TMRA6TINV TMRA6NOSYNC TMRA6TRIG

Bit

Name

31

RSVD

30

TMRB6EN23

29

TMRB6POL23

28

TMRB6TINV

Table 918: AUX6 Register Bits

Reset 0x0

RW RO RESERVED

Description

Counter/Timer B6 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Upper output polarity

0x0

RW NORM = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer B6 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

DS-A3-0p9p1

Page 639 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

27

TMRB6NOSYNC

26:23

TMRB6TRIG

22 21:16
15

RSVD TMRB6LMT
RSVD

14

TMRA6EN23

13

TMRA6POL23

12

TMRA6TINV

11

TMRA6NOSYNC

Table 918: AUX6 Register Bits

Reset 0x0

RW

Description

Source clock synchronization control.
RW DIS = 0x0 - Synchronization on source clock NOSYNC = 0x1 - No synchronization on source clock

Counter/Timer B6 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

A6OUT = 0x1 - Trigger source is CTIMERA6 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

A4OUT = 0x4 - Trigger source is CTIMERA4 OUT.

B4OUT = 0x5 - Trigger source is CTIMERB4 OUT.

0x0

RW

A1OUT = 0x6 - Trigger source is CTIMERA1 OUT. B1OUT = 0x7 - Trigger source is CTIMERB1 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

A2OUT2 = 0xA - Trigger source is CTIMERA2 OUT2.

B2OUT2 = 0xB - Trigger source is CTIMERB2 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B0OUT2DUAL = 0xE - Trigger source is CTIMERB0 OUT2, dual edge.

A0OUT2DUAL = 0xF - Trigger source is CTIMERA0 OUT2, dual edge.

0x0

RO RESERVED

0x0

RW Counter/Timer B6 Pattern Limit Count.

0x0

RO RESERVED

Counter/Timer A6 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Counter/Timer A6 Upper output polarity

0x0

RW NORM = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer A6 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

Source clock synchronization control.

0x0

RW DIS = 0x0 - Synchronization on source clock

NOSYNC = 0x1 - No synchronization on source clock

DS-A3-0p9p1

Page 640 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

10:7

TMRA6TRIG

6:0

TMRA6LMT

Table 918: AUX6 Register Bits

Reset

RW

Description

Counter/Timer A6 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

B6OUT = 0x1 - Trigger source is CTIMERB6 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

A5OUT = 0x4 - Trigger source is CTIMERA5 OUT.

B5OUT = 0x5 - Trigger source is CTIMERB5 OUT.

0x0

RW

A1OUT = 0x6 - Trigger source is CTIMERA1 OUT. B1OUT = 0x7 - Trigger source is CTIMERB1 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

A2OUT2 = 0xA - Trigger source is CTIMERA2 OUT2.

B2OUT2 = 0xB - Trigger source is CTIMERBb OUT2.

A5OUT2DUAL = 0xC - Trigger source is CTIMERA5 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B0OUT2DUAL = 0xE - Trigger source is CTIMERB0 OUT2, dual edge.

A0OUT2DUAL = 0xF - Trigger source is CTIMERA0 OUT2, dual edge.

0x0

RW Counter/Timer A6 Pattern Limit Count.

13.21.2.50TMR7 Register
Counter/Timer Register OFFSET: 0x000000E0 INSTANCE 0 ADDRESS: 0x400080E0 Counter/Timer Register

Table 919: TMR7 Register

33222222222211111111110000000000 10987654321098765432109876543210

CTTMRB7

CTTMRA7

Bit 31:16 15:0

Name CTTMRB7 CTTMRA7

Table 920: TMR7 Register Bits

Reset 0x0

RW RO Counter/Timer B7.

Description

0x0

RO Counter/Timer A7.

13.21.2.51CMPRA7 Register
Counter/Timer A7 Compare Registers OFFSET: 0x000000E4 INSTANCE 0 ADDRESS: 0x400080E4

DS-A3-0p9p1

Page 641 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

This register holds the compare limits for timer half A.

Table 921: CMPRA7 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1A7

CMPR0A7

Bit 31:16 15:0

Name CMPR1A7 CMPR0A7

Table 922: CMPRA7 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer A7 Compare Register 1.

0x0

RW Counter/Timer A7 Compare Register 0.

13.21.2.52CMPRB7 Register
Counter/Timer B7 Compare Registers OFFSET: 0x000000E8 INSTANCE 0 ADDRESS: 0x400080E8 This register holds the compare limits for timer half B.

Table 923: CMPRB7 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR1B7

CMPR0B7

Bit 31:16 15:0

Name CMPR1B7 CMPR0B7

Table 924: CMPRB7 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B3 Compare Register 1.

0x0

RW Counter/Timer B3 Compare Register 0.

13.21.2.53CTRL7 Register
Counter/Timer Control OFFSET: 0x000000EC INSTANCE 0 ADDRESS: 0x400080EC This register holds the control bit fields for both halves of timer 7.

DS-A3-0p9p1

Page 642 of 909

2019 Ambiq Micro, Inc. All rights reserved.

CTLINK7 RSVD
TMRB7POL TMRB7CLR TMRB7IE1 TMRB7IE0 TMRB7FN TMRB7EN TMRA7POL TMRA7CLR TMRA7IE1 TMRA7IE0 TMRA7FN TMRA7EN

Apollo3 Blue Datasheet

Table 925: CTRL7 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB7CLK

RSVD

TMRA7CLK

Bit

Name

31

CTLINK7

30:29

RSVD

28

TMRB7POL

27

TMRB7CLR

26

TMRB7IE1

25

TMRB7IE0

Table 926: CTRL7 Register Bits

Reset

RW

Description

Counter/Timer A7/B7 Link bit.

0x0

RW TWO_16BIT_TIMERS = 0x0 - Use A7/B7 timers as two independent 16-bit

timers (default).

32BIT_TIMER = 0x1 - Link A7/B7 timers into a single 32-bit timer.

0x0

RO RESERVED

Counter/Timer B7 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINB7 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINB7 pin is the inverse of the

timer output.

Counter/Timer B7 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer B7 to run

CLEAR = 0x1 - Holds counter/timer B7 at 0x0000.

Counter/Timer B7 Interrupt Enable bit for COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer B7 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer B7 to generate an interrupt based on COM-

PR1.

Counter/Timer B7 Interrupt Enable bit for COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer B7 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer B7 to generate an interrupt based on COM-

PR0

DS-A3-0p9p1

Page 643 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

24:22

TMRB7FN

21:17

TMRB7CLK

16

TMRB7EN

15:13

RSVD

Table 926: CTRL7 Register Bits

Reset

RW

Description

Counter/Timer B7 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0B7, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0B7, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0B7, assert, count to CMPR1B7, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0B7, assert,

count to CMPR1B7, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

Counter/Timer B7 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINB.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRA7 = 0x14 - Clock source is CTIMERA7 OUT.

CTMRA2 = 0x15 - Clock source is CTIMERA2 OUT.

CTMRB2 = 0x16 - Clock source is CTIMERB2 OUT.

CTMRA0 = 0x17 - Clock source is CTIMERA0 OUT.

CTMRB0 = 0x18 - Clock source is CTIMERB0 OUT.

CTMRB1 = 0x19 - Clock source is CTIMERB1 OUT.

CTMRB3 = 0x1A - Clock source is CTIMERB3 OUT.

CTMRB4 = 0x1B - Clock source is CTIMERB4 OUT.

CTMRB5 = 0x1C - Clock source is CTIMERB5 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

Counter/Timer B7 Enable bit.

0x0

RW DIS = 0x0 - Counter/Timer B7 Disable.

EN = 0x1 - Counter/Timer B7 Enable.

0x0

RO RESERVED

DS-A3-0p9p1

Page 644 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

12

TMRA7POL

11

TMRA7CLR

10

TMRA7IE1

9

TMRA7IE0

8:6

TMRA7FN

Table 926: CTRL7 Register Bits

Reset

RW

Description

Counter/Timer A7 output polarity.

0x0

RW

NORMAL = 0x0 - The polarity of the TMRPINA7 pin is the same as the timer output.

INVERTED = 0x1 - The polarity of the TMRPINA7 pin is the inverse of the

timer output.

Counter/Timer A7 Clear bit.

0x0

RW RUN = 0x0 - Allow counter/timer A7 to run

CLEAR = 0x1 - Holds counter/timer A7 at 0x0000.

Counter/Timer A7 Interrupt Enable bit based on COMPR1.

0x0

RW

DIS = 0x0 - Disable counter/timer A7 from generating an interrupt based on COMPR1.

EN = 0x1 - Enable counter/timer A7 to generate an interrupt based on COM-

PR1.

Counter/Timer A7 Interrupt Enable bit based on COMPR0.

0x0

RW

DIS = 0x0 - Disable counter/timer A7 from generating an interrupt based on COMPR0.

EN = 0x1 - Enable counter/timer A7 to generate an interrupt based on COM-

PR0.

Counter/Timer A7 Function Select.

SINGLECOUNT = 0x0 - Single count (output toggles and sticks). Count to

CMPR0A7, stop.

REPEATEDCOUNT = 0x1 - Repeated count (periodic 1-clock-cycle-wide

pulses). Count to CMPR0A7, restart.

0x0

RW

PULSE_ONCE = 0x2 - Pulse once (aka one-shot). Count to CMPR0A7, assert, count to CMPR1A7, deassert, stop.

PULSE_CONT = 0x3 - Pulse continously. Count to CMPR0A7, assert,

count to CMPR1A7, deassert, restart.

SINGLEPATTERN = 0x4 - Single pattern.

REPEATPATTERN = 0x5 - Repeated pattern.

CONTINUOUS = 0x6 - Continuous run (aka Free Run). Count continuously.

ALTPWN = 0x7 - Alternate PWM

DS-A3-0p9p1

Page 645 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

5:1

TMRA7CLK

0

TMRA7EN

Table 926: CTRL7 Register Bits

Reset

RW

Description

Counter/Timer A7 Clock Select.

TMRPIN = 0x0 - Clock source is TMRPINA.

HFRC_DIV4 = 0x1 - Clock source is the HFRC / 4

HFRC_DIV16 = 0x2 - Clock source is HFRC / 16

HFRC_DIV256 = 0x3 - Clock source is HFRC / 256

HFRC_DIV1024 = 0x4 - Clock source is HFRC / 1024

HFRC_DIV4K = 0x5 - Clock source is HFRC / 4096

XT = 0x6 - Clock source is the XT (uncalibrated).

XT_DIV2 = 0x7 - Clock source is XT / 2

XT_DIV16 = 0x8 - Clock source is XT / 16

XT_DIV128 = 0x9 - Clock source is XT / 128

LFRC_DIV2 = 0xA - Clock source is LFRC / 2

LFRC_DIV32 = 0xB - Clock source is LFRC / 32

LFRC_DIV1K = 0xC - Clock source is LFRC / 1024

LFRC = 0xD - Clock source is LFRC

RTC_100HZ = 0xE - Clock source is 100 Hz from the current RTC oscillator.

0x0

RW HCLK_DIV4 = 0xF - Clock source is HCLK / 4 (note: this clock is only avail-

able when MCU is in active mode)

XT_DIV4 = 0x10 - Clock source is XT / 4

XT_DIV8 = 0x11 - Clock source is XT / 8

XT_DIV32 = 0x12 - Clock source is XT / 32

RSVD = 0x13 - Clock source is Reserved.

CTMRB7 = 0x14 - Clock source is CTIMERB7 OUT.

CTMRA2 = 0x15 - Clock source is CTIMERA2 OUT.

CTMRB2 = 0x16 - Clock source is CTIMERB2 OUT.

CTMRA0 = 0x17 - Clock source is CTIMERA0 OUT.

CTMRB0 = 0x18 - Clock source is CTIMERB0 OUT.

CTMRB1 = 0x19 - Clock source is CTIMERB1 OUT.

CTMRB3 = 0x1A - Clock source is CTIMERB3 OUT.

CTMRB4 = 0x1B - Clock source is CTIMERB4 OUT.

CTMRB5 = 0x1C - Clock source is CTIMERB5 OUT.

BUCKBLE = 0x1D - Clock source is BLE buck converter TON pulses.

BUCKB = 0x1E - Clock source is Memory buck converter TON pulses.

BUCKA = 0x1F - Clock source is CPU buck converter TON pulses.

Counter/Timer A7 Enable bit.

0x0

RW DIS = 0x0 - Counter/Timer A7 Disable.

EN = 0x1 - Counter/Timer A7 Enable.

13.21.2.54CMPRAUXA7 Register
Counter/Timer A7 Compare Registers OFFSET: 0x000000F4 INSTANCE 0 ADDRESS: 0x400080F4 Enhanced compare limits for timer half A.

Table 927: CMPRAUXA7 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3A7

CMPR2A7

DS-A3-0p9p1

Page 646 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16 15:0

Name CMPR3A7 CMPR2A7

Table 928: CMPRAUXA7 Register Bits

Reset 0x0

RW

Description

Counter/Timer A7 Compare Register 3. Holds the upper limit for timer half RW A.

0x0

RW Counter/Timer A7 Compare Register 2. Holds the lower limit for timer half A.

13.21.2.55CMPRAUXB7 Register
Counter/Timer B7 Compare Registers OFFSET: 0x000000F8 INSTANCE 0 ADDRESS: 0x400080F8 Enhanced compare limits for timer half B.

Table 929: CMPRAUXB7 Register

33222222222211111111110000000000 10987654321098765432109876543210

CMPR3B7

CMPR2B7

Bit 31:16 15:0

Name CMPR3B7 CMPR2B7

Table 930: CMPRAUXB7 Register Bits

Reset 0x0

RW

Description

Counter/Timer B7 Compare Register 3. Holds the upper limit for timer half RW B.

0x0

RW Counter/Timer B7 Compare Register 2. Holds the lower limit for timer half B.

13.21.2.56AUX7 Register
Counter/Timer Auxiliary OFFSET: 0x000000FC INSTANCE 0 ADDRESS: 0x400080FC Control bit fields for both halves of timer 0.

DS-A3-0p9p1

Page 647 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 931: AUX7 Register
33222222222211111111110000000000 10987654321098765432109876543210

TMRB7LMT

TMRA7LMT

RSVD TMRB7EN23 TMRB7POL23 TMRB7TINV TMRB7NOSYNC TMRB7TRIG
RSVD RSVD TMRA7EN23 TMRA7POL23 TMRA7TINV TMRA7NOSYNC TMRA7TRIG

Bit

Name

31

RSVD

30

TMRB7EN23

29

TMRB7POL23

28

TMRB7TINV

27

TMRB7NOSYNC

26:23

TMRB7TRIG

22

RSVD

Table 932: AUX7 Register Bits

Reset 0x0

RW RO RESERVED

Description

Counter/Timer B7 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Upper output polarity

0x0

RW NORM = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer B7 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

Source clock synchronization control.

0x0

RW DIS = 0x0 - Synchronization on source clock

NOSYNC = 0x1 - No synchronization on source clock

Counter/Timer B7 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

A7OUT = 0x1 - Trigger source is CTIMERA7 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

A5OUT = 0x4 - Trigger source is CTIMERA5 OUT.

B5OUT = 0x5 - Trigger source is CTIMERB5 OUT.

0x0

RW

A2OUT = 0x6 - Trigger source is CTIMERA2 OUT. B2OUT = 0x7 - Trigger source is CTIMERB2 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

A2OUT2 = 0xA - Trigger source is CTIMERA2 OUT2.

B2OUT2 = 0xB - Trigger source is CTIMERB2 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A7OUT2DUAL = 0xD - Trigger source is CTIMERA7 OUT2, dual edge.

B1OUT2DUAL = 0xE - Trigger source is CTIMERB1 OUT2, dual edge.

A1OUT2DUAL = 0xF - Trigger source is CTIMERA1 OUT2, dual edge.

0x0

RO RESERVED

DS-A3-0p9p1

Page 648 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 21:16
15

Name TMRB7LMT
RSVD

14

TMRA7EN23

13

TMRA7POL23

12

TMRA7TINV

11

TMRA7NOSYNC

10:7

TMRA7TRIG

6:0

TMRA7LMT

Table 932: AUX7 Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B7 Pattern Limit Count.

0x0

RO RESERVED

Counter/Timer A7 Upper compare enable.

0x0

RW DIS = 0x1 - Disable enhanced functions.

EN = 0x0 - Enable enhanced functions.

Counter/Timer A7 Upper output polarity

0x0

RW NORM = 0x0 - Upper output normal polarity

INV = 0x1 - Upper output inverted polarity.

Counter/Timer A7 Invert on trigger.

0x0

RW DIS = 0x0 - Disable invert on trigger

EN = 0x1 - Enable invert on trigger

Source clock synchronization control.

0x0

RW DIS = 0x0 - Synchronization on source clock

NOSYNC = 0x1 - No synchronization on source clock

Counter/Timer A7 Trigger Select.

DIS = 0x0 - Trigger source is disabled.

B7OUT = 0x1 - Trigger source is CTIMERB7 OUT.

B3OUT = 0x2 - Trigger source is CTIMERB3 OUT.

A3OUT = 0x3 - Trigger source is CTIMERA3 OUT.

A1OUT = 0x4 - Trigger source is CTIMERA1 OUT.

B1OUT = 0x5 - Trigger source is CTIMERB1 OUT.

0x0

RW

A4OUT = 0x6 - Trigger source is CTIMERA4 OUT. B4OUT = 0x7 - Trigger source is CTIMERB4 OUT.

B3OUT2 = 0x8 - Trigger source is CTIMERB3 OUT2.

A3OUT2 = 0x9 - Trigger source is CTIMERA3 OUT2.

A2OUT2 = 0xA - Trigger source is CTIMERA2 OUT2.

B2OUT2 = 0xB - Trigger source is CTIMERB2 OUT2.

A6OUT2DUAL = 0xC - Trigger source is CTIMERA6 OUT2, dual edge.

A5OUT2DUAL = 0xD - Trigger source is CTIMERA5 OUT2, dual edge.

B4OUT2DUAL = 0xE - Trigger source is CTIMERB4 OUT2, dual edge.

A4OUT2DUAL = 0xF - Trigger source is CTIMERA4 OUT2, dual edge.

0x0

RW Counter/Timer A7 Pattern Limit Count.

13.21.2.57GLOBEN Register
Counter/Timer Global Enable OFFSET: 0x00000100 INSTANCE 0 ADDRESS: 0x40008100 Alternate enables for all CTIMERs.

DS-A3-0p9p1

Page 649 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

ENB7 ENA7 ENB6 ENA6 ENB5 ENA5 ENB4 ENA4 ENB3 ENA3 ENB2 ENA2 ENB1 ENA1 ENB0 ENA0

Table 933: GLOBEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

Bit 31:16
15

Name RSVD
ENB7

14

ENA7

13

ENB6

12

ENA6

11

ENB5

10

ENA5

9

ENB4

8

ENA4

7

ENB3

Table 934: GLOBEN Register Bits

Reset 0x0

RW RO RESERVED

Description

Alternate enable for B7.

0x1

RW LCO = 0x1 - Use local enable.

DIS = 0x0 - Disable CTIMER.

Alternate enable for A7

0x1

RW LCO = 0x1 - Use local enable.

DIS = 0x0 - Disable CTIMER.

Alternate enable for B6

0x1

RW LCO = 0x1 - Use local enable.

DIS = 0x0 - Disable CTIMER.

Alternate enable for A6

0x1

RW LCO = 0x1 - Use local enable.

DIS = 0x0 - Disable CTIMER.

Alternate enable for B5

0x1

RW LCO = 0x1 - Use local enable.

DIS = 0x0 - Disable CTIMER.

Alternate enable for A5

0x1

RW LCO = 0x1 - Use local enable.

DIS = 0x0 - Disable CTIMER.

Alternate enable for B4

0x1

RW LCO = 0x1 - Use local enable.

DIS = 0x0 - Disable CTIMER.

Alternate enable for A4

0x1

RW LCO = 0x1 - Use local enable.

DIS = 0x0 - Disable CTIMER.

Alternate enable for B3.

0x1

RW LCO = 0x1 - Use local enable.

DIS = 0x0 - Disable CTIMER.

DS-A3-0p9p1

Page 650 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

6

ENA3

5

ENB2

4

ENA2

3

ENB1

2

ENA1

1

ENB0

0

ENA0

Table 934: GLOBEN Register Bits

Reset 0x1 0x1 0x1 0x1 0x1 0x1 0x1

RW

Description

Alternate enable for A3
RW LCO = 0x1 - Use local enable. DIS = 0x0 - Disable CTIMER.

Alternate enable for B2
RW LCO = 0x1 - Use local enable. DIS = 0x0 - Disable CTIMER.

Alternate enable for A2
RW LCO = 0x1 - Use local enable. DIS = 0x0 - Disable CTIMER.
Alternate enable for B1
RW LCO = 0x1 - Use local enable. DIS = 0x0 - Disable CTIMER.

Alternate enable for A1
RW LCO = 0x1 - Use local enable. DIS = 0x0 - Disable CTIMER.

Alternate enable for B0
RW LCO = 0x1 - Use local enable. DIS = 0x0 - Disable CTIMER.
Alternate enable for A0
RW LCO = 0x1 - Use local enable. DIS = 0x0 - Disable CTIMER.

13.21.2.58OUTCFG0 Register
Counter/Timer Output Config 0 OFFSET: 0x00000104 INSTANCE 0 ADDRESS: 0x40008104 Pad output configuration 0.

Table 935: OUTCFG0 Register
33222222222211111111110000000000 10987654321098765432109876543210

CFG9

CFG8

CFG7

CFG6

CFG5

CFG4

CFG3

CFG2

CFG1

CFG0

RSVD RSVD

DS-A3-0p9p1

Page 651 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31

RSVD

30:28

CFG9

27:25

CFG8

24:22

CFG7

21:19

CFG6

18:16

CFG5

15

RSVD

DS-A3-0p9p1

Table 936: OUTCFG0 Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad output 9 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B0OUT = 0x5 - Output is B0OUT. A4OUT = 0x4 - Output is A4OUT.

A2OUT = 0x3 - Output is A2OUT.

A2OUT2 = 0x2 - Output is A2OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 8 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B6OUT = 0x5 - Output is B6OUT. A4OUT2 = 0x4 - Output is A4OUT2.

A3OUT2 = 0x3 - Output is A3OUT.

A2OUT = 0x2 - Output is A2OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 7 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A7OUT = 0x5 - Output is A7OUT. B5OUT = 0x4 - Output is B5OUT.

B1OUT = 0x3 - Output is B1OUT.

B1OUT2 = 0x2 - Output is B1OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 6 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B7OUT = 0x5 - Output is B7OUT. B5OUT2 = 0x4 - Output is B5OUT2.

A1OUT = 0x3 - Output is A1OUT.

B1OUT = 0x2 - Output is B1OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 5 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A7OUT = 0x5 - Output is A7OUT. B6OUT = 0x4 - Output is A5OUT.

A1OUT = 0x3 - Output is A1OUT.

A1OUT2 = 0x2 - Output is A1OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

0x0

RO RESERVED

Page 652 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

14:12

CFG4

11:9

CFG3

8:6

CFG2

5:3

CFG1

2:0

CFG0

Table 936: OUTCFG0 Register Bits

Reset

RW Pad output 4 configuration

Description

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B5OUT = 0x5 - Output is B5OUT. A5OUT2 = 0x4 - Output is A5OUT2.

A2OUT2 = 0x3 - Output is A2OUT2.

A1OUT = 0x2 - Output is A1OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 3 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x1

RW

A6OUT = 0x5 - Output is A6OUT. A1OUT = 0x4 - Output is A1OUT.

B0OUT = 0x3 - Output is B0OUT.

B0OUT2 = 0x2 - Output is B0OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 2 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A7OUT = 0x5 - Output is A7OUT. B6OUT2 = 0x4 - Output is B6OUT2.

B1OUT2 = 0x3 - Output is B1OUT2.

B0OUT = 0x2 - Output is B0OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 1 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B7OUT2 = 0x5 - Output is B7OUT2. A5OUT = 0x4 - Output is A5OUT.

A0OUT = 0x3 - Output is A0OUT.

A0OUT2 = 0x2 - Output is A0OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 0 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A6OUT = 0x5 - Output is A6OUT. A5OUT2 = 0x4 - Output is A5OUT2.

B2OUT2 = 0x3 - Output is B2OUT2.

A0OUT = 0x2 - Output is A0OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

13.21.2.59OUTCFG1 Register
Counter/Timer Output Config 1 OFFSET: 0x00000108 INSTANCE 0 ADDRESS: 0x40008108

DS-A3-0p9p1

Page 653 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Pad output configuration 1.

Table 937: OUTCFG1 Register
33222222222211111111110000000000 10987654321098765432109876543210

CFG19 CFG18 CFG17 CFG16 CFG15

CFG14 CFG13 CFG12 CFG11 CFG10

RSVD RSVD

Bit

Name

31

RSVD

30:28

CFG19

27:25

CFG18

24:22

CFG17

21:19

CFG16

DS-A3-0p9p1

Table 938: OUTCFG1 Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad output 19 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B1OUT2 = 0x5 - Output is B1OUT2. B4OUT = 0x4 - Output is B4OUT.

A2OUT = 0x3 - Output is A2OUT.

B4OUT2 = 0x2 - Output is B4OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 18 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A3OUT2 = 0x5 - Output is A3OUT2. A0OUT = 0x4 - Output is A0OUT.

B0OUT = 0x3 - Output is B0OUT.

B4OUT = 0x2 - Output is B4OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 17 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A1OUT2 = 0x5 - Output is A1OUT2. A4OUT = 0x4 - Output is A4OUT.

B7OUT = 0x3 - Output is B7OUT.

A4OUT2 = 0x2 - Output is A4OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 16 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B3OUT2 = 0x5 - Output is B3OUT2. A0OUT2 = 0x4 - Output is A0OUT2.

A0OUT = 0x3 - Output is A0OUT.

A4OUT = 0x2 - Output is A4OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Page 654 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

18:16

CFG15

15

RSVD

14:12

CFG14

11:9

CFG13

8:6

CFG12

5:3

CFG11

Table 938: OUTCFG1 Register Bits

Reset

RW Pad output 15 configuration

Description

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A4OUT2 = 0x5 - Output is A4OUT2. A7OUT = 0x4 - Output is A7OUT.

B3OUT = 0x3 - Output is B3OUT.

B3OUT2 = 0x2 - Output is B3OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

0x0

RO RESERVED

Pad output 14 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A7OUT = 0x5 - Output is A7OUT. B7OUT2 = 0x4 - Output is B7OUT2.

B1OUT = 0x3 - Output is B1OUT.

B3OUT = 0x2 - Output is B3OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 13 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x1

RW

B4OUT2 = 0x5 - Output is B4OUT2. A6OUT = 0x4 - Output is A6OUT.

A3OUT = 0x3 - Output is A3OUT.

A3OUT2 = 0x2 - Output is A3OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 12 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B6OUT2 = 0x5 - Output is B6OUT2. B0OUT2 = 0x4 - Output is B0OUT2.

B1OUT = 0x3 - Output is B1OUT.

A3OUT = 0x2 - Output is A3OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 11 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B5OUT2 = 0x5 - Output is B5OUT2. B4OUT = 0x4 - Output is B4OUT.

B2OUT = 0x3 - Output is B2OUT.

B2OUT2 = 0x2 - Output is B2OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

DS-A3-0p9p1

Page 655 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

2:0

CFG10

Table 938: OUTCFG1 Register Bits

Reset

RW Pad output 10 configuration

Description

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A6OUT = 0x5 - Output is A6OUT. B4OUT2 = 0x4 - Output is B4OUT2.

B3OUT2 = 0x3 - Output is B3OUT2.

B2OUT = 0x2 - Output is B2OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

13.21.2.60OUTCFG2 Register
Counter/Timer Output Config 2 OFFSET: 0x0000010C INSTANCE 0 ADDRESS: 0x4000810C Pad output configuration 2.

Table 939: OUTCFG2 Register
33222222222211111111110000000000 10987654321098765432109876543210

CFG29 CFG28 CFG27 CFG26 CFG25

CFG24 CFG23 CFG22 CFG21 CFG20

RSVD RSVD

Bit

Name

31

RSVD

30:28

CFG29

Table 940: OUTCFG2 Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad output 29 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A3OUT2 = 0x5 - Output is A3OUT2. A7OUT = 0x4 - Output is A7OUT.

A1OUT = 0x3 - Output is A1OUT.

B5OUT2 = 0x2 - Output is B5OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

DS-A3-0p9p1

Page 656 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

27:25

CFG28

24:22

CFG27

21:19

CFG26

18:16

CFG25

15

RSVD

14:12

CFG24

Table 940: OUTCFG2 Register Bits

Reset

RW Pad output 28 configuration

Description

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B0OUT2 = 0x5 - Output is B0OUT2. A5OUT2 = 0x4 - Output is A5OUT2.

A3OUT = 0x3 - Output is A3OUT.

A7OUT = 0x2 - Output is A7OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 27 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B2OUT2 = 0x5 - Output is B2OUT2. B6OUT = 0x4 - Output is B6OUT.

A1OUT = 0x3 - Output is A1OUT.

B6OUT2 = 0x2 - Output is B6OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 26 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A1OUT2 = 0x5 - Output is A1OUT2. A5OUT = 0x4 - Output is A5OUT.

B2OUT = 0x3 - Output is B2OUT.

B6OUT = 0x2 - Output is B6OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 25 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A2OUT2 = 0x5 - Output is A2OUT2. A6OUT = 0x4 - Output is A6OUT.

B2OUT = 0x3 - Output is B2OUT.

B4OUT2 = 0x2 - Output is B4OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

0x0

RO RESERVED

Pad output 24 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B1OUT2 = 0x5 - Output is B1OUT2. A1OUT = 0x4 - Output is A1OUT.

A2OUT = 0x3 - Output is A2OUT.

A6OUT = 0x2 - Output is A6OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

DS-A3-0p9p1

Page 657 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

11:9

CFG23

8:6

CFG22

5:3

CFG21

2:0

CFG20

Table 940: OUTCFG2 Register Bits

Reset

RW Pad output 23 configuration

Description

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x1

RW

B0OUT2 = 0x5 - Output is B0OUT2. A5OUT = 0x4 - Output is A5OUT.

A7OUT = 0x3 - Output is A7OUT.

B5OUT2 = 0x2 - Output is B5OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 22 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A2OUT2 = 0x5 - Output is A2OUT2. A1OUT = 0x4 - Output is A1OUT.

A6OUT = 0x3 - Output is A6OUT.

B5OUT = 0x2 - Output is B5OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 21 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A0OUT2 = 0x5 - Output is A0OUT2. B5OUT = 0x4 - Output is B5OUT.

A1OUT = 0x3 - Output is A1OUT.

A5OUT2 = 0x2 - Output is A5OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 20 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B2OUT2 = 0x5 - Output is B2OUT2. A1OUT2 = 0x4 - Output is A1OUT2.

A1OUT = 0x3 - Output is A1OUT.

A5OUT = 0x2 - Output is A5OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

13.21.2.61OUTCFG3 Register
Counter/Timer Output Config 3 OFFSET: 0x00000114 INSTANCE 0 ADDRESS: 0x40008114 Pad output configuration 3.

DS-A3-0p9p1

Page 658 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 941: OUTCFG3 Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

CFG31 CFG30

Bit

Name

31:6

RSVD

5:3

CFG31

2:0

CFG30

Table 942: OUTCFG3 Register Bits

Reset 0x0

RW RO RESERVED

Description

Pad output 31 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

B3OUT2 = 0x5 - Output is B3OUT2. B7OUT = 0x4 - Output is B7OUT.

A6OUT = 0x3 - Output is A6OUT.

B7OUT2 = 0x2 - Output is B7OUT2

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

Pad output 30 configuration

A7OUT2 = 0x7 - Output is A7OUT2.

A6OUT2 = 0x6 - Output is A6OUT2.

0x2

RW

A0OUT2 = 0x5 - Output is A0OUT2. A4OUT2 = 0x4 - Output is A4OUT2.

B3OUT = 0x3 - Output is B3OUT.

B7OUT = 0x2 - Output is B7OUT

ONE = 0x1 - Force output to 1.

ZERO = 0x0 - Force output to 0

13.21.2.62INCFG Register
Counter/Timer Input Config OFFSET: 0x00000118 INSTANCE 0 ADDRESS: 0x40008118 Pad input configuration.

Table 943: INCFG Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CFGB7 CFGA7 CFGB6 CFGA6 CFGB5 CFGA5 CFGB4 CFGA4 CFGB3 CFGA3 CFGB2 CFGA2 CFGB1 CFGA1 CFGB0 CFGA0

DS-A3-0p9p1

Page 659 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:16
15

Name RSVD
CFGB7

14

CFGA7

13

CFGB6

12

CFGA6

11

CFGB5

10

CFGA5

9

CFGB4

8

CFGA4

7

CFGB3

6

CFGA3

5

CFGB2

4

CFGA2

DS-A3-0p9p1

Table 944: INCFG Register Bits

Reset 0x0

RW RO RESERVED

Description

CTIMER B7 input configuration

0x0

RW CT31 = 0x1 - Input is CT31

CT30 = 0x0 - Input is CT30

CTIMER A7 input configuration

0x0

RW CT29 = 0x1 - Input is CT29

CT28 = 0x0 - Input is CT28

CTIMER B6 input configuration

0x0

RW CT27 = 0x1 - Input is CT27

CT26 = 0x0 - Input is CT26

CTIMER A6 input configuration

0x0

RW CT25 = 0x1 - Input is CT25

CT24 = 0x0 - Input is CT24

CTIMER B5 input configuration

0x0

RW CT23 = 0x1 - Input is CT23

CT22 = 0x0 - Input is CT22

CTIMER A5 input configuration

0x0

RW CT21 = 0x1 - Input is CT21

CT20 = 0x0 - Input is CT20

CTIMER B4 input configuration

0x0

RW CT19 = 0x1 - Input is CT19

CT18 = 0x0 - Input is CT18

CTIMER A4 input configuration

0x0

RW CT17 = 0x1 - Input is CT17

CT16 = 0x0 - Input is CT16

CTIMER B3 input configuration

0x0

RW CT15 = 0x1 - Input is CT15

CT14 = 0x0 - Input is CT14

CTIMER A3 input configuration

0x0

RW CT13 = 0x1 - Input is CT13

CT12 = 0x0 - Input is CT12

CTIMER B2 input configuration

0x0

RW CT11 = 0x1 - Input is CT11

CT10 = 0x0 - Input is CT10

CTIMER A2 input configuration

0x0

RW CT9 = 0x1 - Input is CT9

CT8 = 0x0 - Input is CT8

Page 660 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3

CFGB1

2

CFGA1

1

CFGB0

0

CFGA0

Table 944: INCFG Register Bits

Reset 0x0 0x0 0x0 0x0

RW

Description

CTIMER B1 input configuration
RW CT7 = 0x1 - Input is CT7 CT6 = 0x0 - Input is CT6

CTIMER A1 input configuration
RW CT5 = 0x1 - Input is CT5 CT4 = 0x0 - Input is CT4

CTIMER B0 input configuration
RW CT3 = 0x1 - Input is CT3 CT2 = 0x0 - Input is CT2
CTIMER A0 input configuration
RW CT1 = 0x1 - Input is CT1 CT0 = 0x0 - Input is CT0

13.21.2.63INTEN Register
Counter/Timer Interrupts: Enable OFFSET: 0x00000200 INSTANCE 0 ADDRESS: 0x40008200 Set bits in this register to allow this module to generate the corresponding interrupt.

Table 945: INTEN Register
33222222222211111111110000000000 10987654321098765432109876543210

CTMRB7C1INT CTMRA7C1INT CTMRB6C1INT CTMRA6C1INT CTMRB5C1INT CTMRA5C1INT CTMRB4C1INT CTMRA4C1INT CTMRB3C1INT CTMRA3C1INT CTMRB2C1INT CTMRA2C1INT CTMRB1C1INT CTMRA1C1INT CTMRB0C1INT CTMRA0C1INT CTMRB7C0INT CTMRA7C0INT CTMRB6C0INT CTMRA6C0INT CTMRB5C0INT CTMRA5C0INT CTMRB4C0INT CTMRA4C0INT CTMRB3C0INT CTMRA3C0INT CTMRB2C0INT CTMRA2C0INT CTMRB1C0INT CTMRA1C0INT CTMRB0C0INT CTMRA0C0INT

Bit

Name

31

CTMRB7C1INT

30

CTMRA7C1INT

29

CTMRB6C1INT

28

CTMRA6C1INT

Table 946: INTEN Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B7 interrupt based on COMPR1.

0x0

RW Counter/Timer A7 interrupt based on COMPR1.

0x0

RW Counter/Timer B6 interrupt based on COMPR1.

0x0

RW Counter/Timer A6 interrupt based on COMPR1.

DS-A3-0p9p1

Page 661 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

27

CTMRB5C1INT

26

CTMRA5C1INT

25

CTMRB4C1INT

24

CTMRA4C1INT

23

CTMRB3C1INT

22

CTMRA3C1INT

21

CTMRB2C1INT

20

CTMRA2C1INT

19

CTMRB1C1INT

18

CTMRA1C1INT

17

CTMRB0C1INT

16

CTMRA0C1INT

15

CTMRB7C0INT

14

CTMRA7C0INT

13

CTMRB6C0INT

12

CTMRA6C0INT

11

CTMRB5C0INT

10

CTMRA5C0INT

9

CTMRB4C0INT

8

CTMRA4C0INT

7

CTMRB3C0INT

6

CTMRA3C0INT

5

CTMRB2C0INT

Table 946: INTEN Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B5 interrupt based on COMPR1.

0x0

RW Counter/Timer A5 interrupt based on COMPR1.

0x0

RW Counter/Timer B4 interrupt based on COMPR1.

0x0

RW Counter/Timer A4 interrupt based on COMPR1.

0x0

RW Counter/Timer B3 interrupt based on COMPR1.

0x0

RW Counter/Timer A3 interrupt based on COMPR1.

0x0

RW Counter/Timer B2 interrupt based on COMPR1.

0x0

RW Counter/Timer A2 interrupt based on COMPR1.

0x0

RW Counter/Timer B1 interrupt based on COMPR1.

0x0

RW Counter/Timer A1 interrupt based on COMPR1.

0x0

RW Counter/Timer B0 interrupt based on COMPR1.

0x0

RW Counter/Timer A0 interrupt based on COMPR1.

0x0

RW Counter/Timer B7 interrupt based on COMPR0.

0x0

RW Counter/Timer A7 interrupt based on COMPR0.

0x0

RW Counter/Timer B6 interrupt based on COMPR0.

0x0

RW Counter/Timer A6 interrupt based on COMPR0.

0x0

RW Counter/Timer B5 interrupt based on COMPR0.

0x0

RW Counter/Timer A5 interrupt based on COMPR0.

0x0

RW Counter/Timer B4 interrupt based on COMPR0.

0x0

RW Counter/Timer A4 interrupt based on COMPR0.

0x0

RW Counter/Timer B3 interrupt based on COMPR0.

0x0

RW Counter/Timer A3 interrupt based on COMPR0.

0x0

RW Counter/Timer B2 interrupt based on COMPR0.

DS-A3-0p9p1

Page 662 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

4

CTMRA2C0INT

3

CTMRB1C0INT

2

CTMRA1C0INT

1

CTMRB0C0INT

0

CTMRA0C0INT

Table 946: INTEN Register Bits

Reset 0x0

RW

Description

RW Counter/Timer A2 interrupt based on COMPR0.

0x0

RW Counter/Timer B1 interrupt based on COMPR0.

0x0

RW Counter/Timer A1 interrupt based on COMPR0.

0x0

RW Counter/Timer B0 interrupt based on COMPR0.

0x0

RW Counter/Timer A0 interrupt based on COMPR0.

13.21.2.64INTSTAT Register
Counter/Timer Interrupts: Status OFFSET: 0x00000204 INSTANCE 0 ADDRESS: 0x40008204 Read bits from this register to discover the cause of a recent interrupt.

Table 947: INTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210

CTMRB7C1INT CTMRA7C1INT CTMRB6C1INT CTMRA6C1INT CTMRB5C1INT CTMRA5C1INT CTMRB4C1INT CTMRA4C1INT CTMRB3C1INT CTMRA3C1INT CTMRB2C1INT CTMRA2C1INT CTMRB1C1INT CTMRA1C1INT CTMRB0C1INT CTMRA0C1INT CTMRB7C0INT CTMRA7C0INT CTMRB6C0INT CTMRA6C0INT CTMRB5C0INT CTMRA5C0INT CTMRB4C0INT CTMRA4C0INT CTMRB3C0INT CTMRA3C0INT CTMRB2C0INT CTMRA2C0INT CTMRB1C0INT CTMRA1C0INT CTMRB0C0INT CTMRA0C0INT

Bit

Name

31

CTMRB7C1INT

30

CTMRA7C1INT

29

CTMRB6C1INT

28

CTMRA6C1INT

27

CTMRB5C1INT

26

CTMRA5C1INT

Table 948: INTSTAT Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B7 interrupt based on COMPR1.

0x0

RW Counter/Timer A7 interrupt based on COMPR1.

0x0

RW Counter/Timer B6 interrupt based on COMPR1.

0x0

RW Counter/Timer A6 interrupt based on COMPR1.

0x0

RW Counter/Timer B5 interrupt based on COMPR1.

0x0

RW Counter/Timer A5 interrupt based on COMPR1.

DS-A3-0p9p1

Page 663 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

25

CTMRB4C1INT

24

CTMRA4C1INT

23

CTMRB3C1INT

22

CTMRA3C1INT

21

CTMRB2C1INT

20

CTMRA2C1INT

19

CTMRB1C1INT

18

CTMRA1C1INT

17

CTMRB0C1INT

16

CTMRA0C1INT

15

CTMRB7C0INT

14

CTMRA7C0INT

13

CTMRB6C0INT

12

CTMRA6C0INT

11

CTMRB5C0INT

10

CTMRA5C0INT

9

CTMRB4C0INT

8

CTMRA4C0INT

7

CTMRB3C0INT

6

CTMRA3C0INT

5

CTMRB2C0INT

4

CTMRA2C0INT

3

CTMRB1C0INT

Table 948: INTSTAT Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B4 interrupt based on COMPR1.

0x0

RW Counter/Timer A4 interrupt based on COMPR1.

0x0

RW Counter/Timer B3 interrupt based on COMPR1.

0x0

RW Counter/Timer A3 interrupt based on COMPR1.

0x0

RW Counter/Timer B2 interrupt based on COMPR1.

0x0

RW Counter/Timer A2 interrupt based on COMPR1.

0x0

RW Counter/Timer B1 interrupt based on COMPR1.

0x0

RW Counter/Timer A1 interrupt based on COMPR1.

0x0

RW Counter/Timer B0 interrupt based on COMPR1.

0x0

RW Counter/Timer A0 interrupt based on COMPR1.

0x0

RW Counter/Timer B7 interrupt based on COMPR0.

0x0

RW Counter/Timer A7 interrupt based on COMPR0.

0x0

RW Counter/Timer B6 interrupt based on COMPR0.

0x0

RW Counter/Timer A6 interrupt based on COMPR0.

0x0

RW Counter/Timer B5 interrupt based on COMPR0.

0x0

RW Counter/Timer A5 interrupt based on COMPR0.

0x0

RW Counter/Timer B4 interrupt based on COMPR0.

0x0

RW Counter/Timer A4 interrupt based on COMPR0.

0x0

RW Counter/Timer B3 interrupt based on COMPR0.

0x0

RW Counter/Timer A3 interrupt based on COMPR0.

0x0

RW Counter/Timer B2 interrupt based on COMPR0.

0x0

RW Counter/Timer A2 interrupt based on COMPR0.

0x0

RW Counter/Timer B1 interrupt based on COMPR0.

DS-A3-0p9p1

Page 664 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

2

CTMRA1C0INT

1

CTMRB0C0INT

0

CTMRA0C0INT

Table 948: INTSTAT Register Bits

Reset 0x0

RW

Description

RW Counter/Timer A1 interrupt based on COMPR0.

0x0

RW Counter/Timer B0 interrupt based on COMPR0.

0x0

RW Counter/Timer A0 interrupt based on COMPR0.

13.21.2.65INTCLR Register
Counter/Timer Interrupts: Clear OFFSET: 0x00000208 INSTANCE 0 ADDRESS: 0x40008208 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.

Table 949: INTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210

CTMRB7C1INT CTMRA7C1INT CTMRB6C1INT CTMRA6C1INT CTMRB5C1INT CTMRA5C1INT CTMRB4C1INT CTMRA4C1INT CTMRB3C1INT CTMRA3C1INT CTMRB2C1INT CTMRA2C1INT CTMRB1C1INT CTMRA1C1INT CTMRB0C1INT CTMRA0C1INT CTMRB7C0INT CTMRA7C0INT CTMRB6C0INT CTMRA6C0INT CTMRB5C0INT CTMRA5C0INT CTMRB4C0INT CTMRA4C0INT CTMRB3C0INT CTMRA3C0INT CTMRB2C0INT CTMRA2C0INT CTMRB1C0INT CTMRA1C0INT CTMRB0C0INT CTMRA0C0INT

Bit

Name

31

CTMRB7C1INT

30

CTMRA7C1INT

29

CTMRB6C1INT

28

CTMRA6C1INT

27

CTMRB5C1INT

26

CTMRA5C1INT

25

CTMRB4C1INT

24

CTMRA4C1INT

Table 950: INTCLR Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B7 interrupt based on COMPR1.

0x0

RW Counter/Timer A7 interrupt based on COMPR1.

0x0

RW Counter/Timer B6 interrupt based on COMPR1.

0x0

RW Counter/Timer A6 interrupt based on COMPR1.

0x0

RW Counter/Timer B5 interrupt based on COMPR1.

0x0

RW Counter/Timer A5 interrupt based on COMPR1.

0x0

RW Counter/Timer B4 interrupt based on COMPR1.

0x0

RW Counter/Timer A4 interrupt based on COMPR1.

DS-A3-0p9p1

Page 665 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

23

CTMRB3C1INT

22

CTMRA3C1INT

21

CTMRB2C1INT

20

CTMRA2C1INT

19

CTMRB1C1INT

18

CTMRA1C1INT

17

CTMRB0C1INT

16

CTMRA0C1INT

15

CTMRB7C0INT

14

CTMRA7C0INT

13

CTMRB6C0INT

12

CTMRA6C0INT

11

CTMRB5C0INT

10

CTMRA5C0INT

9

CTMRB4C0INT

8

CTMRA4C0INT

7

CTMRB3C0INT

6

CTMRA3C0INT

5

CTMRB2C0INT

4

CTMRA2C0INT

3

CTMRB1C0INT

2

CTMRA1C0INT

1

CTMRB0C0INT

Table 950: INTCLR Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B3 interrupt based on COMPR1.

0x0

RW Counter/Timer A3 interrupt based on COMPR1.

0x0

RW Counter/Timer B2 interrupt based on COMPR1.

0x0

RW Counter/Timer A2 interrupt based on COMPR1.

0x0

RW Counter/Timer B1 interrupt based on COMPR1.

0x0

RW Counter/Timer A1 interrupt based on COMPR1.

0x0

RW Counter/Timer B0 interrupt based on COMPR1.

0x0

RW Counter/Timer A0 interrupt based on COMPR1.

0x0

RW Counter/Timer B7 interrupt based on COMPR0.

0x0

RW Counter/Timer A7 interrupt based on COMPR0.

0x0

RW Counter/Timer B6 interrupt based on COMPR0.

0x0

RW Counter/Timer A6 interrupt based on COMPR0.

0x0

RW Counter/Timer B5 interrupt based on COMPR0.

0x0

RW Counter/Timer A5 interrupt based on COMPR0.

0x0

RW Counter/Timer B4 interrupt based on COMPR0.

0x0

RW Counter/Timer A4 interrupt based on COMPR0.

0x0

RW Counter/Timer B3 interrupt based on COMPR0.

0x0

RW Counter/Timer A3 interrupt based on COMPR0.

0x0

RW Counter/Timer B2 interrupt based on COMPR0.

0x0

RW Counter/Timer A2 interrupt based on COMPR0.

0x0

RW Counter/Timer B1 interrupt based on COMPR0.

0x0

RW Counter/Timer A1 interrupt based on COMPR0.

0x0

RW Counter/Timer B0 interrupt based on COMPR0.

DS-A3-0p9p1

Page 666 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

CTMRA0C0INT

Table 950: INTCLR Register Bits

Reset 0x0

RW

Description

RW Counter/Timer A0 interrupt based on COMPR0.

13.21.2.66INTSET Register
Counter/Timer Interrupts: Set OFFSET: 0x0000020C INSTANCE 0 ADDRESS: 0x4000820C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).

Table 951: INTSET Register
33222222222211111111110000000000 10987654321098765432109876543210

CTMRB7C1INT CTMRA7C1INT CTMRB6C1INT CTMRA6C1INT CTMRB5C1INT CTMRA5C1INT CTMRB4C1INT CTMRA4C1INT CTMRB3C1INT CTMRA3C1INT CTMRB2C1INT CTMRA2C1INT CTMRB1C1INT CTMRA1C1INT CTMRB0C1INT CTMRA0C1INT CTMRB7C0INT CTMRA7C0INT CTMRB6C0INT CTMRA6C0INT CTMRB5C0INT CTMRA5C0INT CTMRB4C0INT CTMRA4C0INT CTMRB3C0INT CTMRA3C0INT CTMRB2C0INT CTMRA2C0INT CTMRB1C0INT CTMRA1C0INT CTMRB0C0INT CTMRA0C0INT

Bit

Name

31

CTMRB7C1INT

30

CTMRA7C1INT

29

CTMRB6C1INT

28

CTMRA6C1INT

27

CTMRB5C1INT

26

CTMRA5C1INT

25

CTMRB4C1INT

24

CTMRA4C1INT

23

CTMRB3C1INT

22

CTMRA3C1INT

Table 952: INTSET Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B7 interrupt based on COMPR1.

0x0

RW Counter/Timer A7 interrupt based on COMPR1.

0x0

RW Counter/Timer B6 interrupt based on COMPR1.

0x0

RW Counter/Timer A6 interrupt based on COMPR1.

0x0

RW Counter/Timer B5 interrupt based on COMPR1.

0x0

RW Counter/Timer A5 interrupt based on COMPR1.

0x0

RW Counter/Timer B4 interrupt based on COMPR1.

0x0

RW Counter/Timer A4 interrupt based on COMPR1.

0x0

RW Counter/Timer B3 interrupt based on COMPR1.

0x0

RW Counter/Timer A3 interrupt based on COMPR1.

DS-A3-0p9p1

Page 667 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

21

CTMRB2C1INT

20

CTMRA2C1INT

19

CTMRB1C1INT

18

CTMRA1C1INT

17

CTMRB0C1INT

16

CTMRA0C1INT

15

CTMRB7C0INT

14

CTMRA7C0INT

13

CTMRB6C0INT

12

CTMRA6C0INT

11

CTMRB5C0INT

10

CTMRA5C0INT

9

CTMRB4C0INT

8

CTMRA4C0INT

7

CTMRB3C0INT

6

CTMRA3C0INT

5

CTMRB2C0INT

4

CTMRA2C0INT

3

CTMRB1C0INT

2

CTMRA1C0INT

1

CTMRB0C0INT

0

CTMRA0C0INT

Table 952: INTSET Register Bits

Reset 0x0

RW

Description

RW Counter/Timer B2 interrupt based on COMPR1.

0x0

RW Counter/Timer A2 interrupt based on COMPR1.

0x0

RW Counter/Timer B1 interrupt based on COMPR1.

0x0

RW Counter/Timer A1 interrupt based on COMPR1.

0x0

RW Counter/Timer B0 interrupt based on COMPR1.

0x0

RW Counter/Timer A0 interrupt based on COMPR1.

0x0

RW Counter/Timer B7 interrupt based on COMPR0.

0x0

RW Counter/Timer A7 interrupt based on COMPR0.

0x0

RW Counter/Timer B6 interrupt based on COMPR0.

0x0

RW Counter/Timer A6 interrupt based on COMPR0.

0x0

RW Counter/Timer B5 interrupt based on COMPR0.

0x0

RW Counter/Timer A5 interrupt based on COMPR0.

0x0

RW Counter/Timer B4 interrupt based on COMPR0.

0x0

RW Counter/Timer A4 interrupt based on COMPR0.

0x0

RW Counter/Timer B3 interrupt based on COMPR0.

0x0

RW Counter/Timer A3 interrupt based on COMPR0.

0x0

RW Counter/Timer B2 interrupt based on COMPR0.

0x0

RW Counter/Timer A2 interrupt based on COMPR0.

0x0

RW Counter/Timer B1 interrupt based on COMPR0.

0x0

RW Counter/Timer A1 interrupt based on COMPR0.

0x0

RW Counter/Timer B0 interrupt based on COMPR0.

0x0

RW Counter/Timer A0 interrupt based on COMPR0.

DS-A3-0p9p1

Page 668 of 909

2019 Ambiq Micro, Inc. All rights reserved.

14. System Timer Module

Apollo3 Blue Datasheet

32-bit compare value ( x 8)
=

Comp IRQ

32-bit system timer

CLK

32-bit capture registers

( x 4)

GPIO

OVF IRQ

Capture IRQ

Figure 84. Block Diagram for the System Timer

14.1 Functional Overview
The Apollo3 Blue MCU System Timer (STIMER), shown above in Figure 84, tracks the global synchronized counter. It can be used for RTOS scheduling and real-time system tracking. This timer is provided in addition to the other timer peripherals to enable software/firmware to have a simple, globally synchronized timer source.
The System Timer (STIMER) Module provides real time measurement for all task scheduling, sensor sample rate calibration, and tracking of real time and calendar maintenance. Key features are:
 32-bit binary counter used for RTOS scheduling decisions.  Eight 32-bit compare and interrupt registers to facilitate light weight scheduling (designs without RTOS).  Accurate scheduling of comparator interrupts  Only offsets from "NOW" are written to comparator registers.  Maintains real time epoch for applications.  Overflow interrupt to allow firmware to keep the extended part (more than 32-bits) of real time epoch.  Time stamping hardware for multiple sensor streams (4 capture registers).  Firmware handling of odd calculations such as Leap Second. It also handles things like surprise/legis-
lated changes to the daylight savings time transition dates.  Firmware handling of 1024 versus 1000 scaling of real time conversions.  Only reset by POA (Power On Analog - system cold reset) so that it retains time across all POI and POR
(system warm reset) events except full power cycles.  Contains three 32-bit NVRAM registers that are only reset by POA to maintain real time offset from
epoch.

DS-A3-0p9p1

Page 669 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
The heart of the STIMER is a single 32-bit counter that keeps track of current time for the application running on the Apollo3 Blue MCU. This counter is reset at the actual power cycle reset of the MCU. It is generally never reset or changed again. Up to eight 32-bit comparator registers can be loaded each of which can generate an interrupt signal to the NVIC. Comparators A through H generate interrupt A through H while capture registers A through D and the overflow event generate interrupt I, all the way to the NVIC. Thus the scheduler can run these 9 interrupts at different priorities in the NVIC. The comparator interrupts are each used to schedule a function (task) to run for the application. Thus these tasks run on interrupt levels at priorities lower than the I/O interrupts. The overflow interrupt allows firmware to keep track of real time beyond that maintained in the 32-bit timer.
14.2 STIMER Registers
System Timer INSTANCE 0 BASE ADDRESS:0x40008000 The System Timer block contains a 32-bit counter for system timer functions. This counter is the source for timestamping events when performing capture or compare functions.

DS-A3-0p9p1

Page 670 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

14.2.1 Register Memory Map

Table 953: STIMER Register Map

Address(s) 0x40008140

STCFG

Register Name

0x40008144 STTMR

0x40008148 0x40008150 0x40008154 0x40008158 0x4000815C 0x40008160 0x40008164 0x40008168 0x4000816C 0x400081E0 0x400081E4 0x400081E8 0x400081EC 0x400081F0 0x400081F4 0x400081F8 0x400081FC 0x40008300 0x40008304 0x40008308 0x4000830C

CAPTURECONTROL SCMPR0 SCMPR1 SCMPR2 SCMPR3 SCMPR4 SCMPR5 SCMPR6 SCMPR7 SCAPT0 SCAPT1 SCAPT2 SCAPT3 SNVR0 SNVR1 SNVR2 SNVR3 STMINTEN STMINTSTAT STMINTCLR STMINTSET

Description
Configuration Register System Timer Count Register (Real Time Counter) Capture Control Register Compare Register A Compare Register B Compare Register C Compare Register D Compare Register E Compare Register F Compare Register G Compare Register H Capture Register A Capture Register B Capture Register C Capture Register D System Timer NVRAM_A Register System Timer NVRAM_B Register System Timer NVRAM_C Register System Timer NVRAM_D Register STIMER Interrupt registers: Enable STIMER Interrupt registers: Status STIMER Interrupt registers: Clear STIMER Interrupt registers: Set

DS-A3-0p9p1

Page 671 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

14.2.2 STIMER Registers
14.2.2.1 STCFG Register
Configuration Register OFFSET: 0x00000140 INSTANCE 0 ADDRESS: 0x40008140 The STIMER Configuration Register contains the software control for selecting the clock divider and source feeding the system timer.
Table 954: STCFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

CLKSEL

FREEZE CLEAR COMPARE_H_EN COMPARE_G_EN COMPARE_F_EN COMPARE_E_EN COMPARE_D_EN COMPARE_C_EN COMPARE_B_EN COMPARE_A_EN

Bit

Name

31

FREEZE

30

CLEAR

29:16

RSVD

15

COMPARE_H_EN

14

COMPARE_G_EN

Table 955: STCFG Register Bits

Reset 0x1
0x0 0x0

RW

Description

Set this bit to one to freeze the clock input to the COUNTER register. Once frozen, the value can be safely written from the MCU. Unfreeze to resume. RW THAW = 0x0 - Let the COUNTER register run on its input clock. FREEZE = 0x1 - Stop the COUNTER register for loading.
Set this bit to one to clear the System Timer register. If this bit is set to '1', the system timer register will stay cleared. It needs to be set to '0' for the RW system timer to start running.
RUN = 0x0 - Let the COUNTER register run on its input clock. CLEAR = 0x1 - Stop the COUNTER register for loading.
RO RESERVED.

Selects whether compare is enabled for the corresponding SCMPR register.

If compare is enabled, the interrupt status is set once the comparision is

0x0

RW met.

DISABLE = 0x0 - Compare H disabled. ENABLE = 0x1 - Compare H enabled.

Selects whether compare is enabled for the corresponding SCMPR register.

If compare is enabled, the interrupt status is set once the comparision is

0x0

RW met.

DISABLE = 0x0 - Compare G disabled. ENABLE = 0x1 - Compare G enabled.

DS-A3-0p9p1

Page 672 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

13

COMPARE_F_EN

12

COMPARE_E_EN

11

COMPARE_D_EN

10

COMPARE_C_EN

9

COMPARE_B_EN

8

COMPARE_A_EN

7:4

RSVD

3:0

CLKSEL

Table 955: STCFG Register Bits

Reset 0x0 0x0 0x0 0x0 0x0 0x0 0x0

RW

Description

Selects whether compare is enabled for the corresponding SCMPR register. If compare is enabled, the interrupt status is set once the comparision is RW met.
DISABLE = 0x0 - Compare F disabled. ENABLE = 0x1 - Compare F enabled.
Selects whether compare is enabled for the corresponding SCMPR register. If compare is enabled, the interrupt status is set once the comparision is RW met.
DISABLE = 0x0 - Compare E disabled. ENABLE = 0x1 - Compare E enabled.
Selects whether compare is enabled for the corresponding SCMPR register. If compare is enabled, the interrupt status is set once the comparision is RW met.
DISABLE = 0x0 - Compare D disabled. ENABLE = 0x1 - Compare D enabled.
Selects whether compare is enabled for the corresponding SCMPR register. If compare is enabled, the interrupt status is set once the comparision is RW met.
DISABLE = 0x0 - Compare C disabled. ENABLE = 0x1 - Compare C enabled.
Selects whether compare is enabled for the corresponding SCMPR register. If compare is enabled, the interrupt status is set once the comparision is RW met.
DISABLE = 0x0 - Compare B disabled. ENABLE = 0x1 - Compare B enabled.
Selects whether compare is enabled for the corresponding SCMPR register. If compare is enabled, the interrupt status is set once the comparision is RW met.
DISABLE = 0x0 - Compare A disabled. ENABLE = 0x1 - Compare A enabled.
RO RESERVED.

Selects an appropriate clock source and divider to use for the System Timer clock.

NOCLK = 0x0 - No clock enabled.

HFRC_DIV16 = 0x1 - 3MHz from the HFRC clock divider.

HFRC_DIV256 = 0x2 - 187.5KHz from the HFRC clock divider.

XTAL_DIV1 = 0x3 - 32768Hz from the crystal oscillator.

0x0

RW XTAL_DIV2 = 0x4 - 16384Hz from the crystal oscillator.

XTAL_DIV32 = 0x5 - 1024Hz from the crystal oscillator.

LFRC_DIV1 = 0x6 - Approximately 1KHz from the LFRC oscillator (uncali-

brated).

CTIMER0A = 0x7 - Use CTIMER 0 section A as a prescaler for the clock

source.

CTIMER0B = 0x8 - Use CTIMER 0 section B (or A and B linked together) as

a prescaler for the clock source.

DS-A3-0p9p1

Page 673 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

14.2.2.2 STTMR Register
System Timer Count Register (Real Time Counter) OFFSET: 0x00000144 INSTANCE 0 ADDRESS: 0x40008144 The COUNTER Register contains the running count of time as maintained by incrementing for every rising clock edge of the clock source selected in the configuration register. It is this counter value that captured in the capture registers and it is this counter value that is compared against the various compare registers. This register cannot be written, but can be cleared to 0 for a deterministic value. Use the FREEZE bit will stop this counter from incrementing.
Table 956: STTMR Register
33222222222211111111110000000000 10987654321098765432109876543210
STTMR

Bit

Name

31:0

STTMR

Table 957: STTMR Register Bits

Reset 0x0

RW

Description

RO Value of the 32-bit counter as it ticks over.

14.2.2.3 CAPTURECONTROL Register
Capture Control Register
OFFSET: 0x00000148
INSTANCE 0 ADDRESS: 0x40008148
The STIMER Capture Control Register controls each of the 4 capture registers. It selects their GPIO pin number for a trigger source, enables a capture operation and sets the input polarity for the capture. NOTE: 8-bit writes can control individual capture registers atomically.

Table 958: CAPTURECONTROL Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CAPTURE3 CAPTURE2 CAPTURE1 CAPTURE0

DS-A3-0p9p1

Page 674 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:4

RSVD

3

CAPTURE3

2

CAPTURE2

1

CAPTURE1

0

CAPTURE0

Table 959: CAPTURECONTROL Register Bits

Reset 0x0

RW RO RESERVED.

Description

Selects whether capture is enabled for the specified capture register.

0x0

RW DISABLE = 0x0 - Capture function disabled.

ENABLE = 0x1 - Capture function enabled.

Selects whether capture is enabled for the specified capture register.

0x0

RW DISABLE = 0x0 - Capture function disabled.

ENABLE = 0x1 - Capture function enabled.

Selects whether capture is enabled for the specified capture register.

0x0

RW DISABLE = 0x0 - Capture function disabled.

ENABLE = 0x1 - Capture function enabled.

Selects whether capture is enabled for the specified capture register.

0x0

RW DISABLE = 0x0 - Capture function disabled.

ENABLE = 0x1 - Capture function enabled.

14.2.2.4 SCMPR0 Register
Compare Register A
OFFSET: 0x00000150
INSTANCE 0 ADDRESS: 0x40008150
The VALUE in this bit field is used to compare against the VALUE in the COUNTER register. If the match criterion in the configuration register is met then a corresponding interrupt status bit is set. The match criterion is defined as COUNTER equal to COMPARE. To establish a desired value in this COMPARE register, write the number of ticks in the future to this register to indicate when to interrupt. The hardware does the addition to the COUNTER value in the STIMER clock domain so that the math is precise. Reading this register shows the COUNTER value at which this interrupt will occur.

Table 960: SCMPR0 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCMPR0

Bit

Name

31:0

SCMPR0

Table 961: SCMPR0 Register Bits

Reset 0x0

RW

Description

Compare this value to the value in the COUNTER register according to the

RW

match criterion, as selected in the COMPARE_A_EN bit in the REG_CTIMER_STCGF register.

DS-A3-0p9p1

Page 675 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

14.2.2.5 SCMPR1 Register
Compare Register B OFFSET: 0x00000154 INSTANCE 0 ADDRESS: 0x40008154 The VALUE in this bit field is used to compare against the VALUE in the COUNTER register. If the match criterion in the configuration register is met then a corresponding interrupt status bit is set. The match criterion is defined as COUNTER equal to COMPARE. To establish a desired value in this COMPARE register, write the number of ticks in the future to this register to indicate when to interrupt. The hardware does the addition to the COUNTER value in the STIMER clock domain so that the math is precise. Reading this register shows the COUNTER value at which this interrupt will occur.
Table 962: SCMPR1 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCMPR1

Bit

Name

31:0

SCMPR1

Table 963: SCMPR1 Register Bits

Reset 0x0

RW

Description

Compare this value to the value in the COUNTER register according to the

RW

match criterion, as selected in the COMPARE_B_EN bit in the REG_CTIMER_STCGF register.

14.2.2.6 SCMPR2 Register
Compare Register C
OFFSET: 0x00000158
INSTANCE 0 ADDRESS: 0x40008158
The VALUE in this bit field is used to compare against the VALUE in the COUNTER register. If the match criterion in the configuration register is met then a corresponding interrupt status bit is set. The match criterion is defined as COUNTER equal to COMPARE. To establish a desired value in this COMPARE register, write the number of ticks in the future to this register to indicate when to interrupt. The hardware does the addition to the COUNTER value in the STIMER clock domain so that the math is precise. Reading this register shows the COUNTER value at which this interrupt will occur.

Table 964: SCMPR2 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCMPR2

DS-A3-0p9p1

Page 676 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

SCMPR2

Table 965: SCMPR2 Register Bits

Reset 0x0

RW

Description

Compare this value to the value in the COUNTER register according to the

RW

match criterion, as selected in the COMPARE_C_EN bit in the REG_CTIMER_STCGF register.

14.2.2.7 SCMPR3 Register
Compare Register D
OFFSET: 0x0000015C
INSTANCE 0 ADDRESS: 0x4000815C
The VALUE in this bit field is used to compare against the VALUE in the COUNTER register. If the match criterion in the configuration register is met then a corresponding interrupt status bit is set. The match criterion is defined as COUNTER equal to COMPARE. To establish a desired value in this COMPARE register, write the number of ticks in the future to this register to indicate when to interrupt. The hardware does the addition to the COUNTER value in the STIMER clock domain so that the math is precise. Reading this register shows the COUNTER value at which this interrupt will occur.

Table 966: SCMPR3 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCMPR3

Bit

Name

31:0

SCMPR3

Table 967: SCMPR3 Register Bits

Reset 0x0

RW

Description

Compare this value to the value in the COUNTER register according to the

RW

match criterion, as selected in the COMPARE_D_EN bit in the REG_CTIMER_STCGF register.

14.2.2.8 SCMPR4 Register
Compare Register E
OFFSET: 0x00000160
INSTANCE 0 ADDRESS: 0x40008160
The VALUE in this bit field is used to compare against the VALUE in the COUNTER register. If the match criterion in the configuration register is met then a corresponding interrupt status bit is set. The match criterion is defined as COUNTER equal to COMPARE. To establish a desired value in this COMPARE register, write the number of ticks in the future to this register to indicate when to interrupt. The hardware does the addition to the COUNTER value in the STIMER clock domain so that the math is precise. Reading this register shows the COUNTER value at which this interrupt will occur.

DS-A3-0p9p1

Page 677 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 968: SCMPR4 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCMPR4

Bit

Name

31:0

SCMPR4

Table 969: SCMPR4 Register Bits

Reset 0x0

RW

Description

Compare this value to the value in the COUNTER register according to the

RW

match criterion, as selected in the COMPARE_E_EN bit in the REG_CTIMER_STCGF register.

14.2.2.9 SCMPR5 Register
Compare Register F
OFFSET: 0x00000164
INSTANCE 0 ADDRESS: 0x40008164
The VALUE in this bit field is used to compare against the VALUE in the COUNTER register. If the match criterion in the configuration register is met then a corresponding interrupt status bit is set. The match criterion is defined as COUNTER equal to COMPARE. To establish a desired value in this COMPARE register, write the number of ticks in the future to this register to indicate when to interrupt. The hardware does the addition to the COUNTER value in the STIMER clock domain so that the math is precise. Reading this register shows the COUNTER value at which this interrupt will occur.

Table 970: SCMPR5 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCMPR5

Bit

Name

31:0

SCMPR5

Table 971: SCMPR5 Register Bits

Reset 0x0

RW

Description

Compare this value to the value in the COUNTER register according to the

RW

match criterion, as selected in the COMPARE_F_EN bit in the REG_CTIMER_STCGF register.

14.2.2.10SCMPR6 Register
Compare Register G OFFSET: 0x00000168

DS-A3-0p9p1

Page 678 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

INSTANCE 0 ADDRESS: 0x40008168 The VALUE in this bit field is used to compare against the VALUE in the COUNTER register. If the match criterion in the configuration register is met then a corresponding interrupt status bit is set. The match criterion is defined as COUNTER equal to COMPARE. To establish a desired value in this COMPARE register, write the number of ticks in the future to this register to indicate when to interrupt. The hardware does the addition to the COUNTER value in the STIMER clock domain so that the math is precise. Reading this register shows the COUNTER value at which this interrupt will occur.
Table 972: SCMPR6 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCMPR6

Bit

Name

31:0

SCMPR6

Table 973: SCMPR6 Register Bits

Reset 0x0

RW

Description

Compare this value to the value in the COUNTER register according to the

RW

match criterion, as selected in the COMPARE_G_EN bit in the REG_CTIMER_STCGF register.

14.2.2.11SCMPR7 Register
Compare Register H
OFFSET: 0x0000016C
INSTANCE 0 ADDRESS: 0x4000816C
The VALUE in this bit field is used to compare against the VALUE in the COUNTER register. If the match criterion in the configuration register is met then a corresponding interrupt status bit is set. The match criterion is defined as COUNTER equal to COMPARE. To establish a desired value in this COMPARE register, write the number of ticks in the future to this register to indicate when to interrupt. The hardware does the addition to the COUNTER value in the STIMER clock domain so that the math is precise.

Table 974: SCMPR7 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCMPR7

DS-A3-0p9p1

Page 679 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

SCMPR7

Table 975: SCMPR7 Register Bits

Reset 0x0

RW

Description

Compare this value to the value in the COUNTER register according to the

RW

match criterion, as selected in the COMPARE_H_EN bit in the REG_CTIMER_STCGF register.

14.2.2.12SCAPT0 Register
Capture Register A OFFSET: 0x000001E0 INSTANCE 0 ADDRESS: 0x400081E0 The STIMER capture Register A grabs the VALUE in the COUNTER register whenever capture condition (event) A is asserted. This register holds a time stamp for the event.

Table 976: SCAPT0 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCAPT0

Bit

Name

31:0

SCAPT0

Table 977: SCAPT0 Register Bits

Reset 0x0

RW

Description

Whenever the event is detected, the value in the COUNTER is copied into RO this register and the corresponding interrupt status bit is set.

14.2.2.13SCAPT1 Register
Capture Register B OFFSET: 0x000001E4 INSTANCE 0 ADDRESS: 0x400081E4 The STIMER capture Register B grabs the VALUE in the COUNTER register whenever capture condition (event) B is asserted. This register holds a time stamp for the event.

Table 978: SCAPT1 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCAPT1

DS-A3-0p9p1

Page 680 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

SCAPT1

Table 979: SCAPT1 Register Bits

Reset 0x0

RW

Description

Whenever the event is detected, the value in the COUNTER is copied into RO this register and the corresponding interrupt status bit is set.

14.2.2.14SCAPT2 Register
Capture Register C OFFSET: 0x000001E8 INSTANCE 0 ADDRESS: 0x400081E8 The STIMER capture Register C grabs the VALUE in the COUNTER register whenever capture condition (event) C is asserted. This register holds a time stamp for the event.

Table 980: SCAPT2 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCAPT2

Bit

Name

31:0

SCAPT2

Table 981: SCAPT2 Register Bits

Reset 0x0

RW

Description

Whenever the event is detected, the value in the COUNTER is copied into RO this register and the corresponding interrupt status bit is set.

14.2.2.15SCAPT3 Register
Capture Register D OFFSET: 0x000001EC INSTANCE 0 ADDRESS: 0x400081EC The STIMER capture Register D grabs the VALUE in the COUNTER register whenever capture condition (event) D is asserted. This register holds a time stamp for the event.

Table 982: SCAPT3 Register
33222222222211111111110000000000 10987654321098765432109876543210
SCAPT3

DS-A3-0p9p1

Page 681 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

SCAPT3

Table 983: SCAPT3 Register Bits

Reset 0x0

RW

Description

Whenever the event is detected, the value in the COUNTER is copied into RO this register and the corresponding interrupt status bit is set.

14.2.2.16SNVR0 Register
System Timer NVRAM_A Register
OFFSET: 0x000001F0
INSTANCE 0 ADDRESS: 0x400081F0
The NVRAM_A Register contains a portion of the stored epoch offset associated with the time in the COUNTER register. This register is only reset by POI not by HRESETn. Its contents are intended to survive all reset level except POI and full power cycles.

Table 984: SNVR0 Register
33222222222211111111110000000000 10987654321098765432109876543210
SNVR0

Bit

Name

31:0

SNVR0

Table 985: SNVR0 Register Bits

Reset 0x0

RW

Description

RW Value of the 32-bit counter as it ticks over.

14.2.2.17SNVR1 Register
System Timer NVRAM_B Register
OFFSET: 0x000001F4
INSTANCE 0 ADDRESS: 0x400081F4
The NVRAM_B Register contains a portion of the stored epoch offset associated with the time in the COUNTER register. This register is only reset by POI not by HRESETn. Its contents are intended to survive all reset level except POI and full power cycles.

Table 986: SNVR1 Register
33222222222211111111110000000000 10987654321098765432109876543210
SNVR1

DS-A3-0p9p1

Page 682 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

SNVR1

Table 987: SNVR1 Register Bits

Reset 0x0

RW

Description

RW Value of the 32-bit counter as it ticks over.

14.2.2.18SNVR2 Register
System Timer NVRAM_C Register
OFFSET: 0x000001F8
INSTANCE 0 ADDRESS: 0x400081F8
The NVRAM_C Register contains a portion of the stored epoch offset associated with the time in the COUNTER register. This register is only reset by POI not by HRESETn. Its contents are intended to survive all reset level except POI and full power cycles.

Table 988: SNVR2 Register
33222222222211111111110000000000 10987654321098765432109876543210
SNVR2

Bit

Name

31:0

SNVR2

Table 989: SNVR2 Register Bits

Reset 0x0

RW

Description

RW Value of the 32-bit counter as it ticks over.

14.2.2.19SNVR3 Register
System Timer NVRAM_D Register
OFFSET: 0x000001FC
INSTANCE 0 ADDRESS: 0x400081FC
The NVRAM_D Register contains a portion of the stored epoch offset associated with the time in the COUNTER register. This register is only reset by POI not by HRESETn. Its contents are intended to survive all reset level except POI and full power cycles.

Table 990: SNVR3 Register
33222222222211111111110000000000 10987654321098765432109876543210
SNVR3

DS-A3-0p9p1

Page 683 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

SNVR3

Table 991: SNVR3 Register Bits

Reset 0x0

RW

Description

RW Value of the 32-bit counter as it ticks over.

14.2.2.20STMINTEN Register
STIMER Interrupt registers: Enable OFFSET: 0x00000300 INSTANCE 0 ADDRESS: 0x40008300 Set bits in this register to allow this module to generate the corresponding interrupt.

Table 992: STMINTEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CAPTURED CAPTUREC CAPTUREB CAPTUREA OVERFLOW COMPAREH COMPAREG COMPAREF COMPAREE COMPARED COMPAREC COMPAREB COMPAREA

Bit 31:13

Name RSVD

12

CAPTURED

11

CAPTUREC

10

CAPTUREB

9

CAPTUREA

8

OVERFLOW

7

COMPAREH

Table 993: STMINTEN Register Bits

Reset 0x0

RW RO RESERVED.

Description

CAPTURE register D has grabbed the value in the counter

0x0

RW

CAPD_INT = 0x1 - Capture D interrupt status bit was set.

CAPTURE register C has grabbed the value in the counter

0x0

RW

CAPC_INT = 0x1 - CAPTURE C interrupt status bit was set.

CAPTURE register B has grabbed the value in the counter

0x0

RW

CAPB_INT = 0x1 - CAPTURE B interrupt status bit was set.

CAPTURE register A has grabbed the value in the counter

0x0

RW

CAPA_INT = 0x1 - CAPTURE A interrupt status bit was set.

COUNTER over flowed from 0xFFFFFFFF back to 0x00000000.

0x0

RW

OFLOW_INT = 0x1 - Overflow interrupt status bit was set.

COUNTER is greater than or equal to COMPARE register H.

0x0

RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE regis-

ter.

DS-A3-0p9p1

Page 684 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

6

COMPAREG

5

COMPAREF

4

COMPAREE

3

COMPARED

2

COMPAREC

1

COMPAREB

0

COMPAREA

Table 993: STMINTEN Register Bits

Reset 0x0 0x0 0x0 0x0 0x0 0x0 0x0

RW

Description

COUNTER is greater than or equal to COMPARE register G.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register F.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register E.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register D.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register C.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register B.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register A.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.

14.2.2.21STMINTSTAT Register
STIMER Interrupt registers: Status OFFSET: 0x00000304 INSTANCE 0 ADDRESS: 0x40008304 Read bits from this register to discover the cause of a recent interrupt.

Table 994: STMINTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CAPTURED CAPTUREC CAPTUREB CAPTUREA OVERFLOW COMPAREH COMPAREG COMPAREF COMPAREE COMPARED COMPAREC COMPAREB COMPAREA

DS-A3-0p9p1

Page 685 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:13

Name RSVD

12

CAPTURED

11

CAPTUREC

10

CAPTUREB

9

CAPTUREA

8

OVERFLOW

7

COMPAREH

6

COMPAREG

5

COMPAREF

4

COMPAREE

3

COMPARED

2

COMPAREC

1

COMPAREB

0

COMPAREA

Table 995: STMINTSTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

CAPTURE register D has grabbed the value in the counter

0x0

RW

CAPD_INT = 0x1 - Capture D interrupt status bit was set.

CAPTURE register C has grabbed the value in the counter

0x0

RW

CAPC_INT = 0x1 - CAPTURE C interrupt status bit was set.

CAPTURE register B has grabbed the value in the counter

0x0

RW

CAPB_INT = 0x1 - CAPTURE B interrupt status bit was set.

CAPTURE register A has grabbed the value in the counter

0x0

RW

CAPA_INT = 0x1 - CAPTURE A interrupt status bit was set.

COUNTER over flowed from 0xFFFFFFFF back to 0x00000000.

0x0

RW

OFLOW_INT = 0x1 - Overflow interrupt status bit was set.

COUNTER is greater than or equal to COMPARE register H.

0x0

RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE regis-

ter.

COUNTER is greater than or equal to COMPARE register G.

0x0

RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE regis-

ter.

COUNTER is greater than or equal to COMPARE register F.

0x0

RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE regis-

ter.

COUNTER is greater than or equal to COMPARE register E.

0x0

RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE regis-

ter.

COUNTER is greater than or equal to COMPARE register D.

0x0

RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE regis-

ter.

COUNTER is greater than or equal to COMPARE register C.

0x0

RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE regis-

ter.

COUNTER is greater than or equal to COMPARE register B.

0x0

RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE regis-

ter.

COUNTER is greater than or equal to COMPARE register A.

0x0

RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE regis-

ter.

DS-A3-0p9p1

Page 686 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
14.2.2.22STMINTCLR Register
STIMER Interrupt registers: Clear OFFSET: 0x00000308 INSTANCE 0 ADDRESS: 0x40008308 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.
Table 996: STMINTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CAPTURED CAPTUREC CAPTUREB CAPTUREA OVERFLOW COMPAREH COMPAREG COMPAREF COMPAREE COMPARED COMPAREC COMPAREB COMPAREA

Bit 31:13

Name RSVD

12

CAPTURED

11

CAPTUREC

10

CAPTUREB

9

CAPTUREA

8

OVERFLOW

7

COMPAREH

6

COMPAREG

5

COMPAREF

Table 997: STMINTCLR Register Bits

Reset 0x0

RW RO RESERVED.

Description

CAPTURE register D has grabbed the value in the counter

0x0

RW

CAPD_INT = 0x1 - Capture D interrupt status bit was set.

CAPTURE register C has grabbed the value in the counter

0x0

RW

CAPC_INT = 0x1 - CAPTURE C interrupt status bit was set.

CAPTURE register B has grabbed the value in the counter

0x0

RW

CAPB_INT = 0x1 - CAPTURE B interrupt status bit was set.

CAPTURE register A has grabbed the value in the counter

0x0

RW

CAPA_INT = 0x1 - CAPTURE A interrupt status bit was set.

COUNTER over flowed from 0xFFFFFFFF back to 0x00000000.

0x0

RW

OFLOW_INT = 0x1 - Overflow interrupt status bit was set.

COUNTER is greater than or equal to COMPARE register H.

0x0

RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE regis-

ter.

COUNTER is greater than or equal to COMPARE register G.

0x0

RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE regis-

ter.

COUNTER is greater than or equal to COMPARE register F.

0x0

RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE regis-

ter.

DS-A3-0p9p1

Page 687 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

4

COMPAREE

3

COMPARED

2

COMPAREC

1

COMPAREB

0

COMPAREA

Table 997: STMINTCLR Register Bits

Reset 0x0 0x0 0x0 0x0 0x0

RW

Description

COUNTER is greater than or equal to COMPARE register E.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register D.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register C.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register B.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register A.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.

14.2.2.23STMINTSET Register
STIMER Interrupt registers: Set OFFSET: 0x0000030C INSTANCE 0 ADDRESS: 0x4000830C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).

Table 998: STMINTSET Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CAPTURED CAPTUREC CAPTUREB CAPTUREA OVERFLOW COMPAREH COMPAREG COMPAREF COMPAREE COMPARED COMPAREC COMPAREB COMPAREA

Bit 31:13

Name RSVD

12

CAPTURED

Table 999: STMINTSET Register Bits

Reset 0x0

RW RO RESERVED.

Description

CAPTURE register D has grabbed the value in the counter

0x0

RW

CAPD_INT = 0x1 - Capture D interrupt status bit was set.

DS-A3-0p9p1

Page 688 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

11

CAPTUREC

10

CAPTUREB

9

CAPTUREA

8

OVERFLOW

7

COMPAREH

6

COMPAREG

5

COMPAREF

4

COMPAREE

3

COMPARED

2

COMPAREC

1

COMPAREB

0

COMPAREA

Table 999: STMINTSET Register Bits

Reset 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0

RW

Description

CAPTURE register C has grabbed the value in the counter RW
CAPC_INT = 0x1 - CAPTURE C interrupt status bit was set.
CAPTURE register B has grabbed the value in the counter RW
CAPB_INT = 0x1 - CAPTURE B interrupt status bit was set.
CAPTURE register A has grabbed the value in the counter RW
CAPA_INT = 0x1 - CAPTURE A interrupt status bit was set.
COUNTER over flowed from 0xFFFFFFFF back to 0x00000000. RW
OFLOW_INT = 0x1 - Overflow interrupt status bit was set.
COUNTER is greater than or equal to COMPARE register H.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register G.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register F.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register E.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register D.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register C.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register B.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.
COUNTER is greater than or equal to COMPARE register A.
RW COMPARED = 0x1 - COUNTER greater than or equal to COMPARE register.

DS-A3-0p9p1

Page 689 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

15. Watchdog Timer Module

128 Hz 16 Hz 1 Hz
1/16 Hz

CLR 8-bit Counter

8-bit Reset Value 8-bit Interrupt Value

Compare

Compare

WDINT WDRES

Control

Figure 85. Block diagram for the Watchdog Timer Module

15.1 Functional Overview
The Watchdog Timer (WDT), shown in Figure 85, is used to insure that software is operational, by resetting the Apollo3 Blue MCU if the WDT reaches a configurable value before being cleared by software. The WDT can beclocked by one of four selectable prescalers of the always active low-power LFRC clock, but is nominally clocked at 128 Hz. The WDT may be locked to ensure that software cannot disable its functionality, in which case the WDTCFG register cannot be updated. An interrupt can also be generated at a different counter value to implement an early warning function. Note: The RESEN bit in the WDTCFG register must be set and the WDREN bit in the RSTCFG register must be set to enable a watchdog timer reset condition.

15.2 WDT Registers
Watchdog Timer INSTANCE 0 BASE ADDRESS:0x40024000

DS-A3-0p9p1

Page 690 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

15.2.1 Register Memory Map

Table 1000: WDT Register Map

Address(s) 0x40024000 0x40024004 0x40024008 0x4002400C 0x40024200 0x40024204 0x40024208 0x4002420C

Register Name CFG RSTRT LOCK COUNT INTEN INTSTAT INTCLR INTSET

Description Configuration Register Restart the watchdog timer. Locks the WDT Current Counter Value for WDT WDT Interrupt register: Enable WDT Interrupt register: Status WDT Interrupt register: Clear WDT Interrupt register: Set

DS-A3-0p9p1

Page 691 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

15.2.2 WDT Registers
15.2.2.1 CFG Register
Configuration Register OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x40024000 This is the configuration register for the watch dog timer. It controls the enable, interrupt set, clocks for the timer, the compare values for the counters to trigger a reset or interrupt. This register can only be written to if the watch dog timer is unlocked (WDTLOCK is not set).

Table 1001: CFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

INTVAL

RESVAL

RSVD

CLKSEL RESEN INTEN WDTEN

Bit 31:27

Name RSVD

26:24

CLKSEL

23:16

INTVAL

15:8

RESVAL

7:3

RSVD

2

RESEN

1

INTEN

Table 1002: CFG Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

Select the frequency for the WDT. All values not enumerated below are undefined.

0x0

RW

OFF = 0x0 - Low Power Mode. This setting disables the watch dog timer. 128HZ = 0x1 - 128 Hz LFRC clock.

16HZ = 0x2 - 16 Hz LFRC clock.

1HZ = 0x3 - 1 Hz LFRC clock.

1_16HZ = 0x4 - 1/16th Hz LFRC clock.

This bitfield is the compare value for counter bits 7:0 to generate a watch-

0xff

RW dog interrupt.

This bitfield is the compare value for counter bits 7:0 to generate a watch-

0xff

RW dog reset. This will cause a software reset.

0x0

RO This bitfield is reserved for future use.

This bitfield enables the WDT reset. This needs to be set together with the

0x0

RW

WDREN bit in REG_RSTGEN_CFG register (in reset gen) to trigger the reset.

This bitfield enables the WDT interrupt. Note : This bit must be set before

the interrupt status bit will reflect a watchdog timer expiration. The IER

0x0

RW interrupt register must also be enabled for a WDT interrupt to be sent to the

NVIC.

DS-A3-0p9p1

Page 692 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

WDTEN

Table 1002: CFG Register Bits

Reset 0x0

RW

Description

RW This bitfield enables the WDT.

15.2.2.2 RSTRT Register
Restart the watchdog timer.
OFFSET: 0x00000004
INSTANCE 0 ADDRESS: 0x40024004
This register will Restart the watchdog timer. Writing a special key value into this register will result in the watch dog timer being reset, so that the count will start again. It is expected that the software will periodically write to this register to indicate that the system is functional. The watch dog timer can continue running when the system is in deep sleep, and the interrupt will trigger the wake. After the wake, the core can reset the watch dog timer.

Table 1003: RSTRT Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSTRT

Bit

Name

31:8

RSVD

7:0

RSTRT

Table 1004: RSTRT Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

Writing 0xB2 to WDTRSTRT restarts the watchdog timer. This is a write

only register. Reading this register will only provide all 0.

0x0

WO

KEYVALUE = 0xB2 - This is the key value to write to WDTRSTRT to restart

the WDT. This is a write only register.

15.2.2.3 LOCK Register
Locks the WDT OFFSET: 0x00000008 INSTANCE 0 ADDRESS: 0x40024008 This register locks the watch dog timer. Once it is locked, the configuration register (WDTCFG) for watch dog timer cannot be written to.

DS-A3-0p9p1

Page 693 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1005: LOCK Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

LOCK

Bit

Name

31:8

RSVD

7:0

LOCK

Table 1006: LOCK Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

Writing 0x3A locks the watchdog timer. Once locked, the WDTCFG reg can-

not be written and WDTEN is set.

0x0

WO

KEYVALUE = 0x3A - This is the key value to write to WDTLOCK to lock the

WDT.

15.2.2.4 COUNT Register
Current Counter Value for WDT OFFSET: 0x0000000C INSTANCE 0 ADDRESS: 0x4002400C This register holds the current count for the watch dog timer. This is a read only register. SW cannot set the value in the counter, but can reset it.

Table 1007: COUNT Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

COUNT

Bit

Name

31:8

RSVD

7:0

COUNT

Table 1008: COUNT Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RO Read-Only current value of the WDT counter

15.2.2.5 INTEN Register
WDT Interrupt register: Enable OFFSET: 0x00000200

DS-A3-0p9p1

Page 694 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
INSTANCE 0 ADDRESS: 0x40024200 Set bits in this register to allow this module to generate the corresponding interrupt.
Table 1009: INTEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

WDTIN

Bit

Name

31:1

RSVD

0

WDTINT

Table 1010: INTEN Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW Watchdog Timer Interrupt.

15.2.2.6 INTSTAT Register
WDT Interrupt register: Status OFFSET: 0x00000204 INSTANCE 0 ADDRESS: 0x40024204 Read bits from this register to discover the cause of a recent interrupt.

Table 1011: INTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

WDTIN

Bit

Name

31:1

RSVD

0

WDTINT

Table 1012: INTSTAT Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW Watchdog Timer Interrupt.

DS-A3-0p9p1

Page 695 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
15.2.2.7 INTCLR Register
WDT Interrupt register: Clear OFFSET: 0x00000208 INSTANCE 0 ADDRESS: 0x40024208 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.
Table 1013: INTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

WDTIN

Bit

Name

31:1

RSVD

0

WDTINT

Table 1014: INTCLR Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW Watchdog Timer Interrupt.

15.2.2.8 INTSET Register
WDT Interrupt register: Set OFFSET: 0x0000020C INSTANCE 0 ADDRESS: 0x4002420C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).

Table 1015: INTSET Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

WDTIN

DS-A3-0p9p1

Page 696 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:1

RSVD

0

WDTINT

Table 1016: INTSET Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW Watchdog Timer Interrupt.

DS-A3-0p9p1

Page 697 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

16. Reset Generator Module

RSTn
Power-on Detector
Brown-out Detector
Brown-out Detector VDDCORE Over-current Protection VDDMEM Over-current Protection
VDDBLE Brown-out Detector SYSRESETREQn
WDTRn

PORn 1.8 VBODn
2.1 VBODn OCPc OCPf BODb

Figure 86. Block diagram for the Reset Generator Module

SYSRESETn

16.1 Functional Overview
The Reset Generator Module (RSTGEN) monitors a variety of reset signals and asserts the active low system reset (SYSRESETn) accordingly. A reset causes the entire system to be re-initialized, and the cause of the most recent reset is indicated by the STAT register.
Reset sources are described in the subsequent sections and include:
· External reset pin (RSTn) · Power-on event · Brown-out events · Software request (SYSRESETREQn) · Watchdog expiration

16.2 External Reset Pin
The active-low RSTn pin can be used to generate a reset using an off-chip component (e.g., a pushbutton). An internal pull-up resistor in the RSTn pad enables optional floating of the RSTn pin, and a debounce circuit ensures that bounceglitches on RSTn doesnot cause unintentional resets. The RSTn pin is not maskable. An internal pull-down device will be active during a brownout event pulling the RSTn pin low. See Figure 87

DS-A3-0p9p1

Page 698 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

RSTn Pad IO VDD
RSTn

RST Button

Strong Pull Down

RSTGEN RSTn
brownout_n

Figure 87. Block diagram of circuitry for Reset pin
16.3 Power-on Event
An integrated power-on detector monitors the supply voltage and keeps SYSRESETn asserted while VDD is below the rising power-on voltage, VPOR+ (1.755 V). When VDD rises above VPOR at initial power on, the reset module will initialize the low power analog circuitry followed by de-assertion of SYSRESETn, and normal operation proceeds. SYSRESETn is re-asserted as soon as VDD falls below the falling power-on voltage, VPOR- (1.755 V). The power-on reset signal, PORn, is not maskable.
16.4 Brown-out Events
There are multiple brownout detectors in Apollo3. An integrated brown-out detector monitors the primary supply voltage and causes an automatic and non-configurable reset when the voltage has fallen below the 1.755 V threshold. An optional reset or interrupt can be enabled when the brown-out detector indicates the supply voltage has fallen below the 2.1 V threshold. In addition, there are individual brownout detector monitors integrated within the core/memory and BLE supply regulators which cause separate/maskable reset assertions when the voltage falls below critical level for the respective voltage rails. In the event the primary supply voltage falls below the 1.755 V threshold, or 2.1 V threshold or any of the core/memory/BLE thresholds if enabled, the reset module will initiate a system reset, enabling the RSTn pull-down and driving the reset pin low. A 1.755 V or 2.1 V BOD reset will be reflected by the setting of the BORSTAT bit in the RSTGEN's STAT Register after reset.
In the event of a brownout detection, the following functionality is maintained until a power down detection occurs.
 All RTC registers retain state  RTC and STIMER counters continue operation from 32kHz XTAL or from LFRC (if below BODL). If clock
sources stop oscillating at very low voltage, the RTC and STIMER will continue to maintain state.  Clock configuration registers retain state

DS-A3-0p9p1

Page 699 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

16.5 Software Reset
A reset may be generated via software using the Application Interrupt and Reset Control Register (AIRCR) defined in the Cortex-M4. For additional information on the AIRCR, see the ARM document titled "CortexM4 Devices Generic User Guide." The software reset request is not maskable.A second source for the identical software reset functionality is made available through the SWPOR register in the RSTGEN peripheral module.
16.6 Software Power On Initialization
The SWPOI register enables the capability for software to perform a substantial reset that includes reloading the low power analog circuitry trim settings set in the flash information space. These values are not re-loaded from flash info space for Software Reset or External Reset events.
16.7 Watchdog Expiration
The Watchdog Timer sub-module generates an interrupt if it has not been properly managed by software within a pre-defined time. The watchdog reset is maskable.
16.8 RSTGEN Registers
MCU Reset Generator INSTANCE 0 BASE ADDRESS:0x40000000

16.8.1 Register Memory Map

Table 1017: RSTGEN Register Map

Address(s) 0x40000000 0x40000004 0x40000008 0x40000014 0x40000200 0x40000204 0x40000208 0x4000020C 0x4FFFF000

Register Name CFG SWPOI SWPOR TPIURST INTEN INTSTAT INTCLR INTSET STAT

Description Configuration Register Software POI Reset Software POR Reset TPIU reset Reset Interrupt register: Enable Reset Interrupt register: Status Reset Interrupt register: Clear Reset Interrupt register: Set Status Register (SBL)

DS-A3-0p9p1

Page 700 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
16.8.2 RSTGEN Registers 16.8.2.1 CFG Register
Configuration Register OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x40000000 Reset configuration register. This controls the reset enables for brownout condition, and for the expiration of the watch dog timer.
Table 1018: CFG Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

WDREN BODHREN

Bit

Name

31:2

RSVD

1

WDREN

0

BODHREN

Table 1019: CFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Watchdog Timer Reset Enable. NOTE: The WDT module must also be con-

0x0

RW

figured for WDT reset. This includes enabling the RESEN bit in WDTCFG register in Watch dog timer block.

0x0

RW Brown out high (2.1v) reset enable.

16.8.2.2 SWPOI Register
Software POI Reset OFFSET: 0x00000004 INSTANCE 0 ADDRESS: 0x40000004 This is the software POI reset. writing the key value to this register will trigger a POI to the system. This will cause a reset to all blocks except for registers in clock gen, RTC and the stimer.

Table 1020: SWPOI Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

SWPOIKEY

DS-A3-0p9p1

Page 701 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:8

RSVD

7:0

SWPOIKEY

Table 1021: SWPOI Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x1B generates a software POI reset. This is a write-only register. Reading

from this register will yield only all 0s.

0x0

WO

KEYVALUE = 0x1B - Writing 0x1B key value generates a software POI

reset.

16.8.2.3 SWPOR Register
Software POR Reset
OFFSET: 0x00000008
INSTANCE 0 ADDRESS: 0x40000008
This is the software POR reset. Writing the key value to this register will trigger a POR to the system. This will cause a reset to all blocks except for registers in clock gen, RTC, power management unit, the stimer, and the power management unit.

Table 1022: SWPOR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

SWPORKEY

Bit

Name

31:8

RSVD

7:0

SWPORKEY

Table 1023: SWPOR Register Bits

Reset 0x0

RW RO RESERVED.

Description

0xD4 generates a software POR reset.

0x0

WO KEYVALUE = 0xD4 - Writing 0xD4 key value generates a software POR

reset.

16.8.2.4 TPIURST Register
TPIU reset OFFSET: 0x00000014 INSTANCE 0 ADDRESS: 0x40000014 This will trigger a reset for the TPIU unit.

DS-A3-0p9p1

Page 702 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1024: TPIURST Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

TPIURST

Bit

Name

31:1

RSVD

0

TPIURST

Table 1025: TPIURST Register Bits

Reset 0x0

RW RW RESERVED.

Description

Static reset for the TPIU. Write to '1' to assert reset to TPIU. Write to '0' to

0x0

RW clear the reset.

16.8.2.5 INTEN Register
Reset Interrupt register: Enable OFFSET: 0x00000200 INSTANCE 0 ADDRESS: 0x40000200 Set bits in this register to allow this module to generate the corresponding interrupt.

Table 1026: INTEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

BODH

Bit

Name

31:1

RSVD

0

BODH

Table 1027: INTEN Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW Enables an interrupt that triggers when VCC is below BODH level.

16.8.2.6 INTSTAT Register
Reset Interrupt register: Status OFFSET: 0x00000204

DS-A3-0p9p1

Page 703 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
INSTANCE 0 ADDRESS: 0x40000204 Read bits from this register to discover the cause of a recent interrupt.
Table 1028: INTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

BODH

Bit

Name

31:1

RSVD

0

BODH

Table 1029: INTSTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW Enables an interrupt that triggers when VCC is below BODH level.

16.8.2.7 INTCLR Register
Reset Interrupt register: Clear OFFSET: 0x00000208 INSTANCE 0 ADDRESS: 0x40000208 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.

Table 1030: INTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

BODH

Bit

Name

31:1

RSVD

0

BODH

Table 1031: INTCLR Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW Enables an interrupt that triggers when VCC is below BODH level.

DS-A3-0p9p1

Page 704 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
16.8.2.8 INTSET Register
Reset Interrupt register: Set OFFSET: 0x0000020C INSTANCE 0 ADDRESS: 0x4000020C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).
Table 1032: INTSET Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

BODH

Bit

Name

31:1

RSVD

0

BODH

Table 1033: INTSET Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW Enables an interrupt that triggers when VCC is below BODH level.

16.8.2.9 STAT Register
Status Register (SBL)
OFFSET: 0x0FFFF000
INSTANCE 0 ADDRESS: 0x4FFFF000
This register contains the status for brownout events and the causes for resets.in NOTE 1: All bits in this register, including reserved bits, are writable. Therefore care should be taken not to write this register.\n
NOTE 1: This register does not retain its value across a core deepsleep cycle. Therefore applications needing to use this value after deep sleep must copy and save this register to SRAM before initiating the first deep sleep cycle.

Table 1034: STAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

SBOOT FBOOT BOBSTAT BOFSTAT BOCSTAT BOUSTAT WDRSTAT DBGRSTAT POIRSTAT SWRSTAT BORSTAT PORSTAT EXRSTAT

DS-A3-0p9p1

Page 705 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31

SBOOT

30

FBOOT

29:11 10 9 8 7 6 5 4 3 2 1 0

RSVD BOBSTAT BOFSTAT BOCSTAT BOUSTAT WDRSTAT DBGRSTAT POIRSTAT SWRSTAT BORSTAT PORSTAT EXRSTAT

Table 1035: STAT Register Bits

Reset 0x0

RW

Description

RW Set when booting securely (SBL).

Set if current boot was initiated by soft reset and resulted in Fast Boot

0x0

RW (SBL).

0x0

RW RESERVED.

0x0

RW A BLE/Burst Regulator Brownout Event occurred (SBL).

0x0

RW A Memory Regulator Brownout Event occurred (SBL).

0x0

RW A Core Regulator Brownout Event occurred (SBL).

0x0

RW An Unregulated Supply Brownout Event occurred (SBL).

0x0

RW Reset was initiated by a Watchdog Timer Reset (SBL).

0x0

RW Reset was a initiated by Debugger Reset (SBL).

0x0

RW Reset was a initiated by Software POI Reset (SBL).

0x0

RW Reset was a initiated by SW POR or AIRCR Reset (SBL).

0x0

RW Reset was initiated by a Brown-Out Reset (SBL).

0x0

RW Reset was initiated by a Power-On Reset (SBL).

0x0

RW Reset was initiated by an External Reset (SBL).

DS-A3-0p9p1

Page 706 of 909

2019 Ambiq Micro, Inc. All rights reserved.

17. UART Module

Transmit FIFO

Apollo3 Blue Datasheet

Transmit Interface

UART TX

APB

APB Slave

Register Block

Receive FIFO

Receive Interface

UART RX

Interrupt Generation IRQ
Figure 88. Block Diagram for the UART Module
17.1 Features
The UART Module includes the following key features:
· Operates independently, allowing the MCU to enter a low power sleep mode during communication · 32 x 8 transmit FIFO and 32 x 12 receive FIFO to reduce MCU computational load · Programmable baud rate generator capable of a maximum rate of 921,600 bits per second · Fully programmable data size, parity, and stop bit length · Programmable hardware flow control · Support for full-duplex and half-duplex communication · Loopback functionality for diagnostics and testing
17.2 Functional Overview
Shown in Figure 88, the UART Module converts parallel data written through the APB Slave port into serial data which is transmitted to an external device. It also receives serial data from an external device and converts it to parallel data, which is then stored in a buffer until the CPU reads the data.
The UART Module includes a programmable baud rate generator which is capable of operating at a maximum of 921,600 bits per second. An interrupt generator will optionally send interrupts to the CPU core for transmit, receive and error events.
Internally, the UART Module maintains two FIFOs. The transmit FIFO is 1-byte wide with 32 locations. The receive FIFO is 12-bits wide with 32 locations. The extra four bits in the receive FIFO are used to capture any error status information that the MCU needs to analyze.

DS-A3-0p9p1

Page 707 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Clocking to the UART serial logic is generated by a dedicated UARTCLK from the Clock Generator Module. The frequency of this clock is determined by the desired baud rate. For maximum baud rates, this clock would be clocked at the 24 MHz maximum as generated the HFRC.
The major functional blocks of the UART are discussed briefly in the subsequent sections.
17.3 Enabling and Selecting the UART Clock
The UART module receives two clocks - UART_clk which is used to derive the UART serial clock and UART_hclk, which is the bus interface clock of the UART module. Unlike other Apollo3 Blue MCU modules, the UART requires a bus clock whenever it is transmitting or receiving, so special controls are required when the UART is to transfer data while the Apollo3 Blue MCU is in a sleep mode and its normal bus clocks are not operating.
UART_clk is selected in the UARTx_CR_CLKSEL field, with values from 24 MHz to 3 MHz plus a disabled value NOCLK, and is enabled by the UARTx_CR_CLKEN bit. If the UART is inactive, CLKSEL should be set to the NOCLK value (0) to minimize power, and the CLKEN bit should be 0. When the UART is active, the serial clock is created by the baud rate generator based on UART_clk. A higher UART_clk frequency can produce more precise serial clock frequencies, but will cause the UART to use more power. It is thus recommended that UART_clk be set to the minimum frequency which produces acceptable serial clocks.
When software is accessing the UART, UART_hclk must be equivalent to the Apollo3 Blue MCU bus clock frequency of 48 MHz, but for transmit and receive purposes UART_hclk is only required to be at least as fast as UART_clk. It is thus possible to manage the frequency of UART_hclk to minimize power used by the UART. This is controlled by the CLK_GEN_UARTEN_UARTxEN fields, as defined in the table below.

UARTxEN 0 1 2
3

UART_hclk Function
Disable UART_hclk. Select this when the UART is inactive.
Force UART_hclk to 48MHz. This is not a recommended mode.
Force UART_hclk to match UART_clk. This mode may be used when the UART is actively transmitting or receiving, or is expected to receive a transmission. This minimizes power in the UART but does not allow software access to UART registers.
Automatic. In this mode, UART_hclk will be set to 48 MHz when is awake and set to match UART_clk when is in a sleep mode. This is a normal safe mode of operation.

In general, it is safe to leave the UARTxEN field at 3, which will minimize UART power in sleep modes but always allow UART register access. Power will be improved if UARTxEN is normally left at 2, and shifted to 3 whenever UART register access is required. Note that the UARTEN register is in the CLK_GEN module which always has bus access enabled.

17.4 Configuration
The UART Register Block in Figure 88 may be set to configure the UART Module. The data width, number of stop bits, and parity may all be configured using the UART_LCRH register.
The baud rate is configured using the integer UART_IBRD and UART_FBRD registers. The correct values for UART_IBRD and UART_FBRD may be determined according to the following equation:
FUART/(16·BR) = IBRD + FBRD
FUART is the frequency of the UART clock. BR is the desired baud rate. IBRD is the integer portion of the baud rate divisor. FBRD is the fractional portion of the baud rate divisor.

DS-A3-0p9p1

Page 708 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

The UART Module supports independent CTS and RTS hardware flow control. All flow control configuration may be set using the UART_CR register.
17.5 Transmit FIFO and Receive FIFO
The transmit and receive FIFOs may both be accessed via the same 8-bit word in the UART_DR register. The transmit FIFO stores up to 32 8-bit words and can be written using writes to UART_DR. The receive FIFO stores up to 32 12-bit words and can be read using reads to UART_DR. Note that each 12-bit receive FIFO word includes an 8-bit data word and a 4-bit error status word.
17.6 UART Registers
Serial UART INSTANCE 0 BASE ADDRESS:0x4001C000 INSTANCE 1 BASE ADDRESS:0x4001D000

17.6.1 Register Memory Map

Table 1036: UART Register Map

Address(s)
0x4001C000 0x4001D000
0x4001C004 0x4001D004
0x4001C018 0x4001D018
0x4001C020 0x4001D020
0x4001C024 0x4001D024
0x4001C028 0x4001D028
0x4001C02C 0x4001D02C
0x4001C030 0x4001D030
0x4001C034 0x4001D034
0x4001C038 0x4001D038
0x4001C03C 0x4001D03C
0x4001C040 0x4001D040
0x4001C044 0x4001D044

DR RSR FR ILPR IBRD FBRD LCRH CR IFLS IER IES MIS IEC

Register Name

Description UART Data Register UART Status Register Flag Register IrDA Counter Integer Baud Rate Divisor Fractional Baud Rate Divisor Line Control High Control Register FIFO Interrupt Level Select Interrupt Enable Interrupt Status Masked Interrupt Status Interrupt Clear

DS-A3-0p9p1

Page 709 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

DS-A3-0p9p1

Page 710 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

17.6.2 UART Registers
17.6.2.1 DR Register
UART Data Register OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x4001C000 INSTANCE 1 ADDRESS: 0x4001D000 UART Data Register

Table 1037: DR Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

DATA

OEDATA BEDATA PEDATA FEDATA

Bit 31:12

Name RSVD

11

OEDATA

10

BEDATA

9

PEDATA

8

FEDATA

7:0

DATA

Reset 0x0 0x0 0x0 0x0 0x0 0x0

Table 1038: DR Register Bits

RW

Description

RO This bitfield is reserved for future use.

This is the overrun error indicator.
RO NOERR = 0x0 - No error on UART OEDATA, overrun error indicator. ERR = 0x1 - Error on UART OEDATA, overrun error indicator.
This is the break error indicator.
RO NOERR = 0x0 - No error on UART BEDATA, break error indicator. ERR = 0x1 - Error on UART BEDATA, break error indicator.
This is the parity error indicator.
RO NOERR = 0x0 - No error on UART PEDATA, parity error indicator. ERR = 0x1 - Error on UART PEDATA, parity error indicator.
This is the framing error indicator.
RO NOERR = 0x0 - No error on UART FEDATA, framing error indicator. ERR = 0x1 - Error on UART FEDATA, framing error indicator.
RW This is the UART data port.

17.6.2.2 RSR Register
UART Status Register OFFSET: 0x00000004 INSTANCE 0 ADDRESS: 0x4001C004

DS-A3-0p9p1

Page 711 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
INSTANCE 1 ADDRESS: 0x4001D004 UART Status Register
Table 1039: RSR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

OESTAT BESTAT PESTAT FESTAT

Bit

Name

31:4

RSVD

3

OESTAT

2

BESTAT

1

PESTAT

0

FESTAT

Table 1040: RSR Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

This is the overrun error indicator.

0x0

RW NOERR = 0x0 - No error on UART OESTAT, overrun error indicator.

ERR = 0x1 - Error on UART OESTAT, overrun error indicator.

This is the break error indicator.

0x0

RW NOERR = 0x0 - No error on UART BESTAT, break error indicator.

ERR = 0x1 - Error on UART BESTAT, break error indicator.

This is the parity error indicator.

0x0

RW NOERR = 0x0 - No error on UART PESTAT, parity error indicator.

ERR = 0x1 - Error on UART PESTAT, parity error indicator.

This is the framing error indicator.

0x0

RW NOERR = 0x0 - No error on UART FESTAT, framing error indicator.

ERR = 0x1 - Error on UART FESTAT, framing error indicator.

17.6.2.3 FR Register
Flag Register OFFSET: 0x00000018 INSTANCE 0 ADDRESS: 0x4001C018 INSTANCE 1 ADDRESS: 0x4001D018 Flag Register

DS-A3-0p9p1

Page 712 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1041: FR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

TXBUSY TXFE RXFF TXFF RXFE BUSY DCD DSR CTS

Bit

Name

31:9

RSVD

8

TXBUSY

7

TXFE

6

RXFF

5

TXFF

4

RXFE

3

BUSY

2

DCD

1

DSR

0

CTS

Reset 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0

Table 1042: FR Register Bits

RW

Description

RO This bitfield is reserved for future use.

RO This bit holds the transmit BUSY indicator.

This bit holds the transmit FIFO empty indicator. RO
XMTFIFO_EMPTY = 0x1 - Transmit fifo is empty.
This bit holds the receive FIFO full indicator. RO
RCVFIFO_FULL = 0x1 - Receive fifo is full.
This bit holds the transmit FIFO full indicator. RO
XMTFIFO_FULL = 0x1 - Transmit fifo is full.
This bit holds the receive FIFO empty indicator. RO
RCVFIFO_EMPTY = 0x1 - Receive fifo is empty.
This bit holds the busy indicator. RO
BUSY = 0x1 - UART busy indicator.
This bit holds the data carrier detect indicator. RO
DETECTED = 0x1 - Data carrier detect detected.
This bit holds the data set ready indicator. RO
READY = 0x1 - Data set ready.
This bit holds the clear to send indicator. RO
CLEARTOSEND = 0x1 - Clear to send is indicated.

17.6.2.4 ILPR Register
IrDA Counter OFFSET: 0x00000020 INSTANCE 0 ADDRESS: 0x4001C020 INSTANCE 1 ADDRESS: 0x4001D020 IrDA Counter

DS-A3-0p9p1

Page 713 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1043: ILPR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ILPDVSR

Bit

Name

31:8

RSVD

7:0

ILPDVSR

Table 1044: ILPR Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW These bits hold the IrDA counter divisor.

17.6.2.5 IBRD Register
Integer Baud Rate Divisor OFFSET: 0x00000024 INSTANCE 0 ADDRESS: 0x4001C024 INSTANCE 1 ADDRESS: 0x4001D024 Integer Baud Rate Divisor

Table 1045: IBRD Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

DIVINT

Bit 31:16 15:0

Name RSVD DIVINT

Table 1046: IBRD Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW These bits hold the baud integer divisor.

17.6.2.6 FBRD Register
Fractional Baud Rate Divisor OFFSET: 0x00000028 INSTANCE 0 ADDRESS: 0x4001C028 INSTANCE 1 ADDRESS: 0x4001D028

DS-A3-0p9p1

Page 714 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Fractional Baud Rate Divisor

Table 1047: FBRD Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

DIVFRAC

Bit

Name

31:6

RSVD

5:0

DIVFRAC

Table 1048: FBRD Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW These bits hold the baud fractional divisor.

17.6.2.7 LCRH Register
Line Control High OFFSET: 0x0000002C INSTANCE 0 ADDRESS: 0x4001C02C INSTANCE 1 ADDRESS: 0x4001D02C Line Control High

Table 1049: LCRH Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

SPS WLEN FEN STP2 EPS PEN BRK

Bit

Name

31:8

RSVD

7

SPS

6:5

WLEN

DS-A3-0p9p1

Table 1050: LCRH Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW This bit holds the stick parity select.

These bits hold the write length.

WLEN Data Bits

0x0

RW

00 01

5 6

10

7

11

8

Page 715 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

4

FEN

3

STP2

2

EPS

1

PEN

0

BRK

Table 1050: LCRH Register Bits

Reset 0x0

RW

Description

RW This bit holds the FIFO enable.

0x0

RW This bit holds the two stop bits select.

0x0

RW This bit holds the even parity select.

0x0

RW This bit holds the parity enable.

0x0

RW This bit holds the break set.

17.6.2.8 CR Register
Control Register OFFSET: 0x00000030 INSTANCE 0 ADDRESS: 0x4001C030 INSTANCE 1 ADDRESS: 0x4001D030 Control Register

Table 1051: CR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

CTSEN RTSEN OUT2 OUT1
RTS DTR RXE TXE LBE CLKSEL CLKEN SIRLP SIREN UARTEN

Bit 31:16
15 14 13 12 11

Name RSVD CTSEN RTSEN OUT2 OUT1 RTS

Reset 0x0 0x0 0x0 0x0 0x0 0x0

Table 1052: CR Register Bits

RW

Description

RO This bitfield is reserved for future use.

RW This bit enables CTS hardware flow control.

RW This bit enables RTS hardware flow control.

RW This bit holds modem Out2.

RW This bit holds modem Out1.

RW This bit enables request to send.

DS-A3-0p9p1

Page 716 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

10

DTR

9

RXE

8

TXE

7

LBE

6:4

CLKSEL

3

CLKEN

2

SIRLP

1

SIREN

0

UARTEN

Reset 0x0 0x1 0x1 0x0
0x0
0x0 0x0 0x0 0x0

Table 1052: CR Register Bits

RW

Description

RW This bit enables data transmit ready.

RW This bit is the receive enable.

RW This bit is the transmit enable.

RW This bit is the loopback enable.

This bitfield is the UART clock select.

NOCLK = 0x0 - No UART clock. This is the low power default.

24MHZ = 0x1 - 24 MHz clock.

RW

12MHZ = 0x2 - 12 MHz clock. 6MHZ = 0x3 - 6 MHz clock.

3MHZ = 0x4 - 3 MHz clock.

RSVD5 = 0x5 - Reserved.

RSVD6 = 0x6 - Reserved.

RSVD7 = 0x7 - Reserved.

RW This bit is the UART clock enable.

RW This bit is the SIR low power select.

RW This bit is the SIR ENDEC enable.

RW This bit is the UART enable.

17.6.2.9 IFLS Register
FIFO Interrupt Level Select OFFSET: 0x00000034 INSTANCE 0 ADDRESS: 0x4001C034 INSTANCE 1 ADDRESS: 0x4001D034 FIFO Interrupt Level Select

Table 1053: IFLS Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

RXIFLSEL TXIFLSEL

DS-A3-0p9p1

Page 717 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:6

RSVD

5:3

RXIFLSEL

2:0

TXIFLSEL

Table 1054: IFLS Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x2

RW These bits hold the receive FIFO interrupt level.

0x2

RW These bits hold the transmit FIFO interrupt level.

17.6.2.10IER Register
Interrupt Enable OFFSET: 0x00000038 INSTANCE 0 ADDRESS: 0x4001C038 INSTANCE 1 ADDRESS: 0x4001D038 Interrupt Enable

Table 1055: IER Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

OEIM BEIM PEIM FEIM RTIM TXIM RXIM DSRMIM DCDMIM CTSMIM TXCMPMIM

Bit 31:11
10 9 8 7 6 5

Name RSVD OEIM BEIM PEIM FEIM RTIM TXIM

DS-A3-0p9p1

Table 1056: IER Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW This bit holds the overflow interrupt enable.

0x0

RW This bit holds the break error interrupt enable.

0x0

RW This bit holds the parity error interrupt enable.

0x0

RW This bit holds the framing error interrupt enable.

0x0

RW This bit holds the receive timeout interrupt enable.

0x0

RW This bit holds the transmit interrupt enable.

Page 718 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

4

RXIM

3

DSRMIM

2

DCDMIM

1

CTSMIM

0

TXCMPMIM

Reset 0x0 0x0 0x0 0x0 0x0

Table 1056: IER Register Bits

RW

Description

RW This bit holds the receive interrupt enable.

RW This bit holds the modem DSR interrupt enable.

RW This bit holds the modem DCD interrupt enable.

RW This bit holds the modem CTS interrupt enable.

RW This bit holds the modem TXCMP interrupt enable.

17.6.2.11IES Register
Interrupt Status OFFSET: 0x0000003C INSTANCE 0 ADDRESS: 0x4001C03C INSTANCE 1 ADDRESS: 0x4001D03C Interrupt Status

Table 1057: IES Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

OERIS BERIS PERIS FERIS RTRIS TXRIS RXRIS DSRMRIS DCDMRIS CTSMRIS TXCMPMRIS

Bit 31:11
10 9 8 7 6

Name RSVD OERIS BERIS PERIS FERIS RTRIS

DS-A3-0p9p1

Reset 0x0 0x0 0x0 0x0 0x0 0x0

Table 1058: IES Register Bits

RW

Description

RO This bitfield is reserved for future use.

RO This bit holds the overflow interrupt status.

RO This bit holds the break error interrupt status.

RO This bit holds the parity error interrupt status.

RO This bit holds the framing error interrupt status.

RO This bit holds the receive timeout interrupt status.

Page 719 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

5

TXRIS

4

RXRIS

3

DSRMRIS

2

DCDMRIS

1

CTSMRIS

0

TXCMPMRIS

Reset 0x0 0x0 0x0 0x0 0x0 0x0

Table 1058: IES Register Bits

RW

Description

RO This bit holds the transmit interrupt status.

RO This bit holds the receive interrupt status.

RO This bit holds the modem DSR interrupt status.

RO This bit holds the modem DCD interrupt status.

RO This bit holds the modem CTS interrupt status.

RO This bit holds the modem TXCMP interrupt status.

17.6.2.12MIS Register
Masked Interrupt Status OFFSET: 0x00000040 INSTANCE 0 ADDRESS: 0x4001C040 INSTANCE 1 ADDRESS: 0x4001D040 Masked Interrupt Status

Table 1059: MIS Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

OEMIS BEMIS PEMIS FEMIS RTMIS TXMIS RXMIS DSRMMIS DCDMMIS CTSMMIS TXCMPMMIS

Bit 31:11
10 9 8 7

Name RSVD OEMIS BEMIS PEMIS FEMIS

DS-A3-0p9p1

Table 1060: MIS Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RO This bit holds the overflow interrupt status masked.

0x0

RO This bit holds the break error interrupt status masked.

0x0

RO This bit holds the parity error interrupt status masked.

0x0

RO This bit holds the framing error interrupt status masked.

Page 720 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

6

RTMIS

5

TXMIS

4

RXMIS

3

DSRMMIS

2

DCDMMIS

1

CTSMMIS

0

TXCMPMMIS

Table 1060: MIS Register Bits

Reset 0x0

RW

Description

RO This bit holds the receive timeout interrupt status masked.

0x0

RO This bit holds the transmit interrupt status masked.

0x0

RO This bit holds the receive interrupt status masked.

0x0

RO This bit holds the modem DSR interrupt status masked.

0x0

RO This bit holds the modem DCD interrupt status masked.

0x0

RO This bit holds the modem CTS interrupt status masked.

0x0

RO This bit holds the modem TXCMP interrupt status masked.

17.6.2.13IEC Register
Interrupt Clear OFFSET: 0x00000044 INSTANCE 0 ADDRESS: 0x4001C044 INSTANCE 1 ADDRESS: 0x4001D044 Interrupt Clear

Table 1061: IEC Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

OEIC BEIC PEIC FEIC RTIC TXIC RXIC DSRMIC DCDMIC CTSMIC TXCMPMIC

Bit 31:11
10 9 8

Name RSVD OEIC BEIC PEIC

DS-A3-0p9p1

Table 1062: IEC Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

WO This bit holds the overflow interrupt clear.

0x0

WO This bit holds the break error interrupt clear.

0x0

WO This bit holds the parity error interrupt clear.

Page 721 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

7

FEIC

6

RTIC

5

TXIC

4

RXIC

3

DSRMIC

2

DCDMIC

1

CTSMIC

0

TXCMPMIC

Table 1062: IEC Register Bits

Reset 0x0

RW

Description

WO This bit holds the framing error interrupt clear.

0x0

WO This bit holds the receive timeout interrupt clear.

0x0

WO This bit holds the transmit interrupt clear.

0x0

WO This bit holds the receive interrupt clear.

0x0

WO This bit holds the modem DSR interrupt clear.

0x0

WO This bit holds the modem DCD interrupt clear.

0x0

WO This bit holds the modem CTS interrupt clear.

0x0

WO This bit holds the modem TXCMP interrupt clear.

DS-A3-0p9p1

Page 722 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
18. ADC and Temperature Sensor Module
Figure 89. Block Diagram for ADC and Temperature Sensor

... ...

SWT ADC_TT ADC_ET0 ADC_ET1 ADC_ET2 ADC_ET3 VCOMP
ADC_I0 ADC_I1

ADC_I9 ADC_DIFF0 ADC_DIFF1
VSS

Temp Sensor
Battery Resistor Divider

ADC_REF

Bandgap Ref

HFRC Osc

TRIGINT

Mode Controller

VIN
14b ADC

VREFINT

Digital Controller

Calibration

Window Comparator

SLOT0 SLOT1 SLOT2 SLOT3 SLOT4 SLOT5 SLOT6 SLOT7

16 deep FIFO

DMA

18.1 Features
The Analog to Digital Converter (ADC) and Temperature Sensor Module includes a 14 bitmulti-channel Successive Approximation Register (SAR) ADC as shown in Figure 89.
Key features include:
 15 user-selectable channels with sources including: - External pins - 10 single ended - 2 differential pairs - Internal voltage (VSS) - Voltage divider (battery) - Temperature sensor
 Configurable automatic low power control between scans  Optional Battery load enable for voltage divider measurement  Configurable for 14 / 12 / 10 / 8 bit ADC Precision Modes  User-selectable on-chip and off-chip reference voltages  Single shot, repeating single shot, scan, and repeating scan modes  User-selectable clock source for variable sampling rates  Automatically accumulate and scale module for hardware averaging of samples  A 16-entry FIFO and DMA capability for storing measurement results and maximizing MCU sleep time

DS-A3-0p9p1

Page 723 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

 Window comparator for monitoring voltages excursions into or out of user-selectable thresholds  Up to 2.67 MS/s effective continuous, multi-slot sampling rate  Interrupts for FIFO full, FIFO almost full, Scan Complete, Conversion Complete, Window Incursion Win-
dow Excursion
18.2 Functional Overview
The Apollo3 Blue MCU integrates a sophisticated 14 bit successive approximation Analog to Digital Converter (ADC) block for sensing both internal and external voltages. The block provides eight separately managed conversion requests, called slots. The result of each conversion requests is delivered to a 16 deep FIFO. Firmware can utilize various interrupt notifications to determine when to collect the sampled data from the FIFO. This block is extremely effective at automatically managing its power states and its clock sources.
18.2.1 Clock Source and Dividers
The ADC runs off of the HFRC clock source. When the ADC block is enabled and has an active scan in progress, it requests an HFRC clock source. There is an automatic hardware hand shake between the clock generator and the ADC. If the ADC is the only block requesting an HFRC based clock, then the HFRC will be automatically started. The ADC can be configured to completely power down the HFRC between scans if the startup latency is acceptable or it can leave the HFRC powered on between scans if the application requires low latency between successive conversions. The ADC supports 2 clock frequency modes: 24MHz and 48MHz HFRC. 48MHz mode is the default mode of operation.
18.2.2 Channel Analog Mux
As shown in Figure 89, the ADC block contains a channel analog multiplexer on the input port to the analog to digital converter. of the GPIO pins on the can be selected as analog inputs to the ADC through a combination of settings in the PAD configuration registers in the GPIO block and settings in the configuration registers described below.
The analog mux channels are connected as follows:
1. ADC_EXT0 external GPIO pin connection. 2. ADC_EXT1 external GPIO pin connection. 3. ADC_EXT2 external GPIO pin connection. 4. ADC_EXT7 external GPIO pin connection. 5. ADC_EXT8 external GPIO pin connection. 6. ADC_EXT9 external GPIO pin connection. 7. ADC_EXT_DIFF0P external GPIO connection (muxed with EXT8)
ADC_EXT_DIFF0N external GPIO connection (muxed with EXT9)
8. ADC_EXTDIFF1P external GPIO pin connection.
ADC_EXT DIFF1N external GPIO pin connection.
9. ADC_TEMP internal temperature sensor. 10. ADC_DIV3 internal voltage divide by 3 connection to the input power rail. 11. ADC_VSS internal ground connection.

EXT8-9 can be configured as a differential pair providing an additional differential pair or up to 2 singleended inputs from GPIO.
Refer to the detailed register information below for the exact coding of the channel selection bit field. Also the use of the voltage divider and switchable load resistor are detailed below.

DS-A3-0p9p1

Page 724 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
18.2.3 Triggering and Trigger Sources
The ADC block can be initially triggered from one of six sources. Once triggered, it can be repetitively triggered from counter/timer number three (3). Four of the GPIO pins on the Apollo3 Blue MCU can be selected as trigger inputs to the ADC through a combination of settings in the PAD configuration registers in the GPIO block and settings in SLOT configuration registers described below. In addition, there is a software trigger and a vcomp trigger source. The trigger sources are as follows:
0. ADC_EXT0 (TRIG0) external GPIO pin connection. 1. ADC_EXT1 (TRIG1) external GPIO pin connection. 2. ADC_EXT2 (TRIG2) ADC_EXT3 (TRIG3) VCOMP Voltage Comparator trigger. 3. <Reserved> 4. <Reserved> 5. ADC_SWT software trigger.
Refer to the ADC Configuration Register in the detailed register information section below. The initial trigger source is selected in the TRIGSEL field, as shown below. In addition, one can select a trigger polarity in this register applicable for any of the trigger sources except the software trigger. A number of GPIO pin trigger sources are provided to allow pin configuration flexibility at the system definition and board layout phases of development.
The software trigger is effected by writing 0x37 to the software trigger register in the ADC block. Note that writing 0x37 to the software trigger register will initiate a scan regardless of which trigger source is selected. However, a hardware trigger source will not initiate a scan if the software trigger has been selected.
When the ADC is configured for repeat mode, the initial trigger must be initiated by a software trigger and subsequent scans will be initiated at a repeating rate set by the counter/timer3 configuration. The discussion of the use of counter/timer three as a source for repetitive triggering is deferred until later in this chapter.
Finally it is important to note that a trigger event applies to all enabled slots as a whole. Individual slots can not be separately triggered.
18.2.4 Voltage Reference Sources
The Apollo3 Blue MCU ADC allows one of two reference sources each with two different voltage options to be used for the analog to digital conversion step:
 Internal 2.0V reference source  Internal 1.5V reference source  External 2.0V reference source  External 1.5V reference source
18.2.5 Eight Automatically Managed Conversion Slots
The ADC block contains eight conversion slot control registers, one for each of the eight slots. These can be thought of as time slots in the conversion process. When a slot is enabled, it participates in a conversion cycle. The ADC's mode controller cycles through up to eight time slots each time it is triggered. For each slot that is enabled, a conversion cycle is performed based on the settings in the slot configuration register for that slot. Slots are enabled when the LSB of the slot configuration is set to one. See "One SLOT Configuration Register" on page 726.

DS-A3-0p9p1

Page 725 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1063: One SLOT Configuration Register
33222222222211111111110000000000 10987654321098765432109876543210

Reserved

# Samples
to Accum.

Reserved

CHANNEL SELECT

Reserved

WINDOW_COMP SLOT_ENABLE

The window comparator enable will be discussed in a subsequent section, below. See "DMA" on page 730. The number of samples to accumulate will also be explained in a subsequent section. See "Automatic Sample Accumulation and Scaling" on page 726.
As described above, the channel select bit field specifies which one of the analog multiplexer channels will be used for the conversions requested for an individual slot. See "Channel Analog Mux" on page 724.
Each of the eight conversion slots can independently specify:
 Analog Multiplexer Channel Selection  Participation in Window Comparisons  Automatic Sample Accumulation
18.2.6 Automatic Sample Accumulation and Scaling
The ADC block offers a facility for the automatic accumulation of samples without requiring core involvement. Thus up to 128 samples per slot can be accumulated without waking the core. This facilitates averaging algorithms to smooth out the data samples. Each slot can request from 1 to 128 samples to be accumulated before producing a result in the FIFO. NOTE: each slot can independently specify how many samples to accumulate so results can enter the FIFO from different slots at different rates.
All slots write their accumulated results to the FIFO in exactly the same format regardless of how many samples were accumulated to produce the results. shows the format that is used by all conversions. This is a scaled integer format with a 6-bit fractional part. The precision mode for each determines the format for the FIFO data. 14-bit, 12-bit, 10-bit and 8-bit precision modes respectively correspond to 14.6, 12.6, 10.6 and 8.6 formats.
IMPORTANT: if the accumulation control for a slot is set for one sample with 14-bit precision, then the 14bit value coming from the ADC will be inserted into bits 6 through 19 in this format and the lower 6 bits are zero'd. If the accumulation control for a slot is set for two samples with 8-bit precision, then the 8-bit average integer value will be placed in bits 6 through 13, the 1 bit fractional number is placed in bit 5 and the lower 5 fractional bits are zero'd.

Table 1064: 10.6 ADC Sample Format

11111111110000000000 98765432109876543210

14-bit Integer

6-bit Fraction

Each slot contains a 21-bit accumulator as shown in Table 1065, "Per Slot Sample Accumulator," on page 727. When the ADC is triggered for the last sample of an accumulation, the accumulator is cleared

DS-A3-0p9p1

Page 726 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

and the FIFO will be written with the final average value. When each active slot obtains a sample from the ADC, it is added to the value in its accumulator.
If a slot is set to accumulate 128 samples per result then the accumulator could reach a maximum value of:
128*(214-1) = 128*16383 = 2097024 = 221 - 128, hence the 21 bit accumulator.

Table 1065: Per Slot Sample Accumulator
211111111110000000000 098765432109876543210
Accumulator
Table 1066 shows the maximum possible accumulated values. Note that 64 sample accumulation produces a result that is exactly correct or the 14.6 format results so it is copied unscaled in to the FIFO.
Furthermore, note that 128 sample accumulation can produce a result that is too large for the 14.6 format since it may result in 7 bits of valid fractional data. All of the remaining sample accumulation settings must have their results left shifted to produce the desired 14.6 format.
Finally, note that for the 128 sample accumulation case, the LSB of the accumulator is discarded when the results are written to the FIFO.
Most importantly, note that for the 1 sample accumulation case, the 14-bit converter value is shifted left by six to produce the 14.6 format to write into the FIFO.

# Samples
128 64 32 16 8 4 2 1

Table 1066: Accumulator Scaling

211111111110000000000 098765432109876543210

14.6

0

X

14.6

XX

14.5

XXX

14.4

XXXX

14.3

XXXXX

14.2

XXXXXX

14.1

XXXXXXX

14

18.2.7 Sixteen Entry Result FIFO
All results written to the FIFO have exactly the same format as shown in Table 1067. The properly scaled accumulation results are written the lower half word in the aforementioned 14.6 format. Since each slot can

DS-A3-0p9p1

Page 727 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

produce results at a different rate, the slot number generating the result is also written to the FIFO along with the total valid entry count within the FIFO.

Table 1067: FIFO Register

33222222222211111111110000000000 10987654321098765432109876543210

R S V

Slot Number.

FIFO Count

FIFO DATA

# Samples
128 64 32 16 8 4 2 1

Table 1068: 14-bit FIFO Data Format

1 9

1 8

1 7

1 6

1 5

1 4

1 3

1 2

1 1

1 0

9

8

7

6

5

4

32 1 0

14.6

14.6

14.5

X

14.4

XX

14.3

XXX

14.2

XX X X

14.1

X XX X X

14

X X XX X X

# Samples
128 64 32 16 8 4 2 1

Table 1069: 12-bit FIFO Data Format

1 9

1 8

1 7

1 6

1 5

1 4

1 3

1 2

1 1

1 0

9

8

7

6

5

4

32 1 0

00

12.6

00

12.6

00

12.5

X

00

12.4

XX

00

12.3

XXX

00

12.2

XX X X

00

12.1

X XX X X

00

12

X X XX X X

# Samples 128

Table 1070: 10-bit FIFO Data Format

1 9

1 8

1 7

1 6

1 5

1 4

1 3

1 2

1 1

1 0

9

8

7

6

5

4

32 1 0

0000

10

6

DS-A3-0p9p1

Page 728 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

# Samples
64 32 16 8 4 2 1

Table 1070: 10-bit FIFO Data Format

1 9

1 8

1 7

1 6

1 5

1 4

1 3

1 2

1 1

1 0

9

8

7

6

5

4

32 1 0

0000

10

6

0000

10

5

X

0000

10

4

XX

0000

10

3 XXX

0000

10

2 XX X X

0000

10

1 X XX X X

0000

10

X X XX X X

# Samples
128 64 32 16 8 4 2 1

Table 1071: 8-bit FIFO Data Format

1 9

1 8

1 7

1 6

1 5

1 4

1 3

1 2

1 1

1 0

9

8

7

6

5

4

32 1 0

000000

8.6

000000

8.6

000000

8.5

X

000000

8.4

XX

000000

8.3

XXX

000000

8.2

XX X X

000000

8.1

X XX X X

000000

8

X X XX X X

Software accesses the contents of the FIFO through the ADCFIFO register. This register will be written by the ADC digital controller simultaneous with the conversion complete interrupt (if enabled) after accumulating the number of samples to average configured for the slot. The ADCFIFO register contains the earliest written data, the number of valid entries within the FIFO and the slot number associated with the FIFO data. Thus the interrupt handler servicing ADC interrupts can easily distribute results to different RTOS tasks by simply looking up the target task using the slot number from the FIFO register.
Three other features greatly simplify the task faced by firmware developers of interrupt service routines for the ADC block:
1. The FIFO count bit field is not really stored in the FIFO. Instead it is a live count of the number of valid entries currently residing in the FIFO. If the interrupt service routine was entered because of a conversion then this value will be at least one. When the interrupts routine is entered it can pull successive sample values from the FIFO until this bit field goes to zero. Thus avoiding wasteful re-entry of the interrupt service routine. Note that no further I/O bus read is required to determine the FIFO depth.
2. This FIFO has no read side effects. This is important to firmware for a number of reasons. One important result is that the FIFO register can be freely read repetitively by a debugger without affecting the state of the FIFO. In order to pop this FIFO and look at the next result, if any, one simply writes any value to this register. Any time the FIFO is read, then the compiler has gone to the trouble of generating an address for the read. To pop the FIFO, one simply writes to that same address with any value. This give firmware a positive handshake mechanism to control exactly when the FIFO pops.
3. When a conversion completes resulting in hardware populating the 12th valid FIFO entry, the FIFOOVR1 (FIFO 75% full) interrupt status bit will be set. When a conversion completes resulting in

DS-A3-0p9p1

Page 729 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

hardware populating the 8th valid FIFO entry, the FIFOOVR2 interrupt status bit will be set. In a FIFO full condition with 16 valid entries, the ADC will not overwrite existing valid FIFO contents. Before subsequent conversions will populate the FIFO with conversion data, software must free an open FIFO entry by writing to the FIFO Register or by resetting the ADC by disabling and enabling the ADC using the ADC_CFG register.
18.2.8 DMA
When enabled, the ADC can use DMA to keep its FIFO serviced and transfers samples to SRAM. Generally, DMA should be used when the desired use case is autonomous recording of samples to a preallocated buffer in SRAM. The buffer may be byte-aligned but must be a word-multiple in size.
The general steps to enabling ADC DMA are as follows:
1. Ensure SRAM target(s) are powered up. 2. Power up the ADC if it's not already on. 3. Configure ADC slots and ADCCFG register. 4. Set DMATOTCOUNT to the total amount of data to transfer. While the DMA is in progress, this reg-
ister contains a live count of the remaining data to transfer. 5. Configure DMATARGADDR, the SRAM target byte address, for the location in memory of the first
sample to be written by DMA. 6. Select a DMA trigger level by configuring DMATRIGEN to either FIFO 100% full or FIFO 75% full.
This defines what conditions will initiate a DMA transfer. 7. Configure DMACFG, including setting DMAEN. 8. Trigger the ADC multiple times, using either the timer trigger (when using repeat mode), multiple
SW triggers, or multiple external triggers.
Each time the FIFO fills to the appropriate level, the DMA will start and the FIFO will be drained. During this time, depending on the particular use case, it may be appropriate to put the MCU to sleep or deepsleep.
To monitor progress of the DMA, there is a DMASTAT status register. When the DMA is actively transferring data from the ADC FIFO to SRAM, DMATIP will be asserted. At the end of an entire transfer (DMATOTCOUNT reaches 0), then DMACPL will be set. Last, but not least, if an error occurs due to the DMA being asked to perform an illegal operation, DMAERR will be asserted. Causes of a DMA error include:
 DMA transfers to address outside SRAM memory region  Popping from the FIFO while the DMA is underway
Care must be taken to avoid powering down SRAM that the DMA wants to write to.
If the DMA complete interrupt is enabled, this can be used to wake the MCU from sleep or deepsleep and communicate that the SRAM buffer has been filled and is ready for processing. The DMA error interrupt may also be used to signal the MCU that there is a problem with the DMA configuration.
To recover from a DMA error, disable any repeating trigger, disable the DMA via DMACFG's DMAEN field, and manually drain the ADC FIFO. Then follow the procedure described above for enabling ADC DMA while correcting the configuration issue.
Some additional capabilities of the DMA include:
 ADC auto-power-off upon DMA completion: This feature, enabled via the DMACFG register's DPWROFF field, allows the ADC to power off once DMATOTCOUNT reaches zero. Note that this feature is incompatible with waking the MCU from sleep or deepsleep using the DMA complete interrupt.
 Masking FIFOCNT and SLOTNUM data from FIFO data: The DMA engine can be configured to write only samples to SRAM without the FIFOCNT and SLOTNUM data. This allows the MCU to skip the manual process of masking the potentially undesirable upper bits of each data value written to SRAM.

DS-A3-0p9p1

Page 730 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

18.2.9 Window Comparator
A window comparator is provided which can generate an interrupt whenever a sample is determined to be inside the window limits or outside the window limits. These are two separate interrupts with separate interrupt enables. Thus one can request an interrupt any time a specified slot makes an excursion outside the window comparator limits.
The window comparison function has an option for comparing the contents of the limits registers directly with the FIFO data (default) or for scaling the limits register depending on the precision mode selected for the slots.
Firmware has to participate in the determination of whether an actual excursion occurred. The window comparator interrupts set their corresponding interrupt status bits continuously whenever the inside or outside condition is true. Thus if one enables and receives an "excursion" interrupt then the status bit can't be usefully cleared while the ADC slot is sampling values outside the limits. That is, if one receives an excursion interrupt and clears the status bit, it will immediately set again if the next ADC sample is still outside the limits. Thus firmware should reconfigure the interrupt enables upon receiving an excursion interrupt so that the next interrupt will occur when an ADC sample ultimately goes back inside the window limits. Firmware may also want to change the windows comparator limit at that time to utilize a little hysteresis in these window comparator decisions.
Table 1072: Window Comparator Lower Limit Register
11111111110000000000 98765432109876543210
Lower Limit

Table 1073: Window Comparator Upper Limit Register
11111111110000000000 98765432109876543210
Upper Limit
The determination of whether a sample is inside or outside of the window limits is made by comparing the data format of the slot result written to the FIFO with the 20 bit window limits. An ADC sample is inside if the following relation is true:
14.6 Lower Limit <= ADC SAMPLE <= 14.6 Upper Limit
Thus setting both limits to the same value, say 700.0 (0x2BC<<6 = 0xAF00), will only produce an inside interrupt when the ADC sample is exactly 700.0 (0xAF00). Furthermore, note that if the lower limit is set to zero (0x00000) and the upper limit is set to 0xFFFFF then all accumulated results from the ADC will be inside the window limits and no excursion interrupts can ever by generated. In fact, in this case, the incursion interrupt status bit will be set for every sample from any active slot with its window comparator bit enabled. If the incursion interrupt is enabled then an interrupt will be generated for every such sample written to the FIFO.
The window comparator limits are a shared resource and apply to all active slots which have their window comparator bits enabled. If window limits are enabled for multiple enabled slots with different precision modes, the window comparison function can be configured to automatically scale the 14.6 upper and lower

DS-A3-0p9p1

Page 731 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
limits value to match the corresponding precision mode format for the enabled slots through the ADCSCWLIM register.
18.3 Operating Modes and the Mode Controller
The mode controller of Figure 89 is a sophisticated state machine that manages not only the time slot conversions but also the power state of the ADC analog components and the hand shake with the clock generator to start the HFRC clock source if required. Thus once the various control registers are initialized, the core can go to sleep and only wake up when there are valid samples in the FIFO for the interrupt service routine to distribute. Firmware does not have to keep track of which block is using the HFRC clock source since the devices in conjunction with the clock generator manage this automatically. The ADC block's mode controller participates in this clock management protocol.
From a firmware perspective, the ADC mode controller is controlled from bit fields in the ADC configuration register and from the various bit fields in the eight slot configuration registers.
The most over-riding control is the ADC enable bit in the PWR_CTRL_DEVICE_EN register of the power control block. This bit must be set to '1' to enable power to the ADC subsystem. Furthermore, the ADCEN bit in the ADC configuration register is a global functional enable bit for general ADC operation. Setting this bit to zero has many of the effects of a software reset, such as reseting the FIFO pointers. Setting this bit to one enables the mode controller to examine its inputs and proceed to autonomously handle analog to digital conversions.
An ADC scan is the process of sampling the analog voltages at each input of the ADC of Figure 89 following a trigger event. If the ADC is enabled and one or more slots are enabled, a scan is initiated after the ADC receives a trigger through one of the configured trigger sources. The scan flowchart diagram can be found in Figure 90
An ADC conversion is the process of averaging measurements following one or more scans for each slot that is enabled.

DS-A3-0p9p1

Page 732 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

START SCAN Slot n = 0

Load Accumulate/ Divide Count
(ADSEL(n) : 0 ­ 127)

SLOT n Enabled? N

Y

Y

Initial Trigger?

N

Sample Count(n) == ADSEL(n)? Y

N
Increment Sample Count(n)

Sample, Accumulate, Initial Trigger = 0

Y Sample Count(n) == ADSEL(n)?

Conversion Complete / Write FIFO, Initial Tigger = 1

N

Increment n n == 7?

SCAN DONE
Figure 90. Scan Flowchart
18.3.1 Single Mode
In single mode, one trigger event produces one scan of all enabled slots. Depending on the settings of the accumulate and scale bit field for the active slots, this may or may not result in writing a result to the FIFO. When the trigger source is an external pin then one external pin transition of the proper polarity will result in one complete scan of all enabled slots. If the external pin is connected to a repetitive pulse source then repeating scans of all enabled slots are run at the input trigger rate.

DS-A3-0p9p1

Page 733 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

18.3.2 Repeat Mode
Counter/Timer 3A has a bit in its configuration register that allows it to be a source of repetitive triggers for the ADC. If counter/timer 3 is initialized for this purpose then one only needs to turn on the RPTEN bit in the ADC configuration registers to enable this mode in the ADC.
NOTE: the mode controller does not process these repetitive triggers from the counter/timer until a first triggering event occurs from the normal trigger sources. Thus one can select software triggering in the TRIGSEL field and set up all of the other ADC registers for the desired sample acquisitions. Then one can write to the software trigger register and the mode controller will enter REPEAT mode. In repeat mode, the mode controller waits only for each successive counter/timer 3A input to launch a scan of all enabled slots.

18.3.3 Low Power Modes
An application may use the ADC in one of three power modes. Each mode has different implications from overall energy perspective relative to the startup latency from trigger-to-data as well as the standby power consumed. The table below is intended to provide guidance on which mode may be more effective based on latency tolerance. This table should only be used as a reference.

Table 1074: ADC Power Modes

LPMODE

Definition

0

ADC is kept active continuously (used in continuous sampling scenarios)

ADC is mostly powered off between samples, HFRC is duty

1

cycled between samples. No calibration required after initial

calibration)

ADC is completely powered off between samples, HFRC is

2

duty cycled between samples. Requires recalibration for each

conversion.

Entry Latency
0 (requires initial
calibration)
<70s (shorter for lower
resolution)
<660s

18.3.3.1 Low Power Mode 0
Low Power Mode 0 (LPMODE0) enables the lowest latency from trigger to conversion data available. This mode leaves the reference buffer powered on between scans to bypass any startup latency between triggers1.
18.3.3.2 Low Power Mode 1
Low power mode 1 (LPMODE1) is a power mode whereby the ADC Digital Controller will automatically power off the ADC clocks, analog ADC and reference buffer between scans while maintaining ADC calibration data. This mode may operate autonomously without CPU interaction, even while the CPU is in sleep or deepsleep mode for repeat mode triggers or hardware triggers. While operating in this mode, the ADC Digital Controller may be used to burst through multiple scans enabling max sample rate data collection if the triggers are running at a rate at least 2x the maximum sample rate until the final scan has completed. When a scan completes without a pending trigger latched, the ADC subsystem will enter a low power state until the next trigger event.
18.3.3.3 Low Power Mode 2
If desirable, for applications requiring infrequent conversions, software may choose to operate the ADC in LPMODE2, whereby the full ADC Analog and Digital subsystem remains completely powered off between samples. In this use case, the software configures the power control ADC enable register followed by

1.

DS-A3-0p9p1

Page 734 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

configuring the ADC slots and the ADC configuration register between conversion data collections, followed by disabling the ADC in the power control ADC enable register. Although this mode provides extremely low power operation, using the ADC in this mode will result in a cold start latency including reference buffer stabilization delay and a calibration sequence 100's of microseconds, nominally. In this mode, the ADC must be reconfigured prior to any subsequent ADC operation.
18.4 Interrupts
The ADC has 6 interrupt status bits with corresponding interrupt enable bits, as follows:
1. Conversion Complete Interrupt 2. Scan Complete Interrupt 3. FIFO Overflow Level 1 4. FIFO Overflow Level 2 5. Window Comparator Excursion Interrupt (a.k.a. outside interrupt) 6. Window Comparator Incursion Interrupt (a.k.a. inside interrupt) 7. DMA transfer complete 8. DMA error condition
The window comparator interrupts are discussed above, see Section 18.2.8
There are two interrupts based on the fullness of the FIFO. When the respective interrupts are enabled, Overflow 1 fires when the FIFO reaches 75% full, viz. 6 entries. Overflow 2 fires when the FIFO is completely full.
When enabled, the conversion complete interrupt fires when a single slot completes its conversion and the resulting conversion data is pushed into the FIFO.
When enabled, the scan complete interrupt indicates that all enabled slots have sampled their respective channels following a trigger event.
When a single slot is enabled and programmed to average over exactly one measurement and the scan complete and conversion complete interrupts are enabled, a trigger event will result in the conversion complete and scan complete interrupts firing simultaneously upon completion of the ADC scan. Again, if both respective interrupts are enabled and a single slot is enabled and programmed to average over 128 measurements, 128 trigger events result in 128 scan complete interrupts and exactly one conversion complete interrupt following the 128 ADC scans. When multiple slots are enabled with different settings for the number of measurements to average, the conversion complete interrupt signifies that one or more of the conversions have completed and the FIFO contains valid data for one or more of the slot conversions.
The DMA transfer complete interrupt is triggered upon completion of the currently configured DMA.
The DMA error interrupt is triggered if the DMA has been instructed to perform an illegal operation such as:
 writing outside SRAM  writing to powered-down SRAM (doesn't always work - CORVETTE-628, CORVETTE-800)  popping from the FIFO while the DMA is underway
The DMA supports none of these features.
18.5 Voltage Divider and Switchable Battery Load
The Apollo3 Blue MCU's ADC includes a switchable voltage divider that enables the ADC to measure the input voltage to the VDD rail. In most systems this will be the battery voltage applied to the MCU chip. The voltage divider is only switched on when one of the active slots is selecting analog mux channel 15. That is only when the mode controller is ultimately triggered and powers up the ADC block for a conversion scan of all active slots. Otherwise, the voltage divider is turned off.

DS-A3-0p9p1

Page 735 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

ADC_I0
ADC_I9 ADC_DIFF0 ADC_DIFF1
VSS VDD
Input Voltage

...
...

Temp Sensor

VIN
ADC

5K 10K

 1/3 Ron 500

Select Ch 0xD BATTLOAD

Figure 91. Switchable Battery Load

The switchable load resistor is enabled by the BATTLOAD bit as shown in the ADCBATTLOAD Register of the MCUCTRL Registers.
This feature is used to help estimate the health of the battery chemistry by estimating the internal resistance of the battery.
ADC Registers
Analog Digital Converter Control
INSTANCE 0 BASE ADDRESS:0x50010000
This is the detailed description of the Analog Digital Converter Register Block. The ADC Register Block contains the software control for enablement, slot configuration, clock configuration, trigger configuration, temperature sensor enablement, power modes, accumulate/divide, window comparison and interrupt control for the ADC functional unit.
Register Memory Map

Table 1075: ADC Register Map

Address(s) 0x50010000 0x50010004 0x50010008 0x5001000C 0x50010010

Register Name CFG STAT SWT SL0CFG SL1CFG

Description Configuration Register ADC Power Status Software trigger Slot 0 Configuration Register Slot 1 Configuration Register

DS-A3-0p9p1

Page 736 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1075: ADC Register Map

Address(s)
0x50010014 0x50010018 0x5001001C 0x50010020 0x50010024 0x50010028 0x5001002C 0x50010030 0x50010038 0x5001003C 0x50010200 0x50010204 0x50010208 0x5001020C 0x50010240 0x50010244 0x50010280 0x50010284 0x50010288 0x5001028C 0x50010290

Register Name
SL2CFG SL3CFG SL4CFG SL5CFG SL6CFG SL7CFG WULIM WLLIM FIFO FIFOPR INTEN INTSTAT INTCLR INTSET DMATRIGEN DMATRIGSTAT DMACFG DMABCOUNT DMATOTCOUNT DMATARGADDR DMASTAT

Description
Slot 2 Configuration Register Slot 3 Configuration Register Slot 4 Configuration Register Slot 5 Configuration Register Slot 6 Configuration Register Slot 7 Configuration Register Window Comparator Upper Limits Register Window Comparator Lower Limits Register FIFO Data and Valid Count Register FIFO Data and Valid Count Register ADC Interrupt registers: Enable ADC Interrupt registers: Status ADC Interrupt registers: Clear ADC Interrupt registers: Set DMA Trigger Enable Register DMA Trigger Status Register DMA Configuration Register DMA Burst Transfer Count DMA Total Transfer Count DMA Target Address Register DMA Status Register

ADC Registers
CFG Register
Configuration Register
OFFSET: 0x00000000
INSTANCE 0 ADDRESS: 0x50010000
The ADC Configuration Register contains the software control for selecting the clock frequency used for the SAR conversions, the trigger polarity, the trigger select, the reference voltage select, the low power mode, the operating mode (single scan per trigger vs. repeating mode) and ADC enable.

DS-A3-0p9p1

Page 737 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1076: CFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

RSVD

CLKSEL TRIGPOL TRIGSEL DFIFORDEN
RSVD REFSEL CKMODE LPMODE RPTEN
RSVD ADCEN

Bit 31:26

Name RSVD

25:24

CLKSEL

23:20

RSVD

19

TRIGPOL

18:16

TRIGSEL

15:13

RSVD

12

DFIFORDEN

11:10

RSVD

Table 1077: CFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Select the source and frequency for the ADC clock. All values not enumerated below are undefined.

OFF = 0x0 - Off mode. The HFRC or HFRC_DIV2 clock must be selected

0x0

RW

for the ADC to function. The ADC controller automatically shuts off the clock in it's low power modes. When setting ADCEN to '0', the CLKSEL should

remain set to one of the two clock selects for proper power down sequenc-

ing.

HFRC = 0x1 - HFRC Core Clock divided by (CORESEL+1)

HFRC_DIV2 = 0x2 - HFRC Core Clock / 2 further divided by (CORESEL+1)

0x0

RO RESERVED.

This bit selects the ADC trigger polarity for external off chip triggers.

0x0

RW RISING_EDGE = 0x0 - Trigger on rising edge.

FALLING_EDGE = 0x1 - Trigger on falling edge.

Select the ADC trigger source.

EXT0 = 0x0 - Off chip External Trigger0 (ADC_ET0)

0x0

RW

EXT1 = 0x1 - Off chip External Trigger1 (ADC_ET1) EXT2 = 0x2 - Off chip External Trigger2 (ADC_ET2)

EXT3 = 0x3 - Off chip External Trigger3 (ADC_ET3)

VCOMP = 0x4 - Voltage Comparator Output

SWT = 0x7 - Software Trigger

0x0

RO RESERVED.

Destructive FIFO Read Enable. Setting this will enable FIFO pop upon reading the FIFOPR register.

0x0

RW DIS = 0x0 - Destructive Reads are prevented. Reads to the FIFOPR register

will not POP an entry off the FIFO.

EN = 0x1 - Reads to the FIFOPR register will automatically pop an entry off

the FIFO.

0x0

RO RESERVED.

DS-A3-0p9p1

Page 738 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

9:8

REFSEL

7:5

RSVD

4

CKMODE

3

LPMODE

2

RPTEN

1

RSVD

0

ADCEN

Table 1077: CFG Register Bits

Reset

RW

Description

Select the ADC reference voltage.

0x0

RW

INT2P0 = 0x0 - Internal 2.0V Bandgap Reference Voltage INT1P5 = 0x1 - Internal 1.5V Bandgap Reference Voltage

EXT2P0 = 0x2 - Off Chip 2.0V Reference

EXT1P5 = 0x3 - Off Chip 1.5V Reference

0x0

RO RESERVED.

Clock mode register

0x0

RW

LPCKMODE = 0x0 - Disable the clock between scans for LPMODE0. Set LPCKMODE to 0x1 while configuring the ADC.

LLCKMODE = 0x1 - Low Latency Clock Mode. When set, HFRC and the

adc_clk will remain on while in functioning in LPMODE0.

Select power mode to enter between active scans.

MODE0 = 0x0 - Low Power Mode 0. Leaves the ADC fully powered

between scans with minimum latency between a trigger event and sample

0x0

RW data collection.

MODE1 = 0x1 - Low Power Mode 1. Powers down all circuity and clocks

associated with the ADC until the next trigger event. Between scans, the ref-

erence buffer requires up to 50us of delay from a scan trigger event before

the conversion will commence while operating in this mode.

This bit enables Repeating Scan Mode.

SINGLE_SCAN = 0x0 - In Single Scan Mode, the ADC will complete a sin-

gle scan upon each trigger event.

0x0

RW

REPEATING_SCAN = 0x1 - In Repeating Scan Mode, the ADC will complete it's first scan upon the initial trigger event and all subsequent scans will

occur at regular intervals defined by the configuration programmed for the

CTTMRA3 internal timer until the timer is disabled or the ADC is disabled.

When disabling the ADC (setting ADCEN to '0'), the RPTEN bit should be

cleared.

0x0

RO RESERVED.

This bit enables the ADC module. While the ADC is enabled, the ADCCFG

and SLOT Configuration register settings must remain stable and

unchanged. All configuration register settings, slot configuration settings

0x0

RW

and window comparison settings should be written prior to setting the ADCEN bit to '1'.

DIS = 0x0 - Disable the ADC module. EN = 0x1 - Enable the ADC module.

STAT Register
ADC Power Status
OFFSET: 0x00000004
INSTANCE 0 ADDRESS: 0x50010004
This register indicates the basic power status for the ADC. For detailed power status, see the power control power status register. ADC power mode 0 indicates the ADC is in it's full power state and is ready to process scans. ADC Power mode 1 indicates the ADC enabled and in a low power state.

DS-A3-0p9p1

Page 739 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1078: STAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

PWDSTAT

Bit

Name

31:1

RSVD

0

PWDSTAT

Table 1079: STAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

Indicates the power-status of the ADC.

0x0

RO ON = 0x0 - Powered on.

POWERED_DOWN = 0x1 - ADC Low Power Mode 1.

SWT Register Software trigger OFFSET: 0x00000008 INSTANCE 0 ADDRESS: 0x50010008 This register enables initiating an ADC scan through software.

Table 1080: SWT Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

SWT

Bit

Name

31:8

RSVD

7:0

SWT

Table 1081: SWT Register Bits

Reset 0x0

RW RO RESERVED.

Description

Writing 0x37 to this register generates a software trigger.

0x0

RW GEN_SW_TRIGGER = 0x37 - Writing this value generates a software trig-

ger.

SL0CFG Register Slot 0 Configuration Register

DS-A3-0p9p1

Page 740 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

OFFSET: 0x0000000C INSTANCE 0 ADDRESS: 0x5001000C Slot 0 Configuration Register

Table 1082: SL0CFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

CHSEL0

RSVD

ADSEL0 PRMODE0
WCEN0 SLEN0

Bit 31:27

Name RSVD

26:24

ADSEL0

23:18

RSVD

17:16

PRMODE0

15:12

RSVD

Table 1083: SL0CFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Select the number of measurements to average in the accumulate divide module for this slot.

AVG_1_MSRMT = 0x0 - Average in 1 measurement in the accumulate

divide module for this slot.

AVG_2_MSRMTS = 0x1 - Average in 2 measurements in the accumulate

divide module for this slot.

AVG_4_MSRMTS = 0x2 - Average in 4 measurements in the accumulate

divide module for this slot.

0x0

RW AVG_8_MSRMT = 0x3 - Average in 8 measurements in the accumulate

divide module for this slot.

AVG_16_MSRMTS = 0x4 - Average in 16 measurements in the accumulate

divide module for this slot.

AVG_32_MSRMTS = 0x5 - Average in 32 measurements in the accumulate

divide module for this slot.

AVG_64_MSRMTS = 0x6 - Average in 64 measurements in the accumulate

divide module for this slot.

AVG_128_MSRMTS = 0x7 - Average in 128 measurements in the accumu-

late divide module for this slot.

0x0

RO RESERVED.

Set the Precision Mode For Slot.

0x0

RW

P14B = 0x0 - 14-bit precision mode P12B = 0x1 - 12-bit precision mode

P10B = 0x2 - 10-bit precision mode

P8B = 0x3 - 8-bit precision mode

0x0

RO RESERVED.

DS-A3-0p9p1

Page 741 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

11:8

CHSEL0

7:2

RSVD

1

WCEN0

0

SLEN0

Table 1083: SL0CFG Register Bits

Reset

RW

Description

Select one of the 14 channel inputs for this slot.

SE0 = 0x0 - single ended external GPIO connection to pad16.

SE1 = 0x1 - single ended external GPIO connection to pad29.

SE2 = 0x2 - single ended external GPIO connection to pad11.

SE3 = 0x3 - single ended external GPIO connection to pad31.

SE4 = 0x4 - single ended external GPIO connection to pad32.

SE5 = 0x5 - single ended external GPIO connection to pad33.

SE6 = 0x6 - single ended external GPIO connection to pad34.

0x0

RW SE7 = 0x7 - single ended external GPIO connection to pad35.

SE8 = 0x8 - single ended external GPIO connection to pad13.

SE9 = 0x9 - single ended external GPIO connection to pad12.

DF0 = 0xA - differential external GPIO connections to pad12(N) and

pad13(P).

DF1 = 0xB - differential external GPIO connections to pad15(N) and

pad14(P).

TEMP = 0xC - internal temperature sensor.

BATT = 0xD - internal voltage divide-by-3 connection.

VSS = 0xE - Input VSS

0x0

RO RESERVED.

This bit enables the window compare function for slot 0.

0x0

RW

WCEN = 0x1 - Enable the window compare for slot 0.

This bit enables slot 0 for ADC conversions.

0x0

RW

SLEN = 0x1 - Enable slot 0 for ADC conversions.

SL1CFG Register Slot 1 Configuration Register OFFSET: 0x00000010 INSTANCE 0 ADDRESS: 0x50010010 Slot 1 Configuration Register

Table 1084: SL1CFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

CHSEL1

RSVD

ADSEL1 PRMODE1
WCEN1 SLEN1

Bit 31:27

Name RSVD

DS-A3-0p9p1

Table 1085: SL1CFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Page 742 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

26:24

ADSEL1

23:18

RSVD

17:16

PRMODE1

15:12

RSVD

11:8

CHSEL1

7:2

RSVD

1

WCEN1

0

SLEN1

DS-A3-0p9p1

Table 1085: SL1CFG Register Bits

Reset

RW

Description

Select the number of measurements to average in the accumulate divide module for this slot.

AVG_1_MSRMT = 0x0 - Average in 1 measurement in the accumulate

divide module for this slot.

AVG_2_MSRMTS = 0x1 - Average in 2 measurements in the accumulate

divide module for this slot.

AVG_4_MSRMTS = 0x2 - Average in 4 measurements in the accumulate

divide module for this slot.

0x0

RW AVG_8_MSRMT = 0x3 - Average in 8 measurements in the accumulate

divide module for this slot.

AVG_16_MSRMTS = 0x4 - Average in 16 measurements in the accumulate

divide module for this slot.

AVG_32_MSRMTS = 0x5 - Average in 32 measurements in the accumulate

divide module for this slot.

AVG_64_MSRMTS = 0x6 - Average in 64 measurements in the accumulate

divide module for this slot.

AVG_128_MSRMTS = 0x7 - Average in 128 measurements in the accumu-

late divide module for this slot.

0x0

RO RESERVED.

Set the Precision Mode For Slot.

0x0

RW

P14B = 0x0 - 14-bit precision mode P12B = 0x1 - 12-bit precision mode

P10B = 0x2 - 10-bit precision mode

P8B = 0x3 - 8-bit precision mode

0x0

RO RESERVED.

Select one of the 14 channel inputs for this slot.

SE0 = 0x0 - single ended external GPIO connection to pad16.

SE1 = 0x1 - single ended external GPIO connection to pad29.

SE2 = 0x2 - single ended external GPIO connection to pad11.

SE3 = 0x3 - single ended external GPIO connection to pad31.

SE4 = 0x4 - single ended external GPIO connection to pad32.

SE5 = 0x5 - single ended external GPIO connection to pad33.

SE6 = 0x6 - single ended external GPIO connection to pad34.

0x0

RW SE7 = 0x7 - single ended external GPIO connection to pad35.

SE8 = 0x8 - single ended external GPIO connection to pad13.

SE9 = 0x9 - single ended external GPIO connection to pad12.

DF0 = 0xA - differential external GPIO connections to pad12(N) and

pad13(P).

DF1 = 0xB - differential external GPIO connections to pad15(N) and

pad14(P).

TEMP = 0xC - internal temperature sensor.

BATT = 0xD - internal voltage divide-by-3 connection.

VSS = 0xE - Input VSS

0x0

RO RESERVED.

This bit enables the window compare function for slot 1.

0x0

RW

WCEN = 0x1 - Enable the window compare for slot 1.

This bit enables slot 1 for ADC conversions.

0x0

RW

SLEN = 0x1 - Enable slot 1 for ADC conversions.

Page 743 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

SL2CFG Register Slot 2 Configuration Register OFFSET: 0x00000014 INSTANCE 0 ADDRESS: 0x50010014 Slot 2 Configuration Register

Table 1086: SL2CFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

CHSEL2

RSVD

ADSEL2 PRMODE2
WCEN2 SLEN2

Bit 31:27

Name RSVD

26:24

ADSEL2

23:18

RSVD

17:16

PRMODE2

15:12

RSVD

Table 1087: SL2CFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Select the number of measurements to average in the accumulate divide module for this slot.

AVG_1_MSRMT = 0x0 - Average in 1 measurement in the accumulate

divide module for this slot.

AVG_2_MSRMTS = 0x1 - Average in 2 measurements in the accumulate

divide module for this slot.

AVG_4_MSRMTS = 0x2 - Average in 4 measurements in the accumulate

divide module for this slot.

0x0

RW AVG_8_MSRMT = 0x3 - Average in 8 measurements in the accumulate

divide module for this slot.

AVG_16_MSRMTS = 0x4 - Average in 16 measurements in the accumulate

divide module for this slot.

AVG_32_MSRMTS = 0x5 - Average in 32 measurements in the accumulate

divide module for this slot.

AVG_64_MSRMTS = 0x6 - Average in 64 measurements in the accumulate

divide module for this slot.

AVG_128_MSRMTS = 0x7 - Average in 128 measurements in the accumu-

late divide module for this slot.

0x0

RO RESERVED.

Set the Precision Mode For Slot.

0x0

RW

P14B = 0x0 - 14-bit precision mode P12B = 0x1 - 12-bit precision mode

P10B = 0x2 - 10-bit precision mode

P8B = 0x3 - 8-bit precision mode

0x0

RO RESERVED.

DS-A3-0p9p1

Page 744 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

11:8

CHSEL2

7:2

RSVD

1

WCEN2

0

SLEN2

Table 1087: SL2CFG Register Bits

Reset

RW

Description

Select one of the 14 channel inputs for this slot.

SE0 = 0x0 - single ended external GPIO connection to pad16.

SE1 = 0x1 - single ended external GPIO connection to pad29.

SE2 = 0x2 - single ended external GPIO connection to pad11.

SE3 = 0x3 - single ended external GPIO connection to pad31.

SE4 = 0x4 - single ended external GPIO connection to pad32.

SE5 = 0x5 - single ended external GPIO connection to pad33.

SE6 = 0x6 - single ended external GPIO connection to pad34.

0x0

RW SE7 = 0x7 - single ended external GPIO connection to pad35.

SE8 = 0x8 - single ended external GPIO connection to pad13.

SE9 = 0x9 - single ended external GPIO connection to pad12.

DF0 = 0xA - differential external GPIO connections to pad12(N) and

pad13(P).

DF1 = 0xB - differential external GPIO connections to pad15(N) and

pad14(P).

TEMP = 0xC - internal temperature sensor.

BATT = 0xD - internal voltage divide-by-3 connection.

VSS = 0xE - Input VSS

0x0

RO RESERVED.

This bit enables the window compare function for slot 2.

0x0

RW

WCEN = 0x1 - Enable the window compare for slot 2.

This bit enables slot 2 for ADC conversions.

0x0

RW

SLEN = 0x1 - Enable slot 2 for ADC conversions.

SL3CFG Register Slot 3 Configuration Register OFFSET: 0x00000018 INSTANCE 0 ADDRESS: 0x50010018 Slot 3 Configuration Register

Table 1088: SL3CFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

CHSEL3

RSVD

ADSEL3 PRMODE3
WCEN3 SLEN3

Bit 31:27

Name RSVD

DS-A3-0p9p1

Table 1089: SL3CFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Page 745 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

26:24

ADSEL3

23:18

RSVD

17:16

PRMODE3

15:12

RSVD

11:8

CHSEL3

7:2

RSVD

1

WCEN3

0

SLEN3

DS-A3-0p9p1

Table 1089: SL3CFG Register Bits

Reset

RW

Description

Select the number of measurements to average in the accumulate divide module for this slot.

AVG_1_MSRMT = 0x0 - Average in 1 measurement in the accumulate

divide module for this slot.

AVG_2_MSRMTS = 0x1 - Average in 2 measurements in the accumulate

divide module for this slot.

AVG_4_MSRMTS = 0x2 - Average in 4 measurements in the accumulate

divide module for this slot.

0x0

RW AVG_8_MSRMT = 0x3 - Average in 8 measurements in the accumulate

divide module for this slot.

AVG_16_MSRMTS = 0x4 - Average in 16 measurements in the accumulate

divide module for this slot.

AVG_32_MSRMTS = 0x5 - Average in 32 measurements in the accumulate

divide module for this slot.

AVG_64_MSRMTS = 0x6 - Average in 64 measurements in the accumulate

divide module for this slot.

AVG_128_MSRMTS = 0x7 - Average in 128 measurements in the accumu-

late divide module for this slot.

0x0

RO RESERVED.

Set the Precision Mode For Slot.

0x0

RW

P14B = 0x0 - 14-bit precision mode P12B = 0x1 - 12-bit precision mode

P10B = 0x2 - 10-bit precision mode

P8B = 0x3 - 8-bit precision mode

0x0

RO RESERVED.

Select one of the 14 channel inputs for this slot.

SE0 = 0x0 - single ended external GPIO connection to pad16.

SE1 = 0x1 - single ended external GPIO connection to pad29.

SE2 = 0x2 - single ended external GPIO connection to pad11.

SE3 = 0x3 - single ended external GPIO connection to pad31.

SE4 = 0x4 - single ended external GPIO connection to pad32.

SE5 = 0x5 - single ended external GPIO connection to pad33.

SE6 = 0x6 - single ended external GPIO connection to pad34.

0x0

RW SE7 = 0x7 - single ended external GPIO connection to pad35.

SE8 = 0x8 - single ended external GPIO connection to pad13.

SE9 = 0x9 - single ended external GPIO connection to pad12.

DF0 = 0xA - differential external GPIO connections to pad12(N) and

pad13(P).

DF1 = 0xB - differential external GPIO connections to pad15(N) and

pad14(P).

TEMP = 0xC - internal temperature sensor.

BATT = 0xD - internal voltage divide-by-3 connection.

VSS = 0xE - Input VSS

0x0

RO RESERVED.

This bit enables the window compare function for slot 3.

0x0

RW

WCEN = 0x1 - Enable the window compare for slot 3.

This bit enables slot 3 for ADC conversions.

0x0

RW

SLEN = 0x1 - Enable slot 3 for ADC conversions.

Page 746 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

SL4CFG Register Slot 4 Configuration Register OFFSET: 0x0000001C INSTANCE 0 ADDRESS: 0x5001001C Slot 4 Configuration Register

Table 1090: SL4CFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

CHSEL4

RSVD

ADSEL4 PRMODE4
WCEN4 SLEN4

Bit 31:27

Name RSVD

26:24

ADSEL4

23:18

RSVD

17:16

PRMODE4

15:12

RSVD

Table 1091: SL4CFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Select the number of measurements to average in the accumulate divide module for this slot.

AVG_1_MSRMT = 0x0 - Average in 1 measurement in the accumulate

divide module for this slot.

AVG_2_MSRMTS = 0x1 - Average in 2 measurements in the accumulate

divide module for this slot.

AVG_4_MSRMTS = 0x2 - Average in 4 measurements in the accumulate

divide module for this slot.

0x0

RW AVG_8_MSRMT = 0x3 - Average in 8 measurements in the accumulate

divide module for this slot.

AVG_16_MSRMTS = 0x4 - Average in 16 measurements in the accumulate

divide module for this slot.

AVG_32_MSRMTS = 0x5 - Average in 32 measurements in the accumulate

divide module for this slot.

AVG_64_MSRMTS = 0x6 - Average in 64 measurements in the accumulate

divide module for this slot.

AVG_128_MSRMTS = 0x7 - Average in 128 measurements in the accumu-

late divide module for this slot.

0x0

RO RESERVED.

Set the Precision Mode For Slot.

0x0

RW

P14B = 0x0 - 14-bit precision mode P12B = 0x1 - 12-bit precision mode

P10B = 0x2 - 10-bit precision mode

P8B = 0x3 - 8-bit precision mode

0x0

RO RESERVED.

DS-A3-0p9p1

Page 747 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

11:8

CHSEL4

7:2

RSVD

1

WCEN4

0

SLEN4

Table 1091: SL4CFG Register Bits

Reset

RW

Description

Select one of the 14 channel inputs for this slot.

SE0 = 0x0 - single ended external GPIO connection to pad16.

SE1 = 0x1 - single ended external GPIO connection to pad29.

SE2 = 0x2 - single ended external GPIO connection to pad11.

SE3 = 0x3 - single ended external GPIO connection to pad31.

SE4 = 0x4 - single ended external GPIO connection to pad32.

SE5 = 0x5 - single ended external GPIO connection to pad33.

SE6 = 0x6 - single ended external GPIO connection to pad34.

0x0

RW SE7 = 0x7 - single ended external GPIO connection to pad35.

SE8 = 0x8 - single ended external GPIO connection to pad13.

SE9 = 0x9 - single ended external GPIO connection to pad12.

DF0 = 0xA - differential external GPIO connections to pad12(N) and

pad13(P).

DF1 = 0xB - differential external GPIO connections to pad15(N) and

pad14(P).

TEMP = 0xC - internal temperature sensor.

BATT = 0xD - internal voltage divide-by-3 connection.

VSS = 0xE - Input VSS

0x0

RO RESERVED.

This bit enables the window compare function for slot 4.

0x0

RW

WCEN = 0x1 - Enable the window compare for slot 4.

This bit enables slot 4 for ADC conversions.

0x0

RW

SLEN = 0x1 - Enable slot 4 for ADC conversions.

SL5CFG Register Slot 5 Configuration Register OFFSET: 0x00000020 INSTANCE 0 ADDRESS: 0x50010020 Slot 5 Configuration Register

Table 1092: SL5CFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

CHSEL5

RSVD

ADSEL5 PRMODE5
WCEN5 SLEN5

Bit 31:27

Name RSVD

DS-A3-0p9p1

Table 1093: SL5CFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Page 748 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

26:24

ADSEL5

23:18

RSVD

17:16

PRMODE5

15:12

RSVD

11:8

CHSEL5

7:2

RSVD

1

WCEN5

0

SLEN5

DS-A3-0p9p1

Table 1093: SL5CFG Register Bits

Reset

RW

Description

Select number of measurements to average in the accumulate divide module for this slot.

AVG_1_MSRMT = 0x0 - Average in 1 measurement in the accumulate

divide module for this slot.

AVG_2_MSRMTS = 0x1 - Average in 2 measurements in the accumulate

divide module for this slot.

AVG_4_MSRMTS = 0x2 - Average in 4 measurements in the accumulate

divide module for this slot.

0x0

RW AVG_8_MSRMT = 0x3 - Average in 8 measurements in the accumulate

divide module for this slot.

AVG_16_MSRMTS = 0x4 - Average in 16 measurements in the accumulate

divide module for this slot.

AVG_32_MSRMTS = 0x5 - Average in 32 measurements in the accumulate

divide module for this slot.

AVG_64_MSRMTS = 0x6 - Average in 64 measurements in the accumulate

divide module for this slot.

AVG_128_MSRMTS = 0x7 - Average in 128 measurements in the accumu-

late divide module for this slot.

0x0

RO RESERVED.

Set the Precision Mode For Slot.

0x0

RW

P14B = 0x0 - 14-bit precision mode P12B = 0x1 - 12-bit precision mode

P10B = 0x2 - 10-bit precision mode

P8B = 0x3 - 8-bit precision mode

0x0

RO RESERVED.

Select one of the 14 channel inputs for this slot.

SE0 = 0x0 - single ended external GPIO connection to pad16.

SE1 = 0x1 - single ended external GPIO connection to pad29.

SE2 = 0x2 - single ended external GPIO connection to pad11.

SE3 = 0x3 - single ended external GPIO connection to pad31.

SE4 = 0x4 - single ended external GPIO connection to pad32.

SE5 = 0x5 - single ended external GPIO connection to pad33.

SE6 = 0x6 - single ended external GPIO connection to pad34.

0x0

RW SE7 = 0x7 - single ended external GPIO connection to pad35.

SE8 = 0x8 - single ended external GPIO connection to pad13.

SE9 = 0x9 - single ended external GPIO connection to pad12.

DF0 = 0xA - differential external GPIO connections to pad12(N) and

pad13(P).

DF1 = 0xB - differential external GPIO connections to pad15(N) and

pad14(P).

TEMP = 0xC - internal temperature sensor.

BATT = 0xD - internal voltage divide-by-3 connection.

VSS = 0xE - Input VSS

0x0

RO RESERVED.

This bit enables the window compare function for slot 5.

0x0

RW

WCEN = 0x1 - Enable the window compare for slot 5.

This bit enables slot 5 for ADC conversions.

0x0

RW

SLEN = 0x1 - Enable slot 5 for ADC conversions.

Page 749 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

SL6CFG Register Slot 6 Configuration Register OFFSET: 0x00000024 INSTANCE 0 ADDRESS: 0x50010024 Slot 6 Configuration Register

Table 1094: SL6CFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

CHSEL6

RSVD

ADSEL6 PRMODE6
WCEN6 SLEN6

Bit 31:27

Name RSVD

26:24

ADSEL6

23:18

RSVD

17:16

PRMODE6

15:12

RSVD

Table 1095: SL6CFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Select the number of measurements to average in the accumulate divide module for this slot.

AVG_1_MSRMT = 0x0 - Average in 1 measurement in the accumulate

divide module for this slot.

AVG_2_MSRMTS = 0x1 - Average in 2 measurements in the accumulate

divide module for this slot.

AVG_4_MSRMTS = 0x2 - Average in 4 measurements in the accumulate

divide module for this slot.

0x0

RW AVG_8_MSRMT = 0x3 - Average in 8 measurements in the accumulate

divide module for this slot.

AVG_16_MSRMTS = 0x4 - Average in 16 measurements in the accumulate

divide module for this slot.

AVG_32_MSRMTS = 0x5 - Average in 32 measurements in the accumulate

divide module for this slot.

AVG_64_MSRMTS = 0x6 - Average in 64 measurements in the accumulate

divide module for this slot.

AVG_128_MSRMTS = 0x7 - Average in 128 measurements in the accumu-

late divide module for this slot.

0x0

RO RESERVED.

Set the Precision Mode For Slot.

0x0

RW

P14B = 0x0 - 14-bit precision mode P12B = 0x1 - 12-bit precision mode

P10B = 0x2 - 10-bit precision mode

P8B = 0x3 - 8-bit precision mode

0x0

RO RESERVED.

DS-A3-0p9p1

Page 750 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

11:8

CHSEL6

7:2

RSVD

1

WCEN6

0

SLEN6

Table 1095: SL6CFG Register Bits

Reset

RW

Description

Select one of the 14 channel inputs for this slot.

SE0 = 0x0 - single ended external GPIO connection to pad16.

SE1 = 0x1 - single ended external GPIO connection to pad29.

SE2 = 0x2 - single ended external GPIO connection to pad11.

SE3 = 0x3 - single ended external GPIO connection to pad31.

SE4 = 0x4 - single ended external GPIO connection to pad32.

SE5 = 0x5 - single ended external GPIO connection to pad33.

SE6 = 0x6 - single ended external GPIO connection to pad34.

0x0

RW SE7 = 0x7 - single ended external GPIO connection to pad35.

SE8 = 0x8 - single ended external GPIO connection to pad13.

SE9 = 0x9 - single ended external GPIO connection to pad12.

DF0 = 0xA - differential external GPIO connections to pad12(N) and

pad13(P).

DF1 = 0xB - differential external GPIO connections to pad15(N) and

pad14(P).

TEMP = 0xC - internal temperature sensor.

BATT = 0xD - internal voltage divide-by-3 connection.

VSS = 0xE - Input VSS

0x0

RO RESERVED.

This bit enables the window compare function for slot 6.

0x0

RW

WCEN = 0x1 - Enable the window compare for slot 6.

This bit enables slot 6 for ADC conversions.

0x0

RW

SLEN = 0x1 - Enable slot 6 for ADC conversions.

SL7CFG Register Slot 7 Configuration Register OFFSET: 0x00000028 INSTANCE 0 ADDRESS: 0x50010028 Slot 7 Configuration Register

Table 1096: SL7CFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

CHSEL7

RSVD

ADSEL7 PRMODE7
WCEN7 SLEN7

Bit 31:27

Name RSVD

DS-A3-0p9p1

Table 1097: SL7CFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

Page 751 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

26:24

ADSEL7

23:18

RSVD

17:16

PRMODE7

15:12

RSVD

11:8

CHSEL7

7:2

RSVD

1

WCEN7

0

SLEN7

DS-A3-0p9p1

Table 1097: SL7CFG Register Bits

Reset

RW

Description

Select the number of measurements to average in the accumulate divide module for this slot.

AVG_1_MSRMT = 0x0 - Average in 1 measurement in the accumulate

divide module for this slot.

AVG_2_MSRMTS = 0x1 - Average in 2 measurements in the accumulate

divide module for this slot.

AVG_4_MSRMTS = 0x2 - Average in 4 measurements in the accumulate

divide module for this slot.

0x0

RW AVG_8_MSRMT = 0x3 - Average in 8 measurements in the accumulate

divide module for this slot.

AVG_16_MSRMTS = 0x4 - Average in 16 measurements in the accumulate

divide module for this slot.

AVG_32_MSRMTS = 0x5 - Average in 32 measurements in the accumulate

divide module for this slot.

AVG_64_MSRMTS = 0x6 - Average in 64 measurements in the accumulate

divide module for this slot.

AVG_128_MSRMTS = 0x7 - Average in 128 measurements in the accumu-

late divide module for this slot.

0x0

RO RESERVED.

Set the Precision Mode For Slot.

0x0

RW

P14B = 0x0 - 14-bit precision mode P12B = 0x1 - 12-bit precision mode

P10B = 0x2 - 10-bit precision mode

P8B = 0x3 - 8-bit precision mode

0x0

RO RESERVED.

Select one of the 14 channel inputs for this slot.

SE0 = 0x0 - single ended external GPIO connection to pad16.

SE1 = 0x1 - single ended external GPIO connection to pad29.

SE2 = 0x2 - single ended external GPIO connection to pad11.

SE3 = 0x3 - single ended external GPIO connection to pad31.

SE4 = 0x4 - single ended external GPIO connection to pad32.

SE5 = 0x5 - single ended external GPIO connection to pad33.

SE6 = 0x6 - single ended external GPIO connection to pad34.

0x0

RW SE7 = 0x7 - single ended external GPIO connection to pad35.

SE8 = 0x8 - single ended external GPIO connection to pad13.

SE9 = 0x9 - single ended external GPIO connection to pad12.

DF0 = 0xA - differential external GPIO connections to pad12(N) and

pad13(P).

DF1 = 0xB - differential external GPIO connections to pad15(N) and

pad14(P).

TEMP = 0xC - internal temperature sensor.

BATT = 0xD - internal voltage divide-by-3 connection.

VSS = 0xE - Input VSS

0x0

RO RESERVED.

This bit enables the window compare function for slot 7.

0x0

RW

WCEN = 0x1 - Enable the window compare for slot 7.

This bit enables slot 7 for ADC conversions.

0x0

RW

SLEN = 0x1 - Enable slot 7 for ADC conversions.

Page 752 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

WULIM Register Window Comparator Upper Limits Register OFFSET: 0x0000002C INSTANCE 0 ADDRESS: 0x5001002C Window Comparator Upper Limits Register

Table 1098: WULIM Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

ULIM

Bit 31:20 19:0

Name RSVD ULIM

Table 1099: WULIM Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW Sets the upper limit for the window comparator.

WLLIM Register Window Comparator Lower Limits Register OFFSET: 0x00000030 INSTANCE 0 ADDRESS: 0x50010030 Window Comparator Lower Limits Register

Table 1100: WLLIM Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

LLIM

Bit 31:20 19:0

Name RSVD LLIM

FIFO Register

DS-A3-0p9p1

Table 1101: WLLIM Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW Sets the lower limit for the window comparator.

Page 753 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

FIFO Data and Valid Count Register
OFFSET: 0x00000038
INSTANCE 0 ADDRESS: 0x50010038
The ADC FIFO Register contains the slot number and FIFO data for the oldest conversion data in the FIFO. The COUNT field indicates the total number of valid entries in the FIFO. A write to this register will pop one of the FIFO entries off the FIFO and decrease the COUNT by 1 if the COUNT is greater than zero.

Table 1102: FIFO Register
33222222222211111111110000000000 10987654321098765432109876543210

COUNT

DATA

RSVD SLOTNUM

Bit 31 30:28 27:20 19:0

Name RSVD SLOTNUM COUNT DATA

Table 1103: FIFO Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RO Slot number associated with this FIFO data.

0x0

RO Number of valid entries in the ADC FIFO.

0x0

RO Oldest data in the FIFO.

FIFOPR Register
FIFO Data and Valid Count Register
OFFSET: 0x0000003C
INSTANCE 0 ADDRESS: 0x5001003C
This is a Pop Read mirrored copy of the ADCFIFO register with the only difference being that reading this register will result in a simultaneous FIFO POP which is also achieved by writing to the ADCFIFO Register. Note: The DFIFORDEN bit must be set in the CFG register for the destructive read to be enabled.

Table 1104: FIFOPR Register
33222222222211111111110000000000 10987654321098765432109876543210

COUNT

DATA

RSVDPR SLOTNUMPR

DS-A3-0p9p1

Page 754 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31

RSVDPR

30:28 SLOTNUMPR

27:20

COUNT

19:0

DATA

Table 1105: FIFOPR Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RO Slot number associated with this FIFO data.

0x0

RO Number of valid entries in the ADC FIFO.

0x0

RO Oldest data in the FIFO.

INTEN Register ADC Interrupt registers: Enable OFFSET: 0x00000200 INSTANCE 0 ADDRESS: 0x50010200 Set bits in this register to allow this module to generate the corresponding interrupt.

Table 1106: INTEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DERR DCMP WCINC WCEXC FIFOOVR2 FIFOOVR1 SCNCMP CNVCMP

Bit

Name

31:8

RSVD

7

DERR

6

DCMP

5

WCINC

4

WCEXC

Table 1107: INTEN Register Bits

Reset 0x0

RW RO RESERVED.

Description

DMA Error Condition

0x0

RW

DMAERROR = 0x1 - DMA Error Condition Occurred

DMA Transfer Complete

0x0

RW

DMACOMPLETE = 0x1 - DMA Completed a transfer

Window comparator voltage incursion interrupt.

0x0

RW

WCINCINT = 0x1 - Window comparator voltage incursion interrupt.

Window comparator voltage excursion interrupt.

0x0

RW

WCEXCINT = 0x1 - Window comparator voltage excursion interrupt.

DS-A3-0p9p1

Page 755 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3

FIFOOVR2

2

FIFOOVR1

1

SCNCMP

0

CNVCMP

Table 1107: INTEN Register Bits

Reset 0x0 0x0 0x0 0x0

RW

Description

FIFO 100 percent full interrupt. RW
FIFOFULLINT = 0x1 - FIFO 100 percent full interrupt.

FIFO 75 percent full interrupt. RW
FIFO75INT = 0x1 - FIFO 75 percent full interrupt.

ADC scan complete interrupt. RW
SCNCMPINT = 0x1 - ADC scan complete interrupt.
ADC conversion complete interrupt. RW
CNVCMPINT = 0x1 - ADC conversion complete interrupt.

INTSTAT Register ADC Interrupt registers: Status OFFSET: 0x00000204 INSTANCE 0 ADDRESS: 0x50010204 Read bits from this register to discover the cause of a recent interrupt.

Table 1108: INTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DERR DCMP WCINC WCEXC FIFOOVR2 FIFOOVR1 SCNCMP CNVCMP

Bit

Name

31:8

RSVD

7

DERR

6

DCMP

5

WCINC

4

WCEXC

DS-A3-0p9p1

Table 1109: INTSTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

DMA Error Condition

0x0

RW

DMAERROR = 0x1 - DMA Error Condition Occurred

DMA Transfer Complete

0x0

RW

DMACOMPLETE = 0x1 - DMA Completed a transfer

Window comparator voltage incursion interrupt.

0x0

RW

WCINCINT = 0x1 - Window comparator voltage incursion interrupt.

Window comparator voltage excursion interrupt.

0x0

RW

WCEXCINT = 0x1 - Window comparator voltage excursion interrupt.

Page 756 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3

FIFOOVR2

2

FIFOOVR1

1

SCNCMP

0

CNVCMP

Table 1109: INTSTAT Register Bits

Reset 0x0 0x0 0x0 0x0

RW

Description

FIFO 100 percent full interrupt. RW
FIFOFULLINT = 0x1 - FIFO 100 percent full interrupt.

FIFO 75 percent full interrupt. RW
FIFO75INT = 0x1 - FIFO 75 percent full interrupt.

ADC scan complete interrupt. RW
SCNCMPINT = 0x1 - ADC scan complete interrupt.
ADC conversion complete interrupt. RW
CNVCMPINT = 0x1 - ADC conversion complete interrupt.

INTCLR Register ADC Interrupt registers: Clear OFFSET: 0x00000208 INSTANCE 0 ADDRESS: 0x50010208 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.

Table 1110: INTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DERR DCMP WCINC WCEXC FIFOOVR2 FIFOOVR1 SCNCMP CNVCMP

Bit

Name

31:8

RSVD

7

DERR

6

DCMP

5

WCINC

4

WCEXC

DS-A3-0p9p1

Table 1111: INTCLR Register Bits

Reset 0x0

RW RO RESERVED.

Description

DMA Error Condition

0x0

RW

DMAERROR = 0x1 - DMA Error Condition Occurred

DMA Transfer Complete

0x0

RW

DMACOMPLETE = 0x1 - DMA Completed a transfer

Window comparator voltage incursion interrupt.

0x0

RW

WCINCINT = 0x1 - Window comparator voltage incursion interrupt.

Window comparator voltage excursion interrupt.

0x0

RW

WCEXCINT = 0x1 - Window comparator voltage excursion interrupt.

Page 757 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

3

FIFOOVR2

2

FIFOOVR1

1

SCNCMP

0

CNVCMP

Table 1111: INTCLR Register Bits

Reset 0x0 0x0 0x0 0x0

RW

Description

FIFO 100 percent full interrupt. RW
FIFOFULLINT = 0x1 - FIFO 100 percent full interrupt.

FIFO 75 percent full interrupt. RW
FIFO75INT = 0x1 - FIFO 75 percent full interrupt.

ADC scan complete interrupt. RW
SCNCMPINT = 0x1 - ADC scan complete interrupt.
ADC conversion complete interrupt. RW
CNVCMPINT = 0x1 - ADC conversion complete interrupt.

INTSET Register ADC Interrupt registers: Set OFFSET: 0x0000020C INSTANCE 0 ADDRESS: 0x5001020C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).

Table 1112: INTSET Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DERR DCMP WCINC WCEXC FIFOOVR2 FIFOOVR1 SCNCMP CNVCMP

Bit

Name

31:8

RSVD

7

DERR

6

DCMP

5

WCINC

Table 1113: INTSET Register Bits

Reset 0x0

RW RO RESERVED.

Description

DMA Error Condition

0x0

RW

DMAERROR = 0x1 - DMA Error Condition Occurred

DMA Transfer Complete

0x0

RW

DMACOMPLETE = 0x1 - DMA Completed a transfer

Window comparator voltage incursion interrupt.

0x0

RW

WCINCINT = 0x1 - Window comparator voltage incursion interrupt.

DS-A3-0p9p1

Page 758 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

4

WCEXC

3

FIFOOVR2

2

FIFOOVR1

1

SCNCMP

0

CNVCMP

Table 1113: INTSET Register Bits

Reset 0x0 0x0 0x0 0x0 0x0

RW

Description

Window comparator voltage excursion interrupt. RW
WCEXCINT = 0x1 - Window comparator voltage excursion interrupt.

FIFO 100 percent full interrupt. RW
FIFOFULLINT = 0x1 - FIFO 100 percent full interrupt.

FIFO 75 percent full interrupt. RW
FIFO75INT = 0x1 - FIFO 75 percent full interrupt.
ADC scan complete interrupt. RW
SCNCMPINT = 0x1 - ADC scan complete interrupt.
ADC conversion complete interrupt. RW
CNVCMPINT = 0x1 - ADC conversion complete interrupt.

DMATRIGEN Register DMA Trigger Enable Register OFFSET: 0x00000240 INSTANCE 0 ADDRESS: 0x50010240 DMA Trigger Enable Register

Table 1114: DMATRIGEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DFIFOFULL DFIFO75

Bit

Name

31:2

RSVD

1

DFIFOFULL

0

DFIFO75

Table 1115: DMATRIGEN Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW Trigger DMA upon FIFO 100& Full

0x0

RW Trigger DMA upon FIFO 75 percent Full

DMATRIGSTAT Register DMA Trigger Status Register OFFSET: 0x00000244

DS-A3-0p9p1

Page 759 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
INSTANCE 0 ADDRESS: 0x50010244 DMA Trigger Status Register
Table 1116: DMATRIGSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DFULLSTAT D75STAT

Bit

Name

31:2

RSVD

1

DFULLSTAT

0

D75STAT

Table 1117: DMATRIGSTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RO Triggered DMA from FIFO 100& Full

0x0

RO Triggered DMA from FIFO 75 percent Full

DMACFG Register DMA Configuration Register OFFSET: 0x00000280 INSTANCE 0 ADDRESS: 0x50010280 DMA Configuration Register

Table 1118: DMACFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

RSVD

RSVD

DPWROFF DMAMSK
RSVD DMADYNPRI
DMAPRI DMADIR
RSVD DMAEN

Bit 31:19

Name RSVD

Table 1119: DMACFG Register Bits

Reset 0x0

RW RO RESERVED.

Description

DS-A3-0p9p1

Page 760 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

18

DPWROFF

17

DMAMSK

16 15:10

RSVD RSVD

9

DMADYNPRI

8

DMAPRI

7:3

RSVD

2

DMADIR

1

RSVD

0

DMAEN

Table 1119: DMACFG Register Bits

Reset 0x0

RW

Description

RW Power Off the ADC System upon DMACPL.

Mask the FIFOCNT and SLOTNUM when transferring FIFO contents to memory

0x0

RW DIS = 0x0 - FIFO Contents are copied directly to memory without modifica-

tion.

EN = 0x1 - Only the FIFODATA contents are copied to memory on DMA

transfers. The SLOTNUM and FIFOCNT contents are cleared to zero.

0x0

RO RESERVED

0x0

RO RESERVED.

Enables dynamic priority based on FIFO fullness. When FIFO is full, priority

is automatically set to HIGH. Otherwise, DMAPRI is used.

0x0

RW

DIS = 0x0 - Disable dynamic priority (use DMAPRI setting only)

EN = 0x1 - Enable dynamic priority

Sets the Priority of the DMA request

0x0

RW LOW = 0x0 - Low Priority (service as best effort)

HIGH = 0x1 - High Priority (service immediately)

0x0

RO RESERVED.

Direction

0x0

RO P2M = 0x0 - Peripheral to Memory (SRAM) transaction

M2P = 0x1 - Memory to Peripheral transaction

0x0

RO RESERVED.

DMA Enable

0x0

RW DIS = 0x0 - Disable DMA Function

EN = 0x1 - Enable DMA Function

DMABCOUNT Register DMA Burst Transfer Count OFFSET: 0x00000284 INSTANCE 0 ADDRESS: 0x50010284 DMA Burst Transfer Count

Table 1120: DMABCOUNT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

DS-A3-0p9p1

Page 761 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

RSVD

Table 1121: DMABCOUNT Register Bits

Reset 0x0

RW RO RESERVED.

Description

DMATOTCOUNT Register DMA Total Transfer Count OFFSET: 0x00000288 INSTANCE 0 ADDRESS: 0x50010288 DMA Total Transfer Count

Table 1122: DMATOTCOUNT Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

TOTCOUNT

BTOTCOUNT

Bit 31:18

Name RSVD

17:2

TOTCOUNT

1:0

BTOTCOUNT

Table 1123: DMATOTCOUNT Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW Total Transfer Count

0x0

RO RESERVED.

DMATARGADDR Register DMA Target Address Register OFFSET: 0x0000028C INSTANCE 0 ADDRESS: 0x5001028C DMA Target Address Register

DS-A3-0p9p1

Page 762 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1124: DMATARGADDR Register

33222222222211111111110000000000 10987654321098765432109876543210

UTARGADDR

LTARGADDR

Bit 31:19

Name UTARGADDR

18:0

LTARGADDR

Table 1125: DMATARGADDR Register Bits

Reset 0x400

RW RO SRAM Target

Description

0x0

RW DMA Target Address

DMASTAT Register DMA Status Register OFFSET: 0x00000290 INSTANCE 0 ADDRESS: 0x50010290 DMA Status Register

Table 1126: DMASTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

Bit

Name

31:3

RSVD

2

DMAERR

1

DMACPL

0

DMATIP

Table 1127: DMASTAT Register Bits

Reset 0x0

RW RO RESERVED.

Description

0x0

RW DMA Error

0x0

RW DMA Transfer Complete

0x0

RW DMA Transfer In Progress

DMAERR DMACPL DMATIP

DS-A3-0p9p1

Page 763 of 909

2019 Ambiq Micro, Inc. All rights reserved.

19. Voltage Comparator Module

Apollo3 Blue Datasheet

VDDH VTEMP CMPIN0 CMPIN1
CMPRF0 CMPRF1 CMPRF2

PSEL[1:0]

PWD

+

_

POWER DOWN
CMPOUT

LVLSEL[3:0]

DAC NSEL[1:0]

Figure 92. Block diagram for the Voltage Comparator Module

19.1 Functional Overview
The Voltage Comparator Module, shown in Figure 92, measures a user-selectable voltage at all times. It provides interrupt and software access to the comparator output with multiple options for input and reference voltages. It can be configured to generate an interrupt when the monitored voltage rises above a user-configurable threshold or when the monitored voltage drops below a user-configurable threshold.
The voltage to be monitored is selected by programming the comparator's positive terminal signal, PSEL[1:0] and may be any of: 1) the supply voltage (VDDH), 2) the PTAT voltage from the temperature sensor (VTEMP), or 3) two external voltage channels (CMPIN0 and CMPIN1).
The reference voltage is selected by programming the comparator's negative terminal, NSEL[1:0] and may be any of: 1) three external voltage channels (CMPRF0, CMPRF1, CMPRF2), or 2) the internally generated reference (VREFINT). The internal reference voltage is tuned using an on-chip DAC with level select signal LVLSEL[3:0]. When using external inputs or reference inputs, the associated pads must be configured using the GPIO function selects explained in the GPIO document section.
The Voltage Comparator CMPOUT output will remain high while the voltage at the positive input is above the voltage at reference input. The CMPOUT output will transition low when the voltage at the positive input to the comparator falls below the reference input taking into account hysteresis (see Section 21.11 for hysteresis range). The CMPOUT output is directly accessible by software by reading the CMPOUT field in the status register. The OUTHI interrupt will be set if enabled and the CMPOUT transitions high or if it is high at the time the interrupt is enabled. Similarly, the OUTLOW interrupt will be set if enabled and the CMPOUT output transitions low or if it is low at the time the interrupt is enabled.
The Voltage Comparator Module is enabled by default and may be powered off by writing 0x37 to the PWDKEY register

19.2 VCOMP Registers
Voltage Comparator INSTANCE 0 BASE ADDRESS:0x4000C000

DS-A3-0p9p1

Page 764 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

This is the detailed description of the Voltage Comparator Register Block. The Voltage Cmparator Register Block contains the software control for selecting the comparator inputs, powerdown control, observing comparator output status and enabling interrupts.

19.2.1 Register Memory Map

Table 1128: VCOMP Register Map

Address(s) 0x4000C000 0x4000C004

CFG STAT

Register Name

0x4000C008 PWDKEY

0x4000C200 0x4000C204 0x4000C208 0x4000C20C

INTEN INTSTAT INTCLR INTSET

Description
Configuration Register Status Register Key Register for Powering Down the Voltage Comparator Voltage Comparator Interrupt registers: Enable Voltage Comparator Interrupt registers: Status Voltage Comparator Interrupt registers: Clear Voltage Comparator Interrupt registers: Set

DS-A3-0p9p1

Page 765 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

19.2.2 VCOMP Registers
19.2.2.1 CFG Register
Configuration Register OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x4000C000 The Voltage Comparator Configuration Register contains the software control for selecting beween the 4 options for the positive input as well as the multiple options for the reference input.

Table 1129: CFG Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

LVLSEL

RSVD

RSVD

NSEL PSEL

Bit 31:20

Name RSVD

19:16

LVLSEL

15:10

RSVD

9:8

NSEL

7:2

RSVD

DS-A3-0p9p1

Table 1130: CFG Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

When the reference input NSEL is set to NSEL_DAC, this bitfield selects the voltage level for the negative input to the comparator.

0P58V = 0x0 - Set Reference input to 0.58 Volts.

0P77V = 0x1 - Set Reference input to 0.77 Volts.

0P97V = 0x2 - Set Reference input to 0.97 Volts.

1P16V = 0x3 - Set Reference input to 1.16 Volts.

1P35V = 0x4 - Set Reference input to 1.35 Volts.

1P55V = 0x5 - Set Reference input to 1.55 Volts.

0x0

RW 1P74V = 0x6 - Set Reference input to 1.74 Volts.

1P93V = 0x7 - Set Reference input to 1.93 Volts.

2P13V = 0x8 - Set Reference input to 2.13 Volts.

2P32V = 0x9 - Set Reference input to 2.32 Volts.

2P51V = 0xA - Set Reference input to 2.51 Volts.

2P71V = 0xB - Set Reference input to 2.71 Volts.

2P90V = 0xC - Set Reference input to 2.90 Volts.

3P09V = 0xD - Set Reference input to 3.09 Volts.

3P29V = 0xE - Set Reference input to 3.29 Volts.

3P48V = 0xF - Set Reference input to 3.48 Volts.

0x0

RO This bitfield is reserved for future use.

This bitfield selects the negative input to the comparator.

0x0

RW

VREFEXT1 = 0x0 - Use external reference 1 for reference input. VREFEXT2 = 0x1 - Use external reference 2 for reference input.

VREFEXT3 = 0x2 - Use external reference 3 for reference input.

DAC = 0x3 - Use DAC output selected by LVLSEL for reference input.

0x0

RO This bitfield is reserved for future use.

Page 766 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

1:0

PSEL

Table 1130: CFG Register Bits

Reset

RW

Description

This bitfield selects the positive input to the comparator.

VDDADJ = 0x0 - Use VDDADJ for the positive input.

VTEMP = 0x1 - Use the temperature sensor output for the positive input.

0x0

RW Note: If this channel is selected for PSEL, the bandap circuit required for

temperature comparisons will automatically turn on. The bandgap circuit

requires 11us to stabalize.

VEXT1 = 0x2 - Use external voltage 0 for positive input.

VEXT2 = 0x3 - Use external voltage 1 for positive input.

19.2.2.2 STAT Register
Status Register OFFSET: 0x00000004 INSTANCE 0 ADDRESS: 0x4000C004 Status Register

Table 1131: STAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

PWDSTAT CMPOUT

Bit

Name

31:2

RSVD

1

PWDSTAT

0

CMPOUT

Table 1132: STAT Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

This bit indicates the power down state of the voltage comparator.

0x0

RO

POWERED_DOWN = 0x1 - The voltage comparator is powered down.

This bit is 1 if the positive input of the comparator is greater than the negative input.

0x0

RO VOUT_LOW = 0x0 - The negative input of the comparator is greater than

the positive input.

VOUT_HIGH = 0x1 - The positive input of the comparator is greater than the

negative input.

19.2.2.3 PWDKEY Register
Key Register for Powering Down the Voltage Comparator OFFSET: 0x00000008 INSTANCE 0 ADDRESS: 0x4000C008

DS-A3-0p9p1

Page 767 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Key Register for Powering Down the Voltage Comparator
Table 1133: PWDKEY Register
33222222222211111111110000000000 10987654321098765432109876543210
PWDKEY

Bit

Name

31:0

PWDKEY

Table 1134: PWDKEY Register Bits

Reset 0x0

RW
Key register value. RW
Key = 0x37 - Key

Description

19.2.2.4 INTEN Register
Voltage Comparator Interrupt registers: Enable OFFSET: 0x00000200 INSTANCE 0 ADDRESS: 0x4000C200 Set bits in this register to allow this module to generate the corresponding interrupt.

Table 1135: INTEN Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

OUTHI OUTLOW

Bit

Name

31:2

RSVD

1

OUTHI

0

OUTLOW

Table 1136: INTEN Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW This bit is the vcompout high interrupt.

0x0

RW This bit is the vcompout low interrupt.

19.2.2.5 INTSTAT Register
Voltage Comparator Interrupt registers: Status OFFSET: 0x00000204

DS-A3-0p9p1

Page 768 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
INSTANCE 0 ADDRESS: 0x4000C204 Read bits from this register to discover the cause of a recent interrupt.
Table 1137: INTSTAT Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

OUTHI OUTLOW

Bit

Name

31:2

RSVD

1

OUTHI

0

OUTLOW

Table 1138: INTSTAT Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW This bit is the vcompout high interrupt.

0x0

RW This bit is the vcompout low interrupt.

19.2.2.6 INTCLR Register
Voltage Comparator Interrupt registers: Clear OFFSET: 0x00000208 INSTANCE 0 ADDRESS: 0x4000C208 Write a 1 to a bit in this register to clear the interrupt status associated with that bit.

Table 1139: INTCLR Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

OUTHI OUTLOW

Bit

Name

31:2

RSVD

1

OUTHI

DS-A3-0p9p1

Table 1140: INTCLR Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW This bit is the vcompout high interrupt.

Page 769 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

0

OUTLOW

Table 1140: INTCLR Register Bits

Reset 0x0

RW

Description

RW This bit is the vcompout low interrupt.

19.2.2.7 INTSET Register
Voltage Comparator Interrupt registers: Set OFFSET: 0x0000020C INSTANCE 0 ADDRESS: 0x4000C20C Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for testing purposes).

Table 1141: INTSET Register
33222222222211111111110000000000 10987654321098765432109876543210
RSVD

OUTHI OUTLOW

Bit

Name

31:2

RSVD

1

OUTHI

0

OUTLOW

Table 1142: INTSET Register Bits

Reset 0x0

RW

Description

RO This bitfield is reserved for future use.

0x0

RW This bit is the vcompout high interrupt.

0x0

RW This bit is the vcompout low interrupt.

DS-A3-0p9p1

Page 770 of 909

2019 Ambiq Micro, Inc. All rights reserved.

20. Voltage Regulator Module
LDO
SIMO Buck VDD
LDO

Apollo3 Blue Datasheet
To Core To Logic To Memory

Buck LDO

To Comms

LDO
Figure 93. Block Diagram for the Voltage Regulator Module

To Analog Blocks

20.1 Functional Overview
The Voltage Regulator Module down-converts and regulates the supply voltage, VDD, with extremely high efficiency. A pair of Buck Converters enables down-conversion from the power supply input (e.g., a battery) at efficiency of >80%. With ultra-low quiescent current, the Buck Converters are optimized for low power environments. There are also integrated low dropout linear regulators which are used in very low power modes and can also be utilized to provide a lower cost system solution by eliminating the need for the external capacitors/inductors required in buck mode.
The Buck Converters and LDOs of the Voltage Regulator Module are tightly coupled to the various low power modes in the Apollo3 Blue MCU. When the Apollo3 Blue MCU enters deep sleep mode, the Buck Converters will switch into a low power mode to provide very high efficiency at low quiescent current

20.2 SIMO Buck
The SIMO buck sources the primary supplies for the core and memory domains. This buck is a very high efficiency, single-inductor/multiple-output design. The SIMO buck is enabled via an OTP CUSTOMER_TRIM setting. Upon initial reset, if enabled, the SIMO buck will be power up and stabilized through hardware control. The status of the SIMO buck can be queried via the PWRCTRL_SUPPLYSTATUS register (See Section Section 3.5.3.1.2.2 on page 79). The SIMO buck has an efficiency ultra low power mode that is entered automatically via hardware control based on active load current of the system.

DS-A3-0p9p1

Page 771 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
For cost/area constrained designs, the SIMO buck can be disabled and on-die LDO regulators can be used. In this configuration, the OTP CUSTOMER_TRIM setting must have the SIMO_BUCK_enable set to `0'. In this configuration, the SIMO buck will remained powered down.
The SIMO buck cannot be dynamically enabled/disabled after initial device reset.
There is also a zero length detect circuit to ensure the regulated voltages from the SIMO buck do not drop out.
20.3 BLE/Burst Buck
The BLE/Burst buck sources the supplies to the BLE radio subsystem as well as the higher voltage required to support the burst mode operation. The BLE/Burst buck must be enabled prior to enabling either the BLE or the burst mode features. The BLE/Burst buck enable bit (See Section Section 3.5.3.1.2.1 on page 79) can be set at any point after reset in software but should be set prior to enabling either the BLE or burst mode features. The status of the BLE/Burst buck can be queried via the PWRCTRL_SUPPLYSTATUS register (See Section Section 3.5.3.1.2.2 on page 79).
For systems that require fast ramp times for the BLE subsystem, the BLE/Burst buck can be enabled by default at reset by setting the BLE_BUCK_enable and BLE_FEATURE_enable bits in the OTP CUSTOMER_TRIM field. If set, hardware will control powering up the buck and sequencing the regulation circuitry as needed at initial power on.
The BLE and burst mode features can be enabled via the FEATUREENABLE register (See Section Section 3.8.2.7 on page 128). Once enabled, hardware controls all sequencing required to enter/exit the various power modes of the BLE/Burst regulators regardless of the configuration.
For cost/area constrained designs, the BLE/Burst buck can be disabled and on-die LDO regulators can be used. In this configuration, the OTP CUSTOMER_TRIM setting must have the BLE_BUCK_enable set to `0'. In this configuration, the SIMO buck will remained powered down.
20.3.1 BLE/Burst Buck Ton Adjustment
Calibration logic within the clock generator block works to check the frequency of the Ton clocks going to the Buck. If the frequency of the Ton clocks is lower than the configured threshold, then the adjustment logic will reduce the Buck charging time for each cycle, which has the effect of increasing the frequency of the charging cycles. If the Ton clocks are higher than the configured threshold, then the adjustment logic will increase the Buck charging time, which has the effect of reducing the frequency of the charging cycle.
The following steps are required to enable the BLE Ton Adjustment:
1. Set the TONADJUSTEN bit field in REG_CLK_GEN_BLEBUCKTONADJ to 0. This will disable the Adjustment until the programming is done.
2. Set the TONADJUSTPERIOD bits field to the adjustment period required. The longer the adjustment period, the more accurate is the adjustment. The shorter the adjustment period, the faster will be the adjustment.
3. Based on the TONADJUSTPERIOD, set the TONHIGHTHRESHOLD and TONLOWTHRESHOLD. The suggested values for the high threshold are #15(94KHz) #2A(47Khz) #A6(12Khz) #29A(3Khz). The suggested values for the low threshold are #A(94KHz) #15(47KHz) #53(12Khz) #14D(3Khz).
Set the TONADJUSTEN bit field in REG_CLK_GEN_BLEBUCKTONADJ to 1. This will enable the Adjustment to start.

DS-A3-0p9p1

Page 772 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Figure 94. BLE/Burst Buck Ton Adjustment Diagram
20.3.2 BLE/Burst Buck zero length detect
In addition to the Ton adjustment, there is a zero length detect circuit to ensure the regulated voltage does not drop out. The zero length detect is a mechanism to detect the length of time the buck is indicating that the buck voltage is below a certain threshold. If the indicator is continuously asserted beyond a certain time, this indicates that the Buck has not been able to pull the voltage above the threshold. The zero length detect logic will send a flag to the reset generator logic. This will result in either a reset, or an interrupt. The REG_MCU_CTRL_BO_DISABLE register (BODBRDE) controls the BLE/Burst buck local brown out disables.

DS-A3-0p9p1

Page 773 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21. Electrical Characteristics
For all tables TA = -40ºC to 85ºC, Typical values at 25ºC, 1.8v, unless otherwise specified.

IMPORTANT NOTICE
Specifications and other information in this advanced version of the Apollo3 Blue MCU Datasheet should be regarded as preliminary and subject to change.

21.1 Absolute Maximum Ratings
The absolute maximum ratings are the limits to which the device can be subjected without permanently damaging the device and are stress ratings only. Device reliability may be adversely affected by exposure to absolute-maximum ratings for extended periods. Functional operation of the device at the absolute maximum ratings or any other conditions beyond the recommended operating conditions is not implied.
Table 1143: Absolute Maximum Ratings

Symbol

Parameter

Test Conditions

Min

Max

Unit

VDDP VDDH VDDA VIO ISRC_STD ISINK_STD IHSC_PWR IHSP_PWR ILSC_PWR ILSP_PWR TS TJ TOP
JA
JC
TREFLOW ILU VESDHBM

Pad supply voltage Digital supply voltage Analog supply voltage Voltage on all input and output pins Standard output pin source continuous current Standard output pin sink continuous current High side power switch continuous source current(1) High side power switch pulsed source current(1) Low side power switch continuous sink current(2) Low side power switch pulsed sink current(2) Storage temperature Junction temperature Operating temperature
Thermal resistance, junction to ambient
Thermal resistance, junction to package case
Reflow temperature Latch-up current ESD Human Body Model (HBM)

10 ms pulse, 1% duty cycle
10 ms pulse, 1% duty cycle
BGA Package on 4 layer PCB in still air, 3mW power dissipation BGA Package on 4 layer PCB in still air, 3mW power dissipation Reflow Profile per JEDEC
J-STD-020D.1

0 -
-55 TBD -40

3.63 3.63 3.63 VDDH 16 16 50 150 50 150 125 85.7 85
76.2
17.0
260 100 2000

V V V V mA mA mA mA mA mA ºC ºC ºC
ºC/W
ºC/W
ºC mA V

DS-A3-0p9p1

Page 774 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

VESDCDM

Table 1143: Absolute Maximum Ratings
ESD Charged Device Model (CDM)

(1) High side power switches are available on PAD3 and PAD36 (2) A low side power switch is available on PAD37 and PAD41

250

V

DS-A3-0p9p1

Page 775 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21.2 Recommended Operating Conditions

Table 1144: Recommended Operating Conditionsa

Symbol

Parameter

VDDP VDDH VDDA VDDB VCC TA FHFRC_LP
FHFRC_BRST
FLFRC FXTAL

Pad supply voltage Digital supply voltage Analog supply voltage BLE/Burst Buck Converter supply voltage RF supply voltage Ambient operating temperature High Frequency RC (HFRC) oscillator frequency - Low Power High Frequency RC (HFRC) oscillator frequency - High Performance Burst Mode Low Frequency RC oscillator frequency (LFRC) Crystal frequency

a. VDD = VDDP = VDDA = VDDH

Min 1.755 1.755 1.755 1.755 1.755
-40

Typ
48 96 1.024 32.768

Max 3.63 3.63 3.63 3.63 3.63 85

Unit V V V V V ºC
MHz
MHz
kHz kHz

21.3 Current Consumption

Table 1145: Current Consumption

Symbol

Parameter

Test Conditionsa,b

VDD* Min Typ Max

Flash program run Executing Coremark from internal Flash 3.3V

10.3

IRUNLPFB

current, bucks memory, cache enabled, HFRC=48MHz, all

enabled,

Low peripherals disabled, buck converters

Power Mode

enabled, 8K SRAM, Flash1 OFF

1.8

18.2

Flash program run Executing Coremark from internal Flash 3.3v

27

IRUNHPFB

current, bucks memory, cache enabled, HFRC=96Hz, all

enabled, High Per- peripherals disabled, buck converters formance Mode enabled, 8K SRAM, Flash1 OFF

1.8v

41

IRUNLPFB

Flash program run

current, bucks

enabled,

Low

Power Mode

Executing Prime Number factorization from internal Flash Memory, cache enabled, HFRC=48MHz, all peripherals disabled, buck converters enabled, 8K SRAM, Flash1 OFF

3.3v 1.8v

8 14

IRUNHPFB

Flash program run current, bucks enabled, High Performance Mode

Executing Prime Number factorization from internal Flash Memory, cache enabled, HFRC=96MHz, all peripherals disabled, buck converters enabled, 8K SRAM, Flash1 OFF

3.3v 1.8v

23 34

Flash program run Executing while(1) from internal Flash 3.3v

6

IRUNWLPFB

current, bucks Memory, cache enabled, HFRC=48MHz, all

enabled,

Low peripherals disabled, buck converters

Power Mode

enabled, 8K SRAM, Flash1 OFF

1.8v

10

WFI instruction with SLEEP=1, clocks 3.3v

68

ISS2

Sleep mode 2 cur- gated, OSC's ON, buck converters

rent

enabled, all I/O power domains powered OFF, Flash1 OFF, 8kB SRAM

1.8v

80

Unit A/MHz A/MHz A/MHz A/MHz A/MHz A/MHz
A/MHz A/MHz A/MHz A/MHz
A A

DS-A3-0p9p1

Page 776 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1145: Current Consumption

System

Deep WFI instruction with SLEEPDEEP=1, XTAL 3.3v

2.7

A

ISDS2-384RET

Sleep mode 2 current w/ 384kB

ON, buck converters enabled in LP mode, all I/O power domains powered OFF, BLE

retention

OFF, 384kB SRAM in retention

1.8v

3.7

A

System

Deep WFI instruction with SLEEPDEEP=1, XTAL 3.3v

1.4

A

ISDS2-8RET

Sleep mode 2 cur- ON, buck converters enabled in LP mode,

rent w/ 8kB reten- all I/O power domains powered OFF, BLE

tion

OFF, 8kB SRAM in retention

1.8v

0.98

A

ISDS3

System

Deep

Sleep mode 3 cur-

rent

WFI instruction with SLEEPDEEP=1, XTAL OFF, buck converters enabled in LP mode, all I/O power domains powered OFF, BLE OFF, all SRAM OFF

3.3v 1.8v

1.2 0.8

A A

BLE Operating Current

IActive_Rx

Radio Rx current

IActive_Tx

Radio Tx current

ADC Operating Currentc

Measured at 0 dBm

3.3V TBD 3.0 TBD

mA

3.3V TBD 3.0 TBD

mA

IAD-
C_RUN_LPM0

ADC run mode low power mode 0

Average run current (LPMODE0: max conversion rate, single slot, 14-bit, CPU in deep sleep otherwise with 16kB SRAM and cache in retention. ADC / gated domains ON. All other IO domains OFF

IAD-
C_RUN_LPM1

ADC run mode low power mode 1

Average run current (LPMODE1: 1kHz sample period, single slot, 14-bit, CPU in deep sleep otherwise with 16kB SRAM and cache in retention, main ADC power domain ON. HW controlled ADC gated domain duty cycled between samples.

IAD-
C_RUN_LPM2

ADC run mode low power mode 2

Average run current (LPMODE2: 10Hz sample period, single slot, 14-bit, CPU in deep sleep otherwise with 16kB SRAM and cache in retention, main ADC power domain duty cycled by software with calibration each sample conversion

Flash Memory Operating Current

IPROGRAM

Supply current during a page program

IERASE

Supply current during a page erase

IMASSERASE

Supply current during a mass erase

3.3 V 3.3 V
3.3 V
3.3 V 3.3 V 3.3 V

µA µA

µA

TBD

mA

TBD

mA

TBD

mA

a. Core clock (HCLK) is 48 MHz for each parameter unless otherwise noted. b. All values measured at 25°C c. Base SoC power state is SDS2 with minimal SRAM retention. Current represents total current at battery.

DS-A3-0p9p1

Page 777 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21.4 Power Mode Transitions

Table 1146: Power Mode Transitions

Symbol
Buck mode TRUN_TO_SLEEP TRUN_TO_DEEPSLEEP TSLEEP_TO_RUN TDEEPSLEEP_TO_RUN LDO mode TRUN_TO_SLEEP TRUN_TO_DEEPSLEEP TSLEEP_TO_RUN TDEEPSLEEP_TO_RUN

Parameter
Run to Sleep mode transition time Run mode to Deep Sleep mode transition time Sleep to Run mode transition time Deep-Sleep to Run mode transition time
Run to Sleep mode transition time Run mode to Deep Sleep mode transition time Sleep to Run mode transition time Deep-Sleep to Run mode transition time

Min

Typ

Max

Unit

-

100

-

ns

-

TBD

-

µs

-

220

-

ns

-

15

-

µs

-

100

-

ns

-

TBD

-

µs

-

220

-

ns

-

15

-

µs

21.5 Clocks/Oscillators

Table 1147: Clocks/Oscillators

Symbol

Parameter

Test Conditions

Min

FHFRC

HFRC frequency

-

FLFRC

LFRC frequency

-

FXT

XT frequency

-

DCHFRC HFRC duty cycle

CINX

Internal XI/XO pin capacitance

CEXT_X-
T_TOL

Allowed external XI/XO pin capacitance per pin

-

FOF

XT oscillator failure detection frequency

OAXT

XT oscillation allowance

At 25°C using a 32.768 kHz tuning fork crystal

320

Typ 48 1024 32.768 50 3.4
-
8

Max -
7
-

Unit MHz Hz kHz
% pF pF kHz k

Table 1148: BLE Crystal Oscillator

Symbol

Parameter

FXTAL

Crystal frequency

FXTAL Frequency tolerance

CL ESR TXTAL

Crystal load capacitance Equivalent serial resistance Startup time

Test Conditions

Min

Typ

32

Untrimmed; include initial

tolerance/aging/tempera-

-40

ture drift

8

1

Max

Unit

MHz

40

ppm

pF

100

Ohms

ms

DS-A3-0p9p1

Page 778 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21.6 Bluetooth Low Energy (BLE)

Symbol AC Characteristics - Rx

Parametera

RSENS

Receiver sensitivity

RSENS, VAR Rx sensitivity variance between channels
PRX, MAX Maximum receiver input power
C/Ico-chan- Co-channel interference nel

PB

Out of band blocking

Out of band blocking

Out of band blocking

Out of band blocking

FET

Frequency error tolerance

AC Characteristics - Tx

POUT_PEAK POUT_AVG POUT, VAR

Peak output power
Average Tx output power
Average Tx output power variance between channels

POUT_STEP POUT_HD2 POUT_HD3 POUT_HD4

Power control step Second harmonic output power level Third harmonic output power level Fourth harmonic output power level

a. FCC and BQB test reports are available upon request.

Test Conditions
1 Mbps BLE ideal transmitter, <=37 bytes,
PER < 30.8%
PER < 30.8%
Wanted signal at ­ 67dBm, modulated interferer in channel, PER < 30.8%
30 MHz to 2000 MHz
2003 MHz to 2399 MHz
2484 MHz to 2997 MHz
3000 MHz to 12.75 GHz

Min -92 -0.5
-125 3 2.5
-0.5

Typ

Max

Unit

-93

-94

dBm

0.5

dB

0

dBm

7

dB

-5

dBm

-15

dBm

-15

dBm

-5

dBm

125

kHz

3.5

4

dBm

3

3.5

dBm

0.5

dB

TBD

dBm

-40

-30

dBm

-40

-30

dBm

-40

-30

dBm

21.7 Analog-to-Digital Converter (ADC)
Table 1149: Analog to Digital Converter (ADC)

Symbol

Parameter

Test Conditions

Min

ANALOG INPUT

VADCIN

Input voltage range singleended input

0

Typ

Max

Unit

VADCREF

V

DS-A3-0p9p1

Page 779 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Symbol VADCIN_DIFF

Parameter
Input voltage range in differential mode

Test Conditions

Min

Typ

-VADCREF/ 2

Max
+VADCREF/2

Unit V

VADCINN VADCINP

Absolute differential input voltage range

VADCREF_15E

External reference voltage range (1.5v mode)

VADCREF_20E

External reference voltage range (2.0v mode)

VADCREF_15I

Internal reference voltage range (1.5v mode)

VADCREF_20I

Internal reference voltage range (2.0v mode)

IADCIN

ADC channel pin input leakage current (static)

GPIO 16 measured at 85 C, TTT part, 2.05 V; 2 V on pad; 10.8 nA with 3.63 or 1.8 V on VDD and pad

ZADC_CH0

ADC Channel 0 Input Impedance

VDD = 3.63 V

ZADC_CH1 - ZAD-
C_CH7

ADC Channel 1 - Channel 7 Input Impedance

VDD = 3.63 V

CADCIN

Input source capacitance

CADCVREF

External ADC capacitance for internal reference

SAMPLING DYNAMICS

RES

Resolution

FADCONV

Conversion rate

TTRIG_CSTART_REF0

Delay from cold start trigger to start of scan, Internal Ref

TTRIG_CSTART_REF1

Delay from cold start trigger to start of scan, External Ref

TTRIG_WSTART_LP1_RE F0

Delay from warm start trigger to start of scan, LPMODE1, Internal Ref

TTRIG_WSTART_LP1_RE F1

Delay from warm start trigger to start of scan, LPMODE1, External Ref

TTRIG_WSTART_LP0_RE F0

Delay from warm start trigger to start of scan, LPMODE0, Internal Ref

TTRIG_WSTART_LP0_RE F1

Delay from warm start trigger to start of scan, LPMODE0, External Ref

TSNGLSLOT_SC Delay from scan start to scan

NCMP_PM14

complete, precision mode 14

0 1.425
1.9 1.475 1.975
360 180
400
8

VDDH

V

1.5

1.575

V

2.0

2.1

V

1.5

1.525

V

2.0

2.025

V

.5

50

nA

720

k

3600

M

4

pF

470

540

nF

14 1.2 (14b) 1.6 (12b) 2.0 (10b) 2.66 (8b)
652
137

bit MS/s
µs µs

65.6

µs

1.52

µs

0

µs

0

µs

40

cycles

DS-A3-0p9p1

Page 780 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Symbol

Parameter

Test Conditions

Min

TSNGLSLOT_SC Delay from scan start to scan

NCMP_PM12

complete, precision mode 12

TSNGLSLOT_SC Delay from scan start to scan

NCMP_PM10

complete, precision mode 10

TSNGLSLOT_SC Delay from scan start to scan

NCMP_PM8

complete, precision mode 8

TCAL

Calibration Period

DYNAMIC CHARACTERISTICS, External 2v Reference (LDO or Buck Mode,a Single/Diff. Ended Input, 1 kHz Input, ADC Running in 14-bit Mode

ENOBCAL

Calibrated ENOB

3.0V

10.3

THDADC

Total harmonic distortion (THD) - 1st 7 harmonics

3.0V

SNRADC

Signal-to-noise ratio (SNR)

3.0V

64.1

SFDRADC

Spurious-free dynamic range (SFDR)

3.0V

78.55

SINADADC

Signal-to-noise and distortion ratio (SINAD)

3.0V

64.04

DYNAMIC CHARACTERISTICS, Internal 1.5V Reference (LDO Mode, Single/Diff. Ended Input, 1 kHz Input, ADC Running in 14-bit Mode)

ENOBCAL

Calibrated ENOB

3.0V

10.2

1.8V

10.6

THDADC

Total harmonic distortion (THD) - 1st 7 harmonics

3.0V 1.8V

SNRADC

Signal-to-noise ratio (SNR)

3.0V 1.8V

SFDRADC

Spurious-free dynamic range (SFDR)

3.0V 1.8V

65.7 70.7

SINADADC

Signal-to-noise and distortion ratio (SINAD)

3.0V 1.8V

63.1 65.7

DYNAMIC CHARACTERISTICS, Internal 1.5V Reference (Buck Mode, Single/Diff. Ended Input, 1 kHz Input, ADC Running in 14-bit Mode)

ENOBCAL

Calibrated ENOB

3.0V

9.6

1.8V

9.4

THDADC

Total harmonic distortion (THD) - 1st 7 harmonics

3.0V 1.8V

SNRADC

Signal-to-noise ratio (SNR)

3.0V 1.8V

SFDRADC

Spurious-free dynamic range (SFDR)

3.0V 1.8V

65.6 64.7

SINADADC

Signal-to-noise and distortion ratio (SINAD)

3.0V 1.8V

59.8 58.2

PERFORMANCE

Typ 28 22 18 6415

Max

Unit

cycles

cycles

cycles cycles

10.9 -80.4
68 85.9 67.7

-71.7

ENOB dB dB dB

dB

10.6 10.9 -70.4 -73.9 66.1 67.5 72.7 76.1 65.8 67.2

ENOB

ENOB

-61

dB

-65

dB

dB

dB

dB

dB

dB

dB

10.2

ENOB

10.1

ENOB

-70

-60

dB

-74

-64

dB

63.4

dB

63.2

dB

72.7

dB

75.3

dB

63.1

dB

62.9

dB

DS-A3-0p9p1

Page 781 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Symbol

Parameter

NMCADC

No missing codes

INLADC

Integral nonlinearity

DNLADC

Differential nonlinearity

EADC_OFFEST

Offset error

EADC_GAIN

Gain error

INTERNAL TEMPERATURE SENSOR

ETEMP

Temperature sensor accuracy

STEMP

Temperature sensor slope

BATTERY RESISTANCE

RBATT

Internal resistance for Battery Measurement

VBATTDIV

Battery divider voltage

a. Buck Mode not supported on wafer package

Test Conditions
Full input range Full input range

Min

Typ

Max

Unit

14

bits

+/- 2.4 +/- 3.5 LSB

+/- 0.9 +/- 1.7 LSB

1

1

%FS

1

%FS

+/- 3 3.8

°C mV/°C

487.32

524

560.68



-2.5%

0.333 * VDDH

+1.5%

V

DS-A3-0p9p1

Page 782 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21.8 Buck Converter

Table 1150: SIMO Buck Converter

Symbol

Parameter

Test Conditions

Min

LSBUCK CBUCK

Buck converter inductance (VSIMO)
Buck converter output capacitance (2) (VDDC, VDDF)

Typ

Max

Unit

2.2

µH

2.2

µF

VDDP

MEM LDO
CORE LDO
SIMO BUCK

Internal Voltages
MEMLP VDDF_LP LDO
VDDF
VDDC

SIMOBUCK_SW

LSBUCK

SIMOBUCK _SWSEL

VSSP

VDDC VDDF CBUCK CBUCK

Figure 95. External Components for SIMO Buck

Table 1151: BLE Buck Converter

Symbol

Parameter

LBLEBUCK CBLEBUCK CDCDCREF

Buck converter inductance (VDDBH) Buck converter output capacitance (VDDBH) BLE ref voltage capacitance (VVDCDCRF)

Test Conditions

Min

Typ

Max

Unit

1.0

µH

4.7

µF

1.0

µF

DS-A3-0p9p1

Page 783 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

VDDB

BLE BUCK

Internal Voltages VDDBH
VDCDCRF

VDDBH_SW

LBLEBUCK VDDBH

CBLEBUCK

0 ohm*

VDCDCRF VSSB CDCDCRF

*Replace with a ferrite bead to filter high-frequency noise

Figure 96. External Components for BLE Buck

DS-A3-0p9p1

Page 784 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21.9 Power-On RESET (POR) and Brown-Out Detector (BOD)

Table 1152: Power-On Reset (POR) and Brown-Out Detector (BOD)

Symbol VPOR_RISING VBODL_FALLING

Parameter

Min

POR rising threshold voltage

1.62

Brownout detection low falling threshold voltage

1.62

Typ

Max

Unit

1.755

V

1.755

V

DS-A3-0p9p1

Page 785 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21.10Resets

Table 1153: Resets

Symbol

Parameter

Test Conditions

Min

Typ

Max

Unit

TRST

nRST pulse width to guarantee reset assertion

2KV/s supply slew rate

TBD

µs

TPOR

POR detect to nRST deassertion delay

2KV/s supply slew rate

TBD

TBD

TBD

µs

TPOR2HRST

Delay from nRST deassertion to HRESET deassertion

2KV/s supply slew rate

TBD

TBD

µs

TRSTDLY

nRST reset delay from internal BODL

2KV/s supply slew rate

TBD

µs

TSOFT

Software initiated reset delay

2KV/s supply slew rate

TBD

µs

DS-A3-0p9p1

Page 786 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21.11Voltage Comparator (VCOMP)

Symbol VCOMPIN VCOMPIN_OV ICOMPIN_LEAK TCOMP_RTRIG TCOMP_FTRIG VHYST

Table 1154: Voltage Comparator (VCOMP)

Parameter

Test Conditions

Min

Input voltage range

0

Input offset voltage

Input leakage current

Rising voltage trigger response time

Falling voltage trigger response time

Hysteresis

30

Typ
TBD 1

Max VDDA
38 12

Unit V V nA µs µs mV

DS-A3-0p9p1

Page 787 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21.12 Inter-Integrated Circuit (I2C) Interface

Table 1155: Inter-Integrated Circuit (I2C) Interface

Symbol
fSCL tLOW tHIGH tRISE tFALL tHD:STA tSU:STA tSU:DAT tHD:DAT tSU:STO tBUF

Parameter SCL input clock frequency Low period of SCL clock High period of SCL clock Rise time of SDA and SCL Fall time of SDA and SCL START condition hold time START condition setup time SDA setup time SDA hold time STOP condition setup time Bus free time before a new transmission

VCC 1.7 V - 3.6 V 1.7 V - 3.6 V 1.7 V - 3.6 V 1.7 V - 3.6 V 1.7 V - 3.6 V 1.7 V - 3.6 V 1.7 V - 3.6 V 1.7 V - 3.6 V 1.7 V - 3.6 V 1.7 V - 3.6 V 1.7 V - 3.6 V

Min

Typ

Max

Unit

10

1000

kHz

1.3

µs

600

ns

300

ns

300

ns

600

ns

600

ns

100

ns

0

ns

600

ns

1.3

µs

SDA SCL SDA

tBUF

tLOW

tHD:DAT

tSU:DAT

tHD:STA

tRISE

tSU:STA

tFALL

tHIGH

tSU:STO

Figure 97. I2C Timing

DS-A3-0p9p1

Page 788 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21.13 Serial Peripheral Interface (SPI) Master Interface

Table 1156: Serial Peripheral Interface (SPI) Master Interface

Symbol FSCLK BFIFO TSCLK_LO
TSCLK_HI TSU_MI THD_MI THD_MO TVALID,MO

Parameter SCLK frequency range FIFO size Clock low time
Clock high time MISO input data setup time MISO input data hold time MOSI output data hold time MOSI output data valid time

Min

Typ

Max

-

8

24

32

1/2FS-

-

-

CLK(max)

1/2FS-

-

-

CLK(max)

-

-

-

-

-

-

-

-

-

-

-

-

Unit MHz Bytes
s
s ns ns ns ns

SPOL = 0 SCLK SPOL = 1
MISO
MOSI

1/FSCLK

TSCL K_LO

TS CL K_HI

TSU_MI THD_MI

THD _M O TVALID_MO

Figure 98. SPI Master Mode, Phase = 0

DS-A3-0p9p1

Page 789 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

SPOL = 0 SCLK SPOL = 1
MISO
MOSI

1/FSCLK

TSCLK_LO TSCLK_HI

TSCLK_LO TSCLK_HI

THD_MO TVALID_MO

TSU_MI

THD_MI

Figure 99. SPI Master Mode, Phase = 1

TSCLK_F TSCLK_R

DS-A3-0p9p1

Page 790 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21.14Serial Peripheral Interface (SPI) Slave Interface

Table 1157: Serial Peripheral Interface (SPI) Slave Interface

Symbol FSCLK BFIFO
TSCLK_LO
TSCLK_HI
TCE_LEAD TCE_LAG TCE_SDO TCE_SDZ TSU_SI THD_SI THD_SO TVALID,SO

Parameter SCLK frequency range FIFO size
Clock low time
Clock high time
Chip enable low to first SCLK edge Chip enable high to last SCLK edge Chip enable low to MISO data output Chip enable high to MISO data tri-state MOSI input data setup time MOSI input data hold time MISO output data hold time MISO output data valid time

Min

Typ

-

-

128

1/2FS-

-

CLK(max)

1/2FS-

-

CLK(max)

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

Max 8
-
-

Unit MHz Bytes
s
s
ns ns ns ns ns ns ns ns

CE
SPOL = 0 SCLK
SPOL = 1
MOSI
MISO

TCE_LEAD 1/FSCLK

TSCLK_LO TSCLK_HI

TSCLK_LO TSCLK_HI

TCE_LAG

TSCLK_F TSCLK_R TTSSUU__MSI

THD_SI

TCE_SDO

THD_SO TVALID_SO

TCE_SDZ

DS-A3-0p9p1

Page 791 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
Figure 100. SPI Slave Mode, Phase = 0

CE
SPOL = 0 SCLK SPOL = 1
MOSI
MISO

TCE_LEAD 1/FSCLK

TSCLK_LO TSCLK_HI

TSCLK_LO TSCLK_HI

TCE_SDO

THD_SO TVALID_SO

TCE_LAG TSCLK_R

TSU_SI

THD_SI

TSCLK_F

TCE_SDZ

Figure 101. SPI Slave Mode, Phase = 1

DS-A3-0p9p1

Page 792 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21.15PDM Interface

Table 1158: Pulse Density Modulation (PDM) Interface

Symbol

Parameter

Min

Typ

Max

Unit

DCPDMCLK

PDM clock duty cyclea

45

-

55

%

DCPDMCLK_HI

PDM high frequency clock duty cycleb

48

-

52

%

TPDM_RISE

PDM clock and data rise time

-

-

TBD

ns

TPDM_FALL

PDM clock and data fall time

-

-

TBD

ns

TSU_PDM

PDM input data setup time

-

-

TBD

ns

THD_PDM

PDM input data hold time

TBD

-

-

ns

a. Applicable when FPDMCLK <= 2.4 MHz and PDM_PCFG_MCLKDIV set to MCKDIV1, MCKDIV2 or MCKDIV4 only. PDM_PCFG_MCLKDIV setting of MCKDIV3 has a duty cycle of 67%.
b. Applicable when FPDMCLK > 2.4 MHz and PDM_PCFG_MCLKDIV set to MCKDIV1, MCKDIV2 or MCKDIV4 only. PDM_PCFG_MCLKDIV setting of MCKDIV3 has a duty cycle of 67%. Also, using Pad 37 for PDM_CLK supports only the lower frequency DC range (DCPDMCLK) and is not guaranteed to meet the higher frequency DC range.

21.16I2S Interface

Table 1159: Inter-Integrated Serial (I2S) Interface

Symbol
FBCLK FWDCLK DCBCLK DCWDCLK TI2S_RISE TI2S_FALL TSU_I2S THD_I2S

Parameter I2S input BCLK frequency range I2S input WDCLK frequency range I2S BCLK duty cycle I2S WDCLK duty cycle I2S clock and data rise time I2S clock and data fall time I2S input data setup time I2S input data hold time

Min

Typ

Max

TBD

TBD

TBD

TBD

40

-

60

40

-

69

-

-

TBD

-

-

TBD

-

-

TBD

TBD

-

-

Unit MHz MHz
% % ns ns ns ns

21.17Universal Asynchronous Receiver/Transmitter (UART)

Table 1160: Universal Asynchronous Receiver/Transmitter (UART)

Symbol FBAUD

UART baud rate

Parameter

Min

Typ

Max

Unit

-

921600

bps

DS-A3-0p9p1

Page 793 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21.18Counter/Timer (CTIMER)

Table 1161: Counter/Timer (CTIMER)

Symbol FCTIMER TCTIMER

Parameter Input frequency Capture pulse width

Min

Typ

Max

Unit

-

-

24

MHz

-

-

21.19Flash Memory

Table 1162: Flash Memory

Symbol PECYC TFDR TPAGE_ERASE TMASS_ERASE

Parameter Program/erase cycles before failure Data retention @85C Single page erase time (8192 bytes) Mass erase time

Min

Typ

Max

Unit

10,000

-

-

cycles

10

-

-

years

10 (TBD)

-

20 (TBD)

ms

10 (TBD)

-

20 (TBD)

ms

21.20General Purpose Input/Output (GPIO)
All GPIOs have Schmitt trigger inputs.

Table 1163: General Purpose Input/Output (GPIO)

Symbol

Parameter

ALL GPIOs

VOH

High-level output voltage

VOL

Low-level output voltage

VIH

Positive going input threshold voltage

VIL

Negative going input threshold voltage

VHYS

Input Hysteresis

CGPI

Input capacitance

RPU

Pull-up resistance

RPD

Pull-down resistance

RPUI2C00

I2C pad pull-up resistance, RSEL = 0x00

RPUI2C01

I2C pad pull-up resistance, RSEL = 0x01

RPUI2C10

I2C pad pull-up resistance, RSEL = 0x10

RPUI2C11

I2C pad pull-up resistance, RSEL = 0x11

IIN

Input pin leakage current

IINOD

Open drain output leakage current

STANDARD GPIOs

Min

TYP

0.8 * VDDH

-

-

-

0.7 * VDDH -

0.1 * VDDH -

-

63

-

63

-

2

-

6

-

12

-

24

-

1

-

1

Max

Unit

-

V

0.2 * VDDH

V

-

V

0.3 * VDDH

V

-

V

TBD

pF

-

k

-

k

-

k

-

k

-

k

-

k

-

nA

-

nA

DS-A3-0p9p1

Page 794 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1163: General Purpose Input/Output (GPIO)

TRISE_STD Rise time

TFALL_STD Fall time

ISRC_STD

Output source current, 2mA drive strength

ISNK_STD

Output sink current, 2mA drive strength

ISRC_STD

Output source current, 4mA drive strength

ISNK_STD

Output sink current, 4mA drive strength

ISRC_STD

Output source current, 8mA drive strength

ISNK_STD

Output sink current, 8mA drive strength

ISRC_STD

Output source current, 12mA drive strength

ISNK_STD

Output sink current, 12mA drive strength

POWER SWITCH GPIOs

RSRC_PWR High side power switch resistance

ISRC_PWR High side power switch source current

ISRC_P-
WR_LKG

High side power switch source leakage current

RSNK_PWR Low side power switch resistance

ISNK_PWR Low side power switch sink current

ISNK_P-
WR_LKG

Low side power switch source leakage current

-
TBD TBD

3.5 3.4 7.1 6.8 14.1 13.5 21.1 20.2
1.02 -
2.58 1 -
TBD

TBD

ns

TBD

ns

-

mA

-

mA

-

mA

-

mA

-

mA

-

mA

-

mA

-

mA

1.7



100

mA

TBD

nA

TBD



30

mA

TBD

nA

DS-A3-0p9p1

Page 795 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

21.21Serial Wire Debug (SWD)

Table 1164: Serial Wire Debug (SWD)

Symbol TSWDCK_HI TSWDCK_LO TOS_SWD TSU_SWD THD_SWD

Parameter SWDCK clock high period SWDCK clock low period SWDIO output skew to falling edge of SWDCLK Input setup time between SWDIO and rising edge SWDCK Input hold time between SWDIO and rising edge SWDCK

Min Typ Max Unit µs µs ns ns ns

Read Cycle

Debugger Probe Output to SWDIO Debugger Probe Output to SWDCK

Stop

Park TOS_SWD

High-Z TSWDCK_HI

TSWDCK_LO

Data Data Parity Start

Apollo Output to SWDIO

High-Z

Acknowledge

High-Z

Write Cycle

Debugger Probe Output to SWDIO

Stop Park

Debugger Probe Output to SWDCK

TSU_SWD

High-Z TSWDCK_LO

Start

Apollo Output to SWDIO

High-Z

Acknowledge

Data

Figure 102. Serial Wire Debug Timing

Data Parity

High-Z

DS-A3-0p9p1

Page 796 of 909

2019 Ambiq Micro, Inc. All rights reserved.

22. Package Mechanical Information
22.1 CSP Package

Apollo3 Blue Datasheet

Notes: 1. Dimension b is measured at the maximum solder
bump diameter, parallel to primary datum C. 2. This pod is for device Apollo3 without backside
coating. 3. eF is the distance between the center lines of row
C and row D of balls. 4. eG is the vertical offset from center of package to
center of D5 ball. 5. eH is the horizontal offset from center of package
to center of D5 ball. 6. In the bottom view, the D5 ball center is above and
to the left of the center of package, making the overall D5 offset from the center of package toward the top-left quadrant (A9 corner) of the package.
Figure 103. CSP Package Drawing

DS-A3-0p9p1

Page 797 of 909

2019 Ambiq Micro, Inc. All rights reserved.

22.2 BGA Package1

Apollo3 Blue Datasheet

1. All dimensions in mm unless otherwise noted.

DS-A3-0p9p1

Page 798 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Figure 104. BGA Package Drawing

DS-A3-0p9p1

Page 799 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

DS-A3-0p9p1

Page 800 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

DS-A3-0p9p1

Page 801 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

DS-A3-0p9p1

Page 802 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

DS-A3-0p9p1

Page 803 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
23. Appendix 1. FLASH OTP 0 Customer Info Space (Info0)
23.1 Flash OTP INSTANCE0 INFO0 Words
Customer OTP Block 0 of Instance 0. INSTANCE 0 BASE ADDRESS:0x00000000 This is the detailed description of the contents of the Customer OTP for Apollo3.

DS-A3-0p9p1

Page 804 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

23.1.1 Register Memory Map

Table 1165: Flash OTP INSTANCE0 INFO0 Register Map

Address(s)
0x00000000 0x00000004 0x00000008 0x0000000C 0x00000010 0x00000014 0x00000018 0x00000020 0x00000024 0x00000028 0x0000002C 0x00000030 0x00000034 0x00000038 0x0000003C 0x00000040 0x00000050 0x000001F8 0x000001FC 0x00000200 0x00000204 0x000009F8 0x000009FC 0x00000A00 0x00000A04 0x00000C00 0x00000C04 0x00000C08 0x00000C0C 0x00000C10 0x00000FF8 0x00000FFC 0x00001800 0x00001804 0x00001808 0x0000180C

Register Name
SIGNATURE0 SIGNATURE1 SIGNATURE2 SIGNATURE3 SECURITY CUSTOMERTRIM CUSTOMERTRIM2 SECURITYOVR SECURITYWIREDCFG SECURITYWIREDIFCCFG0 SECURITYWIREDIFCCFG1 SECURITYWIREDIFCCFG2 SECURITYWIREDIFCCFG3 SECURITYWIREDIFCCFG4 SECURITYWIREDIFCCFG5 SECURITYVERSION SECURITYSRAMRESV WRITEPROTECTL WRITEPROTECTH COPYPROTECTL COPYPROTECTH WRITEPROTECTSBLL WRITEPROTECTSBLH COPYPROTECTSBLL COPYPROTECTSBLH MAINPTR0 MAINPTR1 KREVTRACK AREVTRACK OTADESCRIPTOR MAINCNT0 MAINCNT1 CUSTKEKW0 CUSTKEKW1 CUSTKEKW2 CUSTKEKW3

Description
INFO0 Signature INFO0 Signature INFO0 Signature INFO0 Signature Security protection bits Customer trim values Customer trim values word2 Security Override configuration bits Security Wired configuration bits Security Wired Interface configuration word0 Security Wired Interface configuration word1 Security Wired Interface configuration word2 Security Wired Interface configuration word3 Security Wired Interface configuration word4 Security Wired Interface configuration word5 Security version field SRAM Reserved for Application Scratch space Flash write-protection bits. Flash write-protection bits. Flash copy/read-protection bits. Flash copy/read-protection bits. Flash write-protection bits. Flash write-protection bits. Flash copy/read-protection bits. Flash copy/read-protection bits. main firmware pointer 0 main firmware pointer 1 KEK Revocation Tracker AUTH Revocation Tracker OTA Descriptor Pointer main Index Counter 0 main Index Counter 1 Customer KEK Word0 Customer KEK Word1 Customer KEK Word2 Customer KEK Word3

DS-A3-0p9p1

Page 805 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1165: Flash OTP INSTANCE0 INFO0 Register Map

Address(s)
0x00001810 0x00001814 0x00001818 0x0000181C 0x00001820 0x00001824 0x00001828 0x0000182C 0x00001830 0x00001834 0x00001838 0x0000183C 0x00001840 0x00001844 0x00001848 0x0000184C 0x00001850 0x00001854 0x00001858 0x0000185C 0x00001860 0x00001864 0x00001868 0x0000186C 0x00001870 0x00001874 0x00001878 0x0000187C 0x00001880 0x00001884 0x00001888 0x0000188C 0x00001890 0x00001894 0x00001898 0x0000189C 0x000018A0 0x000018A4

Register Name
CUSTKEKW4 CUSTKEKW5 CUSTKEKW6 CUSTKEKW7 CUSTKEKW8 CUSTKEKW9 CUSTKEKW10 CUSTKEKW11 CUSTKEKW12 CUSTKEKW13 CUSTKEKW14 CUSTKEKW15 CUSTKEKW16 CUSTKEKW17 CUSTKEKW18 CUSTKEKW19 CUSTKEKW20 CUSTKEKW21 CUSTKEKW22 CUSTKEKW23 CUSTKEKW24 CUSTKEKW25 CUSTKEKW26 CUSTKEKW27 CUSTKEKW28 CUSTKEKW29 CUSTKEKW30 CUSTKEKW31 CUSTAUTHW0 CUSTAUTHW1 CUSTAUTHW2 CUSTAUTHW3 CUSTAUTHW4 CUSTAUTHW5 CUSTAUTHW6 CUSTAUTHW7 CUSTAUTHW8 CUSTAUTHW9

Description
Customer KEK Word4 Customer KEK Word5 Customer KEK Word6 Customer KEK Word7 Customer KEK Word0 Customer KEK Word9 Customer KEK Word10 Customer KEK Word11 Customer KEK Word12 Customer KEK Word13 Customer KEK Word14 Customer KEK Word15 Customer KEK Word16 Customer KEK Word17 Customer KEK Word18 Customer KEK Word19 Customer KEK Word20 Customer KEK Word21 Customer KEK Word22 Customer KEK Word23 Customer KEK Word24 Customer KEK Word25 Customer KEK Word26 Customer KEK Word27 Customer KEK Word28 Customer KEK Word29 Customer KEK Word30 Customer KEK Word31 Customer AUTH Key Word0 Customer AUTH Key Word1 Customer AUTH Key Word2 Customer AUTH Key Word3 Customer AUTH Key Word4 Customer AUTH Key Word5 Customer AUTH Key Word6 Customer AUTH Key Word7 Customer AUTH Key Word0 Customer AUTH Key Word9

DS-A3-0p9p1

Page 806 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1165: Flash OTP INSTANCE0 INFO0 Register Map

Address(s)
0x000018A8 0x000018AC 0x000018B0 0x000018B4 0x000018B8 0x000018BC 0x000018C0 0x000018C4 0x000018C8 0x000018CC 0x000018D0 0x000018D4 0x000018D8 0x000018DC 0x000018E0 0x000018E4 0x000018E8 0x000018EC 0x000018F0 0x000018F4 0x000018F8 0x000018FC 0x00001900 0x00001904 0x00001908 0x0000190C 0x00001910 0x00001914 0x00001918 0x0000191C 0x00001920 0x00001924 0x00001928 0x0000192C 0x00001930 0x00001934 0x00001938 0x0000193C

Register Name
CUSTAUTHW10 CUSTAUTHW11 CUSTAUTHW12 CUSTAUTHW13 CUSTAUTHW14 CUSTAUTHW15 CUSTAUTHW16 CUSTAUTHW17 CUSTAUTHW18 CUSTAUTHW19 CUSTAUTHW20 CUSTAUTHW21 CUSTAUTHW22 CUSTAUTHW23 CUSTAUTHW24 CUSTAUTHW25 CUSTAUTHW26 CUSTAUTHW27 CUSTAUTHW28 CUSTAUTHW29 CUSTAUTHW30 CUSTAUTHW31 CUSTPUBKEYW0 CUSTPUBKEYW1 CUSTPUBKEYW2 CUSTPUBKEYW3 CUSTPUBKEYW4 CUSTPUBKEYW5 CUSTPUBKEYW6 CUSTPUBKEYW7 CUSTPUBKEYW8 CUSTPUBKEYW9 CUSTPUBKEYW10 CUSTPUBKEYW11 CUSTPUBKEYW12 CUSTPUBKEYW13 CUSTPUBKEYW14 CUSTPUBKEYW15

Description
Customer AUTH Key Word10 Customer AUTH Key Word11 Customer AUTH Key Word12 Customer AUTH Key Word13 Customer AUTH Key Word14 Customer AUTH Key Word15 Customer AUTH Key Word16 Customer AUTH Key Word17 Customer AUTH Key Word18 Customer AUTH Key Word19 Customer AUTH Key Word20 Customer AUTH Key Word21 Customer AUTH Key Word22 Customer AUTH Key Word23 Customer AUTH Key Word24 Customer AUTH Key Word25 Customer AUTH Key Word26 Customer AUTH Key Word27 Customer AUTH Key Word28 Customer AUTH Key Word29 Customer AUTH Key Word30 Customer AUTH Key Word31 Customer Public Key Word0 Customer Public Key Word1 Customer Public Key Word2 Customer Public Key Word3 Customer Public Key Word4 Customer Public Key Word5 Customer Public Key Word6 Customer Public Key Word7 Customer Public Key Word0 Customer Public Key Word9 Customer Public Key Word10 Customer Public Key Word11 Customer Public Key Word12 Customer Public Key Word13 Customer Public Key Word14 Customer Public Key Word15

DS-A3-0p9p1

Page 807 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1165: Flash OTP INSTANCE0 INFO0 Register Map

Address(s)
0x00001940 0x00001944 0x00001948 0x0000194C 0x00001950 0x00001954 0x00001958 0x0000195C 0x00001960 0x00001964 0x00001968 0x0000196C 0x00001970 0x00001974 0x00001978 0x0000197C 0x00001980 0x00001984 0x00001988 0x0000198C 0x00001990 0x00001994 0x00001998 0x0000199C 0x000019A0 0x000019A4 0x000019A8 0x000019AC 0x000019B0 0x000019B4 0x000019B8 0x000019BC 0x000019C0 0x000019C4 0x000019C8 0x000019CC 0x000019D0 0x000019D4

Register Name
CUSTPUBKEYW16 CUSTPUBKEYW17 CUSTPUBKEYW18 CUSTPUBKEYW19 CUSTPUBKEYW20 CUSTPUBKEYW21 CUSTPUBKEYW22 CUSTPUBKEYW23 CUSTPUBKEYW24 CUSTPUBKEYW25 CUSTPUBKEYW26 CUSTPUBKEYW27 CUSTPUBKEYW28 CUSTPUBKEYW29 CUSTPUBKEYW30 CUSTPUBKEYW31 CUSTPUBKEYW32 CUSTPUBKEYW33 CUSTPUBKEYW34 CUSTPUBKEYW35 CUSTPUBKEYW36 CUSTPUBKEYW37 CUSTPUBKEYW38 CUSTPUBKEYW39 CUSTPUBKEYW40 CUSTPUBKEYW41 CUSTPUBKEYW42 CUSTPUBKEYW43 CUSTPUBKEYW44 CUSTPUBKEYW45 CUSTPUBKEYW46 CUSTPUBKEYW47 CUSTPUBKEYW48 CUSTPUBKEYW49 CUSTPUBKEYW50 CUSTPUBKEYW51 CUSTPUBKEYW52 CUSTPUBKEYW53

Description
Customer Public Key Word16 Customer Public Key Word17 Customer Public Key Word18 Customer Public Key Word19 Customer Public Key Word20 Customer Public Key Word21 Customer Public Key Word22 Customer Public Key Word23 Customer Public Key Word24 Customer Public Key Word25 Customer Public Key Word26 Customer Public Key Word27 Customer Public Key Word28 Customer Public Key Word29 Customer Public Key Word30 Customer Public Key Word31 Customer Public Key Word32 Customer Public Key Word33 Customer Public Key Word34 Customer Public Key Word35 Customer Public Key Word36 Customer Public Key Word37 Customer Public Key Word38 Customer Public Key Word39 Customer Public Key Word40 Customer Public Key Word41 Customer Public Key Word42 Customer Public Key Word43 Customer Public Key Word44 Customer Public Key Word45 Customer Public Key Word46 Customer Public Key Word47 Customer Public Key Word48 Customer Public Key Word49 Customer Public Key Word50 Customer Public Key Word51 Customer Public Key Word52 Customer Public Key Word53

DS-A3-0p9p1

Page 808 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1165: Flash OTP INSTANCE0 INFO0 Register Map

Address(s) 0x000019D8 0x000019DC 0x000019E0 0x000019E4 0x000019E8 0x000019EC 0x000019F0 0x000019F4 0x000019F8 0x000019FC

Register Name CUSTPUBKEYW54 CUSTPUBKEYW55 CUSTPUBKEYW56 CUSTPUBKEYW57 CUSTPUBKEYW58 CUSTPUBKEYW59 CUSTPUBKEYW60 CUSTPUBKEYW61 CUSTPUBKEYW62 CUSTPUBKEYW63

0x00001A00 CUSTOMERKEY0

0x00001A04 0x00001A08 0x00001A0C 0x00001A10 0x00001A14 0x00001A18 0x00001A1C

CUSTOMERKEY1 CUSTOMERKEY2 CUSTOMERKEY3 CUSTPUBHASHW0 CUSTPUBHASHW1 CUSTPUBHASHW2 CUSTPUBHASHW3

Description
Customer Public Key Word54 Customer Public Key Word55 Customer Public Key Word56 Customer Public Key Word57 Customer Public Key Word58 Customer Public Key Word59 Customer Public Key Word60 Customer Public Key Word61 Customer Public Key Word62 Customer Public Key Word63 128-bit customer key. Customer SW can access the protected upper half of info0 by writing this key value into the security lock register 128-bit customer key. 128-bit customer key. 128-bit customer key. Customer Public Key Hash Word0 Customer Public Key Hash Word1 Customer Public Key Hash Word2 Customer Public Key Hash Word3

DS-A3-0p9p1

Page 809 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

23.1.2 Flash OTP INSTANCE0 INFO0 Words
23.1.2.1 SIGNATURE0 Register
INFO0 Signature OFFSET: 0x00000000 INSTANCE 0 ADDRESS: 0x00000000 Word 0 (low word, bits 31:0) of the 128-bit INFO0 signature.
Table 1166: SIGNATURE0 Register
33222222222211111111110000000000 10987654321098765432109876543210
SIG0

Bit

Name

31:0

SIG0

Table 1167: SIGNATURE0 Register Bits

Reset 0xffffffff

RW

Description

INFO0 signature word 0 (low 32-bits).

23.1.2.2 SIGNATURE1 Register
INFO0 Signature OFFSET: 0x00000004 INSTANCE 0 ADDRESS: 0x00000004 Word 1 (bits 63:32) of the 128-bit INFO0 signature.

Table 1168: SIGNATURE1 Register
33222222222211111111110000000000 10987654321098765432109876543210
SIG1

Bit

Name

31:0

SIG1

Table 1169: SIGNATURE1 Register Bits

Reset 0xffffffff

RW INFO0 signature word 1.

Description

DS-A3-0p9p1

Page 810 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

23.1.2.3 SIGNATURE2 Register
INFO0 Signature OFFSET: 0x00000008 INSTANCE 0 ADDRESS: 0x00000008 Word 2 (bits 95:64) of the 128-bit INFO0 signature.
Table 1170: SIGNATURE2 Register
33222222222211111111110000000000 10987654321098765432109876543210
SIG2

Bit

Name

31:0

SIG2

Table 1171: SIGNATURE2 Register Bits

Reset 0xffffffff

RW INFO0 signature word 2.

Description

23.1.2.4 SIGNATURE3 Register
INFO0 Signature OFFSET: 0x0000000C INSTANCE 0 ADDRESS: 0x0000000C Word 3 (high word, bits 127:96) of the 128-bit INFO0 signature.

Table 1172: SIGNATURE3 Register
33222222222211111111110000000000 10987654321098765432109876543210
SIG3

Bit

Name

31:0

SIG3

Table 1173: SIGNATURE3 Register Bits

Reset 0xffffffff

RW

Description

INFO0 signature word 3 (high 32 bits).

23.1.2.5 SECURITY Register
Security protection bits OFFSET: 0x00000010 INSTANCE 0 ADDRESS: 0x00000010

DS-A3-0p9p1

Page 811 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet
This 32-bit word contains the customer programmable security.
Table 1174: SECURITY Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

KEYWRAP

SECPOL RSVD
SECBOOTONRST RSVD
SECBOOT PLONEXIT
SDBG BOOTLOADER_AT_RESET
EN_CUST_INFO_ERASE EN_CUST_INFO_PROG
SECURE_LOCK SRAM_WIPE SWO_CTRL DEBUG_PROT

Bit 31:27

Name RSVD

26:24

SECPOL

23:20

KEYWRAP

19

RSVD

18:16

SECBOOTONRST

15

RSVD

14:12

SECBOOT

11

PLONEXIT

DS-A3-0p9p1

Table 1175: SECURITY Register Bits

Reset 0x3f

RW Reserved.

Description

Defines the minimum security level required

0x7

DIS = 0x0 - No policy enforced AUTH = 0x1 - If bit[0] is set, Authentication is required

ENC = 0x2 - If bit[1] is set, Encryption is required

ARB = 0x4 - If bit[2] is set, Anti-Rollback is required (future support)

Key wrap method used to validate customer program image. (used by bootloader SW)

0xf

NOWRAP = 0x0 - No key wrap

XORWRAP = 0x1 - XOR based key wrap

AES128WRAP = 0x2 - AES-128 based key wrap

0x1

Reserved.

Enable secure boot at warm reset. All other encodings not listed will result in an error. 0x7 SBOREN = 0x2 - Secure boot on reset enable SBORDIS = 0x5 - Secure boot on reset disabled

0x1

Reserved.

Enable secure boot. All other encodings not listed will result in an error.

0x7

SBEN = 0x2 - Secure boot enable

SBDIS = 0x5 - Secure boot disabled

Flash Protection Lock on bootloader exit. (used by bootloader SW)

0x1

PLNS = 0x0 - Protection lock will remain not set, allowing customer firmware to set.

PLS = 0x1 - Flash Protection lock will be set before handoff to customer

firmware.

Page 812 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

10

SDBG

9

BOOTLOADER_AT_RESET

8

EN_CUST_INFO_ERASE

7:4

EN_CUST_INFO_PROG

3

SECURE_LOCK

2

SRAM_WIPE

1

SWO_CTRL

0

DEBUG_PROT

Table 1175: SECURITY Register Bits

Reset 0x1
0x1 0x1

RW

Description

Secure Debug Lock. Should be set to 0 for production parts. (used by bootloader SW)

LOCK = 0x0 - Prevents debugger control while PROTLOCK is not set. UNLOCK = 0x1 - Debugger is allowed to connect during secure boot stage.
Enable bootloader action at reset.

BARDS = 0x0 - bootloader can go to deep sleep. BARNODS = 0x1 - bootloader spins in an infinite while loop
Enable customer INFO space erasing.

0xf

Enable customer INFO space programming.

Locks the device preventing any further updates or overrides to locked parti-

0x1

tions based on EN_CUST_INFO_ERASE, EN_CUST_INFO_PROG, WRITE_PROTECT* and COPY_PROTECT*.

0x1

SRAM wipe.

0x1

SWO Control.

0x1

Debugger protection.

23.1.2.6 CUSTOMERTRIM Register
Customer trim values OFFSET: 0x00000014 INSTANCE 0 ADDRESS: 0x00000014 Customer Programmable trim overrides. Bits in this register are loaded into hardware registers at reset.

Table 1176: CUSTOMERTRIM Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

BLE_FEATURE_enable BLE_BUCK_enable SIMO_BUCK_enable

DS-A3-0p9p1

Page 813 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:3

RSVD

2

BLE_FEATURE_enable

1

BLE_BUCK_enable

0

SIMO_BUCK_enable

Table 1177: CUSTOMERTRIM Register Bits

Reset 0x3fffffff

RW Reserved

Description

0x1

BLE Feature Enable Bit

0x1

BLE Buck Enable Bit

0x1

SIMO Buck Enable Bit

23.1.2.7 CUSTOMERTRIM2 Register
Customer trim values word2 OFFSET: 0x00000018 INSTANCE 0 ADDRESS: 0x00000018 Customer Programmable trim overrides. configuration.

Bits in this register are used by software for hardware

Table 1178: CUSTOMERTRIM2 Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

XO32M_FREQ_TRIM

Bit 31:11

Name RSVD

10:0

XO32M_FREQ_TRIM

Table 1179: CUSTOMERTRIM2 Register Bits

Reset 0x1fffff

RW Reserved

Description

0x7ff

XO32 frequency trim. This field can optionally be adjusted to provide better interoperability performance based on crystal and board design.

23.1.2.8 SECURITYOVR Register
Security Override configuration bits OFFSET: 0x00000020 INSTANCE 0 ADDRESS: 0x00000020 This 32-bit word contains the override configuration for forcing GPIO-based firmware update.

DS-A3-0p9p1

Page 814 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1180: SECURITYOVR Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD

GPIO

POL

Bit

Name

31:8

RSVD

7

POL

6:0

GPIO

Table 1181: SECURITYOVR Register Bits

Reset 0xffffff

RW Reserved

Description

GPIO polarity to indicate update.

0x1

POL_HIGH = 0x1 - Polarity set to High or Logic 1

POL_LOW = 0x0 - Polarity set to Low or Logic 0

GPIO port to be used to indicate forced update. A value of 0x7F disables

0x7f

this feature.

23.1.2.9 SECURITYWIREDCFG Register
Security Wired configuration bits OFFSET: 0x00000024 INSTANCE 0 ADDRESS: 0x00000024 This 32-bit word contains the configuration for the wired update interface.

Table 1182: SECURITYWIREDCFG Register

33222222222211111111110000000000 10987654321098765432109876543210

TIMEOUT

I2CADDR

SLVINTPIN

IFC

Bit 31:16 15:9
8:3

Name TIMEOUT I2CADDR SLVINTPIN

Table 1183: SECURITYWIREDCFG Register Bits

Reset 0xffff

RW

Description

Timeout for wired interface poll (in milliseconds)

0x7f

I2C Address

0x3f

Slave interrupt pin

DS-A3-0p9p1

Page 815 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1183: SECURITYWIREDCFG Register Bits

Bit

Name

Reset

RW

Description

Wired interface configuration

2:0

IFC

0x7

IFC_UART = 0x1 - UART interface

IFC_SPI = 0x2 - SPI interface

IFC_I2C = 0x4 - I2C interface

23.1.2.10SECURITYWIREDIFCCFG0 Register
Security Wired Interface configuration word0 OFFSET: 0x00000028 INSTANCE 0 ADDRESS: 0x00000028 This 32-bit word contains the interface configuration word0 for the UART wired update.

Table 1184: SECURITYWIREDIFCCFG0 Register
33222222222211111111110000000000 10987654321098765432109876543210

RSVD

BAUDRATE

DATALEN 2STOP EVEN PAR CTS RTS UART

Bit 31:28 27:8
7:6
5 4 3 2 1

Table 1185: SECURITYWIREDIFCCFG0 Register Bits

Name RSVD

Reset 0xf

RW Reserved

Description

BAUDRATE

0xfffff

UART Baudrate

Number of Data Bits

DATALEN

0x3

2STOP

0x1

5BIT = 0x0 - 5 bit 6BIT = 0x1 - 6 bit 7BIT = 0x2 - 7 bit 8BIT = 0x3 - 8 bit
2 Stop Bits

EVEN

0x1

Even Parity

PAR

0x1

Enable Parity

CTS

0x1

Enable CTS

RTS

0x1

Enable RTS

DS-A3-0p9p1

Page 816 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1185: SECURITYWIREDIFCCFG0 Register Bits

Bit

Name

0

UART

Reset 0x1

RW UART Module

Description

23.1.2.11SECURITYWIREDIFCCFG1 Register
Security Wired Interface configuration word1 OFFSET: 0x0000002C INSTANCE 0 ADDRESS: 0x0000002C This 32-bit word contains the interface configuration word1 for the UART wired update.

Table 1186: SECURITYWIREDIFCCFG1 Register

33222222222211111111110000000000 10987654321098765432109876543210

PIN3

PIN2

PIN1

PIN0

Bit 31:24 23:16 15:8
7:0

Name PIN3 PIN2 PIN1 PIN0

Table 1187: SECURITYWIREDIFCCFG1 Register Bits

Reset 0xff

RW Pin 3 for UART interface

Description

0xff

Pin 2 for UART interface

0xff

Pin 1 for UART interface

0xff

Pin 0 for UART interface

23.1.2.12SECURITYWIREDIFCCFG2 Register
Security Wired Interface configuration word2 OFFSET: 0x00000030 INSTANCE 0 ADDRESS: 0x00000030 This 32-bit word contains the raw Pin configuration for the UART wired interface pin 0.

Table 1188: SECURITYWIREDIFCCFG2 Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD2

ALTPADCFG

RSVD1

GPIOCFG

PADCFG

DS-A3-0p9p1

Page 817 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 31:24 23:16 15:12 11:8
7:0

Table 1189: SECURITYWIREDIFCCFG2 Register Bits

Name RSVD2

Reset 0xff

RW Reserved

Description

ALTPADCFG

0xff

8 bit value representing the raw ALTPADCFG bits for this pin

RSVD1

0xf

Reserved

GPIOCFG

0xf

4 bit value representing the raw GPIOCFG bits for this pin

PADCFG

0xff

8 bit value representing the raw PADREG bits for this pin

23.1.2.13SECURITYWIREDIFCCFG3 Register
Security Wired Interface configuration word3 OFFSET: 0x00000034 INSTANCE 0 ADDRESS: 0x00000034 This 32-bit word contains the raw Pin configuration for the UART wired interface pin 1.

Table 1190: SECURITYWIREDIFCCFG3 Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD2

ALTPADCFG

RSVD1

GPIOCFG

PADCFG

Bit 31:24 23:16 15:12 11:8
7:0

Table 1191: SECURITYWIREDIFCCFG3 Register Bits

Name RSVD2

Reset 0xff

RW Reserved

Description

ALTPADCFG

0xff

8 bit value representing the raw ALTPADCFG bits for this pin

RSVD1

0xf

Reserved

GPIOCFG

0xf

4 bit value representing the raw GPIOCFG bits for this pin

PADCFG

0xff

8 bit value representing the raw PADREG bits for this pin

23.1.2.14SECURITYWIREDIFCCFG4 Register
Security Wired Interface configuration word4 OFFSET: 0x00000038

DS-A3-0p9p1

Page 818 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

INSTANCE 0 ADDRESS: 0x00000038 This 32-bit word contains the raw Pin configuration for the UART wired interface pin 2.

Table 1192: SECURITYWIREDIFCCFG4 Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD2

ALTPADCFG

RSVD1

GPIOCFG

PADCFG

Bit 31:24 23:16 15:12 11:8
7:0

Table 1193: SECURITYWIREDIFCCFG4 Register Bits

Name RSVD2

Reset 0xff

RW Reserved

Description

ALTPADCFG

0xff

8 bit value representing the raw ALTPADCFG bits for this pin

RSVD1

0xf

Reserved

GPIOCFG

0xf

4 bit value representing the raw GPIOCFG bits for this pin

PADCFG

0xff

8 bit value representing the raw PADREG bits for this pin

23.1.2.15SECURITYWIREDIFCCFG5 Register
Security Wired Interface configuration word5 OFFSET: 0x0000003C INSTANCE 0 ADDRESS: 0x0000003C This 32-bit word contains the raw Pin configuration for the UART wired interface pin 3.

Table 1194: SECURITYWIREDIFCCFG5 Register

33222222222211111111110000000000 10987654321098765432109876543210

RSVD2

ALTPADCFG

RSVD1

GPIOCFG

PADCFG

Bit 31:24 23:16

Table 1195: SECURITYWIREDIFCCFG5 Register Bits

Name RSVD2

Reset 0xff

RW Reserved

Description

ALTPADCFG

0xff

8 bit value representing the raw ALTPADCFG bits for this pin

DS-A3-0p9p1

Page 819 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit 15:12 11:8
7:0

Name RSVD1 GPIOCFG PADCFG

Table 1195: SECURITYWIREDIFCCFG5 Register Bits

Reset 0xf

RW Reserved

Description

0xf

4 bit value representing the raw GPIOCFG bits for this pin

0xff

8 bit value representing the raw PADREG bits for this pin

23.1.2.16SECURITYVERSION Register
Security version field OFFSET: 0x00000040 INSTANCE 0 ADDRESS: 0x00000040 This 32-bit word contains the version ID used for revision control

Table 1196: SECURITYVERSION Register
33222222222211111111110000000000 10987654321098765432109876543210
VERSION

Bit

Name

31:0

VERSION

Table 1197: SECURITYVERSION Register Bits

Reset 0xffffffff

RW Version ID

Description

23.1.2.17SECURITYSRAMRESV Register
SRAM Reserved for Application Scratch space
OFFSET: 0x00000050
INSTANCE 0 ADDRESS: 0x00000050
This 32-bit word indicates the amount of SRAM to keep reserved for application scratch space. This reserves the specified memory at the top end of SRAM memory address range. This memory is not disturbed by the Secure Boot Loader

Table 1198: SECURITYSRAMRESV Register
33222222222211111111110000000000 10987654321098765432109876543210
SRAM_RESV

DS-A3-0p9p1

Page 820 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1199: SECURITYSRAMRESV Register Bits

Bit

Name

31:0

SRAM_RESV

Reset 0xffffffff

RW SRAM Reservation

Description

23.1.2.18WRITEPROTECTL Register
Flash write-protection bits. OFFSET: 0x000001F8 INSTANCE 0 ADDRESS: 0x000001F8 These bits write-protect flash in 16KB chunks.

Table 1200: WRITEPROTECTL Register
33222222222211111111110000000000 10987654321098765432109876543210
CHUNKS

Bit

Name

31:0

CHUNKS

Table 1201: WRITEPROTECTL Register Bits

Reset 0xffffffff

RW

Description

Write protect flash 0x00000000 - 0x0007FFFF. Each bit provides write protection for 16KB chunks of flash data space.

23.1.2.19WRITEPROTECTH Register
Flash write-protection bits. OFFSET: 0x000001FC INSTANCE 0 ADDRESS: 0x000001FC These bits write-protect flash in 16KB chunks.

Table 1202: WRITEPROTECTH Register
33222222222211111111110000000000 10987654321098765432109876543210
CHUNKS

DS-A3-0p9p1

Page 821 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CHUNKS

Table 1203: WRITEPROTECTH Register Bits

Reset 0xffffffff

RW

Description

Write protect flash 0x00080000 - 0x000FFFFF. Each bit provides write protection for 16KB chunks of flash data space.

23.1.2.20COPYPROTECTL Register
Flash copy/read-protection bits. OFFSET: 0x00000200 INSTANCE 0 ADDRESS: 0x00000200 These bits read-protect flash in 16KB chunks.

Table 1204: COPYPROTECTL Register
33222222222211111111110000000000 10987654321098765432109876543210
CHUNKS

Bit

Name

31:0

CHUNKS

Table 1205: COPYPROTECTL Register Bits

Reset 0xffffffff

RW

Description

Copy (read) protect flash 0x00000000 - 0x0007FFFF. Each bit provides read protection for 16KB chunks of flash.

23.1.2.21COPYPROTECTH Register
Flash copy/read-protection bits. OFFSET: 0x00000204 INSTANCE 0 ADDRESS: 0x00000204 These bits read-protect flash in 16KB chunks.

Table 1206: COPYPROTECTH Register
33222222222211111111110000000000 10987654321098765432109876543210
CHUNKS

DS-A3-0p9p1

Page 822 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CHUNKS

Table 1207: COPYPROTECTH Register Bits

Reset 0xffffffff

RW

Description

Copy (read) protect flash 0x00080000 - 0x000FFFFF. Each bit provides read protection for 16KB chunks of flash.

23.1.2.22WRITEPROTECTSBLL Register
Flash write-protection bits. OFFSET: 0x000009F8 INSTANCE 0 ADDRESS: 0x000009F8 These bits write-protect flash in 16KB chunks. Only SBL can override these through Secure OTA

Table 1208: WRITEPROTECTSBLL Register
33222222222211111111110000000000 10987654321098765432109876543210
CHUNKS

Table 1209: WRITEPROTECTSBLL Register Bits

Bit

Name

31:0

CHUNKS

Reset 0xffffffff

RW

Description

Write protect flash 0x00000000 - 0x0007FFFF. Each bit provides write protection for 16KB chunks of flash data space.

23.1.2.23WRITEPROTECTSBLH Register
Flash write-protection bits. OFFSET: 0x000009FC INSTANCE 0 ADDRESS: 0x000009FC These bits write-protect flash in 16KB chunks. Only SBL can override these through Secure OTA

Table 1210: WRITEPROTECTSBLH Register
33222222222211111111110000000000 10987654321098765432109876543210
CHUNKS

DS-A3-0p9p1

Page 823 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Table 1211: WRITEPROTECTSBLH Register Bits

Bit

Name

31:0

CHUNKS

Reset 0xffffffff

RW

Description

Write protect flash 0x00080000 - 0x000FFFFF. Each bit provides write protection for 16KB chunks of flash data space.

23.1.2.24COPYPROTECTSBLL Register
Flash copy/read-protection bits. OFFSET: 0x00000A00 INSTANCE 0 ADDRESS: 0x00000A00 These bits read-protect flash in 16KB chunks.

Table 1212: COPYPROTECTSBLL Register
33222222222211111111110000000000 10987654321098765432109876543210
CHUNKS

Bit

Name

31:0

CHUNKS

Table 1213: COPYPROTECTSBLL Register Bits

Reset 0xffffffff

RW

Description

Copy (read) protect flash 0x00000000 - 0x0007FFFF. Each bit provides read protection for 16KB chunks of flash.

23.1.2.25COPYPROTECTSBLH Register
Flash copy/read-protection bits. OFFSET: 0x00000A04 INSTANCE 0 ADDRESS: 0x00000A04 These bits read-protect flash in 16KB chunks. Only SBL can override these through Secure OTA

Table 1214: COPYPROTECTSBLH Register
33222222222211111111110000000000 10987654321098765432109876543210
CHUNKS

DS-A3-0p9p1

Page 824 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CHUNKS

Table 1215: COPYPROTECTSBLH Register Bits

Reset 0xffffffff

RW

Description

Copy (read) protect flash 0x00080000 - 0x000FFFFF. Each bit provides read protection for 16KB chunks of flash.

23.1.2.26MAINPTR0 Register
main firmware pointer 0 OFFSET: 0x00000C00 INSTANCE 0 ADDRESS: 0x00000C00 This is the main/sbl_main firmware pointer 0 referenced by sbl_init for pointing to the main or sbl_main base address

Table 1216: MAINPTR0 Register
33222222222211111111110000000000 10987654321098765432109876543210
PTR0

Bit

Name

31:0

PTR0

Table 1217: MAINPTR0 Register Bits

Reset 0xffffffff

RW main pointer 0

Description

23.1.2.27MAINPTR1 Register
main firmware pointer 1 OFFSET: 0x00000C04 INSTANCE 0 ADDRESS: 0x00000C04 This is the main/sbl_main firmware pointer 1 referenced by sbl_init for pointing to the main or sbl_main base address

Table 1218: MAINPTR1 Register
33222222222211111111110000000000 10987654321098765432109876543210
PTR1

DS-A3-0p9p1

Page 825 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

PTR1

Table 1219: MAINPTR1 Register Bits

Reset 0xffffffff

RW main pointer 1

Description

23.1.2.28KREVTRACK Register
KEK Revocation Tracker
OFFSET: 0x00000C08
INSTANCE 0 ADDRESS: 0x00000C08
KEK Key Revocation Tracker. Monotonic counter where each bit indicates if that respective word in the KEK key bank is valid. For example, if KEK0 is not valid but KEK1-7 are valid (for a 128-bit KEK configuration), the KREVTRACK would be 0xFFFFFFF0.

Table 1220: KREVTRACK Register
33222222222211111111110000000000 10987654321098765432109876543210
KTRCKER

Bit

Name

31:0

KTRCKER

Table 1221: KREVTRACK Register Bits

Reset 0xffffffff

RW KEK Revocation Tracker

Description

23.1.2.29AREVTRACK Register
AUTH Revocation Tracker
OFFSET: 0x00000C0C
INSTANCE 0 ADDRESS: 0x00000C0C
AUTH Key Revocation Tracker. Monotonic counter where each bit indicates if that respective word in the AUTH key bank is valid. For example, if AUTH0 is not valid but AUTH1-7 are valid (for a 128-bit AUTH configuration), the AREVTRACK would be 0xFFFFFFF0.

Table 1222: AREVTRACK Register
33222222222211111111110000000000 10987654321098765432109876543210
ATRCKER

DS-A3-0p9p1

Page 826 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

ATRCKER

Table 1223: AREVTRACK Register Bits

Reset 0xffffffff

RW AUTH Revocation Tracker

Description

23.1.2.30OTADESCRIPTOR Register
OTA Descriptor Pointer OFFSET: 0x00000C10 INSTANCE 0 ADDRESS: 0x00000C10 This field is used to track the OTA DESCRIPTOR pointer to ensure proper OTA update.

Table 1224: OTADESCRIPTOR Register
33222222222211111111110000000000 10987654321098765432109876543210
DESCRIPTOR

Bit

Name

31:0

DESCRIPTOR

Table 1225: OTADESCRIPTOR Register Bits

Reset 0xffffffff

RW OTA Descriptor Pointer

Description

23.1.2.31MAINCNT0 Register
main Index Counter 0 OFFSET: 0x00000FF8 INSTANCE 0 ADDRESS: 0x00000FF8 Index counter for main or sbl_main firmware. Counter is used to indicate which pointer to reference, MAINPTR1 or MAINPTR2

Table 1226: MAINCNT0 Register
33222222222211111111110000000000 10987654321098765432109876543210
INDXCNTR

DS-A3-0p9p1

Page 827 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

INDXCNTR

Table 1227: MAINCNT0 Register Bits

Reset 0xffffffff

RW main Index Counter

Description

23.1.2.32MAINCNT1 Register
main Index Counter 1 OFFSET: 0x00000FFC INSTANCE 0 ADDRESS: 0x00000FFC Index counter for main or sbl_main firmware. Counter is used to indicate which pointer to reference, MAINPTR1 or MAINPTR2

Table 1228: MAINCNT1 Register
33222222222211111111110000000000 10987654321098765432109876543210
INDXCNTR

Bit

Name

31:0

INDXCNTR

Table 1229: MAINCNT1 Register Bits

Reset 0xffffffff

RW main Index Counter

Description

23.1.2.33CUSTKEKW0 Register
Customer KEK Word0 OFFSET: 0x00001800 INSTANCE 0 ADDRESS: 0x00001800 This is the Customer KEK Word0.

Table 1230: CUSTKEKW0 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W0

DS-A3-0p9p1

Page 828 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W0

Table 1231: CUSTKEKW0 Register Bits

Reset 0xffffffff

RW Customer KEK Word0

Description

23.1.2.34CUSTKEKW1 Register
Customer KEK Word1 OFFSET: 0x00001804 INSTANCE 0 ADDRESS: 0x00001804 This is the Customer KEK Word1.

Table 1232: CUSTKEKW1 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W1

Bit

Name

31:0 CUSTKEK_W1

Table 1233: CUSTKEKW1 Register Bits

Reset 0xffffffff

RW Customer KEK Word1

Description

23.1.2.35CUSTKEKW2 Register
Customer KEK Word2 OFFSET: 0x00001808 INSTANCE 0 ADDRESS: 0x00001808 This is the Customer KEK Word2.

Table 1234: CUSTKEKW2 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W2

DS-A3-0p9p1

Page 829 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W2

Table 1235: CUSTKEKW2 Register Bits

Reset 0xffffffff

RW Customer KEK Word2

Description

23.1.2.36CUSTKEKW3 Register
Customer KEK Word3 OFFSET: 0x0000180C INSTANCE 0 ADDRESS: 0x0000180C This is the Customer KEK Word3.

Table 1236: CUSTKEKW3 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W3

Bit

Name

31:0 CUSTKEK_W3

Table 1237: CUSTKEKW3 Register Bits

Reset 0xffffffff

RW Customer KEK Word3

Description

23.1.2.37CUSTKEKW4 Register
Customer KEK Word4 OFFSET: 0x00001810 INSTANCE 0 ADDRESS: 0x00001810 This is the Customer KEK Word4.

Table 1238: CUSTKEKW4 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W4

DS-A3-0p9p1

Page 830 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W4

Table 1239: CUSTKEKW4 Register Bits

Reset 0xffffffff

RW Customer KEK Word4

Description

23.1.2.38CUSTKEKW5 Register
Customer KEK Word5 OFFSET: 0x00001814 INSTANCE 0 ADDRESS: 0x00001814 This is the Customer KEK Word5.

Table 1240: CUSTKEKW5 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W5

Bit

Name

31:0 CUSTKEK_W5

Table 1241: CUSTKEKW5 Register Bits

Reset 0xffffffff

RW Customer KEK Word5

Description

23.1.2.39CUSTKEKW6 Register
Customer KEK Word6 OFFSET: 0x00001818 INSTANCE 0 ADDRESS: 0x00001818 This is the Customer KEK Word6.

Table 1242: CUSTKEKW6 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W6

DS-A3-0p9p1

Page 831 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W6

Table 1243: CUSTKEKW6 Register Bits

Reset 0xffffffff

RW Customer KEK Word6

Description

23.1.2.40CUSTKEKW7 Register
Customer KEK Word7 OFFSET: 0x0000181C INSTANCE 0 ADDRESS: 0x0000181C This is the Customer KEK Word7.

Table 1244: CUSTKEKW7 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W7

Bit

Name

31:0 CUSTKEK_W7

Table 1245: CUSTKEKW7 Register Bits

Reset 0xffffffff

RW Customer KEK Word7

Description

23.1.2.41CUSTKEKW8 Register
Customer KEK Word0 OFFSET: 0x00001820 INSTANCE 0 ADDRESS: 0x00001820 This is the Customer KEK Word8.

Table 1246: CUSTKEKW8 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W8

DS-A3-0p9p1

Page 832 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W8

Table 1247: CUSTKEKW8 Register Bits

Reset 0xffffffff

RW Customer KEK Word8

Description

23.1.2.42CUSTKEKW9 Register
Customer KEK Word9 OFFSET: 0x00001824 INSTANCE 0 ADDRESS: 0x00001824 This is the Customer KEK Word9.

Table 1248: CUSTKEKW9 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W9

Bit

Name

31:0 CUSTKEK_W9

Table 1249: CUSTKEKW9 Register Bits

Reset 0xffffffff

RW Customer KEK Word9

Description

23.1.2.43CUSTKEKW10 Register
Customer KEK Word10 OFFSET: 0x00001828 INSTANCE 0 ADDRESS: 0x00001828 This is the Customer KEK Word10.

Table 1250: CUSTKEKW10 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W10

DS-A3-0p9p1

Page 833 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W10

Table 1251: CUSTKEKW10 Register Bits

Reset 0xffffffff

RW Customer KEK Word10

Description

23.1.2.44CUSTKEKW11 Register
Customer KEK Word11 OFFSET: 0x0000182C INSTANCE 0 ADDRESS: 0x0000182C This is the Customer KEK Word11.

Table 1252: CUSTKEKW11 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W11

Bit

Name

31:0 CUSTKEK_W11

Table 1253: CUSTKEKW11 Register Bits

Reset 0xffffffff

RW Customer KEK Word11

Description

23.1.2.45CUSTKEKW12 Register
Customer KEK Word12 OFFSET: 0x00001830 INSTANCE 0 ADDRESS: 0x00001830 This is the Customer KEK Word12.

Table 1254: CUSTKEKW12 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W12

DS-A3-0p9p1

Page 834 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W12

Table 1255: CUSTKEKW12 Register Bits

Reset 0xffffffff

RW Customer KEK Word12

Description

23.1.2.46CUSTKEKW13 Register
Customer KEK Word13 OFFSET: 0x00001834 INSTANCE 0 ADDRESS: 0x00001834 This is the Customer KEK Word13.

Table 1256: CUSTKEKW13 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W13

Bit

Name

31:0 CUSTKEK_W13

Table 1257: CUSTKEKW13 Register Bits

Reset 0xffffffff

RW Customer KEK Word13

Description

23.1.2.47CUSTKEKW14 Register
Customer KEK Word14 OFFSET: 0x00001838 INSTANCE 0 ADDRESS: 0x00001838 This is the Customer KEK Word14.

Table 1258: CUSTKEKW14 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W14

DS-A3-0p9p1

Page 835 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W14

Table 1259: CUSTKEKW14 Register Bits

Reset 0xffffffff

RW Customer KEK Word14

Description

23.1.2.48CUSTKEKW15 Register
Customer KEK Word15 OFFSET: 0x0000183C INSTANCE 0 ADDRESS: 0x0000183C This is the Customer KEK Word15.

Table 1260: CUSTKEKW15 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W15

Bit

Name

31:0 CUSTKEK_W15

Table 1261: CUSTKEKW15 Register Bits

Reset 0xffffffff

RW Customer KEK Word15

Description

23.1.2.49CUSTKEKW16 Register
Customer KEK Word16 OFFSET: 0x00001840 INSTANCE 0 ADDRESS: 0x00001840 This is the Customer KEK Word16.

Table 1262: CUSTKEKW16 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W16

DS-A3-0p9p1

Page 836 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W16

Table 1263: CUSTKEKW16 Register Bits

Reset 0xffffffff

RW Customer KEK Word16

Description

23.1.2.50CUSTKEKW17 Register
Customer KEK Word17 OFFSET: 0x00001844 INSTANCE 0 ADDRESS: 0x00001844 This is the Customer KEK Word17.

Table 1264: CUSTKEKW17 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W17

Bit

Name

31:0 CUSTKEK_W17

Table 1265: CUSTKEKW17 Register Bits

Reset 0xffffffff

RW Customer KEK Word17

Description

23.1.2.51CUSTKEKW18 Register
Customer KEK Word18 OFFSET: 0x00001848 INSTANCE 0 ADDRESS: 0x00001848 This is the Customer KEK Word18.

Table 1266: CUSTKEKW18 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W18

DS-A3-0p9p1

Page 837 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W18

Table 1267: CUSTKEKW18 Register Bits

Reset 0xffffffff

RW Customer KEK Word18

Description

23.1.2.52CUSTKEKW19 Register
Customer KEK Word19 OFFSET: 0x0000184C INSTANCE 0 ADDRESS: 0x0000184C This is the Customer KEK Word19.

Table 1268: CUSTKEKW19 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W19

Bit

Name

31:0 CUSTKEK_W19

Table 1269: CUSTKEKW19 Register Bits

Reset 0xffffffff

RW Customer KEK Word19

Description

23.1.2.53CUSTKEKW20 Register
Customer KEK Word20 OFFSET: 0x00001850 INSTANCE 0 ADDRESS: 0x00001850 This is the Customer KEK Word20.

Table 1270: CUSTKEKW20 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W20

DS-A3-0p9p1

Page 838 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W20

Table 1271: CUSTKEKW20 Register Bits

Reset 0xffffffff

RW Customer KEK Word20

Description

23.1.2.54CUSTKEKW21 Register
Customer KEK Word21 OFFSET: 0x00001854 INSTANCE 0 ADDRESS: 0x00001854 This is the Customer KEK Word21.

Table 1272: CUSTKEKW21 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W21

Bit

Name

31:0 CUSTKEK_W21

Table 1273: CUSTKEKW21 Register Bits

Reset 0xffffffff

RW Customer KEK Word21

Description

23.1.2.55CUSTKEKW22 Register
Customer KEK Word22 OFFSET: 0x00001858 INSTANCE 0 ADDRESS: 0x00001858 This is the Customer KEK Word22.

Table 1274: CUSTKEKW22 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W22

DS-A3-0p9p1

Page 839 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W22

Table 1275: CUSTKEKW22 Register Bits

Reset 0xffffffff

RW Customer KEK Word22

Description

23.1.2.56CUSTKEKW23 Register
Customer KEK Word23 OFFSET: 0x0000185C INSTANCE 0 ADDRESS: 0x0000185C This is the Customer KEK Word23.

Table 1276: CUSTKEKW23 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W23

Bit

Name

31:0 CUSTKEK_W23

Table 1277: CUSTKEKW23 Register Bits

Reset 0xffffffff

RW Customer KEK Word23

Description

23.1.2.57CUSTKEKW24 Register
Customer KEK Word24 OFFSET: 0x00001860 INSTANCE 0 ADDRESS: 0x00001860 This is the Customer KEK Word24.

Table 1278: CUSTKEKW24 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W24

DS-A3-0p9p1

Page 840 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W24

Table 1279: CUSTKEKW24 Register Bits

Reset 0xffffffff

RW Customer KEK Word24

Description

23.1.2.58CUSTKEKW25 Register
Customer KEK Word25 OFFSET: 0x00001864 INSTANCE 0 ADDRESS: 0x00001864 This is the Customer KEK Word25.

Table 1280: CUSTKEKW25 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W25

Bit

Name

31:0 CUSTKEK_W25

Table 1281: CUSTKEKW25 Register Bits

Reset 0xffffffff

RW Customer KEK Word25

Description

23.1.2.59CUSTKEKW26 Register
Customer KEK Word26 OFFSET: 0x00001868 INSTANCE 0 ADDRESS: 0x00001868 This is the Customer KEK Word26.

Table 1282: CUSTKEKW26 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W26

DS-A3-0p9p1

Page 841 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W26

Table 1283: CUSTKEKW26 Register Bits

Reset 0xffffffff

RW Customer KEK Word26

Description

23.1.2.60CUSTKEKW27 Register
Customer KEK Word27 OFFSET: 0x0000186C INSTANCE 0 ADDRESS: 0x0000186C This is the Customer KEK Word27.

Table 1284: CUSTKEKW27 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W27

Bit

Name

31:0 CUSTKEK_W27

Table 1285: CUSTKEKW27 Register Bits

Reset 0xffffffff

RW Customer KEK Word27

Description

23.1.2.61CUSTKEKW28 Register
Customer KEK Word28 OFFSET: 0x00001870 INSTANCE 0 ADDRESS: 0x00001870 This is the Customer KEK Word28.

Table 1286: CUSTKEKW28 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W28

DS-A3-0p9p1

Page 842 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W28

Table 1287: CUSTKEKW28 Register Bits

Reset 0xffffffff

RW Customer KEK Word28

Description

23.1.2.62CUSTKEKW29 Register
Customer KEK Word29 OFFSET: 0x00001874 INSTANCE 0 ADDRESS: 0x00001874 This is the Customer KEK Word29.

Table 1288: CUSTKEKW29 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W29

Bit

Name

31:0 CUSTKEK_W29

Table 1289: CUSTKEKW29 Register Bits

Reset 0xffffffff

RW Customer KEK Word29

Description

23.1.2.63CUSTKEKW30 Register
Customer KEK Word30 OFFSET: 0x00001878 INSTANCE 0 ADDRESS: 0x00001878 This is the Customer KEK Word30.

Table 1290: CUSTKEKW30 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W30

DS-A3-0p9p1

Page 843 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTKEK_W30

Table 1291: CUSTKEKW30 Register Bits

Reset 0xffffffff

RW Customer KEK Word30

Description

23.1.2.64CUSTKEKW31 Register
Customer KEK Word31 OFFSET: 0x0000187C INSTANCE 0 ADDRESS: 0x0000187C This is the Customer KEK Word31.

Table 1292: CUSTKEKW31 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTKEK_W31

Bit

Name

31:0 CUSTKEK_W31

Table 1293: CUSTKEKW31 Register Bits

Reset 0xffffffff

RW Customer KEK Word31

Description

23.1.2.65CUSTAUTHW0 Register
Customer AUTH Key Word0 OFFSET: 0x00001880 INSTANCE 0 ADDRESS: 0x00001880 This is the Customer AUTH Key Word0.

Table 1294: CUSTAUTHW0 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W0

DS-A3-0p9p1

Page 844 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTAUTH_W0

Table 1295: CUSTAUTHW0 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word0

23.1.2.66CUSTAUTHW1 Register
Customer AUTH Key Word1 OFFSET: 0x00001884 INSTANCE 0 ADDRESS: 0x00001884 This is the Customer AUTH Key Word1.

Table 1296: CUSTAUTHW1 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W1

Bit

Name

31:0 CUSTAUTH_W1

Table 1297: CUSTAUTHW1 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word1

23.1.2.67CUSTAUTHW2 Register
Customer AUTH Key Word2 OFFSET: 0x00001888 INSTANCE 0 ADDRESS: 0x00001888 This is the Customer AUTH Key Word2.

Table 1298: CUSTAUTHW2 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W2

DS-A3-0p9p1

Page 845 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTAUTH_W2

Table 1299: CUSTAUTHW2 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word2

23.1.2.68CUSTAUTHW3 Register
Customer AUTH Key Word3 OFFSET: 0x0000188C INSTANCE 0 ADDRESS: 0x0000188C This is the Customer AUTH Key Word3.

Table 1300: CUSTAUTHW3 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W3

Bit

Name

31:0 CUSTAUTH_W3

Table 1301: CUSTAUTHW3 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word3

23.1.2.69CUSTAUTHW4 Register
Customer AUTH Key Word4 OFFSET: 0x00001890 INSTANCE 0 ADDRESS: 0x00001890 This is the Customer AUTH Key Word4.

Table 1302: CUSTAUTHW4 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W4

DS-A3-0p9p1

Page 846 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTAUTH_W4

Table 1303: CUSTAUTHW4 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word4

23.1.2.70CUSTAUTHW5 Register
Customer AUTH Key Word5 OFFSET: 0x00001894 INSTANCE 0 ADDRESS: 0x00001894 This is the Customer AUTH Key Word5.

Table 1304: CUSTAUTHW5 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W5

Bit

Name

31:0 CUSTAUTH_W5

Table 1305: CUSTAUTHW5 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word5

23.1.2.71CUSTAUTHW6 Register
Customer AUTH Key Word6 OFFSET: 0x00001898 INSTANCE 0 ADDRESS: 0x00001898 This is the Customer AUTH Key Word6.

Table 1306: CUSTAUTHW6 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W6

DS-A3-0p9p1

Page 847 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTAUTH_W6

Table 1307: CUSTAUTHW6 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word6

23.1.2.72CUSTAUTHW7 Register
Customer AUTH Key Word7 OFFSET: 0x0000189C INSTANCE 0 ADDRESS: 0x0000189C This is the Customer AUTH Key Word7.

Table 1308: CUSTAUTHW7 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W7

Bit

Name

31:0 CUSTAUTH_W7

Table 1309: CUSTAUTHW7 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word7

23.1.2.73CUSTAUTHW8 Register
Customer AUTH Key Word0 OFFSET: 0x000018A0 INSTANCE 0 ADDRESS: 0x000018A0 This is the Customer AUTH Key Word8.

Table 1310: CUSTAUTHW8 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W8

DS-A3-0p9p1

Page 848 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0 CUSTAUTH_W8

Table 1311: CUSTAUTHW8 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word8

23.1.2.74CUSTAUTHW9 Register
Customer AUTH Key Word9 OFFSET: 0x000018A4 INSTANCE 0 ADDRESS: 0x000018A4 This is the Customer AUTH Key Word9.

Table 1312: CUSTAUTHW9 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W9

Bit

Name

31:0 CUSTAUTH_W9

Table 1313: CUSTAUTHW9 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word9

23.1.2.75CUSTAUTHW10 Register
Customer AUTH Key Word10 OFFSET: 0x000018A8 INSTANCE 0 ADDRESS: 0x000018A8 This is the Customer AUTH Key Word10.

Table 1314: CUSTAUTHW10 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W10

DS-A3-0p9p1

Page 849 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTAUTH_W10

Table 1315: CUSTAUTHW10 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word10

23.1.2.76CUSTAUTHW11 Register
Customer AUTH Key Word11 OFFSET: 0x000018AC INSTANCE 0 ADDRESS: 0x000018AC This is the Customer AUTH Key Word11.

Table 1316: CUSTAUTHW11 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W11

Bit

Name

31:0

CUSTAUTH_W11

Table 1317: CUSTAUTHW11 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word11

23.1.2.77CUSTAUTHW12 Register
Customer AUTH Key Word12 OFFSET: 0x000018B0 INSTANCE 0 ADDRESS: 0x000018B0 This is the Customer AUTH Key Word12.

Table 1318: CUSTAUTHW12 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W12

DS-A3-0p9p1

Page 850 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTAUTH_W12

Table 1319: CUSTAUTHW12 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word12

23.1.2.78CUSTAUTHW13 Register
Customer AUTH Key Word13 OFFSET: 0x000018B4 INSTANCE 0 ADDRESS: 0x000018B4 This is the Customer AUTH Key Word13.

Table 1320: CUSTAUTHW13 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W13

Bit

Name

31:0

CUSTAUTH_W13

Table 1321: CUSTAUTHW13 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word13

23.1.2.79CUSTAUTHW14 Register
Customer AUTH Key Word14 OFFSET: 0x000018B8 INSTANCE 0 ADDRESS: 0x000018B8 This is the Customer AUTH Key Word14.

Table 1322: CUSTAUTHW14 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W14

DS-A3-0p9p1

Page 851 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTAUTH_W14

Table 1323: CUSTAUTHW14 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word14

23.1.2.80CUSTAUTHW15 Register
Customer AUTH Key Word15 OFFSET: 0x000018BC INSTANCE 0 ADDRESS: 0x000018BC This is the Customer AUTH Key Word15.

Table 1324: CUSTAUTHW15 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W15

Bit

Name

31:0

CUSTAUTH_W15

Table 1325: CUSTAUTHW15 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word15

23.1.2.81CUSTAUTHW16 Register
Customer AUTH Key Word16 OFFSET: 0x000018C0 INSTANCE 0 ADDRESS: 0x000018C0 This is the Customer AUTH Key Word16.

Table 1326: CUSTAUTHW16 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W16

DS-A3-0p9p1

Page 852 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTAUTH_W16

Table 1327: CUSTAUTHW16 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word16

23.1.2.82CUSTAUTHW17 Register
Customer AUTH Key Word17 OFFSET: 0x000018C4 INSTANCE 0 ADDRESS: 0x000018C4 This is the Customer AUTH Key Word17.

Table 1328: CUSTAUTHW17 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W17

Bit

Name

31:0

CUSTAUTH_W17

Table 1329: CUSTAUTHW17 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word17

23.1.2.83CUSTAUTHW18 Register
Customer AUTH Key Word18 OFFSET: 0x000018C8 INSTANCE 0 ADDRESS: 0x000018C8 This is the Customer AUTH Key Word18.

Table 1330: CUSTAUTHW18 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W18

DS-A3-0p9p1

Page 853 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTAUTH_W18

Table 1331: CUSTAUTHW18 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word18

23.1.2.84CUSTAUTHW19 Register
Customer AUTH Key Word19 OFFSET: 0x000018CC INSTANCE 0 ADDRESS: 0x000018CC This is the Customer AUTH Key Word19.

Table 1332: CUSTAUTHW19 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W19

Bit

Name

31:0

CUSTAUTH_W19

Table 1333: CUSTAUTHW19 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word19

23.1.2.85CUSTAUTHW20 Register
Customer AUTH Key Word20 OFFSET: 0x000018D0 INSTANCE 0 ADDRESS: 0x000018D0 This is the Customer AUTH Key Word20.

Table 1334: CUSTAUTHW20 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W20

DS-A3-0p9p1

Page 854 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTAUTH_W20

Table 1335: CUSTAUTHW20 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word20

23.1.2.86CUSTAUTHW21 Register
Customer AUTH Key Word21 OFFSET: 0x000018D4 INSTANCE 0 ADDRESS: 0x000018D4 This is the Customer AUTH Key Word21.

Table 1336: CUSTAUTHW21 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W21

Bit

Name

31:0

CUSTAUTH_W21

Table 1337: CUSTAUTHW21 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word21

23.1.2.87CUSTAUTHW22 Register
Customer AUTH Key Word22 OFFSET: 0x000018D8 INSTANCE 0 ADDRESS: 0x000018D8 This is the Customer AUTH Key Word22.

Table 1338: CUSTAUTHW22 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W22

DS-A3-0p9p1

Page 855 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTAUTH_W22

Table 1339: CUSTAUTHW22 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word22

23.1.2.88CUSTAUTHW23 Register
Customer AUTH Key Word23 OFFSET: 0x000018DC INSTANCE 0 ADDRESS: 0x000018DC This is the Customer AUTH Key Word23.

Table 1340: CUSTAUTHW23 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W23

Bit

Name

31:0

CUSTAUTH_W23

Table 1341: CUSTAUTHW23 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word23

23.1.2.89CUSTAUTHW24 Register
Customer AUTH Key Word24 OFFSET: 0x000018E0 INSTANCE 0 ADDRESS: 0x000018E0 This is the Customer AUTH Key Word24.

Table 1342: CUSTAUTHW24 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W24

DS-A3-0p9p1

Page 856 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTAUTH_W24

Table 1343: CUSTAUTHW24 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word24

23.1.2.90CUSTAUTHW25 Register
Customer AUTH Key Word25 OFFSET: 0x000018E4 INSTANCE 0 ADDRESS: 0x000018E4 This is the Customer AUTH Key Word25.

Table 1344: CUSTAUTHW25 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W25

Bit

Name

31:0

CUSTAUTH_W25

Table 1345: CUSTAUTHW25 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word25

23.1.2.91CUSTAUTHW26 Register
Customer AUTH Key Word26 OFFSET: 0x000018E8 INSTANCE 0 ADDRESS: 0x000018E8 This is the Customer AUTH Key Word26.

Table 1346: CUSTAUTHW26 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W26

DS-A3-0p9p1

Page 857 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTAUTH_W26

Table 1347: CUSTAUTHW26 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word26

23.1.2.92CUSTAUTHW27 Register
Customer AUTH Key Word27 OFFSET: 0x000018EC INSTANCE 0 ADDRESS: 0x000018EC This is the Customer AUTH Key Word27.

Table 1348: CUSTAUTHW27 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W27

Bit

Name

31:0

CUSTAUTH_W27

Table 1349: CUSTAUTHW27 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word27

23.1.2.93CUSTAUTHW28 Register
Customer AUTH Key Word28 OFFSET: 0x000018F0 INSTANCE 0 ADDRESS: 0x000018F0 This is the Customer AUTH Key Word28.

Table 1350: CUSTAUTHW28 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W28

DS-A3-0p9p1

Page 858 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTAUTH_W28

Table 1351: CUSTAUTHW28 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word28

23.1.2.94CUSTAUTHW29 Register
Customer AUTH Key Word29 OFFSET: 0x000018F4 INSTANCE 0 ADDRESS: 0x000018F4 This is the Customer AUTH Key Word29.

Table 1352: CUSTAUTHW29 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W29

Bit

Name

31:0

CUSTAUTH_W29

Table 1353: CUSTAUTHW29 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word29

23.1.2.95CUSTAUTHW30 Register
Customer AUTH Key Word30 OFFSET: 0x000018F8 INSTANCE 0 ADDRESS: 0x000018F8 This is the Customer AUTH Key Word30.

Table 1354: CUSTAUTHW30 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W30

DS-A3-0p9p1

Page 859 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTAUTH_W30

Table 1355: CUSTAUTHW30 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word30

23.1.2.96CUSTAUTHW31 Register
Customer AUTH Key Word31 OFFSET: 0x000018FC INSTANCE 0 ADDRESS: 0x000018FC This is the Customer AUTH Key Word31.

Table 1356: CUSTAUTHW31 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTAUTH_W31

Bit

Name

31:0

CUSTAUTH_W31

Table 1357: CUSTAUTHW31 Register Bits

Reset 0xffffffff

RW

Description

Customer AUTH Key Word31

23.1.2.97CUSTPUBKEYW0 Register
Customer Public Key Word0 OFFSET: 0x00001900 INSTANCE 0 ADDRESS: 0x00001900 This is the Customer Public Key Word0.

Table 1358: CUSTPUBKEYW0 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W0

DS-A3-0p9p1

Page 860 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W0

Table 1359: CUSTPUBKEYW0 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word0

23.1.2.98CUSTPUBKEYW1 Register
Customer Public Key Word1 OFFSET: 0x00001904 INSTANCE 0 ADDRESS: 0x00001904 This is the Customer Public Key Word1.

Table 1360: CUSTPUBKEYW1 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W1

Bit

Name

31:0

CUSTPUBKEY_W1

Table 1361: CUSTPUBKEYW1 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word1

23.1.2.99CUSTPUBKEYW2 Register
Customer Public Key Word2 OFFSET: 0x00001908 INSTANCE 0 ADDRESS: 0x00001908 This is the Customer Public Key Word2.

Table 1362: CUSTPUBKEYW2 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W2

DS-A3-0p9p1

Page 861 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W2

Table 1363: CUSTPUBKEYW2 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word2

23.1.2.100CUSTPUBKEYW3 Register
Customer Public Key Word3 OFFSET: 0x0000190C INSTANCE 0 ADDRESS: 0x0000190C This is the Customer Public Key Word3.

Table 1364: CUSTPUBKEYW3 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W3

Bit

Name

31:0

CUSTPUBKEY_W3

Table 1365: CUSTPUBKEYW3 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word3

23.1.2.101CUSTPUBKEYW4 Register
Customer Public Key Word4 OFFSET: 0x00001910 INSTANCE 0 ADDRESS: 0x00001910 This is the Customer Public Key Word4.

Table 1366: CUSTPUBKEYW4 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W4

DS-A3-0p9p1

Page 862 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W4

Table 1367: CUSTPUBKEYW4 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word4

23.1.2.102CUSTPUBKEYW5 Register
Customer Public Key Word5 OFFSET: 0x00001914 INSTANCE 0 ADDRESS: 0x00001914 This is the Customer Public Key Word5.

Table 1368: CUSTPUBKEYW5 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W5

Bit

Name

31:0

CUSTPUBKEY_W5

Table 1369: CUSTPUBKEYW5 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word5

23.1.2.103CUSTPUBKEYW6 Register
Customer Public Key Word6 OFFSET: 0x00001918 INSTANCE 0 ADDRESS: 0x00001918 This is the Customer Public Key Word6.

Table 1370: CUSTPUBKEYW6 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W6

DS-A3-0p9p1

Page 863 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W6

Table 1371: CUSTPUBKEYW6 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word6

23.1.2.104CUSTPUBKEYW7 Register
Customer Public Key Word7 OFFSET: 0x0000191C INSTANCE 0 ADDRESS: 0x0000191C This is the Customer Public Key Word7.

Table 1372: CUSTPUBKEYW7 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W7

Bit

Name

31:0

CUSTPUBKEY_W7

Table 1373: CUSTPUBKEYW7 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word7

23.1.2.105CUSTPUBKEYW8 Register
Customer Public Key Word0 OFFSET: 0x00001920 INSTANCE 0 ADDRESS: 0x00001920 This is the Customer Public Key Word8.

Table 1374: CUSTPUBKEYW8 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W8

DS-A3-0p9p1

Page 864 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W8

Table 1375: CUSTPUBKEYW8 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word8

23.1.2.106CUSTPUBKEYW9 Register
Customer Public Key Word9 OFFSET: 0x00001924 INSTANCE 0 ADDRESS: 0x00001924 This is the Customer Public Key Word9.

Table 1376: CUSTPUBKEYW9 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W9

Bit

Name

31:0

CUSTPUBKEY_W9

Table 1377: CUSTPUBKEYW9 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word9

23.1.2.107CUSTPUBKEYW10 Register
Customer Public Key Word10 OFFSET: 0x00001928 INSTANCE 0 ADDRESS: 0x00001928 This is the Customer Public Key Word10.

Table 1378: CUSTPUBKEYW10 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W10

DS-A3-0p9p1

Page 865 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W10

Table 1379: CUSTPUBKEYW10 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word10

23.1.2.108CUSTPUBKEYW11 Register
Customer Public Key Word11 OFFSET: 0x0000192C INSTANCE 0 ADDRESS: 0x0000192C This is the Customer Public Key Word11.

Table 1380: CUSTPUBKEYW11 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W11

Bit

Name

31:0

CUSTPUBKEY_W11

Table 1381: CUSTPUBKEYW11 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word11

23.1.2.109CUSTPUBKEYW12 Register
Customer Public Key Word12 OFFSET: 0x00001930 INSTANCE 0 ADDRESS: 0x00001930 This is the Customer Public Key Word12.

Table 1382: CUSTPUBKEYW12 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W12

DS-A3-0p9p1

Page 866 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W12

Table 1383: CUSTPUBKEYW12 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word12

23.1.2.110CUSTPUBKEYW13 Register
Customer Public Key Word13 OFFSET: 0x00001934 INSTANCE 0 ADDRESS: 0x00001934 This is the Customer Public Key Word13.

Table 1384: CUSTPUBKEYW13 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W13

Bit

Name

31:0

CUSTPUBKEY_W13

Table 1385: CUSTPUBKEYW13 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word13

23.1.2.111CUSTPUBKEYW14 Register
Customer Public Key Word14 OFFSET: 0x00001938 INSTANCE 0 ADDRESS: 0x00001938 This is the Customer Public Key Word14.

Table 1386: CUSTPUBKEYW14 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W14

DS-A3-0p9p1

Page 867 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W14

Table 1387: CUSTPUBKEYW14 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word14

23.1.2.112CUSTPUBKEYW15 Register
Customer Public Key Word15 OFFSET: 0x0000193C INSTANCE 0 ADDRESS: 0x0000193C This is the Customer Public Key Word15.

Table 1388: CUSTPUBKEYW15 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W15

Bit

Name

31:0

CUSTPUBKEY_W15

Table 1389: CUSTPUBKEYW15 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word15

23.1.2.113CUSTPUBKEYW16 Register
Customer Public Key Word16 OFFSET: 0x00001940 INSTANCE 0 ADDRESS: 0x00001940 This is the Customer Public Key Word16.

Table 1390: CUSTPUBKEYW16 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W16

DS-A3-0p9p1

Page 868 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W16

Table 1391: CUSTPUBKEYW16 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word16

23.1.2.114CUSTPUBKEYW17 Register
Customer Public Key Word17 OFFSET: 0x00001944 INSTANCE 0 ADDRESS: 0x00001944 This is the Customer Public Key Word17.

Table 1392: CUSTPUBKEYW17 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W17

Bit

Name

31:0

CUSTPUBKEY_W17

Table 1393: CUSTPUBKEYW17 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word17

23.1.2.115CUSTPUBKEYW18 Register
Customer Public Key Word18 OFFSET: 0x00001948 INSTANCE 0 ADDRESS: 0x00001948 This is the Customer Public Key Word18.

Table 1394: CUSTPUBKEYW18 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W18

DS-A3-0p9p1

Page 869 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W18

Table 1395: CUSTPUBKEYW18 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word18

23.1.2.116CUSTPUBKEYW19 Register
Customer Public Key Word19 OFFSET: 0x0000194C INSTANCE 0 ADDRESS: 0x0000194C This is the Customer Public Key Word19.

Table 1396: CUSTPUBKEYW19 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W19

Bit

Name

31:0

CUSTPUBKEY_W19

Table 1397: CUSTPUBKEYW19 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word19

23.1.2.117CUSTPUBKEYW20 Register
Customer Public Key Word20 OFFSET: 0x00001950 INSTANCE 0 ADDRESS: 0x00001950 This is the Customer Public Key Word20.

Table 1398: CUSTPUBKEYW20 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W20

DS-A3-0p9p1

Page 870 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W20

Table 1399: CUSTPUBKEYW20 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word20

23.1.2.118CUSTPUBKEYW21 Register
Customer Public Key Word21 OFFSET: 0x00001954 INSTANCE 0 ADDRESS: 0x00001954 This is the Customer Public Key Word21.

Table 1400: CUSTPUBKEYW21 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W21

Bit

Name

31:0

CUSTPUBKEY_W21

Table 1401: CUSTPUBKEYW21 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word21

23.1.2.119CUSTPUBKEYW22 Register
Customer Public Key Word22 OFFSET: 0x00001958 INSTANCE 0 ADDRESS: 0x00001958 This is the Customer Public Key Word22.

Table 1402: CUSTPUBKEYW22 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W22

DS-A3-0p9p1

Page 871 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W22

Table 1403: CUSTPUBKEYW22 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word22

23.1.2.120CUSTPUBKEYW23 Register
Customer Public Key Word23 OFFSET: 0x0000195C INSTANCE 0 ADDRESS: 0x0000195C This is the Customer Public Key Word23.

Table 1404: CUSTPUBKEYW23 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W23

Bit

Name

31:0

CUSTPUBKEY_W23

Table 1405: CUSTPUBKEYW23 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word23

23.1.2.121CUSTPUBKEYW24 Register
Customer Public Key Word24 OFFSET: 0x00001960 INSTANCE 0 ADDRESS: 0x00001960 This is the Customer Public Key Word24.

Table 1406: CUSTPUBKEYW24 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W24

DS-A3-0p9p1

Page 872 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W24

Table 1407: CUSTPUBKEYW24 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word24

23.1.2.122CUSTPUBKEYW25 Register
Customer Public Key Word25 OFFSET: 0x00001964 INSTANCE 0 ADDRESS: 0x00001964 This is the Customer Public Key Word25.

Table 1408: CUSTPUBKEYW25 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W25

Bit

Name

31:0

CUSTPUBKEY_W25

Table 1409: CUSTPUBKEYW25 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word25

23.1.2.123CUSTPUBKEYW26 Register
Customer Public Key Word26 OFFSET: 0x00001968 INSTANCE 0 ADDRESS: 0x00001968 This is the Customer Public Key Word26.

Table 1410: CUSTPUBKEYW26 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W26

DS-A3-0p9p1

Page 873 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W26

Table 1411: CUSTPUBKEYW26 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word26

23.1.2.124CUSTPUBKEYW27 Register
Customer Public Key Word27 OFFSET: 0x0000196C INSTANCE 0 ADDRESS: 0x0000196C This is the Customer Public Key Word27.

Table 1412: CUSTPUBKEYW27 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W27

Bit

Name

31:0

CUSTPUBKEY_W27

Table 1413: CUSTPUBKEYW27 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word27

23.1.2.125CUSTPUBKEYW28 Register
Customer Public Key Word28 OFFSET: 0x00001970 INSTANCE 0 ADDRESS: 0x00001970 This is the Customer Public Key Word28.

Table 1414: CUSTPUBKEYW28 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W28

DS-A3-0p9p1

Page 874 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W28

Table 1415: CUSTPUBKEYW28 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word28

23.1.2.126CUSTPUBKEYW29 Register
Customer Public Key Word29 OFFSET: 0x00001974 INSTANCE 0 ADDRESS: 0x00001974 This is the Customer Public Key Word29.

Table 1416: CUSTPUBKEYW29 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W29

Bit

Name

31:0

CUSTPUBKEY_W29

Table 1417: CUSTPUBKEYW29 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word29

23.1.2.127CUSTPUBKEYW30 Register
Customer Public Key Word30 OFFSET: 0x00001978 INSTANCE 0 ADDRESS: 0x00001978 This is the Customer Public Key Word30.

Table 1418: CUSTPUBKEYW30 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W30

DS-A3-0p9p1

Page 875 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W30

Table 1419: CUSTPUBKEYW30 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word30

23.1.2.128CUSTPUBKEYW31 Register
Customer Public Key Word31 OFFSET: 0x0000197C INSTANCE 0 ADDRESS: 0x0000197C This is the Customer Public Key Word31.

Table 1420: CUSTPUBKEYW31 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W31

Bit

Name

31:0

CUSTPUBKEY_W31

Table 1421: CUSTPUBKEYW31 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word31

23.1.2.129CUSTPUBKEYW32 Register
Customer Public Key Word32 OFFSET: 0x00001980 INSTANCE 0 ADDRESS: 0x00001980 This is the Customer Public Key Word32.

Table 1422: CUSTPUBKEYW32 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W32

DS-A3-0p9p1

Page 876 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W32

Table 1423: CUSTPUBKEYW32 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word32

23.1.2.130CUSTPUBKEYW33 Register
Customer Public Key Word33 OFFSET: 0x00001984 INSTANCE 0 ADDRESS: 0x00001984 This is the Customer Public Key Word33.

Table 1424: CUSTPUBKEYW33 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W33

Bit

Name

31:0

CUSTPUBKEY_W33

Table 1425: CUSTPUBKEYW33 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word33

23.1.2.131CUSTPUBKEYW34 Register
Customer Public Key Word34 OFFSET: 0x00001988 INSTANCE 0 ADDRESS: 0x00001988 This is the Customer Public Key Word34.

Table 1426: CUSTPUBKEYW34 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W34

DS-A3-0p9p1

Page 877 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W34

Table 1427: CUSTPUBKEYW34 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word34

23.1.2.132CUSTPUBKEYW35 Register
Customer Public Key Word35 OFFSET: 0x0000198C INSTANCE 0 ADDRESS: 0x0000198C This is the Customer Public Key Word35.

Table 1428: CUSTPUBKEYW35 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W35

Bit

Name

31:0

CUSTPUBKEY_W35

Table 1429: CUSTPUBKEYW35 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word35

23.1.2.133CUSTPUBKEYW36 Register
Customer Public Key Word36 OFFSET: 0x00001990 INSTANCE 0 ADDRESS: 0x00001990 This is the Customer Public Key Word36.

Table 1430: CUSTPUBKEYW36 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W36

DS-A3-0p9p1

Page 878 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W36

Table 1431: CUSTPUBKEYW36 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word36

23.1.2.134CUSTPUBKEYW37 Register
Customer Public Key Word37 OFFSET: 0x00001994 INSTANCE 0 ADDRESS: 0x00001994 This is the Customer Public Key Word37.

Table 1432: CUSTPUBKEYW37 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W37

Bit

Name

31:0

CUSTPUBKEY_W37

Table 1433: CUSTPUBKEYW37 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word37

23.1.2.135CUSTPUBKEYW38 Register
Customer Public Key Word38 OFFSET: 0x00001998 INSTANCE 0 ADDRESS: 0x00001998 This is the Customer Public Key Word38.

Table 1434: CUSTPUBKEYW38 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W38

DS-A3-0p9p1

Page 879 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W38

Table 1435: CUSTPUBKEYW38 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word38

23.1.2.136CUSTPUBKEYW39 Register
Customer Public Key Word39 OFFSET: 0x0000199C INSTANCE 0 ADDRESS: 0x0000199C This is the Customer Public Key Word39.

Table 1436: CUSTPUBKEYW39 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W39

Bit

Name

31:0

CUSTPUBKEY_W39

Table 1437: CUSTPUBKEYW39 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word39

23.1.2.137CUSTPUBKEYW40 Register
Customer Public Key Word40 OFFSET: 0x000019A0 INSTANCE 0 ADDRESS: 0x000019A0 This is the Customer Public Key Word40.

Table 1438: CUSTPUBKEYW40 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W40

DS-A3-0p9p1

Page 880 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W40

Table 1439: CUSTPUBKEYW40 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word40

23.1.2.138CUSTPUBKEYW41 Register
Customer Public Key Word41 OFFSET: 0x000019A4 INSTANCE 0 ADDRESS: 0x000019A4 This is the Customer Public Key Word41.

Table 1440: CUSTPUBKEYW41 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W41

Bit

Name

31:0

CUSTPUBKEY_W41

Table 1441: CUSTPUBKEYW41 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word41

23.1.2.139CUSTPUBKEYW42 Register
Customer Public Key Word42 OFFSET: 0x000019A8 INSTANCE 0 ADDRESS: 0x000019A8 This is the Customer Public Key Word42.

Table 1442: CUSTPUBKEYW42 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W42

DS-A3-0p9p1

Page 881 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W42

Table 1443: CUSTPUBKEYW42 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word42

23.1.2.140CUSTPUBKEYW43 Register
Customer Public Key Word43 OFFSET: 0x000019AC INSTANCE 0 ADDRESS: 0x000019AC This is the Customer Public Key Word43.

Table 1444: CUSTPUBKEYW43 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W43

Bit

Name

31:0

CUSTPUBKEY_W43

Table 1445: CUSTPUBKEYW43 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word43

23.1.2.141CUSTPUBKEYW44 Register
Customer Public Key Word44 OFFSET: 0x000019B0 INSTANCE 0 ADDRESS: 0x000019B0 This is the Customer Public Key Word44.

Table 1446: CUSTPUBKEYW44 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W44

DS-A3-0p9p1

Page 882 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W44

Table 1447: CUSTPUBKEYW44 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word44

23.1.2.142CUSTPUBKEYW45 Register
Customer Public Key Word45 OFFSET: 0x000019B4 INSTANCE 0 ADDRESS: 0x000019B4 This is the Customer Public Key Word45.

Table 1448: CUSTPUBKEYW45 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W45

Bit

Name

31:0

CUSTPUBKEY_W45

Table 1449: CUSTPUBKEYW45 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word45

23.1.2.143CUSTPUBKEYW46 Register
Customer Public Key Word46 OFFSET: 0x000019B8 INSTANCE 0 ADDRESS: 0x000019B8 This is the Customer Public Key Word46.

Table 1450: CUSTPUBKEYW46 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W46

DS-A3-0p9p1

Page 883 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W46

Table 1451: CUSTPUBKEYW46 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word46

23.1.2.144CUSTPUBKEYW47 Register
Customer Public Key Word47 OFFSET: 0x000019BC INSTANCE 0 ADDRESS: 0x000019BC This is the Customer Public Key Word47.

Table 1452: CUSTPUBKEYW47 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W47

Bit

Name

31:0

CUSTPUBKEY_W47

Table 1453: CUSTPUBKEYW47 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word47

23.1.2.145CUSTPUBKEYW48 Register
Customer Public Key Word48 OFFSET: 0x000019C0 INSTANCE 0 ADDRESS: 0x000019C0 This is the Customer Public Key Word48.

Table 1454: CUSTPUBKEYW48 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W48

DS-A3-0p9p1

Page 884 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W48

Table 1455: CUSTPUBKEYW48 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word48

23.1.2.146CUSTPUBKEYW49 Register
Customer Public Key Word49 OFFSET: 0x000019C4 INSTANCE 0 ADDRESS: 0x000019C4 This is the Customer Public Key Word49.

Table 1456: CUSTPUBKEYW49 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W49

Bit

Name

31:0

CUSTPUBKEY_W49

Table 1457: CUSTPUBKEYW49 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word49

23.1.2.147CUSTPUBKEYW50 Register
Customer Public Key Word50 OFFSET: 0x000019C8 INSTANCE 0 ADDRESS: 0x000019C8 This is the Customer Public Key Word50.

Table 1458: CUSTPUBKEYW50 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W50

DS-A3-0p9p1

Page 885 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W50

Table 1459: CUSTPUBKEYW50 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word50

23.1.2.148CUSTPUBKEYW51 Register
Customer Public Key Word51 OFFSET: 0x000019CC INSTANCE 0 ADDRESS: 0x000019CC This is the Customer Public Key Word51.

Table 1460: CUSTPUBKEYW51 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W51

Bit

Name

31:0

CUSTPUBKEY_W51

Table 1461: CUSTPUBKEYW51 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word51

23.1.2.149CUSTPUBKEYW52 Register
Customer Public Key Word52 OFFSET: 0x000019D0 INSTANCE 0 ADDRESS: 0x000019D0 This is the Customer Public Key Word52.

Table 1462: CUSTPUBKEYW52 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W52

DS-A3-0p9p1

Page 886 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W52

Table 1463: CUSTPUBKEYW52 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word52

23.1.2.150CUSTPUBKEYW53 Register
Customer Public Key Word53 OFFSET: 0x000019D4 INSTANCE 0 ADDRESS: 0x000019D4 This is the Customer Public Key Word53.

Table 1464: CUSTPUBKEYW53 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W53

Bit

Name

31:0

CUSTPUBKEY_W53

Table 1465: CUSTPUBKEYW53 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word53

23.1.2.151CUSTPUBKEYW54 Register
Customer Public Key Word54 OFFSET: 0x000019D8 INSTANCE 0 ADDRESS: 0x000019D8 This is the Customer Public Key Word54.

Table 1466: CUSTPUBKEYW54 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W54

DS-A3-0p9p1

Page 887 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W54

Table 1467: CUSTPUBKEYW54 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word54

23.1.2.152CUSTPUBKEYW55 Register
Customer Public Key Word55 OFFSET: 0x000019DC INSTANCE 0 ADDRESS: 0x000019DC This is the Customer Public Key Word55.

Table 1468: CUSTPUBKEYW55 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W55

Bit

Name

31:0

CUSTPUBKEY_W55

Table 1469: CUSTPUBKEYW55 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word55

23.1.2.153CUSTPUBKEYW56 Register
Customer Public Key Word56 OFFSET: 0x000019E0 INSTANCE 0 ADDRESS: 0x000019E0 This is the Customer Public Key Word56.

Table 1470: CUSTPUBKEYW56 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W56

DS-A3-0p9p1

Page 888 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W56

Table 1471: CUSTPUBKEYW56 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word56

23.1.2.154CUSTPUBKEYW57 Register
Customer Public Key Word57 OFFSET: 0x000019E4 INSTANCE 0 ADDRESS: 0x000019E4 This is the Customer Public Key Word57.

Table 1472: CUSTPUBKEYW57 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W57

Bit

Name

31:0

CUSTPUBKEY_W57

Table 1473: CUSTPUBKEYW57 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word57

23.1.2.155CUSTPUBKEYW58 Register
Customer Public Key Word58 OFFSET: 0x000019E8 INSTANCE 0 ADDRESS: 0x000019E8 This is the Customer Public Key Word58.

Table 1474: CUSTPUBKEYW58 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W58

DS-A3-0p9p1

Page 889 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W58

Table 1475: CUSTPUBKEYW58 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word58

23.1.2.156CUSTPUBKEYW59 Register
Customer Public Key Word59 OFFSET: 0x000019EC INSTANCE 0 ADDRESS: 0x000019EC This is the Customer Public Key Word59.

Table 1476: CUSTPUBKEYW59 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W59

Bit

Name

31:0

CUSTPUBKEY_W59

Table 1477: CUSTPUBKEYW59 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word59

23.1.2.157CUSTPUBKEYW60 Register
Customer Public Key Word60 OFFSET: 0x000019F0 INSTANCE 0 ADDRESS: 0x000019F0 This is the Customer Public Key Word60.

Table 1478: CUSTPUBKEYW60 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W60

DS-A3-0p9p1

Page 890 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W60

Table 1479: CUSTPUBKEYW60 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word60

23.1.2.158CUSTPUBKEYW61 Register
Customer Public Key Word61 OFFSET: 0x000019F4 INSTANCE 0 ADDRESS: 0x000019F4 This is the Customer Public Key Word61.

Table 1480: CUSTPUBKEYW61 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W61

Bit

Name

31:0

CUSTPUBKEY_W61

Table 1481: CUSTPUBKEYW61 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word61

23.1.2.159CUSTPUBKEYW62 Register
Customer Public Key Word62 OFFSET: 0x000019F8 INSTANCE 0 ADDRESS: 0x000019F8 This is the Customer Public Key Word62.

Table 1482: CUSTPUBKEYW62 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W62

DS-A3-0p9p1

Page 891 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBKEY_W62

Table 1483: CUSTPUBKEYW62 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word62

23.1.2.160CUSTPUBKEYW63 Register
Customer Public Key Word63 OFFSET: 0x000019FC INSTANCE 0 ADDRESS: 0x000019FC This is the Customer Public Key Word63.

Table 1484: CUSTPUBKEYW63 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBKEY_W63

Bit

Name

31:0

CUSTPUBKEY_W63

Table 1485: CUSTPUBKEYW63 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Word63

23.1.2.161CUSTOMERKEY0 Register
128-bit customer key. Customer SW can access the protected upper half of info0 by writing this key value into the security lock register OFFSET: 0x00001A00 INSTANCE 0 ADDRESS: 0x00001A00 customer_key[31:0]

Table 1486: CUSTOMERKEY0 Register
33222222222211111111110000000000 10987654321098765432109876543210
CHUNKS

DS-A3-0p9p1

Page 892 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CHUNKS

Table 1487: CUSTOMERKEY0 Register Bits

Reset 0xffffffff

RW Word 0 of the customer key.

Description

23.1.2.162CUSTOMERKEY1 Register
128-bit customer key. OFFSET: 0x00001A04 INSTANCE 0 ADDRESS: 0x00001A04 customer_key[63:32]

Table 1488: CUSTOMERKEY1 Register
33222222222211111111110000000000 10987654321098765432109876543210
CHUNKS

Bit

Name

31:0

CHUNKS

Table 1489: CUSTOMERKEY1 Register Bits

Reset 0xffffffff

RW Word 1 of the customer key.

Description

23.1.2.163CUSTOMERKEY2 Register
128-bit customer key. OFFSET: 0x00001A08 INSTANCE 0 ADDRESS: 0x00001A08 customer_key[95:64]

Table 1490: CUSTOMERKEY2 Register
33222222222211111111110000000000 10987654321098765432109876543210
CHUNKS

DS-A3-0p9p1

Page 893 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CHUNKS

Table 1491: CUSTOMERKEY2 Register Bits

Reset 0xffffffff

RW Word 2 of the customer key.

Description

23.1.2.164CUSTOMERKEY3 Register
128-bit customer key. OFFSET: 0x00001A0C INSTANCE 0 ADDRESS: 0x00001A0C customer_key[127:96]

Table 1492: CUSTOMERKEY3 Register
33222222222211111111110000000000 10987654321098765432109876543210
CHUNKS

Bit

Name

31:0

CHUNKS

Table 1493: CUSTOMERKEY3 Register Bits

Reset 0xffffffff

RW Word 3 of the customer key.

Description

23.1.2.165CUSTPUBHASHW0 Register
Customer Public Key Hash Word0 OFFSET: 0x00001A10 INSTANCE 0 ADDRESS: 0x00001A10 This is the Customer Public Key Hash Word0.

Table 1494: CUSTPUBHASHW0 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBHASH_W0

DS-A3-0p9p1

Page 894 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBHASH_W0

Table 1495: CUSTPUBHASHW0 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Hash Word0

23.1.2.166CUSTPUBHASHW1 Register
Customer Public Key Hash Word1 OFFSET: 0x00001A14 INSTANCE 0 ADDRESS: 0x00001A14 This is the Customer Public Key Hash Word1.

Table 1496: CUSTPUBHASHW1 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBHASH_W1

Bit

Name

31:0

CUSTPUBHASH_W1

Table 1497: CUSTPUBHASHW1 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Hash Word1

23.1.2.167CUSTPUBHASHW2 Register
Customer Public Key Hash Word2 OFFSET: 0x00001A18 INSTANCE 0 ADDRESS: 0x00001A18 This is the Customer Public Key Hash Word2.

Table 1498: CUSTPUBHASHW2 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBHASH_W2

DS-A3-0p9p1

Page 895 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Apollo3 Blue Datasheet

Bit

Name

31:0

CUSTPUBHASH_W2

Table 1499: CUSTPUBHASHW2 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Hash Word2

23.1.2.168CUSTPUBHASHW3 Register
Customer Public Key Hash Word3 OFFSET: 0x00001A1C INSTANCE 0 ADDRESS: 0x00001A1C This is the Customer Public Key Hash Word3.

Table 1500: CUSTPUBHASHW3 Register
33222222222211111111110000000000 10987654321098765432109876543210
CUSTPUBHASH_W3

Bit

Name

31:0

CUSTPUBHASH_W3

Table 1501: CUSTPUBHASHW3 Register Bits

Reset 0xffffffff

RW

Description

Customer Public Key Hash Word3

DS-A3-0p9p1

Page 896 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Index
Numerics 10BIT 271 12/24 Hour Mode 548 3-wire mode 274 A Access permissions 73 accumulation control 726 accumulation, automatic 726 ACK 271, 333 Acknowledge 271 Active Mode 75, 528 ADC 67, 357, 406, 723 ADC Configuration Register 732 ADC Reference Generator 725 ADC_DIV3 724 ADC_EXT0 724 ADC_EXT1 724 ADC_EXT2 724 ADC_EXT6 724 ADC_EXT7 724 ADCREF 406 ADC_SWT 725 ADC_TEMP 724 ADC_TRIG0 725 ADC_TRIG1 725 ADC_VSS 724 AHB 74, 325 Alarm Registers 548 ALM interrupt 548 ALM100 548 AM08XX, see real-time clock AM18XX, see real-time clock AMBA 74 Analog Multiplexer Channel Selection 726 analog mux 724 analog-to-digital converter 67 APB 74 Architecture Reference Manual 75 Area, Direct 326 ARM, see processor ARMv7 75 Attachment, debugger 94 Autoadjustment, HFRC 527 Automatic Sample Accumulation 726

DS-A3-0p9p1

Page 897 of 909

Apollo3 Blue Datasheet
2019 Ambiq Micro, Inc. All rights reserved.

B Bandgap 725 battery life 66 BCD format 547 Buck Converters 771 Bus Not Busy 270, 333 bus, AMBA AHB 74 bus, AMBA APB 74 bus, DCode 74 bus, ICode 74 bus, System 74 C Calibration, Distributed Digital 525, 526 CALRC 525 CALXT 526 CLKOUT 523, 525, 528 Clock Generator Module 523 clock sources 67 clock, interface 268 CMPOUT 764 CMPR0 559, 560 CMPR1 560 CONT 274 Continuous 561, 562 control, accumulation 726 converters, buck 771 core, see processor Cortex, see processor counter, 32-bit 563 CPHA 274, 277, 338 CPOL 274, 277, 338 CTRERR 547 CTS 400, 402 D Data Valid 271, 333 DCode 74 debug 94 Debug Interfaces 94 debugger attachment 94 Deep Sleep 524 Deep Sleep Mode 74, 75 Deep Slope Mode 338 Direct Area 326 Distributed Digital Calibration 525, 526 E EG_IOSLAVE_FIFOPTR_FIFOSIZ 329

DS-A3-0p9p1

Page 898 of 909

Apollo3 Blue Datasheet
2019 Ambiq Micro, Inc. All rights reserved.

event 68 event, wakeup 74 F Fast Mode Plus 332 fault handler, Memanage 73 Faulting Address Trapping Hardware 94 FIFO 326, 723
Area Functions 329 FIFOCTR 329 FIFOPTR 329 FIFOREM 270 FIFORTHR 270 FIFOSIZ 270, 329 FIFOUPD 331 FIFOWTHR 270 flash 67 G GPIO 386 GPIO and Pad Configuration Module 379 GPIOA_IER 386 GPIOA_ISR 386 GPIOA_WCR 386 GPIOB_IER 386 GPIOB_ISR 386 GPIOB_WCR 386 GPIOB_WSR 386 GPIOEN 386 GPIOENA 386 GPIOENB 386 GPIOnINCFG 386, 389 GPIOn_INT 389 GPIOnINTD 389 GPIOnINTP 386 GPIOnOUTCFG 388 GPIORD 389 GPIORDA 386 GPIORDB 386 GPIOWT 386, 387 GPIOWTA 386 GPIOWTB 386 GPIOWTCA 386 GPIOWTCB 386 GPIOWTSA 386 GPIOWTSB 386 H Hardware, Fault Address Trapping 94

DS-A3-0p9p1

Page 899 of 909

Apollo3 Blue Datasheet
2019 Ambiq Micro, Inc. All rights reserved.

HFADJCK 527 HFRC 526, 724 HFRC Autoadjustment 527 HFXTADJ 527 High Frequency RC Oscillator 526 HR1224 548 I I2C
10-bit addressing 334 7-bit addressing 334 ADDRESS 271 Address 334 Command 271 FIFO 270 I2CADDR 332, 334 IO Master 0 389 IO Master 1 390, 391 IO Slave 397 master 258 Multi-master Arbitration 274 Normal Read 273 Normal Write 272 Offset Address 272, 334 Raw Read 273 Raw Write 273 Read 335 receiver 270 SCL 270 SDA 270 Slave 325, 332 transmitter 270 Write 335 I2C/SPI Master 524 I2C/SPI Master Module 173, 216, 258 ICode 74 IE bit 559 Instrumentation Trace Macrocell 94 Instrumentation Trace Module 67 interfaces, debug 94 interrupt 68 ALM 548 IOINT 331 RDERR 331 Interrupts Vector Table 68 IO Slave Interrupt 397

DS-A3-0p9p1

Page 900 of 909

Apollo3 Blue Datasheet
2019 Ambiq Micro, Inc. All rights reserved.

IOINT 331 IOREAD 331 ITM, see Instrumentation Trace Macrocell L LDO 771 LFRC 524, 529 life, battery 66 Low-Power Consumption Modes 68 M Managed Conversion Slots 725 map, memory 71 Master Module , I2C/SPI 173, 216, 258 MemManage 73 memory 67
LRAM 270, 325 RAM 67 SRAM 74 memory map 71 peripheral device 72 Memory Protection Unit 73 MISO 274 mode Active 75 Deep Sleep 75, 524 Sleep 75 mode, Deep Sleep 74 Module, ADC and Temperature Sensor 723 module, PINCFG 274 MOSI 274 MPU, see Memory Protection Unit mux, analog 724 N NAK 333 Nested Vectored Interrupt Controller 68 NSEL 764 NVIC, see Nested Vectored Interrupt Controller O OPER 272 oscillator High Frequency RC 526 high frequency RC 67, 523, 724 low frequency RC 67, 523, 524 RC 67 XTAL 67, 523, 525 OUTDATSEL 387 OUTENSEL 387, 388, 389

DS-A3-0p9p1

Page 901 of 909

Apollo3 Blue Datasheet
2019 Ambiq Micro, Inc. All rights reserved.

P PAD10PULL 392, 393 PAD20FNCSEL 408 PAD20INPEN 408 PAD21INPEN 408 PAD5INPEN 389, 391 PAD5PULL 389, 391 PAD5RSEL 389 PAD6INPEN 389, 391 PAD6PULL 389, 391 PAD6RSEL 390 PAD7PULL 391 PAD8INPEN 390, 391, 392, 393 PAD8PULL 390, 391, 392, 393 PAD9INPEN 390, 391, 392, 393 PAD9PULL 390, 391, 392, 393 PADKEY 386 PADnFNCSEL 379­??, 386 PADnINPEN 389, 392, 393, 399, 401, 403, 404, 405 PADnPULL 380, 389, 392, 393, 399, 401, 403, 404, 405 PADnRSEL 389 Peripheral Device Memory Map 72 PINCFG 274 power 66 power modes 74 Power Optimization 566 power-on reset 74 processor 67 Protected Memory System Architecture 73 Protection regions 73 PSEL 764 PTAT 764 PWDKEY 764 R RDERR 331 Real Time Clock Module 529 real-time clock 67 REG_CLK_GEN_ALMLOW_ALM100 548 REG_CLK_GEN_ALMLOW_ALMHR 548 REG_CLK_GEN_ALMLOW_ALMMIN 548 REG_CLK_GEN_ALMLOW_ALMSEC 548 REG_CLK_GEN_ALMUP_ALMDATE 548 REG_CLK_GEN_ALMUP_ALMMO 548 REG_CLK_GEN_ALMUP_ALMWKDY 548 REG_CLKGEN_CALXT 526 REG_CLK_GEN_CTRLOW_CTR100 547

DS-A3-0p9p1

Page 902 of 909

Apollo3 Blue Datasheet
2019 Ambiq Micro, Inc. All rights reserved.

REG_CLK_GEN_CTRLOW_CTRHR 547 REG_CLK_GEN_CTRLOW_CTRMIN 547 REG_CLK_GEN_CTRLOW_CTRSEC 547 REG_CLK_GEN_CTRUP_CB 547 REG_CLK_GEN_CTRUP_CEB 548 REG_CLK_GEN_CTRUP_CTRDATE 547 REG_CLK_GEN_CTRUP_CTRERR 547 REG_CLK_GEN_CTRUP_CTRMO 547 REG_CLK_GEN_CTRUP_CTRWKDY 547 REG_CLK_GEN_CTRUP_CTRYR 547 REG_CLKGEN_HFTUNERB 527 REG_CLKGEN_OCTRL_OSEL 525, 526 REG_CLK_GEN_RTCCTL_HR1224 548 REG_CLK_GEN_RTCCTL_RPT 548 REG_CLK_GEN_RTCCTL_RSTOP 547 REG_CLK_GEN_RTCCTL_WRTC 547 REG_CLKGEN_STATUS_OMODE 526 REG_CLKGEN_STATUS_OSCF 526 REG_CTIMER_CMPR0 558 REG_CTIMER_CMPR0/1 558 REG_CTIMER_CTCTRLx_CTRLINKx 563 REG_CTIMER_CTCTRLx_TMRxyFN 558 REG_CTIMER_TMRxyCLR 559 REG_CTIMER_TMRxyEN 559 REG_CTIMER_TMRxyIE 559 REG_CTIMER_TMRxyPE 559 REG_CTIMER_TMRxyPOL 559 REG_GPIO_GPIOCFGy 386 REG_GPIO_GPIOyCFG_GPIOnOUTCFG 386 REG_GPIO_PADKEY 379 REG_GPIO_PADREG 379 REG_GPIO_PADREGy_PAD11PWRDN 380 REG_GPIO_PADREGy_PAD20PULL 380 REG_GPIO_PADREGy_PAD3PWRUP 380 REG_GPIO_PADREGy_PAD4PWRUP 380 REG_GPIO_PADREGy_PADnFNCSEL 379 REG_GPIO_PADREGy_PADnINPEN 380 REG_GPIO_PADREGy_PADnPULL 380 REG_GPIO_PADREGy_PADnSTRNG 379 REG_IOMSTRn_CLKCFG_DIV3 268 REG_IOMSTRn_CLKCFG_DIVEN 269 REG_IOMSTRn_CLKCFG_FSEL 268 REG_IOMSTRn_CLKCFG_LOWPER 269 REG_IOMSTRn_CLKCFG_TOTPER 268 REG_IOMSTRn_CMD 269 REG_IOMSTRn_FIFOPTR_FIFOREM 270

DS-A3-0p9p1

Page 903 of 909

Apollo3 Blue Datasheet
2019 Ambiq Micro, Inc. All rights reserved.

REG_IOMSTRn_FIFOPTR_FIFOSIZ 270 REG_IOMSTRn_FIFOTHR_FIFOWTHR 269 REG_IOMSTRn_IOMCFG_SPHA 274 REG_IOMSTRn_IOMCFG_SPOL 274 REG_IOSLAVE_FIFOCFG_FIFOBASE 325, 326 REG_IOSLAVE_FIFOCFG_FIFOMAX 326 REG_IOSLAVE_FIFOCFG_ROBASE 329 REG_IOSLAVE_FIFOCTR 329 REG_IOSLAVE_FIFOPTR_FIFOPTR 329 REG_IOSLAVE_FUPD_FIFOUPD 331 REG_IOSLAVE_FUPD_IOREAD 331 REG_IOSLAVE_IOSCFG_I2CADDR 332 REG_IOSLAVE_IOSCFG_LSB 338 REG_IOSLAVE_PRENC 328 Repeated Count 559 Repeated Pulse 560 Reset Module 698 reset, power-on 74 RESTART 333 RSTn 698 RTC, see real-time clock RTS 400, 402 S SAR, see Successive Approximation Register SCR, see System Control Register Serial Wire Debug 94 Serial Wire Debugger 67 Single Count 558 Single Pulse 559 Sleep Mode 75, 338 SLEEPONEXIT 75 Slots, Mananged Conversion 725 SPHA 277 SPI 274
3-wire 337 Complex Operations 277 frequency 268 IO Master 0 3-wire 393 IO Master 0 4-wire 391 IO Master 1 3-wire 394, 395 IO Master 1 4-wire 392, 393 IO Slave 3-wire 397 IO Slave 4-wire 397 master 258 Normal Read 275 Normal Write 275

DS-A3-0p9p1

Page 904 of 909

Apollo3 Blue Datasheet
2019 Ambiq Micro, Inc. All rights reserved.

OPER 275 Phase 277 Polarity 277 Raw Read 276 Raw Write 276 Read 337 Slave 325, 336 slave 336 Slave Addressing 275 Write 336 SPOL 277, 338 START 333 Start Data Transfer 271, 333 STOP 274, 333 STOP condition 271 Stop Data Transfer 271, 333 Successive Approximation Register 67, 723 SWD, see Serial Wire Debug SWD, see Serial Wire Debugger SWDCK 408 SWDIO 408 SYSRESETREQn 698 System Control Register 75 T Temperature Sensor 723 TMRWCR 558, 559 TPIU, see Trace Port Interface Unit Trace Port Interface Unit 67, 94 Track and Hold Time 726 TRIGSEL 725 TX 399, 401, 403 U UART 399, 405, 527 CTS 400, 402 RTS 400, 402 RX 399, 401, 403 V VCOMP, see Voltage Comparator VEXT1 764 VEXT2 764 Voltage Comparator 407, 764 Voltage Regulator Module 771 VREFEXT1 764 VREFEXT2 764 VREFEXT3 764 VREFINT 764

DS-A3-0p9p1

Page 905 of 909

Apollo3 Blue Datasheet
2019 Ambiq Micro, Inc. All rights reserved.

VTEMP 764 W Wait-For-Interrupt 75 Wakeup 338 wake-up 67 Wake-Up Interrupt Controller 74 Watchdog Timer 690 WC bit 558 WDTCFG 690 WFI, see Wait-For-Interrupt WIC, see wake-up Window Comparisons 726 X XT 525, 529 XT Oscillator 525

Apollo3 Blue Datasheet

DS-A3-0p9p1

Page 906 of 909

2019 Ambiq Micro, Inc. All rights reserved.

24. Ordering Information
Table 1502: Ordering Information

Apollo3 Blue Datasheet
909

Orderable Part Number
AMA3B1KK-KBR AMA3B1KK-KCR

Flash
1 MB 1 MB

RAM
384 KB 384 KB

Package
81-pin BGA 66-pin CSP

Packing
Tape and Reel Tape and Reel

Temperature Range
­40 to 85°C ­40 to 85°C

Availability
Now Apr 2019

DS-A3-0p9p1

Page 907 of 909

2019 Ambiq Micro, Inc. All rights reserved.

25. Document Revision History

Apollo3 Blue Datasheet
909

Revision 0.6 0.7
0.8 0.9 0.9.1

Date Feb 2018 Jun 2018
Aug 2018 Feb 2019
TBD

Table 1503: Document Revision List
Description
Initial alpha release - Updated Appendix
Pin Cfg: - VDDA pin on CSP package corrected in Pin List and Function Table - DVDD pin added in BGA and CSP pkg diagrams and in Pin List and Function Table I2C/SPI Master Module: Functional Description details added ADC: ADC register set expanded to include DMA control/status registers CTIMER: Corrected CTIMER Pad Input Connections table GPIO: PADREGA corrected for SLMISO/SLMOSI function selections for PAD1 and PAD2 Electrical: - Updated VESDCDM - ESD Charged Device Model (CDM) - Updated VESDHBM - ESD Human Body Model (HBM) - Updated Latch-up Current
Package: CSP Package Drawing added Appendix: Info0 information updated Electrical: BLE specifications updated
Pincfg: For CSP Pin Configuration Diagram and Pin List and Function Table, VSSB (C7) and VDDBH_SW (C8) have been interchanged, CSP balls for GPIO4, 9, 10, 13, 14, 15, 21, 23, 24, 40 and 41 have been updated. Preliminary designation removed. System Core (Flash): Updated note about allowable number of program cycles between erase cycles. Clock Gen: Clock tree diagram added. Reset Module: Updated Block diagram for the Reset Generator Module Electricals: - ADC specifications updated - Corremark current at 3.3V/48MHz corrected
MSPI: Pin Muxing table corrected Ordering Information: CSP package added

DS-A3-0p9p1

Page 908 of 909

2019 Ambiq Micro, Inc. All rights reserved.

Contact Information

Address
Phone Website General Information Sales Technical Support

Ambiq Micro, Inc. 6500 River Place Blvd. Building 7, Suite 200 Austin, TX 78730-1156 +1 (512) 879-2850 https://ambiqmicro.com/ info@ambiqmicro.com sales@ambiqmicro.com https://support.ambiqmicro.com

Apollo3 Blue Datasheet
909

Legal Information and Disclaimers
AMBIQ MICRO INTENDS FOR THE CONTENT CONTAINED IN THE DOCUMENT TO BE ACCURATE AND RELIABLE. THIS CONTENT MAY, HOWEVER, CONTAIN TECHNICAL INACCURACIES, TYPOGRAPHICAL ERRORS OR OTHER MISTAKES. AMBIQ MICRO MAY MAKE CORRECTIONS OR OTHER CHANGES TO THIS CONTENT AT ANY TIME. AMBIQ MICRO AND ITS SUPPLIERS RESERVE THE RIGHT TO MAKE CORRECTIONS, MODIFICATIONS, ENHANCEMENTS, IMPROVEMENTS AND OTHER CHANGES TO ITS PRODUCTS, PROGRAMS AND SERVICES AT ANY TIME OR TO DISCONTINUE ANY PRODUCTS, PROGRAMS, OR SERVICES WITHOUT NOTICE.
THE CONTENT IN THIS DOCUMENT IS PROVIDED "AS IS". AMBIQ MICRO AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS CONTENT FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THIS CONTENT, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT.
AMBIQ MICRO DOES NOT WARRANT OR REPRESENT THAT ANY LICENSE, EITHER EXPRESS OR IMPLIED, IS GRANTED UNDER ANY PATENT RIGHT, COPYRIGHT, MASK WORK RIGHT, OR OTHER INTELLECTUAL PROPERTY RIGHT OF AMBIQ MICRO COVERING OR RELATING TO THIS CONTENT OR ANY COMBINATION, MACHINE, OR PROCESS TO WHICH THIS CONTENT RELATE OR WITH WHICH THIS CONTENT MAY BE USED.
USE OF THE INFORMATION IN THIS DOCUMENT MAY REQUIRE A LICENSE FROM A THIRD PARTY UNDER THE PATENTS OR OTHER INTELLECTUAL PROPERTY OF THAT THIRD PARTY, OR A LICENSE FROM AMBIQ MICRO UNDER THE PATENTS OR OTHER INTELLECTUAL PROPERTY OF AMBIQ MICRO.
INFORMATION IN THIS DOCUMENT IS PROVIDED SOLELY TO ENABLE SYSTEM AND SOFTWARE IMPLEMENTERS TO USE AMBIQ MICRO PRODUCTS. THERE ARE NO EXPRESS OR IMPLIED COPYRIGHT LICENSES GRANTED HEREUNDER TO DESIGN OR FABRICATE ANY INTEGRATED CIRCUITS OR INTEGRATED CIRCUITS BASED ON THE INFORMATION IN THIS DOCUMENT. AMBIQ MICRO RESERVES THE RIGHT TO MAKE CHANGES WITHOUT FURTHER NOTICE TO ANY PRODUCTS HEREIN. AMBIQ MICRO MAKES NO WARRANTY, REPRESENTATION OR GUARANTEE REGARDING THE SUITABILITY OF ITS PRODUCTS FOR ANY PARTICULAR PURPOSE, NOR DOES AMBIQ MICRO ASSUME ANY LIABILITY ARISING OUT OF THE APPLICATION OR USE OF ANY PRODUCT OR CIRCUIT, AND SPECIFICALLY DISCLAIMS ANY AND ALL LIABILITY, INCLUDING WITHOUT LIMITATION CONSEQUENTIAL OR INCIDENTAL DAMAGES. "TYPICAL" PARAMETERS WHICH MAY BE PROVIDED IN AMBIQ MICRO DATA SHEETS AND/OR SPECIFICATIONS CAN AND DO VARY IN DIFFERENT APPLICATIONS AND ACTUAL PERFORMANCE MAY VARY OVER TIME. ALL OPERATING PARAMETERS, INCLUDING "TYPICALS" MUST BE VALIDATED FOR EACH CUSTOMER APPLICATION BY CUSTOMER'S TECHNICAL EXPERTS. AMBIQ MICRO DOES NOT CONVEY ANY LICENSE UNDER NEITHER ITS PATENT RIGHTS NOR THE RIGHTS OF OTHERS. AMBIQ MICRO PRODUCTS ARE NOT DESIGNED, INTENDED, OR AUTHORIZED FOR USE AS COMPONENTS IN SYSTEMS INTENDED FOR SURGICAL IMPLANT INTO THE BODY, OR OTHER APPLICATIONS INTENDED TO SUPPORT OR SUSTAIN LIFE, OR FOR ANY OTHER APPLICATION IN WHICH THE FAILURE OF THE AMBIQ MICRO PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR. SHOULD BUYER PURCHASE OR USE AMBIQ MICRO PRODUCTS FOR ANY SUCH UNINTENDED OR UNAUTHORIZED APPLICATION, BUYER SHALL INDEMNIFY AND HOLD AMBIQ MICRO AND ITS OFFICERS, EMPLOYEES, SUBSIDIARIES, AFFILIATES, AND DISTRIBUTORS HARMLESS AGAINST ALL CLAIMS, COSTS, DAMAGES, AND EXPENSES, AND REASONABLE ATTORNEY FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PERSONAL INJURY OR DEATH ASSOCIATED WITH SUCH UNINTENDED OR UNAUTHORIZED USE, EVEN IF SUCH CLAIM ALLEGES THAT AMBIQ MICRO WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE PART.

DS-A3-0p9p1

Page 909 of 909

2019 Ambiq Micro, Inc. All rights reserved.


Acrobat Elements 15.0 (Windows)