SLAU846A June   2023  – October 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1

 

  1.   1
  2.   Read This First
    1.     About This Manual
    2.     Notational Conventions
    3.     Glossary
    4.     Support Resources
    5.     Trademarks
  3. Architecture
    1. 1.1 Architecture Overview
    2. 1.2 Bus Organization
    3. 1.3 Platform Memory Map
      1. 1.3.1 Code Region
      2. 1.3.2 SRAM Region
      3. 1.3.3 Peripheral Region
      4. 1.3.4 Subsystem Region
      5. 1.3.5 System PPB Region
    4. 1.4 Boot Configuration
      1. 1.4.1 Configuration Memory (NONMAIN)
        1. 1.4.1.1 CRC-Backed Configuration Data
        2. 1.4.1.2 16-bit Pattern Match for Critical Fields
      2. 1.4.2 Boot Configuration Routine (BCR)
        1. 1.4.2.1 Serial Wire Debug Related Policies
          1. 1.4.2.1.1 SWD Security Level 0
          2. 1.4.2.1.2 SWD Security Level 1
          3. 1.4.2.1.3 SWD Security Level 2
        2. 1.4.2.2 SWD Mass Erase and Factory Reset Commands
        3. 1.4.2.3 Flash Memory Protection and Integrity Related Policies
          1. 1.4.2.3.1 Locking the Application (MAIN) Flash Memory
          2. 1.4.2.3.2 Locking the Configuration (NONMAIN) Flash Memory
          3. 1.4.2.3.3 Static Write Protection NONMAIN Fields
        4. 1.4.2.4 Application CRC Verification
        5. 1.4.2.5 Fast Boot
        6. 1.4.2.6 Bootstrap Loader (BSL) Enable/Disable Policy
          1. 1.4.2.6.1 BSL Enable
      3. 1.4.3 Bootstrap Loader (BSL)
        1. 1.4.3.1 GPIO Invoke
        2. 1.4.3.2 Bootstrap Loader (BSL) Security Policies
          1. 1.4.3.2.1 BSL Access Password
          2. 1.4.3.2.2 BSL Read-out Policy
          3. 1.4.3.2.3 BSL Security Alert Policy
        3. 1.4.3.3 Application Version
        4. 1.4.3.4 BSL Triggered Mass Erase and Factory Reset
    5. 1.5 NONMAIN Registers
    6. 1.6 Factory Constants
      1. 1.6.1 FACTORYREGION Registers
  4. PMCU
    1. 2.1 PMCU Overview
      1. 2.1.1 Power Domains
      2. 2.1.2 Operating Modes
        1. 2.1.2.1 RUN Mode
        2. 2.1.2.2 SLEEP Mode
        3. 2.1.2.3 STOP Mode
        4. 2.1.2.4 STANDBY Mode
        5. 2.1.2.5 SHUTDOWN Mode
        6. 2.1.2.6 Supported Functionality by Operating Mode
        7. 2.1.2.7 Suspended Low Power Mode Operation
    2. 2.2 Power Management (PMU)
      1. 2.2.1 Power Supply
      2. 2.2.2 Core Regulator
      3. 2.2.3 Supply Supervisors
        1. 2.2.3.1 Power-on Reset (POR) Supervisor
        2. 2.2.3.2 Brownout Reset (BOR) Supervisor
        3. 2.2.3.3 POR and BOR Behavior During Supply Changes
      4. 2.2.4 Bandgap Reference
      5. 2.2.5 Temperature Sensor
      6. 2.2.6 VBOOST for Analog Muxes
      7. 2.2.7 Peripheral Power Enable Control
        1. 2.2.7.1 Automatic Peripheral Disable in Low Power Modes
    3. 2.3 Clock Module (CKM)
      1. 2.3.1 Oscillators
        1. 2.3.1.1 Internal Low-Frequency Oscillator (LFOSC)
        2. 2.3.1.2 Internal System Oscillator (SYSOSC)
          1. 2.3.1.2.1 SYSOSC Gear Shift
          2. 2.3.1.2.2 SYSOSC Frequency and User Trims
          3. 2.3.1.2.3 SYSOSC Frequency Correction Loop
            1. 2.3.1.2.3.1 SYSOSC FCL in External Resistor Mode (ROSC)
            2. 2.3.1.2.3.2 SYSOSC FCL in Internal Resistor Mode
          4. 2.3.1.2.4 SYSOSC User Trim Procedure
          5. 2.3.1.2.5 Disabling SYSOSC
        3. 2.3.1.3 System Phase-Locked Loop (SYSPLL)
          1. 2.3.1.3.1 Configuring SYSPLL Output Frequencies
          2. 2.3.1.3.2 Loading SYSPLL Lookup Parameters
          3. 2.3.1.3.3 SYSPLL Startup Time
        4. 2.3.1.4 Low Frequency Crystal Oscillator (LFXT)
        5. 2.3.1.5 LFCLK_IN (Digital Clock)
        6. 2.3.1.6 High Frequency Crystal Oscillator (HFXT)
        7. 2.3.1.7 HFCLK_IN (Digital clock)
      2. 2.3.2 Clocks
        1. 2.3.2.1  MCLK (Main Clock) Tree
        2. 2.3.2.2  CPUCLK (Processor Clock)
        3. 2.3.2.3  ULPCLK (Low-Power Clock)
        4. 2.3.2.4  MFCLK (Middle Frequency Clock)
        5. 2.3.2.5  MFPCLK (Middle Frequency Precision Clock)
        6. 2.3.2.6  LFCLK (Low-Frequency Clock)
        7. 2.3.2.7  HFCLK (High-Frequency External Clock)
        8. 2.3.2.8  HSCLK (High Speed Clock)
        9. 2.3.2.9  ADCCLK (ADC Sample Period Clock)
        10. 2.3.2.10 CANCLK (CAN-FD Functional Clock)
        11. 2.3.2.11 RTCCLK (RTC Clock)
        12. 2.3.2.12 External Clock Output (CLK_OUT)
        13. 2.3.2.13 Direct Clock Connections for Infrastructure
      3. 2.3.3 Clock Tree
        1. 2.3.3.1 Peripheral Clock Source Selection
      4. 2.3.4 Clock Monitors
        1. 2.3.4.1 LFCLK Monitor
        2. 2.3.4.2 MCLK Monitor
        3. 2.3.4.3 Startup Monitors
          1. 2.3.4.3.1 LFOSC Startup Monitor
          2. 2.3.4.3.2 LFXT Startup Monitor
          3. 2.3.4.3.3 HFCLK Startup Monitor
          4. 2.3.4.3.4 SYSPLL Startup Monitor
          5. 2.3.4.3.5 HSCLK Status
      5. 2.3.5 Frequency Clock Counter (FCC)
        1. 2.3.5.1 Using the FCC
        2. 2.3.5.2 FCC Frequency Computation and Accuracy
    4. 2.4 System Controller (SYSCTL)
      1. 2.4.1  Resets and Device Initialization
        1. 2.4.1.1 Reset Levels
          1. 2.4.1.1.1 Power-on Reset (POR) Reset Level
          2. 2.4.1.1.2 Brownout Reset (BOR) Reset Level
          3. 2.4.1.1.3 Boot Reset (BOOTRST) Reset Level
          4. 2.4.1.1.4 System Reset (SYSRST) Reset Level
          5. 2.4.1.1.5 CPU-only Reset (CPURST) Reset Level
        2. 2.4.1.2 Initial Conditions After POR
        3. 2.4.1.3 NRST Pin
        4. 2.4.1.4 SWD Pins
        5. 2.4.1.5 Generating Resets in Software
        6. 2.4.1.6 Reset Cause
        7. 2.4.1.7 Peripheral Reset Control
        8. 2.4.1.8 Boot Fail Handling
      2. 2.4.2  Operating Mode Selection
      3. 2.4.3  Asynchronous Fast Clock Requests
      4. 2.4.4  SRAM Write Protection
      5. 2.4.5  Flash Wait States
      6. 2.4.6  Flash Bank Address Swap
      7. 2.4.7  Shutdown Mode Handling
      8. 2.4.8  Configuration Lockout
      9. 2.4.9  System Status
      10. 2.4.10 Error Handling
      11. 2.4.11 SYSCTL Events
        1. 2.4.11.1 CPU Interrupt Event (CPU_INT)
        2. 2.4.11.2 Non-maskable Interrupt Event (NMI)
    5. 2.5 Quick Start Reference
      1. 2.5.1 Default Device Configuration
      2. 2.5.2 Leveraging MFCLK
      3. 2.5.3 Optimizing Power Consumption in STOP Mode
      4. 2.5.4 Optimizing Power Consumption in STANDBY Mode
      5. 2.5.5 Increasing MCLK and ULPCLK Precision
      6. 2.5.6 Configuring MCLK for Maximum Speed
      7. 2.5.7 High Speed Clock (SYSPLL, HFCLK) Handling in Low-Power Modes
      8. 2.5.8 Optimizing for Lowest Wakeup Latency
      9. 2.5.9 Optimizing for Lowest Peak Current in RUN/SLEEP Mode
    6. 2.6 SYSCTL Registers
  5. CPU
    1. 3.1 Overview
    2. 3.2 Arm Cortex-M0+ CPU
      1. 3.2.1 CPU Register File
      2. 3.2.2 Stack Behavior
      3. 3.2.3 Execution Modes and Privilege Levels
      4. 3.2.4 Address Space and Supported Data Sizes
    3. 3.3 Interrupts and Exceptions
      1. 3.3.1 Peripheral Interrupts (IRQs)
        1. 3.3.1.1 Nested Vectored Interrupt Controller (NVIC)
        2. 3.3.1.2 Interrupt Groups
        3. 3.3.1.3 Wake Up Controller (WUC)
      2. 3.3.2 Interrupt and Exception Table
      3. 3.3.3 Processor Lockup Scenario
    4. 3.4 CPU Peripherals
      1. 3.4.1 System Control Block (SCB)
      2. 3.4.2 System Tick Timer (SysTick)
      3. 3.4.3 Memory Protection Unit (MPU)
    5. 3.5 Read-Only Memory (ROM)
    6. 3.6 CPUSS Registers
    7. 3.7 WUC Registers
  6. DMA
    1. 4.1 DMA Overview
    2. 4.2 DMA Operation
      1. 4.2.1  Addressing Modes
      2. 4.2.2  Channel Types
      3. 4.2.3  Transfer Modes
        1. 4.2.3.1 Single Transfer
        2. 4.2.3.2 Block Transfer
        3. 4.2.3.3 Repeated Single Transfer
        4. 4.2.3.4 Repeated Block Transfer
        5. 4.2.3.5 Stride Mode
      4. 4.2.4  Extended Modes
        1. 4.2.4.1 Fill Mode
        2. 4.2.4.2 Table Mode
      5. 4.2.5  Initiating DMA Transfers
      6. 4.2.6  Stopping DMA Transfers
      7. 4.2.7  Channel Priorities
      8. 4.2.8  Burst Block Mode
      9. 4.2.9  Using DMA with System Interrupts
      10. 4.2.10 DMA Controller Interrupts
      11. 4.2.11 DMA Trigger Event Status
      12. 4.2.12 DMA Operating Mode Support
        1. 4.2.12.1 Transfer in RUN Mode
        2. 4.2.12.2 Transfer in SLEEP Mode
        3. 4.2.12.3 Transfer in STOP Mode
        4. 4.2.12.4 Transfers in STANDBY Mode
      13. 4.2.13 DMA Address and Data Errors
      14. 4.2.14 Interrupt and Event Support
    3. 4.3 DMA Registers
  7. MATHACL
    1. 5.1 Overview
    2. 5.2 Data Format
      1. 5.2.1 Unsigned 32-bit integers
      2. 5.2.2 Signed 32-bit integers
      3. 5.2.3 Unsigned 32-bit numbers
      4. 5.2.4 Signed 32-bit numbers
    3. 5.3 Basic Operation
    4. 5.4 Configuration Details with Examples
      1. 5.4.1 Sine and Cosine (SINCOS)
      2. 5.4.2 Arc Tangent (ATAN2)
      3. 5.4.3 Square Root (SQRT)
      4. 5.4.4 Division (DIV)
      5. 5.4.5 Multiplication
        1. 5.4.5.1 Multiply32 (MPY32)
        2. 5.4.5.2 Square32 (SQUARE32)
        3. 5.4.5.3 Multiply64 (MPY64)
        4. 5.4.5.4 Square64 (SQUARE64)
      6. 5.4.6 Multiply-Accumulate (MAC)
      7. 5.4.7 Square Accumulate (SAC)
    5. 5.5 MATHACL Registers
  8. NVM (Flash)
    1. 6.1 NVM Overview
      1. 6.1.1 Key Features
      2. 6.1.2 System Components
      3. 6.1.3 Terminology
    2. 6.2 Flash Memory Bank Organization
      1. 6.2.1 Banks
      2. 6.2.2 Flash Memory Regions
      3. 6.2.3 Addressing
        1. 6.2.3.1 Flash Memory Map
      4. 6.2.4 Memory Organization Examples
    3. 6.3 Flash Controller
      1. 6.3.1 Overview of Flash Controller Commands
      2. 6.3.2 NOOP Command
      3. 6.3.3 PROGRAM Command
        1. 6.3.3.1 Program Bit Masking Behavior
        2. 6.3.3.2 Programming Less Than One Flash Word
        3. 6.3.3.3 Target Data Alignment (Devices with Single Flash Word Programming Only)
        4. 6.3.3.4 Target Data Alignment (Devices With Multiword Programming)
        5. 6.3.3.5 Executing a PROGRAM Operation
      4. 6.3.4 ERASE Command
        1. 6.3.4.1 Erase Sector Masking Behavior
        2. 6.3.4.2 Executing an ERASE Operation
      5. 6.3.5 READVERIFY Command
        1. 6.3.5.1 Executing a READVERIFY Operation
      6. 6.3.6 BLANKVERIFY Command
        1. 6.3.6.1 Executing a BLANKVERIFY Operation
      7. 6.3.7 Command Diagnostics
        1. 6.3.7.1 Command Status
        2. 6.3.7.2 Address Translation
        3. 6.3.7.3 Pulse Counts
      8. 6.3.8 Overriding the System Address With a Bank ID, Region ID, and Bank Address
      9. 6.3.9 FLASHCTL Events
        1. 6.3.9.1 CPU Interrupt Event Publisher
    4. 6.4 Write Protection
      1. 6.4.1 Write Protection Resolution
      2. 6.4.2 Static Write Protection
      3. 6.4.3 Dynamic Write Protection
        1. 6.4.3.1 Configuring Protection for the MAIN Region
        2. 6.4.3.2 Configuring Protection for the NONMAIN Region
    5. 6.5 Read Interface
      1. 6.5.1 Bank Address Swapping
      2. 6.5.2 ECC Error Handling
        1. 6.5.2.1 Single bit (correctable) errors
        2. 6.5.2.2 Dual bit (uncorrectable) errors
    6. 6.6 FLASHCTL Registers
  9. Events
    1. 7.1 Events Overview
      1. 7.1.1 Event Publisher
      2. 7.1.2 Event Subscriber
      3. 7.1.3 Event Fabric Routing
        1. 7.1.3.1 CPU Interrupt Event Route (CPU_INT)
        2. 7.1.3.2 DMA Trigger Event Route (DMA_TRIGx)
        3. 7.1.3.3 Generic Event Route (GEN_EVENTx)
      4. 7.1.4 Event Routing Map
      5. 7.1.5 Event Propagation Latency
    2. 7.2 Events Operation
      1. 7.2.1 CPU Interrupt
      2. 7.2.2 DMA Trigger
      3. 7.2.3 Peripheral to Peripheral Event
      4. 7.2.4 Extended Module Description Register
      5. 7.2.5 Using Event Registers
        1. 7.2.5.1 Event Registers
        2. 7.2.5.2 Configuring Events
        3. 7.2.5.3 Responding to CPU Interrupts in Application Software
        4. 7.2.5.4 Hardware Event Handling
  10. IOMUX
    1. 8.1 IOMUX Overview
      1. 8.1.1 IO Types and Analog Sharing
    2. 8.2 IOMUX Operation
      1. 8.2.1 Peripheral Function (PF) Assignment
      2. 8.2.2 Logic High to Hi-Z Conversion
      3. 8.2.3 Logic Inversion
      4. 8.2.4 SHUTDOWN Mode Wakeup Logic
      5. 8.2.5 Pullup/Pulldown Resistors
      6. 8.2.6 Drive Strength Control
      7. 8.2.7 Hysteresis and Logic Level Control
    3. 8.3 IOMUX (PINCMx) Register Format
    4. 8.4 IOMUX Registers
  11. GPIO
    1. 9.1 GPIO Overview
    2. 9.2 GPIO Operation
      1. 9.2.1 GPIO Ports
      2. 9.2.2 GPIO Read/Write Interface
      3. 9.2.3 GPIO Input Glitch Filtering and Synchronization
      4. 9.2.4 GPIO Fast Wake
      5. 9.2.5 GPIO DMA Interface
      6. 9.2.6 Event Publishers and Subscribers
    3. 9.3 GPIO Registers
  12. 10ADC
    1. 10.1 ADC Overview
    2. 10.2 ADC Operation
      1. 10.2.1  ADC Core
      2. 10.2.2  Voltage Reference Options
      3. 10.2.3  Generic Resolution Modes
      4. 10.2.4  Hardware Averaging
      5. 10.2.5  ADC Clocking
      6. 10.2.6  Common ADC Use Cases
      7. 10.2.7  Power Down Behavior
      8. 10.2.8  Sampling Trigger Sources and Sampling Modes
        1. 10.2.8.1 AUTO Sampling Mode
        2. 10.2.8.2 MANUAL Sampling Mode
      9. 10.2.9  Sampling Period
      10. 10.2.10 Conversion Modes
      11. 10.2.11 Data Format
      12. 10.2.12 Advanced Features
        1. 10.2.12.1 Simultaneous Sampling
        2. 10.2.12.2 Window Comparator
        3. 10.2.12.3 DMA and FIFO Operation
        4. 10.2.12.4 Analog Peripheral Interconnection
      13. 10.2.13 Status Register
      14. 10.2.14 ADC Events
        1. 10.2.14.1 CPU Interrupt Event Publisher (CPU_INT)
        2. 10.2.14.2 Generic Event Publisher (GEN_EVENT)
        3. 10.2.14.3 DMA Trigger Event Publisher (DMA_TRIG)
        4. 10.2.14.4 Generic Event Subscriber (FSUB_0)
    3. 10.3 ADC12 Registers
  13. 11COMP
    1. 11.1 Comparator Overview
    2. 11.2 Comparator Operation
      1. 11.2.1  Comparator Configuration
      2. 11.2.2  Comparator Channels Selection
      3. 11.2.3  Comparator Output
      4. 11.2.4  Output Filter
      5. 11.2.5  Sampled Output Mode
      6. 11.2.6  Blanking Mode
      7. 11.2.7  Reference Voltage Generator
      8. 11.2.8  Window Comparator Mode
      9. 11.2.9  Comparator Hysteresis
      10. 11.2.10 Input SHORT Switch
      11. 11.2.11 Interrupt and Events Support
        1. 11.2.11.1 CPU Interrupt Event Publisher (CPU_INT)
        2. 11.2.11.2 Generic Event Publisher (GEN_EVENT)
        3. 11.2.11.3 Generic Event Subscribers
    3. 11.3 COMP Registers
  14. 12OPA
    1. 12.1 OPA Overview
    2. 12.2 OPA Operation
      1. 12.2.1 Analog Core
      2. 12.2.2 Power Up Behavior
      3. 12.2.3 Inputs
      4. 12.2.4 Output
      5. 12.2.5 Clock Requirements
      6. 12.2.6 Chopping
      7. 12.2.7 OPA Amplifier Modes
        1. 12.2.7.1 General-Purpose Mode
        2. 12.2.7.2 Buffer Mode
        3. 12.2.7.3 OPA PGA Mode
          1. 12.2.7.3.1 Inverting PGA Mode
          2. 12.2.7.3.2 Non-inverting PGA Mode
        4. 12.2.7.4 Difference Amplifier Mode
        5. 12.2.7.5 Cascade Amplifier Mode
      8. 12.2.8 OPA Configuration Selection
      9. 12.2.9 Burnout Current Source
    3. 12.3 OA Registers
  15. 13GPAMP
    1. 13.1 GPAMP Overview
    2. 13.2 GPAMP Operation
      1. 13.2.1 Analog Core
      2. 13.2.2 Power Up Behavior
      3. 13.2.3 Inputs
      4. 13.2.4 Output
      5. 13.2.5 GPAMP Amplifier Modes
        1. 13.2.5.1 General-Purpose Mode
        2. 13.2.5.2 ADC Buffer Mode
        3. 13.2.5.3 Unity Gain Mode
      6. 13.2.6 Chopping
    3. 13.3 GPAMP Registers
  16. 14DAC
    1. 14.1 DAC Introduction
    2. 14.2 DAC Operation
      1. 14.2.1  DAC Core
      2. 14.2.2  DAC Output
      3. 14.2.3  DAC Voltage Reference
      4. 14.2.4  DAC Output Buffers
      5. 14.2.5  DAC Data Formats
      6. 14.2.6  Sample Time Generator
      7. 14.2.7  DAC FIFO Structure
        1. 14.2.7.1 Loading Data From FIFO to Internal DAC Data Register
      8. 14.2.8  DAC Operation With DMA Controller
        1. 14.2.8.1 DMA Trigger Interface
        2. 14.2.8.2 DMA Status Interface
        3. 14.2.8.3 DMA Trigger Generation Scheme
      9. 14.2.9  DAC Operation With CPU
        1. 14.2.9.1 Interrupt conditions for DAC operation with CPU
      10. 14.2.10 Data Register Format
      11. 14.2.11 DAC Output Amplifier Offset Calibration
      12. 14.2.12 Interrupt and Event Support
        1. 14.2.12.1 CPU Interrupt Event Publisher (CPU_INT)
        2. 14.2.12.2 Generic Event Publisher (GEN_EVENT)
        3. 14.2.12.3 DMA Trigger Event Publisher
        4. 14.2.12.4 Generic Event Subscriber (FSUB_0)
    3. 14.3 DAC12 Registers
  17. 15VREF
    1. 15.1 VREF Overview
    2. 15.2 VREF Operation
      1. 15.2.1 Internal Reference Generation
      2. 15.2.2 External Reference Input
      3. 15.2.3 Analog Peripheral Interface
    3. 15.3 VREF Registers
  18. 16UART
    1. 16.1 UART Overview
      1. 16.1.1 Purpose of the Peripheral
      2. 16.1.2 Features
      3. 16.1.3 Functional Block Diagram
    2. 16.2 UART Operation
      1. 16.2.1 Clock Control
      2. 16.2.2 Signal Descriptions
      3. 16.2.3 General Architecture and Protocol
        1. 16.2.3.1  Transmit Receive Logic
        2. 16.2.3.2  Bit Sampling
        3. 16.2.3.3  Majority Voting Feature
        4. 16.2.3.4  Baud Rate Generation
        5. 16.2.3.5  Data Transmission
        6. 16.2.3.6  Error and Status
        7. 16.2.3.7  Local Interconnect Network (LIN) Support
          1. 16.2.3.7.1 LIN Responder Transmission Delay
        8. 16.2.3.8  Flow Control
        9. 16.2.3.9  Idle-Line Multiprocessor
        10. 16.2.3.10 9-Bit UART Mode
        11. 16.2.3.11 RS485 Support
        12. 16.2.3.12 DALI Protocol
        13. 16.2.3.13 Manchester Encoding and Decoding
        14. 16.2.3.14 IrDA Encoding and Decoding
        15. 16.2.3.15 ISO7816 Smart Card Support
        16. 16.2.3.16 Address Detection
        17. 16.2.3.17 FIFO Operation
        18. 16.2.3.18 Loopback Operation
        19. 16.2.3.19 Glitch Suppression
      4. 16.2.4 Low Power Operation
      5. 16.2.5 Reset Considerations
      6. 16.2.6 Initialization
      7. 16.2.7 Interrupt and Events Support
        1. 16.2.7.1 CPU Interrupt Event Publisher (CPU_INT)
        2. 16.2.7.2 DMA Trigger Publisher (DMA_TRIG_RX, DMA_TRIG_TX)
      8. 16.2.8 Emulation Modes
    3. 16.3 UART Registers
  19. 17SPI
    1. 17.1 SPI Overview
      1. 17.1.1 Purpose of the Peripheral
      2. 17.1.2 Features
      3. 17.1.3 Functional Block Diagram
      4. 17.1.4 External Connections and Signal Descriptions
    2. 17.2 SPI Operation
      1. 17.2.1 Clock Control
      2. 17.2.2 General Architecture
        1. 17.2.2.1 Chip Select and Command Handling
          1. 17.2.2.1.1 Chip Select Control
          2. 17.2.2.1.2 Command Data Control
        2. 17.2.2.2 Data Format
        3. 17.2.2.3 Delayed data sampling
        4. 17.2.2.4 Clock Generation
        5. 17.2.2.5 FIFO Operation
        6. 17.2.2.6 Loopback mode
        7. 17.2.2.7 DMA Operation
        8. 17.2.2.8 Repeat Transfer mode
        9. 17.2.2.9 Low Power Mode
      3. 17.2.3 Protocol Descriptions
        1. 17.2.3.1 Motorola SPI Frame Format
        2. 17.2.3.2 Texas Instruments Synchronous Serial Frame Format
      4. 17.2.4 Reset Considerations
      5. 17.2.5 Initialization
      6. 17.2.6 Interrupt and Events Support
        1. 17.2.6.1 CPU Interrupt Event Publisher (CPU_INT)
        2. 17.2.6.2 DMA Trigger Publisher (DMA_TRIG_RX, DMA_TRIG_TX)
      7. 17.2.7 Emulation Modes
    3. 17.3 SPI Registers
  20. 18I2C
    1. 18.1 I2C Overview
      1. 18.1.1 Purpose of the Peripheral
      2. 18.1.2 Features
      3. 18.1.3 Functional Block Diagram
      4. 18.1.4 Environment and External Connections
    2. 18.2 I2C Operation
      1. 18.2.1 Clock Control
        1. 18.2.1.1 Clock Select and I2C Speed
        2. 18.2.1.2 Clock Startup
      2. 18.2.2 Signal Descriptions
      3. 18.2.3 General Architecture
        1. 18.2.3.1  I2C Bus Functional Overview
        2. 18.2.3.2  START and STOP Conditions
        3. 18.2.3.3  Data Format with 7-Bit Address
        4. 18.2.3.4  Acknowledge
        5. 18.2.3.5  Repeated Start
        6. 18.2.3.6  SCL Clock Low Timeout
        7. 18.2.3.7  Clock Stretching
        8. 18.2.3.8  Dual Address
        9. 18.2.3.9  Arbitration
        10. 18.2.3.10 Multiple Controller Mode
        11. 18.2.3.11 Glitch Suppression
        12. 18.2.3.12 FIFO operation
          1. 18.2.3.12.1 Flushing Stale Tx Data in Target Mode
        13. 18.2.3.13 Loopback mode
        14. 18.2.3.14 Burst Mode
        15. 18.2.3.15 DMA Operation
        16. 18.2.3.16 Low-Power Operation
      4. 18.2.4 Protocol Descriptions
        1. 18.2.4.1 I2C Controller Mode
          1. 18.2.4.1.1 Controller Configuration
          2. 18.2.4.1.2 Controller Mode Operation
          3. 18.2.4.1.3 Read On TX Empty
        2. 18.2.4.2 I2C Target Mode
          1. 18.2.4.2.1 Target Mode Operation
      5. 18.2.5 Reset Considerations
      6. 18.2.6 Initialization
      7. 18.2.7 Interrupt and Events Support
        1. 18.2.7.1 CPU Interrupt Event Publisher (CPU_INT)
        2. 18.2.7.2 DMA Trigger Publisher (DMA_TRIG1, DMA_TRIG0)
      8. 18.2.8 Emulation Modes
  21. 19I2C Registers
  22. 20CAN-FD
    1. 20.1 MCAN Overview
      1. 20.1.1 MCAN Features
    2. 20.2 MCAN Environment
    3. 20.3 CAN Network Basics
    4. 20.4 MCAN Functional Description
      1. 20.4.1  Clock Set up
      2. 20.4.2  Module Clocking Requirements
      3. 20.4.3  Interrupt Requests
      4. 20.4.4  Operating Modes
        1. 20.4.4.1 Normal Operation
        2. 20.4.4.2 CAN Classic
        3. 20.4.4.3 CAN FD Operation
      5. 20.4.5  Software Initialization
      6. 20.4.6  Transmitter Delay Compensation
        1. 20.4.6.1 Description
        2. 20.4.6.2 Transmitter Delay Compensation Measurement
      7. 20.4.7  Restricted Operation Mode
      8. 20.4.8  Bus Monitoring Mode
      9. 20.4.9  Disabled Automatic Retransmission (DAR) Mode
        1. 20.4.9.1 Frame Transmission in DAR Mode
      10. 20.4.10 Clock Stop Mode
        1. 20.4.10.1 Suspend Mode
        2. 20.4.10.2 Wakeup Request
      11. 20.4.11 Test Modes
        1. 20.4.11.1 External Loop Back Mode
        2. 20.4.11.2 Internal Loop Back Mode
      12. 20.4.12 Timestamp Generation
        1. 20.4.12.1 External Timestamp Counter
      13. 20.4.13 Timeout Counter
      14. 20.4.14 Safety
        1. 20.4.14.1 ECC Wrapper
        2. 20.4.14.2 ECC Aggregator
          1. 20.4.14.2.1 ECC Aggregator Overview
          2. 20.4.14.2.2 ECC Aggregator Registers
        3. 20.4.14.3 Reads to ECC Control and Status Registers
        4. 20.4.14.4 ECC Interrupts
      15. 20.4.15 Tx Handling
        1. 20.4.15.1 Transmit Pause
        2. 20.4.15.2 Dedicated Tx Buffers
        3. 20.4.15.3 Tx FIFO
        4. 20.4.15.4 Tx Queue
        5. 20.4.15.5 Mixed Dedicated Tx Buffers/Tx FIFO
        6. 20.4.15.6 Mixed Dedicated Tx Buffers/Tx Queue
        7. 20.4.15.7 Transmit Cancellation
        8. 20.4.15.8 Tx Event Handling
        9. 20.4.15.9 FIFO Acknowledge Handling
      16. 20.4.16 Rx Handling
        1. 20.4.16.1 Acceptance Filtering
          1. 20.4.16.1.1 Range Filter
          2. 20.4.16.1.2 Filter for Specific IDs
          3. 20.4.16.1.3 Classic Bit Mask Filter
          4. 20.4.16.1.4 Standard Message ID Filtering
          5. 20.4.16.1.5 Extended Message ID Filtering
      17. 20.4.17 Rx FIFOs
        1. 20.4.17.1 Rx FIFO Blocking Mode
        2. 20.4.17.2 Rx FIFO Overwrite Mode
      18. 20.4.18 Dedicated Rx Buffers
        1. 20.4.18.1 Rx Buffer Handling
      19. 20.4.19 Message RAM
        1. 20.4.19.1 Message RAM Configuration
        2. 20.4.19.2 Rx Buffer and FIFO Element
        3. 20.4.19.3 Tx Buffer Element
        4. 20.4.19.4 Tx Event FIFO Element
        5. 20.4.19.5 Standard Message ID Filter Element
        6. 20.4.19.6 Extended Message ID Filter Element
    5. 20.5 MCAN Integration
    6. 20.6 Interrupt and Event Support
      1. 20.6.1 CPU Interrupt Event Publisher (CPU_INT)
    7. 20.7 MCAN Registers
  23. 21MCAN Registers
  24. 22CRC
    1. 22.1 CRC Overview
      1. 22.1.1 CRC16-CCITT
      2. 22.1.2 CRC32-ISO3309
    2. 22.2 CRC Operation
      1. 22.2.1 CRC Generator Implementation
      2. 22.2.2 Configuration
        1. 22.2.2.1 Polynomial Selection
        2. 22.2.2.2 Bit Order
        3. 22.2.2.3 Byte Swap
        4. 22.2.2.4 Byte Order
        5. 22.2.2.5 CRC C Library Compatibility
    3. 22.3 CRC Registers
  25. 23AES
    1. 23.1 AES Overview
      1. 23.1.1 AES Performance
    2. 23.2 AES Operation
      1. 23.2.1 AES Register Access Rules
      2. 23.2.2 Loading the Key
      3. 23.2.3 Loading Data
      4. 23.2.4 Reading Data
      5. 23.2.5 Triggering an Encryption or Decryption
      6. 23.2.6 Single Block Operations
        1. 23.2.6.1 Encryption
        2. 23.2.6.2 Decryption
          1. 23.2.6.2.1 Pregenerating a Decryption Key
      7. 23.2.7 Block Cipher Mode Operations
        1. 23.2.7.1 Electronic Codebook (ECB) Mode
          1. 23.2.7.1.1 ECB Encryption
          2. 23.2.7.1.2 ECB Decryption
        2. 23.2.7.2 Cipher Block Chaining (CBC) Mode
          1. 23.2.7.2.1 CBC Encryption
          2. 23.2.7.2.2 CBC Decryption
        3. 23.2.7.3 Output Feedback (OFB) Mode
          1. 23.2.7.3.1 OFB Encryption
          2. 23.2.7.3.2 OFB Decryption
        4. 23.2.7.4 Cipher Feedback (CFB) Mode
          1. 23.2.7.4.1 CFB Encryption
          2. 23.2.7.4.2 CFB Decryption
        5. 23.2.7.5 Counter (CTR) Mode
          1. 23.2.7.5.1 CTR Encryption
          2. 23.2.7.5.2 CTR Decryption
      8. 23.2.8 AES Events
        1. 23.2.8.1 CPU Interrupt Event Publisher (CPU_EVENT)
        2. 23.2.8.2 DMA Trigger Event Publisher (DMA_TRIG0)
        3. 23.2.8.3 DMA Trigger Event Publisher (DMA_TRIG1)
        4. 23.2.8.4 DMA Trigger Event Publisher (DMA_TRIG2)
    3. 23.3 AES Registers
  26. 24TRNG
    1. 24.1 TRNG Overview
    2. 24.2 TRNG Operation
      1. 24.2.1 TRNG Generation Data Path
      2. 24.2.2 Clock Configuration and Output Rate
      3. 24.2.3 Behavior in Low Power Modes
      4. 24.2.4 Health Tests
        1. 24.2.4.1 Digital Block Startup Self-Test
        2. 24.2.4.2 Analog Block Startup Self-Test
        3. 24.2.4.3 Runtime Health Test
          1. 24.2.4.3.1 Repetition Count Test
          2. 24.2.4.3.2 Adaptive Proportion Test
          3. 24.2.4.3.3 Handling Runtime Health Test Failures
      5. 24.2.5 Configuration
        1. 24.2.5.1 TRNG State Machine
          1. 24.2.5.1.1 Changing TRNG States
        2. 24.2.5.2 Using the TRNG
        3. 24.2.5.3 TRNG Events
          1. 24.2.5.3.1 CPU Interrupt Event Publisher (CPU_INT)
    3. 24.3 TRNG Registers
  27. 25Timers (TIMx)
    1. 25.1 TIMx Overview
      1. 25.1.1 TIMG Overview
        1. 25.1.1.1 TIMG Features
        2. 25.1.1.2 Functional Block Diagram
      2. 25.1.2 TIMA Overview
        1. 25.1.2.1 TIMA Features
        2. 25.1.2.2 Functional Block Diagram
      3. 25.1.3 TIMx Instance Configuration
    2. 25.2 TIMx Operation
      1. 25.2.1  Timer Counter
        1. 25.2.1.1 Clock Source Select and Prescaler
          1. 25.2.1.1.1 Internal Clock and Prescaler
          2. 25.2.1.1.2 External Signal Trigger
        2. 25.2.1.2 Repeat Counter (TIMA only)
      2. 25.2.2  Counting Mode Control
        1. 25.2.2.1 One-shot and Periodic Modes
        2. 25.2.2.2 Down Counting Mode
        3. 25.2.2.3 Up/Down Counting Mode
        4. 25.2.2.4 Up Counting Mode
        5. 25.2.2.5 Phase Load (TIMA only)
      3. 25.2.3  Capture/Compare Module
        1. 25.2.3.1 Capture Mode
          1. 25.2.3.1.1 Input Selection, Counter Conditions, and Inversion
            1. 25.2.3.1.1.1 CCP Input Edge Synchronization
            2. 25.2.3.1.1.2 CCP Input Pulse Conditions
            3. 25.2.3.1.1.3 Counter Control Operation
            4. 25.2.3.1.1.4 CCP Input Filtering
            5. 25.2.3.1.1.5 Input Selection
          2. 25.2.3.1.2 Use Cases
            1. 25.2.3.1.2.1 Edge Time Capture
            2. 25.2.3.1.2.2 Period Capture
            3. 25.2.3.1.2.3 Pulse Width Capture
            4. 25.2.3.1.2.4 Combined Pulse Width and Period Time
          3. 25.2.3.1.3 QEI Mode (TIMG with QEI support only)
            1. 25.2.3.1.3.1 QEI With 2-Signal
            2. 25.2.3.1.3.2 QEI With Index Input
            3. 25.2.3.1.3.3 QEI Error Detection
          4. 25.2.3.1.4 Hall Input Mode (TIMG with QEI support only)
        2. 25.2.3.2 Compare Mode
          1. 25.2.3.2.1 Edge Count
      4. 25.2.4  Shadow Load and Shadow Compare
        1. 25.2.4.1 Shadow Load
        2. 25.2.4.2 Shadow Compare
      5. 25.2.5  Output Generator
        1. 25.2.5.1 Configuration
        2. 25.2.5.2 Use Cases
          1. 25.2.5.2.1 Edge-Aligned PWM
          2. 25.2.5.2.2 Center-Aligned PWM
          3. 25.2.5.2.3 Asymmetric PWM (TIMA only)
          4. 25.2.5.2.4 Complementary PWM with Deadband Insertion (TIMA only)
        3. 25.2.5.3 Forced Output
      6. 25.2.6  Fault Handler (TIMA only)
        1. 25.2.6.1 Fault Input Conditioning
        2. 25.2.6.2 Fault Input Sources
        3. 25.2.6.3 Counter Behavior With Fault Conditions
        4. 25.2.6.4 Output Behavior With Fault Conditions
      7. 25.2.7  Synchronization With Cross Trigger
        1. 25.2.7.1 Main Timer Cross Trigger Configuration
        2. 25.2.7.2 Secondary Timer Cross Trigger Configuration
      8. 25.2.8  Low Power Operation
      9. 25.2.9  Interrupt and Event Support
        1. 25.2.9.1 CPU Interrupt Event Publisher (CPU_INT)
        2. 25.2.9.2 Generic Event Publisher and Subscriber (GEN_EVENT0 and GEN_EVENT1)
        3. 25.2.9.3 Generic Subscriber Event Example (COMP to TIMx)
      10. 25.2.10 Debug Handler (TIMA only)
    3. 25.3 Timers (TIMx) Registers
  28. 26RTC
    1. 26.1 Overview
    2. 26.2 Basic Operation
    3. 26.3 Configuration
      1. 26.3.1 Clocking
      2. 26.3.2 Reading and Writing to RTC Peripheral Registers
      3. 26.3.3 Binary vs. BCD
      4. 26.3.4 Leap Year Handling
      5. 26.3.5 Calendar Alarm Configuration
      6. 26.3.6 Interval Alarm Configuration
      7. 26.3.7 Periodic Alarm Configuration
      8. 26.3.8 Calibration
        1. 26.3.8.1 Crystal Offset Error
          1. 26.3.8.1.1 Offset Error Correction Mechanism
        2. 26.3.8.2 Crystal Temperature Error
          1. 26.3.8.2.1 Temperature Drift Correction Mechanism
      9. 26.3.9 RTC Events
        1. 26.3.9.1 CPU Interrupt Event Publisher (CPU_INT)
        2. 26.3.9.2 Generic Event Publisher (GEN_EVENT)
    4. 26.4 RTC Registers
  29. 27WWDT
    1. 27.1 WWDT Overview
      1. 27.1.1 Watchdog Mode
      2. 27.1.2 Interval Timer Mode
    2. 27.2 WWDT Operation
      1. 27.2.1 Mode Selection
      2. 27.2.2 Clock Configuration
      3. 27.2.3 Low-Power Mode Behavior
      4. 27.2.4 Debug Behavior
      5. 27.2.5 WWDT Events
        1. 27.2.5.1 CPU Interrupt Event Publisher (CPU_INT)
    3. 27.3 WWDT Registers
  30. 28Debug
    1. 28.1 Overview
      1. 28.1.1 Debug Interconnect
      2. 28.1.2 Physical Interface
      3. 28.1.3 Debug Access Ports
    2. 28.2 Debug Features
      1. 28.2.1 Processor Debug
        1. 28.2.1.1 Breakpoint Unit (BPU)
        2. 28.2.1.2 Data Watchpoint and Trace Unit (DWT)
        3. 28.2.1.3 Processor Trace (MTB)
      2. 28.2.2 Peripheral Debug
      3. 28.2.3 EnergyTrace Technology
    3. 28.3 Behavior in Low Power Modes
    4. 28.4 Restricting Debug Access
    5. 28.5 Mailbox (DSSM)
      1. 28.5.1 DSSM Events
        1. 28.5.1.1 CPU Interrupt Event (CPU_INT)
      2. 28.5.2 DEBUGSS Registers
  31. 29Revision History

I2C Registers

Table 19-1 lists the memory-mapped registers for the I2C registers. All register offset addresses not listed in Table 19-1 should be considered as reserved locations and the register contents should not be modified.

Table 19-1 I2C Registers
Offset Acronym Register Name Section
800h PWREN Power enable Section 19.1
804h RSTCTL Reset Control Section 19.2
808h CLKCFG Peripheral Clock Configuration Register Section 19.3
814h STAT Status Register Section 19.4
1000h CLKDIV Clock Divider Section 19.5
1004h CLKSEL Clock Select for Ultra Low Power peripherals Section 19.6
1018h PDBGCTL Peripheral Debug Control Section 19.7
1020h IIDX Interrupt index Section 19.8
1028h IMASK Interrupt mask Section 19.9
1030h RIS Raw interrupt status Section 19.10
1038h MIS Masked interrupt status Section 19.11
1040h ISET Interrupt set Section 19.12
1048h ICLR Interrupt clear Section 19.13
1050h IIDX Interrupt index Section 19.14
1058h IMASK Interrupt mask Section 19.15
1060h RIS Raw interrupt status Section 19.16
1068h MIS Masked interrupt status Section 19.17
1070h ISET Interrupt set Section 19.18
1078h ICLR Interrupt clear Section 19.19
1080h IIDX Interrupt index Section 19.20
1088h IMASK Interrupt mask Section 19.21
1090h RIS Raw interrupt status Section 19.22
1098h MIS Masked interrupt status Section 19.23
10A0h ISET Interrupt set Section 19.24
10A8h ICLR Interrupt clear Section 19.25
10E0h EVT_MODE Event Mode Section 19.26
10E4h INTCTL Interrupt control register Section 19.27
10FCh DESC Module Description Section 19.28
1200h GFCTL I2C Glitch Filter Control Section 19.29
1204h TIMEOUT_CTL I2C Timeout Count Control Register Section 19.30
1208h TIMEOUT_CNT I2C Timeout Count Register Section 19.31
1210h MSA I2C Controller Target Address Register Section 19.32
1214h MCTR I2C Controller Control Register Section 19.33
1218h MSR I2C Controller Status Register Section 19.34
121Ch MRXDATA I2C Controller RXData Section 19.35
1220h MTXDATA I2C Controller TXData Section 19.36
1224h MTPR I2C Controller Timer Period Section 19.37
1228h MCR I2C Controller Configuration Section 19.38
1234h MBMON I2C Controller Bus Monitor Section 19.39
1238h MFIFOCTL I2C Controller FIFO Control Section 19.40
123Ch MFIFOSR I2C Controller FIFO Status Register Section 19.41
1250h SOAR I2C Target Own Address Section 19.42
1254h SOAR2 I2C Target Own Address 2 Section 19.43
1258h SCTR I2C Target Control Register Section 19.44
125Ch SSR I2C Target Status Register Section 19.45
1260h SRXDATA I2C Target RXData Section 19.46
1264h STXDATA I2C Target TXData Section 19.47
126Ch SFIFOCTL I2C Target FIFO Control Section 19.48
1270h SFIFOSR I2C Target FIFO Status Register Section 19.49

Complex bit access types are encoded to fit into small table cells. Table 19-2 shows the codes that are used for access types in this section.

Table 19-2 I2C Access Type Codes
Access Type Code Description
Read Type
R R Read
Write Type
W W Write
WK W
K
Write
Write protected by a key
Reset or Default Value
-n Value after reset or the default value

19.1 PWREN Register (Offset = 800h) [Reset = 00000000h]

PWREN is shown in Figure 19-1 and described in Table 19-3.

Return to the Table 19-1.

Register to control the power state

Figure 19-1 PWREN Register
31 30 29 28 27 26 25 24
KEY
W-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED ENABLE
R-0h R/WK-0h
Table 19-3 PWREN Register Field Descriptions
Bit Field Type Reset Description
31-24 KEY W 0h KEY to allow Power State Change
26h = KEY to allow write access to this register
23-1 RESERVED R 0h
0 ENABLE R/WK 0h Enable the power

#I2C_PERIPHERALREGION_EXT_GPRCM_GPRCM_PWREN_KEY must be set to 26h to write to this bit.


0h = Disable Power
1h = Enable Power

19.2 RSTCTL Register (Offset = 804h) [Reset = 00000000h]

RSTCTL is shown in Figure 19-2 and described in Table 19-4.

Return to the Table 19-1.

Register to control reset assertion and de-assertion

Figure 19-2 RSTCTL Register
31 30 29 28 27 26 25 24
KEY
W-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED RESETSTKYCLR RESETASSERT
R-0h WK-0h WK-0h
Table 19-4 RSTCTL Register Field Descriptions
Bit Field Type Reset Description
31-24 KEY W 0h Unlock key
B1h = KEY to allow write access to this register
23-2 RESERVED R 0h
1 RESETSTKYCLR WK 0h Clear the RESETSTKY bit in the STAT register

#I2C_PERIPHERALREGION_EXT_GPRCM_GPRCM_RSTCTL_KEY must be set to B1h to write to this bit.


0h = Writing 0 has no effect
1h = Clear reset sticky bit
0 RESETASSERT WK 0h Assert reset to the peripheral

#I2C_PERIPHERALREGION_EXT_GPRCM_GPRCM_RSTCTL_KEY must be set to B1h to write to this bit.


0h = Writing 0 has no effect
1h = Assert reset

19.3 CLKCFG Register (Offset = 808h) [Reset = 00000000h]

CLKCFG is shown in Figure 19-3 and described in Table 19-5.

Return to the Table 19-1.

Peripheral Clock Configuration Register

Figure 19-3 CLKCFG Register
31 30 29 28 27 26 25 24
KEY
W-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED BLOCKASYNC
R-0h R/W-0h
7 6 5 4 3 2 1 0
RESERVED
R-0h
Table 19-5 CLKCFG Register Field Descriptions
Bit Field Type Reset Description
31-24 KEY W 0h KEY to Allow State Change -- 0xA9
A9h = key value to allow change field of GPRCM
23-9 RESERVED R 0h
8 BLOCKASYNC R/W 0h Async Clock Request is blocked from starting SYSOSC or forcing bus clock to 32MHz
0h = Not block async clock request
1h = Block async clock request
7-0 RESERVED R 0h

19.4 STAT Register (Offset = 814h) [Reset = 00000000h]

STAT is shown in Figure 19-4 and described in Table 19-6.

Return to the Table 19-1.

peripheral enable and reset status

Figure 19-4 STAT Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED RESETSTKY
R-0h R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED
R-0h
Table 19-6 STAT Register Field Descriptions
Bit Field Type Reset Description
31-17 RESERVED R 0h
16 RESETSTKY R 0x0 This bit indicates, if the peripheral was reset, since this bit was cleared by RESETSTKYCLR in the RSTCTL register
0h = The peripheral has not been reset since this bit was last cleared by RESETSTKYCLR in the RSTCTL register
1h = The peripheral was reset since the last bit clear
15-0 RESERVED R 0h

19.5 CLKDIV Register (Offset = 1000h) [Reset = 00000000h]

CLKDIV is shown in Figure 19-5 and described in Table 19-7.

Return to the Table 19-1.

This register is used to specify module-specific divide ratio of the functional clock

Figure 19-5 CLKDIV Register
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RESERVED RATIO
R-0h R/W-0h
Table 19-7 CLKDIV Register Field Descriptions
Bit Field Type Reset Description
31-3 RESERVED R 0h
2-0 RATIO R/W 0h Selects divide ratio of module clock
0h = Do not divide clock source
1h = Divide clock source by 2
2h = Divide clock source by 3
3h = Divide clock source by 4
4h = Divide clock source by 5
5h = Divide clock source by 6
6h = Divide clock source by 7
7h = Divide clock source by 8

19.6 CLKSEL Register (Offset = 1004h) [Reset = 00000000h]

CLKSEL is shown in Figure 19-6 and described in Table 19-8.

Return to the Table 19-1.

Clock source selection.

Figure 19-6 CLKSEL Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED BUSCLK_SEL MFCLK_SEL RESERVED
R-0h R/W-0h R/W-0h R-0h
Table 19-8 CLKSEL Register Field Descriptions
Bit Field Type Reset Description
31-4 RESERVED R 0h
3 BUSCLK_SEL R/W 0h Selects BUSCLK as clock source if enabled
0h = Does not select this clock as a source
1h = Select this clock as a source
2 MFCLK_SEL R/W 0h Selects MFCLK as clock source if enabled
0h = Does not select this clock as a source
1h = Select this clock as a source
1-0 RESERVED R 0h

19.7 PDBGCTL Register (Offset = 1018h) [Reset = 00000000h]

PDBGCTL is shown in Figure 19-7 and described in Table 19-9.

Return to the Table 19-1.

This register can be used by the software developer to control the behavior of the peripheral relative to the 'Core Halted' input

Figure 19-7 PDBGCTL Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED SOFT FREE
R-0h R/W-0h R/W-0h
Table 19-9 PDBGCTL Register Field Descriptions
Bit Field Type Reset Description
31-2 RESERVED R 0h
1 SOFT R/W 0h Soft halt boundary control. This function is only available, if #I2C_PERIPHERALREGION_IPSTANDARD_PDBGCTL_FREE is set to 'STOP'
0h = The peripheral will halt immediately, even if the resultant state will result in corruption if the system is restarted
1h = The peripheral blocks the debug freeze until it has reached a boundary where it can resume without corruption
0 FREE R/W 0h Free run control
0h = The peripheral freezes functionality while the Core Halted input is asserted and resumes when it is deasserted.
1h = The peripheral ignores the state of the Core Halted input

19.8 IIDX Register (Offset = 1020h) [Reset = 00000000h]

IIDX is shown in Figure 19-8 and described in Table 19-10.

Return to the Table 19-1.

This register provides the highest priority enabled interrupt index.

Figure 19-8 IIDX Register
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
RESERVED STAT
R-0h R-0h
Table 19-10 IIDX Register Field Descriptions
Bit Field Type Reset Description
31-8 RESERVED R 0h
7-0 STAT R 0h I2C Module Interrupt Vector Value. This register provides the highes priority interrupt index. A read clears the corresponding interrupt flag in RIS and MISC. 15h-1Fh = Reserved
00h = No interrupt pending
01h = Controller data received
02h = Controller data transmitted
03h = Controller receive FIFO Trigger Level
04h = Controller transmit FIFO Trigger level
5h = RX FIFO FULL Event/interrupt pending
6h = Transmit FIFO/Buffer Empty Event/interrupt pending
08h = Address/Data NACK
09h = Start Event
0Ah = Stop Event
0Bh = Arbitration Lost
Ch = DMA DONE on Channel TX
Dh = DMA DONE on Channel RX
Eh = Controller PEC Receive Error Event
Fh = Timeout A Event
10h = Timeout B Event
11h = Target Data Event
12h = Target Data Event
13h = Target receive FIFO Trigger Level
14h = Target transmit FIFO Trigger level
15h = RX FIFO FULL Event/interrupt pending
16h = Transmit FIFO/Buffer Empty Event/interrupt pending
17h = Start Event
18h = Stop Event
19h = General Call Event
1Ah = DMA DONE on Channel TX
1Bh = DMA DONE on Channel RX
1Ch = Target PEC receive error event
1Dh = Target TX FIFO underflow
1Eh = Target RX FIFO overflow event
1Fh = Target arbitration lost event
20h = Interrupt overflow event

19.9 IMASK Register (Offset = 1028h) [Reset = 00000000h]

IMASK is shown in Figure 19-9 and described in Table 19-11.

Return to the Table 19-1.

Interrupt Mask. If a bit is set, then corresponding interrupt is un-masked. Un-masking the interrupt causes the raw interrupt to be visible in IIDX, as well as MIS.

Figure 19-9 IMASK Register
31 30 29 28 27 26 25 24
INTR_OVFL SARBLOST SRX_OVFL STX_UNFL SPEC_RX_ERR SDMA_DONE_RX SDMA_DONE_TX SGENCALL
R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h
23 22 21 20 19 18 17 16
SSTOP SSTART STXEMPTY SRXFIFOFULL STXFIFOTRG SRXFIFOTRG STXDONE SRXDONE
R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h
15 14 13 12 11 10 9 8
TIMEOUTB TIMEOUTA MPEC_RX_ERR MDMA_DONE_RX MDMA_DONE_TX MARBLOST MSTOP MSTART
R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h
7 6 5 4 3 2 1 0
MNACK RESERVED MTXEMPTY MRXFIFOFULL MTXFIFOTRG MRXFIFOTRG MTXDONE MRXDONE
R/W-0h R-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h
Table 19-11 IMASK Register Field Descriptions
Bit Field Type Reset Description
31 INTR_OVFL R/W 0h Interrupt Overflow Interrupt Mask
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
30 SARBLOST R/W 0h Target Arbitration Lost
0h = Clear Set Interrupt Mask
1h = Set Interrupt Mask
29 SRX_OVFL R/W 0h Target RX FIFO overflow
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
28 STX_UNFL R/W 0h Target TX FIFO underflow
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
27 SPEC_RX_ERR R/W 0h Target RX Pec Error Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
26 SDMA_DONE_RX R/W 0h Target DMA Done on Event Channel RX
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
25 SDMA_DONE_TX R/W 0h Target DMA Done on Event Channel TX
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
24 SGENCALL R/W 0h General Call Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
23 SSTOP R/W 0h Stop Condition Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
22 SSTART R/W 0h Start Condition Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
21 STXEMPTY R/W 0h Target Transmit FIFO Empty interrupt mask. This interrupt is set if all data in the Transmit FIFO have been shifted out and the transmit goes into idle mode.
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
20 SRXFIFOFULL R/W 0h RXFIFO full event. This interrupt is set if an Target RX FIFO is full.
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
19 STXFIFOTRG R/W 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
18 SRXFIFOTRG R/W 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
17 STXDONE R/W 0h Target Transmit Transaction completed Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
16 SRXDONE R/W 0h Target Receive Data Interrupt
Signals that a byte has been received
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
15 TIMEOUTB R/W 0h Timeout B Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
14 TIMEOUTA R/W 0h Timeout A Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
13 MPEC_RX_ERR R/W 0h Controller RX Pec Error Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
12 MDMA_DONE_RX R/W 0h DMA Done on Event Channel RX
0h = Interrupt disabled
1h = Set Interrupt Mask
11 MDMA_DONE_TX R/W 0h DMA Done on Event Channel TX
0h = Interrupt disabled
1h = Set Interrupt Mask
10 MARBLOST R/W 0h Arbitration Lost Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
9 MSTOP R/W 0h STOP Detection Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
8 MSTART R/W 0h START Detection Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
7 MNACK R/W 0h Address/Data NACK Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
6 RESERVED R 0h
5 MTXEMPTY R/W 0h Transmit FIFO Empty interrupt mask. This interrupt is set if all data in the Transmit FIFO have been shifted out and the transmit goes into idle mode.
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
4 MRXFIFOFULL R/W 0h RXFIFO full event. This interrupt is set if an RX FIFO is full.
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
3 MTXFIFOTRG R/W 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 MRXFIFOTRG R/W 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXDONE R/W 0h Controller Transmit Transaction completed Interrupt

0h = Clear Interrupt Mask
1h = Set Interrupt Mask
0 MRXDONE R/W 0h Controller Receive Transaction completed Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask

19.10 RIS Register (Offset = 1030h) [Reset = 00000000h]

RIS is shown in Figure 19-10 and described in Table 19-12.

Return to the Table 19-1.

Raw interrupt status. Reflects all pending interrupts, regardless of masking. The RIS register allows the user to implement a poll scheme. A flag set in this register can be cleared by writing 1 to the ICLR register bit even if the corresponding IMASK bit is not enabled.

Figure 19-10 RIS Register
31 30 29 28 27 26 25 24
INTR_OVFL SARBLOST SRX_OVFL STX_UNFL SPEC_RX_ERR SDMA_DONE_RX SDMA_DONE_TX SGENCALL
R-0h R-0h R-0h R-0h R-0h R-0h R-0h R-0h
23 22 21 20 19 18 17 16
SSTOP SSTART STXEMPTY SRXFIFOFULL STXFIFOTRG SRXFIFOTRG STXDONE SRXDONE
R-0h R-0h R-0h R-0h R-0h R-0h R-0h R-0h
15 14 13 12 11 10 9 8
TIMEOUTB TIMEOUTA MPEC_RX_ERR MDMA_DONE_RX MDMA_DONE_TX MARBLOST MSTOP MSTART
R-0h R-0h R-0h R-0h R-0h R-0h R-0h R-0h
7 6 5 4 3 2 1 0
MNACK RESERVED MTXEMPTY MRXFIFOFULL MTXFIFOTRG MRXFIFOTRG MTXDONE MRXDONE
R-0h R-0h R-0h R-0h R/W-0h R/W-0h R-0h R-0h
Table 19-12 RIS Register Field Descriptions
Bit Field Type Reset Description
31 INTR_OVFL R 0h Interrupt overflow interrupt
It is set when SSTART or SSTOP interrupts overflow i.e. occur twice without being serviced
0h = Interrupt did not occur
1h = Interrupt occured
30 SARBLOST R 0h Target Arbitration Lost
0h = Interrupt did not occur
1h = Interrupt occured
29 SRX_OVFL R 0x0 Target RX FIFO overflow
0h = Interrupt did not occur
1h = Interrupt Occured
28 STX_UNFL R 0x0 Target TX FIFO underflow
0h = Interrupt did not occur
1h = Interrupt occured
27 SPEC_RX_ERR R 0x0 Target RX Pec Error Interrupt
0h = Interrupt did not occur
1h = Interrupt ocuured
26 SDMA_DONE_RX R 0x0 DMA Done on Event Channel RX
0h = Clear interrupt
1h = Set interrupt
25 SDMA_DONE_TX R 0x0 DMA Done on Event Channel TX
0h = Clear interrupt
1h = Set interrupt
24 SGENCALL R 0x0 General Call Interrupt
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
23 SSTOP R 0x0 Stop Condition Interrupt
0h = Clear Interrupt
1h = Set interrupt
22 SSTART R 0x0 Start Condition Interrupt
0h = Clear interrupt
1h = Set Interrupt
21 STXEMPTY R 0x0 Transmit FIFO Empty interrupt mask. This interrupt is set if all data in the Transmit FIFO have been shifted out and the transmit goes into idle mode.
0h = Interrupt did not occur
1h = Set Interrupt Mask
20 SRXFIFOFULL R 0x0 RXFIFO full event. This interrupt is set if an RX FIFO is full.
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
19 STXFIFOTRG R 0x0 Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
18 SRXFIFOTRG R 0x0 Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
17 STXDONE R 0x0 Target Transmit Transaction completed Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
16 SRXDONE R 0x0 Target Receive Data Interrupt
Signals that a byte has been received
0h = Interrupt did not occur
1h = Set Interrupt Mask
15 TIMEOUTB R 0x0 Timeout B Interrupt
0h = Interrupt did not occur
1h = Interrupt occured
14 TIMEOUTA R 0x0 Timeout A Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
13 MPEC_RX_ERR R 0x0 Controller RX Pec Error Interrupt
0h = Interrupt did not occur
1h = Interrupt Occured
12 MDMA_DONE_RX R 0x0 DMA Done on Event Channel RX
0h = Interrupt disabled
1h = Set Interrupt Mask
11 MDMA_DONE_TX R 0x0 DMA Done on Event Channel TX
0h = Interrupt disabled
1h = Set Interrupt Mask
10 MARBLOST R 0x0 Arbitration Lost Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
9 MSTOP R 0x0 STOP Detection Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
8 MSTART R 0x0 START Detection Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
7 MNACK R 0x0 Address/Data NACK Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
6 RESERVED R 0h
5 MTXEMPTY R 0h Transmit FIFO Empty interrupt mask. This interrupt is set if all data in the Transmit FIFO have been shifted out and the transmit goes into idle mode.
0h = Interrupt did not occur
1h = Set Interrupt Mask
4 MRXFIFOFULL R 0x0 RXFIFO full event. This interrupt is set if an RX FIFO is full.
0h = Interrupt did not occur
1h = Set Interrupt Mask
3 MTXFIFOTRG R/W 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 MRXFIFOTRG R/W 0x0 Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXDONE R 0x0 Controller Transmit Transaction completed Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
0 MRXDONE R 0x0 Controller Receive Transaction completed Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask

19.11 MIS Register (Offset = 1038h) [Reset = 00000000h]

MIS is shown in Figure 19-11 and described in Table 19-13.

Return to the Table 19-1.

Masked interrupt status. This is an AND of the IMASK and RIS registers.

Figure 19-11 MIS Register
31 30 29 28 27 26 25 24
INTR_OVFL SARBLOST SRX_OVFL STX_UNFL SPEC_RX_ERR SDMA_DONE_RX SDMA_DONE_TX SGENCALL
R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h
23 22 21 20 19 18 17 16
SSTOP SSTART STXEMPTY SRXFIFOFULL STXFIFOTRG SRXFIFOTRG STXDONE SRXDONE
R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h
15 14 13 12 11 10 9 8
TIMEOUTB TIMEOUTA MPEC_RX_ERR MDMA_DONE_RX MDMA_DONE_TX MARBLOST MSTOP MSTART
R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h
7 6 5 4 3 2 1 0
MNACK RESERVED MTXEMPTY MRXFIFOFULL MTXFIFOTRG MRXFIFOTRG MTXDONE MRXDONE
R/W-0h R-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h
Table 19-13 MIS Register Field Descriptions
Bit Field Type Reset Description
31 INTR_OVFL R/W 0h Interrupt overflow
0h = Interrupt did not occur
1h = Interrupt occured
30 SARBLOST R/W 0h Target Arbitration Lost
0h = Clear interrupt mask
1h = Set interrupt mask
29 SRX_OVFL R/W 0h Target RX FIFO overflow
0h = Clear interrupt mask
1h = Set interrupt mask
28 STX_UNFL R/W 0h Target TX FIFO underflow
0h = Clear interrupt mask
1h = Set interrupt mask
27 SPEC_RX_ERR R/W 0h Target RX Pec Error Interrupt
0h = Clear interrupt mask
1h = Set interrupt mask
26 SDMA_DONE_RX R/W 0h DMA Done on Event Channel RX
0h = Clear MIS
1h = Set MIS
25 SDMA_DONE_TX R/W 0h DMA Done on Event Channel TX
0h = Clear MIS
1h = Set MIS
24 SGENCALL R/W 0h General Call Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
23 SSTOP R/W 0h Target STOP Detection Interrupt
0h = Clear MIS
1h = Set MIS
22 SSTART R/W 0h Target START Detection Interrupt
0h = Clear MIS
1h = Set MIS
21 STXEMPTY R/W 0h Transmit FIFO Empty interrupt mask. This interrupt is set if all data in the Transmit FIFO have been shifted out and the transmit goes into idle mode.
0h = Interrupt did not occur
1h = Set Interrupt Mask
20 SRXFIFOFULL R/W 0h RXFIFO full event. This interrupt is set if an RX FIFO is full.
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
19 STXFIFOTRG R/W 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
18 SRXFIFOTRG R/W 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
17 STXDONE R/W 0h Target Transmit Transaction completed Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
16 SRXDONE R/W 0h Target Receive Data Interrupt
Signals that a byte has been received
0h = Interrupt did not occur
1h = Set Interrupt Mask
15 TIMEOUTB R/W 0h Timeout B Interrupt
0h = Clear interrupt mask
1h = Set interrupt mask
14 TIMEOUTA R/W 0h Timeout A Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
13 MPEC_RX_ERR R/W 0h Controller RX Pec Error Interrupt
0h = Clear interrupt mask
1h = Set interrupt mask
12 MDMA_DONE_RX R/W 0h DMA Done on Event Channel RX
0h = Interrupt disabled
1h = Set Interrupt Mask
11 MDMA_DONE_TX R/W 0h DMA Done on Event Channel TX
0h = Interrupt disabled
1h = Set Interrupt Mask
10 MARBLOST R/W 0h Arbitration Lost Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
9 MSTOP R/W 0h STOP Detection Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
8 MSTART R/W 0h START Detection Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
7 MNACK R/W 0h Address/Data NACK Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
6 RESERVED R 0h
5 MTXEMPTY R/W 0h Transmit FIFO Empty interrupt mask. This interrupt is set if all data in the Transmit FIFO have been shifted out and the transmit goes into idle mode.
0h = Interrupt did not occur
1h = Set Interrupt Mask
4 MRXFIFOFULL R/W 0h RXFIFO full event. This interrupt is set if the RX FIFO is full.
0h = Interrupt did not occur
1h = Set Interrupt Mask
3 MTXFIFOTRG R/W 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 MRXFIFOTRG R/W 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXDONE R/W 0h Controller Transmit Transaction completed Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask
0 MRXDONE R/W 0h Controller Receive Data Interrupt
0h = Interrupt did not occur
1h = Set Interrupt Mask

19.12 ISET Register (Offset = 1040h) [Reset = 00000000h]

ISET is shown in Figure 19-12 and described in Table 19-14.

Return to the Table 19-1.

Interrupt set. Allows interrupts to be set by software (useful in diagnostics and safety checks). Writing a 1 to a bit in ISET will set the event and therefore the related RIS bit also gets set. If the interrupt is enabled through the mask, then the corresponding MIS bit is also set.

Figure 19-12 ISET Register
31 30 29 28 27 26 25 24
INTR_OVFL SARBLOST SRX_OVFL STX_UNFL SPEC_RX_ERR SDMA_DONE_RX SDMA_DONE_TX SGENCALL
W-0h W-0h W-0h W-0h W-0h W-0h W-0h W-0h
23 22 21 20 19 18 17 16
SSTOP SSTART STXEMPTY SRXFIFOFULL STXFIFOTRG SRXFIFOTRG STXDONE SRXDONE
W-0h W-0h W-0h W-0h W-0h W-0h W-0h W-0h
15 14 13 12 11 10 9 8
TIMEOUTB TIMEOUTA MPEC_RX_ERR MDMA_DONE_RX MDMA_DONE_TX MARBLOST MSTOP MSTART
W-0h W-0h W-0h W-0h W-0h W-0h W-0h W-0h
7 6 5 4 3 2 1 0
MNACK RESERVED MTXEMPTY MRXFIFOFULL MTXFIFOTRG MRXFIFOTRG MTXDONE MRXDONE
W-0h R-0h W-0h W-0h W-0h W-0h W-0h W-0h
Table 19-14 ISET Register Field Descriptions
Bit Field Type Reset Description
31 INTR_OVFL W 0h Interrupt overflow
0h = No effect
1h = Set interrupt
30 SARBLOST W 0h Target Arbitration Lost
0h = Writing 0 has no effect
1h = Set interrupt
29 SRX_OVFL W 0h Target RX FIFO overflow
0h = Writing 0 has no effect
1h = Set interrupt
28 STX_UNFL W 0h Target TX FIFO underflow
0h = Writing 0 has no effect
1h = Set interrupt
27 SPEC_RX_ERR W 0h Target RX Pec Error Interrupt
0h = Writing 0 has no effect
1h = Set interrupt
26 SDMA_DONE_RX W 0h DMA Done on Event Channel RX
0h = Writing 0 has no effect
1h = Set interrupt
25 SDMA_DONE_TX W 0h DMA Done on Event Channel TX
0h = Writing 0 has no effect
1h = Set interrupt
24 SGENCALL W 0h General Call Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
23 SSTOP W 0h Stop Condition Interrupt
0h = Writing 0 has no effect
1h = Set interrupt
22 SSTART W 0h Start Condition Interrupt
0h = Writing 0 has no effect
1h = Set interrupt
21 STXEMPTY W 0h Transmit FIFO Empty interrupt mask. This interrupt is set if all data in the Transmit FIFO have been shifted out and the transmit goes into idle mode.
0h = Writing 0 has no effect
1h = Set Interrupt Mask
20 SRXFIFOFULL W 0h RXFIFO full event. This interrupt is set if an RX FIFO is full.
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
19 STXFIFOTRG W 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
18 SRXFIFOTRG W 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
17 STXDONE W 0h Target Transmit Transaction completed Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
16 SRXDONE W 0h Target Receive Data Interrupt
Signals that a byte has been received
0h = Writing 0 has no effect
1h = Set Interrupt Mask
15 TIMEOUTB W 0h Timeout B Interrupt
0h = Writing 0 has no effect
1h = Set interrupt
14 TIMEOUTA W 0h Timeout A interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
13 MPEC_RX_ERR W 0h Controller RX Pec Error Interrupt
0h = Writing 0 has no effect
1h = Set interrupt
12 MDMA_DONE_RX W 0h DMA Done on Event Channel RX
0h = Interrupt disabled
1h = Set Interrupt Mask
11 MDMA_DONE_TX W 0h DMA Done on Event Channel TX
0h = Interrupt disabled
1h = Set Interrupt Mask
10 MARBLOST W 0h Arbitration Lost Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
9 MSTOP W 0h STOP Detection Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
8 MSTART W 0h START Detection Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
7 MNACK W 0h Address/Data NACK Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
6 RESERVED R 0h
5 MTXEMPTY W 0h Transmit FIFO Empty interrupt mask. This interrupt is set if all data in the Transmit FIFO have been shifted out and the transmit goes into idle mode.
0h = Writing 0 has no effect
1h = Set Interrupt Mask
4 MRXFIFOFULL W 0h RXFIFO full event.
0h = Writing 0 has no effect
1h = Set Interrupt Mask
3 MTXFIFOTRG W 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 MRXFIFOTRG W 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXDONE W 0h Controller Transmit Transaction completed Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
0 MRXDONE W 0h Controller Receive Data Interrupt
Signals that a byte has been received
0h = Writing 0 has no effect
1h = Set Interrupt Mask

19.13 ICLR Register (Offset = 1048h) [Reset = 00000000h]

ICLR is shown in Figure 19-13 and described in Table 19-15.

Return to the Table 19-1.

Interrupt clear. Write a 1 to clear corresponding Interrupt.

Figure 19-13 ICLR Register
31 30 29 28 27 26 25 24
INTR_OVFL SARBLOST SRX_OVFL STX_UNFL SPEC_RX_ERR SDMA_DONE_RX SDMA_DONE_TX SGENCALL
W-0h W-0h W-0h W-0h W-0h W-0h W-0h W-0h
23 22 21 20 19 18 17 16
SSTOP SSTART STXEMPTY SRXFIFOFULL STXFIFOTRG SRXFIFOTRG STXDONE SRXDONE
W-0h W-0h W-0h W-0h W-0h W-0h W-0h W-0h
15 14 13 12 11 10 9 8
TIMEOUTB TIMEOUTA MPEC_RX_ERR MDMA_DONE_RX MDMA_DONE_TX MARBLOST MSTOP MSTART
W-0h W-0h W-0h W-0h W-0h W-0h W-0h W-0h
7 6 5 4 3 2 1 0
MNACK RESERVED MTXEMPTY MRXFIFOFULL MTXFIFOTRG MRXFIFOTRG MTXDONE MRXDONE
W-0h R-0h W-0h W-0h W-0h W-0h W-0h W-0h
Table 19-15 ICLR Register Field Descriptions
Bit Field Type Reset Description
31 INTR_OVFL W 0h Interrupt overflow
0h = No effect
1h = Clear interrupt
30 SARBLOST W 0h Target Arbitration Lost
0h = Writing 0 has no effect
1h = Clear Interrupt
29 SRX_OVFL W 0h Target RX FIFO overflow
0h = Writing 0 has no effect
1h = Clear Interrupt
28 STX_UNFL W 0h Target TX FIFO underflow
0h = Writing 0 has no effect
1h = Clear Interrupt
27 SPEC_RX_ERR W 0h Target RX Pec Error Interrupt
0h = Writing 0 has no effect
1h = Clear Interrupt
26 SDMA_DONE_RX W 0h DMA Done on Event Channel RX
0h = Writing 0 has no effect
1h = Clear interrupt
25 SDMA_DONE_TX W 0h DMA Done on Event Channel TX
0h = Writing 0 has no effect
1h = Clear interrupt
24 SGENCALL W 0h General Call Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
23 SSTOP W 0h Target STOP Detection Interrupt
0h = Writing 0 has no effect
1h = Clear interrupt
22 SSTART W 0h Target START Detection Interrupt
0h = Writing 0 has no effect
1h = Clear interrupt
21 STXEMPTY W 0h Transmit FIFO Empty interrupt mask. This interrupt is set if all data in the Transmit FIFO have been shifted out and the transmit goes into idle mode.
0h = Writing 0 has no effect
1h = Set Interrupt Mask
20 SRXFIFOFULL W 0h RXFIFO full event. This interrupt is set if an RX FIFO is full.
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
19 STXFIFOTRG W 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
18 SRXFIFOTRG W 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
17 STXDONE W 0h Target Transmit Transaction completed Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
16 SRXDONE W 0h Target Receive Data Interrupt
Signals that a byte has been received
0h = Writing 0 has no effect
1h = Set Interrupt Mask
15 TIMEOUTB W 0h Timeout B Interrupt
0h = Writing 0 has no effect
1h = Clear Interrupt
14 TIMEOUTA W 0h Timeout A interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
13 MPEC_RX_ERR W 0h Controller RX Pec Error Interrupt
0h = Writing 0 has no effect
1h = Clear Interrupt
12 MDMA_DONE_RX W 0h DMA Done on Event Channel RX
0h = Interrupt disabled
1h = Set Interrupt Mask
11 MDMA_DONE_TX W 0h DMA Done on Event Channel TX
0h = Interrupt disabled
1h = Set Interrupt Mask
10 MARBLOST W 0h Arbitration Lost Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
9 MSTOP W 0h STOP Detection Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
8 MSTART W 0h START Detection Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
7 MNACK W 0h Address/Data NACK Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
6 RESERVED R 0h
5 MTXEMPTY W 0h Transmit FIFO Empty interrupt mask. This interrupt is set if all data in the Transmit FIFO have been shifted out and the transmit goes into idle mode.
0h = Writing 0 has no effect
1h = Set Interrupt Mask
4 MRXFIFOFULL W 0h RXFIFO full event.
0h = Writing 0 has no effect
1h = Set Interrupt Mask
3 MTXFIFOTRG W 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 MRXFIFOTRG W 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXDONE W 0h Controller Transmit Transaction completed Interrupt
0h = Writing 0 has no effect
1h = Set Interrupt Mask
0 MRXDONE W 0h Controller Receive Data Interrupt
Signals that a byte has been received
0h = Writing 0 has no effect
1h = Set Interrupt Mask

19.14 IIDX Register (Offset = 1050h) [Reset = 00000000h]

IIDX is shown in Figure 19-14 and described in Table 19-16.

Return to the Table 19-1.

This register provides the highest priority enabled interrupt index.

Figure 19-14 IIDX Register
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
RESERVED STAT
R-0h R-0h
Table 19-16 IIDX Register Field Descriptions
Bit Field Type Reset Description
31-8 RESERVED R 0h
7-0 STAT R 0h I2C Module Interrupt Vector Value. This register provides the highes priority interrupt index. A read clears the corresponding interrupt flag in RIS and MISC. 15h-1Fh = Reserved
00h = No interrupt pending
01h = Controller receive FIFO Trigger Level
02h = Controller transmit FIFO Trigger level
03h = Target receive FIFO Trigger Level
04h = Target transmit FIFO Trigger level

19.15 IMASK Register (Offset = 1058h) [Reset = 00000000h]

IMASK is shown in Figure 19-15 and described in Table 19-17.

Return to the Table 19-1.

Interrupt Mask. If a bit is set, then corresponding interrupt is un-masked. Un-masking the interrupt causes the raw interrupt to be visible in IIDX, as well as MIS.

Figure 19-15 IMASK Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED STXFIFOTRG SRXFIFOTRG MTXFIFOTRG MRXFIFOTRG
R-0h R/W-0h R/W-0h R/W-0h R/W-0h
Table 19-17 IMASK Register Field Descriptions
Bit Field Type Reset Description
31-4 RESERVED R 0h
3 STXFIFOTRG R/W 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 SRXFIFOTRG R/W 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXFIFOTRG R/W 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
0 MRXFIFOTRG R/W 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask

19.16 RIS Register (Offset = 1060h) [Reset = 00000000h]

RIS is shown in Figure 19-16 and described in Table 19-18.

Return to the Table 19-1.

Raw interrupt status. Reflects all pending interrupts, regardless of masking. The RIS register allows the user to implement a poll scheme. A flag set in this register can be cleared by writing 1 to the ICLR register bit even if the corresponding IMASK bit is not enabled.

Figure 19-16 RIS Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED STXFIFOTRG SRXFIFOTRG MTXFIFOTRG MRXFIFOTRG
R-0h R/W-0h R/W-0h R/W-0h R/W-0h
Table 19-18 RIS Register Field Descriptions
Bit Field Type Reset Description
31-4 RESERVED R 0h
3 STXFIFOTRG R/W 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 SRXFIFOTRG R/W 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXFIFOTRG R/W 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
0 MRXFIFOTRG R/W 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask

19.17 MIS Register (Offset = 1068h) [Reset = 00000000h]

MIS is shown in Figure 19-17 and described in Table 19-19.

Return to the Table 19-1.

Masked interrupt status. This is an AND of the IMASK and RIS registers.

Figure 19-17 MIS Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED STXFIFOTRG SRXFIFOTRG MTXFIFOTRG MRXFIFOTRG
R-0h R-0h R-0h R-0h R-0h
Table 19-19 MIS Register Field Descriptions
Bit Field Type Reset Description
31-4 RESERVED R 0h
3 STXFIFOTRG R 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 SRXFIFOTRG R 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXFIFOTRG R 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
0 MRXFIFOTRG R 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask

19.18 ISET Register (Offset = 1070h) [Reset = 00000000h]

ISET is shown in Figure 19-18 and described in Table 19-20.

Return to the Table 19-1.

Interrupt set. Allows interrupts to be set by software (useful in diagnostics and safety checks). Writing a 1 to a bit in ISET will set the event and therefore the related RIS bit also gets set. If the interrupt is enabled through the mask, then the corresponding MIS bit is also set.

Figure 19-18 ISET Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED STXFIFOTRG SRXFIFOTRG MTXFIFOTRG MRXFIFOTRG
R-0h W-0h W-0h W-0h W-0h
Table 19-20 ISET Register Field Descriptions
Bit Field Type Reset Description
31-4 RESERVED R 0h
3 STXFIFOTRG W 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 SRXFIFOTRG W 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXFIFOTRG W 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
0 MRXFIFOTRG W 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask

19.19 ICLR Register (Offset = 1078h) [Reset = 00000000h]

ICLR is shown in Figure 19-19 and described in Table 19-21.

Return to the Table 19-1.

Interrupt clear. Write a 1 to clear corresponding Interrupt.

Figure 19-19 ICLR Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED STXFIFOTRG SRXFIFOTRG MTXFIFOTRG MRXFIFOTRG
R-0h W-0h W-0h W-0h W-0h
Table 19-21 ICLR Register Field Descriptions
Bit Field Type Reset Description
31-4 RESERVED R 0h
3 STXFIFOTRG W 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 SRXFIFOTRG W 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXFIFOTRG W 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
0 MRXFIFOTRG W 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask

19.20 IIDX Register (Offset = 1080h) [Reset = 00000000h]

IIDX is shown in Figure 19-20 and described in Table 19-22.

Return to the Table 19-1.

This register provides the highest priority enabled interrupt index.

Figure 19-20 IIDX Register
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
RESERVED STAT
R-0h R-0h
Table 19-22 IIDX Register Field Descriptions
Bit Field Type Reset Description
31-8 RESERVED R 0h
7-0 STAT R 0h I2C Module Interrupt Vector Value. This register provides the highes priority interrupt index. A read clears the corresponding interrupt flag in RIS and MISC. 15h-1Fh = Reserved
00h = No interrupt pending
01h = Controller receive FIFO Trigger Level
02h = Controller transmit FIFO Trigger level
03h = Target receive FIFO Trigger Level
04h = Target transmit FIFO Trigger level

19.21 IMASK Register (Offset = 1088h) [Reset = 00000000h]

IMASK is shown in Figure 19-21 and described in Table 19-23.

Return to the Table 19-1.

Interrupt Mask. If a bit is set, then corresponding interrupt is un-masked. Un-masking the interrupt causes the raw interrupt to be visible in IIDX, as well as MIS.

Figure 19-21 IMASK Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED STXFIFOTRG SRXFIFOTRG MTXFIFOTRG MRXFIFOTRG
R-0h R-0h R-0h R-0h R-0h
Table 19-23 IMASK Register Field Descriptions
Bit Field Type Reset Description
31-4 RESERVED R 0h
3 STXFIFOTRG R 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 SRXFIFOTRG R 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXFIFOTRG R 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
0 MRXFIFOTRG R 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask

19.22 RIS Register (Offset = 1090h) [Reset = 00000000h]

RIS is shown in Figure 19-22 and described in Table 19-24.

Return to the Table 19-1.

Raw interrupt status. Reflects all pending interrupts, regardless of masking. The RIS register allows the user to implement a poll scheme. A flag set in this register can be cleared by writing 1 to the ICLR register bit even if the corresponding IMASK bit is not enabled.

Figure 19-22 RIS Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED STXFIFOTRG SRXFIFOTRG MTXFIFOTRG MRXFIFOTRG
R-0h R-0h R-0h R-0h R-0h
Table 19-24 RIS Register Field Descriptions
Bit Field Type Reset Description
31-4 RESERVED R 0h
3 STXFIFOTRG R 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 SRXFIFOTRG R 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXFIFOTRG R 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
0 MRXFIFOTRG R 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask

19.23 MIS Register (Offset = 1098h) [Reset = 00000000h]

MIS is shown in Figure 19-23 and described in Table 19-25.

Return to the Table 19-1.

Masked interrupt status. This is an AND of the IMASK and RIS registers.

Figure 19-23 MIS Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED STXFIFOTRG SRXFIFOTRG MTXFIFOTRG MRXFIFOTRG
R-0h R-0h R-0h R-0h R-0h
Table 19-25 MIS Register Field Descriptions
Bit Field Type Reset Description
31-4 RESERVED R 0h
3 STXFIFOTRG R 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 SRXFIFOTRG R 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXFIFOTRG R 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
0 MRXFIFOTRG R 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask

19.24 ISET Register (Offset = 10A0h) [Reset = 00000000h]

ISET is shown in Figure 19-24 and described in Table 19-26.

Return to the Table 19-1.

Interrupt set. Allows interrupts to be set by software (useful in diagnostics and safety checks). Writing a 1 to a bit in ISET will set the event and therefore the related RIS bit also gets set. If the interrupt is enabled through the mask, then the corresponding MIS bit is also set.

Figure 19-24 ISET Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED STXFIFOTRG SRXFIFOTRG MTXFIFOTRG MRXFIFOTRG
R-0h R-0h R-0h R-0h R-0h
Table 19-26 ISET Register Field Descriptions
Bit Field Type Reset Description
31-4 RESERVED R 0h
3 STXFIFOTRG R 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 SRXFIFOTRG R 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXFIFOTRG R 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
0 MRXFIFOTRG R 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask

19.25 ICLR Register (Offset = 10A8h) [Reset = 00000000h]

ICLR is shown in Figure 19-25 and described in Table 19-27.

Return to the Table 19-1.

Interrupt clear. Write a 1 to clear corresponding Interrupt.

Figure 19-25 ICLR Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED STXFIFOTRG SRXFIFOTRG MTXFIFOTRG MRXFIFOTRG
R-0h R-0h R-0h R-0h R-0h
Table 19-27 ICLR Register Field Descriptions
Bit Field Type Reset Description
31-4 RESERVED R 0h
3 STXFIFOTRG R 0h Target Transmit FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
2 SRXFIFOTRG R 0h Target Receive FIFO Trigger
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
1 MTXFIFOTRG R 0h Controller Transmit FIFO Trigger
Trigger when Transmit FIFO contains <= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask
0 MRXFIFOTRG R 0h Controller Receive FIFO Trigger
Trigger when RX FIFO contains >= defined bytes
0h = Clear Interrupt Mask
1h = Set Interrupt Mask

19.26 EVT_MODE Register (Offset = 10E0h) [Reset = 00000000h]

EVT_MODE is shown in Figure 19-26 and described in Table 19-28.

Return to the Table 19-1.

Event mode register. It is used to select whether each line is disabled, in software mode (software clears the RIS) or in hardware mode (hardware clears the RIS)

Figure 19-26 EVT_MODE Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED EVT2_CFG INT1_CFG INT0_CFG
R-0h R-0h R-0h R-0h
Table 19-28 EVT_MODE Register Field Descriptions
Bit Field Type Reset Description
31-6 RESERVED R 0h
5-4 EVT2_CFG R 0h Event line mode select for event corresponding to none.DMA_TRIG0
0h = The interrupt or event line is disabled.
1h = The interrupt or event line is in software mode. Software must clear the RIS.
2h = The interrupt or event line is in hardware mode. The hardware (another module) clears automatically the associated RIS flag.
3-2 INT1_CFG R 0h Event line mode select for event corresponding to none.DMA_TRIG1
0h = The interrupt or event line is disabled.
1h = The interrupt or event line is in software mode. Software must clear the RIS.
2h = The interrupt or event line is in hardware mode. The hardware (another module) clears automatically the associated RIS flag.
1-0 INT0_CFG R 0h Event line mode select for event corresponding to none.CPU_INT
0h = The interrupt or event line is disabled.
1h = The interrupt or event line is in software mode. Software must clear the RIS.
2h = The interrupt or event line is in hardware mode. The hardware (another module) clears automatically the associated RIS flag.

19.27 INTCTL Register (Offset = 10E4h) [Reset = 00000000h]

INTCTL is shown in Figure 19-27 and described in Table 19-29.

Return to the Table 19-1.

Interrupt control register

Figure 19-27 INTCTL Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED INTEVAL
R-0h W-0h
Table 19-29 INTCTL Register Field Descriptions
Bit Field Type Reset Description
31-1 RESERVED R 0h
0 INTEVAL W 0h Writing a 1 to this field re-evaluates the interrupt sources.
0h = The interrupt or event line is disabled.
1h = The interrupt or event line is in software mode. Software must clear the RIS.

19.28 DESC Register (Offset = 10FCh) [Reset = 00000000h]

DESC is shown in Figure 19-28 and described in Table 19-30.

Return to the Table 19-1.

This register identifies the peripheral and its exact version.

Figure 19-28 DESC Register
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MODULEID
R/W-0h
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FEATUREVER INSTNUM MAJREV MINREV
R-0h R/W-0h R-0h R-0h
Table 19-30 DESC Register Field Descriptions
Bit Field Type Reset Description
31-16 MODULEID R/W 0h Module identification contains a unique peripheral identification number. The assignments are maintained in a central database for all of the platform modules to ensure uniqueness.
0h = Smallest value
FFFFh = Highest possible value
15-12 FEATUREVER R 0x0 Feature Set for the module *instance*
0h = Smallest value
Fh = Highest possible value
11-8 INSTNUM R/W 0x0 Instance Number within the device. This will be a parameter to the RTL for modules that can have multiple instances
0h = Smallest value
Fh = Highest possible value
7-4 MAJREV R 0h Major rev of the IP
0h = Smallest value
Fh = Highest possible value
3-0 MINREV R 0x0 Minor rev of the IP
0h = Smallest value
Fh = Highest possible value

19.29 GFCTL Register (Offset = 1200h) [Reset = 00000000h]

GFCTL is shown in Figure 19-29 and described in Table 19-31.

Return to the Table 19-1.

This register controls the glitch filter on the SCL and SDA lines

Figure 19-29 GFCTL Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED CHAIN AGFSEL AGFEN
R-0h R/W-0h R/W-0h R/W-0h
7 6 5 4 3 2 1 0
RESERVED DGFSEL
R-0h R/W-0h
Table 19-31 GFCTL Register Field Descriptions
Bit Field Type Reset Description
31-12 RESERVED R 0h
11 CHAIN R/W 0h Analog and digital noise filters chaining enable.

0h = When 0, chaining is disabled and only digital filter output is available to IP logic for oversampling
1h = When 1, analog and digital glitch filters are chained and the output of the combination is made available to IP logic for oversampling
10-9 AGFSEL R/W 0h Analog Glitch Suppression Pulse Width

This field controls the pulse width select for the analog glitch suppression on SCL and SDA lines.
See device datasheet for exact values.
(ULP I2C only)
0h = Pulses shorter then 5ns length are filtered.
1h = Pulses shorter then 10ns length are filtered.
2h = Pulses shorter then 25ns length are filtered.
3h = Pulses shorter then 50ns length are filtered.
8 AGFEN R/W 0h Analog Glitch Suppression Enable
0h = Analog Glitch Filter disable
1h = Analog Glitch Filter enable
7-3 RESERVED R 0h
2-0 DGFSEL R/W 0x0 Glitch Suppression Pulse Width

This field controls the pulse width select for glitch suppression on the SCL and SDA lines. The following values are the glitch suppression values in terms of functional clocks.

(Core Domain only)
0h = Bypass
1h = 1 clock
2h = 2 clocks
3h = 3 clocks
4h = 4 clocks
5h = 8 clocks
6h = 16 clocks
7h = 31 clocks

19.30 TIMEOUT_CTL Register (Offset = 1204h) [Reset = 00020002h]

TIMEOUT_CTL is shown in Figure 19-30 and described in Table 19-32.

Return to the Table 19-1.

This register contains controls for Timeout Counters A and B

Figure 19-30 TIMEOUT_CTL Register
31 30 29 28 27 26 25 24
TCNTBEN RESERVED
R/W-0h R-0h
23 22 21 20 19 18 17 16
TCNTLB
R/W-2h
15 14 13 12 11 10 9 8
TCNTAEN RESERVED
R/W-0h R-0h
7 6 5 4 3 2 1 0
TCNTLA
R/W-2h
Table 19-32 TIMEOUT_CTL Register Field Descriptions
Bit Field Type Reset Description
31 TCNTBEN R/W 0h Timeout Counter B Enable
0h = Disable Timeout Counter B
1h = Enable Timeout Counter B
30-24 RESERVED R 0h
23-16 TCNTLB R/W 2h Timeout Count B Load: Counter B is used for SCL High Detection. This field contains the upper 8 bits of a 12-bit pre-load value for the Timeout B count. NOTE: The value of CNTLB must be greater than 1h.

Each count is equal to 1* clock period. For example, with 10MHz functional clock one timeout period will be equal to1*100ns.

0h = Smallest possible value
FFh = Highest possible value
15 TCNTAEN R/W 0h Timeout Counter A Enable
0h = Disable Timeout Counter B
1h = Enable Timeout Counter B
14-8 RESERVED R 0h
7-0 TCNTLA R/W 2h Timeout counter A load value
Counter A is used for SCL low detection. This field contains the upper 8 bits of a 12-bit pre-load value for the Timeout A count. NOTE: The value of CNTLA must be greater than 1h.

Each count is equal to 520 times the timeout period of functional clock. For example, with 8MHz functional clock and a 100KHz operating I2C clock, one timeout period will be equal to (1 / 8MHz) * 520 or 65 us.

0h = Smallest Value
FFh = Highest possible value

19.31 TIMEOUT_CNT Register (Offset = 1208h) [Reset = 00020002h]

TIMEOUT_CNT is shown in Figure 19-31 and described in Table 19-33.

Return to the Table 19-1.

This register contains the upper 8 bits of a 12-bit current counter values for counter A and B. The lower four bits of the counter are not user visible and are always 0h.

Figure 19-31 TIMEOUT_CNT Register
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
RESERVED TCNTB RESERVED TCNTA
R-0h R-2h R-0h R-2h
Table 19-33 TIMEOUT_CNT Register Field Descriptions
Bit Field Type Reset Description
31-24 RESERVED R 0h
23-16 TCNTB R 2h Timeout Count B Current Count: This field contains the upper 8 bits of a 12-bit current counter for timeout counter B
0h = Smallest Value
FFh = Highest possible value
15-8 RESERVED R 0h
7-0 TCNTA R 2h Timeout Count A Current Count: This field contains the upper 8 bits of a 12-bit current counter for timeout counter A
0h = Smallest Value
FFh = Highest possible value

19.32 MSA Register (Offset = 1210h) [Reset = 00000000h]

MSA is shown in Figure 19-32 and described in Table 19-34.

Return to the Table 19-1.

I2C Controller Target Address Register

Figure 19-32 MSA Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
MMODE RESERVED SADDR
R/W-0h R-0h R/W-0h
7 6 5 4 3 2 1 0
SADDR DIR
R/W-0h R-0h
Table 19-34 MSA Register Field Descriptions
Bit Field Type Reset Description
31-16 RESERVED R 0h
15 MMODE R/W 0h This bit selects the adressing mode to be used in Controller mode
When 0, 7-bit addressing is used.
When 1, 10-bit addressing is used.
0h = 7-bit addressing mode
1h = 10-bit addressing mode
14-11 RESERVED R 0h
10-1 SADDR R/W 0h I2C Target Address This field specifies bits A9 through A0 of the Target address.
In 7-bit addressing mode as selected by MSA.MODE bit, the top 3 bits are don't care
0h = Smallest value
3FFh = Highest possible value
0 DIR R 0h Receive/Send
The DIR bit specifies if the next Controller operation is a Receive (High) or Transmit (Low).
0h = Transmit
1h = Receive
0h = The Controller is in transmit mode.
1h = The Controller is in receive mode.

19.33 MCTR Register (Offset = 1214h) [Reset = 00000000h]

MCTR is shown in Figure 19-33 and described in Table 19-35.

Return to the Table 19-1.

This control register configures the I2C controller operation. The START bit generates the START or REPEATED START condition. The STOP bit determines if the cycle stops at the end of the data cycle or continues to the next transfer cycle, which could be a repeated START. To generate a single transmit cycle, the I2C Controller Target Address (MSA) register is written with the desired address, the RS bit is cleared, and this register is written with ACK = X (0 or 1), STOP = 1, START = 1, and RUN = 1 to perform the operation and stop. When the operation is completed (or aborted due an error), an byte transaction completed interrupt becomes active and the data may be read from the MRXDATA register. When the I2C module operates in Controller receiver mode, a set ACK bit causes the I2C bus controller to transmit an acknowledge automatically after each byte. This bit must be cleared when the I2C bus controller requires no further data to be transmitted from the Target transmitter.

Figure 19-33 MCTR Register
31 30 29 28 27 26 25 24
RESERVED MBLEN
R-0h R/W-0h
23 22 21 20 19 18 17 16
MBLEN
R/W-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED RD_ON_TXEMPTY MACKOEN ACK STOP START BURSTRUN
R-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h R/W-0h
Table 19-35 MCTR Register Field Descriptions
Bit Field Type Reset Description
31-28 RESERVED R 0h
27-16 MBLEN R/W 0h I2C transaction length
This field contains the programmed length of bytes of the Transaction.
0h = Smallest value
FFFh = Highest possible value
15-6 RESERVED R 0h
5 RD_ON_TXEMPTY R/W 0h Read on TX Empty
0h = No special behavior
1h = When 1 the Controller will transmit all bytes from the TX FIFO before continuing with the programmed Burst Run Read. If the DIR is not set to Read in the MSA then this bit is ignored. The Start must be set in the MCTR for proper I2C protocol. The Controller will first send the Start Condition, I2C Address with R/W bit set to write, before sending the bytes in the TX FIFO. When the TX FIFO is empty, the I2C transaction will continue as programmed in MTCR and MSA without sending a Stop Condition.
This is intended to be used to perform simple I2C command based reads transition that will complete after initiating them without having to get an interrupt to turn the bus around.
4 MACKOEN R/W 0h Controller ACK overrride Enable
0h = No special behavior
1h = When 1 and the Controller is receiving data and the number of bytes indicated in MBLEN have been received, the state machine will generate an rxdone interrupt and wait at the start of the ACK for FW to indicate if an ACK or NACK should be sent. The ACK or NACK is selected by writing the MCTR register and setting ACK accordingly. The other fields in this register can also be written at this time to continue on with the transaction. If a NACK is sent the state machine will automatically send a Stop.
3 ACK R/W 0h Data Acknowledge Enable.
Software needs to configure this bit to send the ACK or NACK.


0h = The last received data byte of a transaction is not acknowledged automatically by the Controller.
1h = The last received data byte of a transaction is acknowledged automatically by the Controller.
2 STOP R/W 0h Generate STOP
0h = The controller does not generate the STOP condition.
1h = The controller generates the STOP condition.
1 START R/W 0h Generate START

0h = The controller does not generate the START condition.
1h = The controller generates the START or repeated START condition.
0 BURSTRUN R/W 0h I2C Controller Enable

and start transaction
0h = In standard mode, this encoding means the Controller is unable to transmit or receive data.
1h = The Controller is able to transmit or receive data.

19.34 MSR Register (Offset = 1218h) [Reset = 00000000h]

MSR is shown in Figure 19-34 and described in Table 19-36.

Return to the Table 19-1.

The status register indicates the state of the I2C bus controller.

Figure 19-34 MSR Register
31 30 29 28 27 26 25 24
RESERVED MBCNT
R-0h R-0h
23 22 21 20 19 18 17 16
MBCNT
R-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
RESERVED BUSBSY IDLE ARBLST DATACK ADRACK ERR BUSY
R-0h R-0h R-0h R-0h R-0h R-0h R-0h R-0h
Table 19-36 MSR Register Field Descriptions
Bit Field Type Reset Description
31-28 RESERVED R 0h
27-16 MBCNT R 0x0 I2C Controller Transaction Count
This field contains the current count-down value of the transaction.
0h = Smallest value
FFFh = Highest possible value
15-7 RESERVED R 0h
6 BUSBSY R 0x0 I2C Bus is Busy
Controller State Machine will wait until this bit is cleared before starting a transaction. When first enabling the Controller in multi Controller environments, FW should wait for one I2C clock period after setting ACTIVE high before writing to the MTCR register to start the transaction so that if SCL goes low it will trigger the BUSBSY.
0h = The I2C bus is idle.
1h = 'This Status bit is set on a START or when SCL goes low. It is cleared on a STOP, or when a SCL high bus busy timeout occurs and SCL and SDA are both high. This status is cleared when the ACTIVE bit is low.

Note that the Controller State Machine will wait until this bit is cleared before starting an I2C transaction. When first enabling the Controller in multi Controller environments, FW should wait for one I2C clock period after setting ACTIVE high before writing to the MTCR register to start the transaction so that if SCL goes low it will trigger the BUSBSY.
5 IDLE R 0h I2C Idle

0h = The I2C controller is not idle.
1h = The I2C controller is idle.
4 ARBLST R 0x0 Arbitration Lost

0h = The I2C controller won arbitration.
1h = The I2C controller lost arbitration.
3 DATACK R 0x0 Acknowledge Data

0h = The transmitted data was acknowledged
1h = The transmitted data was not acknowledged.
2 ADRACK R 0x0 Acknowledge Address

0h = The transmitted address was acknowledged
1h = The transmitted address was not acknowledged.
1 ERR R 0x0 Error

The error can be from the Target address not being acknowledged or the transmit data not being acknowledged.
0h = No error was detected on the last operation.
1h = An error occurred on the last operation.
0 BUSY R 0x0 I2C Controller FSM Busy

The BUSY bit is set during an ongoing transaction, so is set during the transmit/receive of the amount of data set in MBLEN including START, RESTART, Address and STOP signal generation when required for the current transaction.

0h = The controller is idle.
1h = The controller is busy.

19.35 MRXDATA Register (Offset = 121Ch) [Reset = 00000000h]

MRXDATA is shown in Figure 19-35 and described in Table 19-37.

Return to the Table 19-1.

I2C Controller RX FIFO Read Data Byte
This field contains the current byte being read in the RX FIFO stack.
If the FIFO is disabled, the data byte and status are stored in the receiving holding register (the bottom word of the receive FIFO). The received data can be retrieved by reading this register.

Figure 19-35 MRXDATA Register
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
RESERVED VALUE
R-0h R-0h
Table 19-37 MRXDATA Register Field Descriptions
Bit Field Type Reset Description
31-8 RESERVED R 0h
7-0 VALUE R 0h Received Data.

This field contains the last received data.
0h = Smallest value
FFh = Highest possible value

19.36 MTXDATA Register (Offset = 1220h) [Reset = 00000000h]

MTXDATA is shown in Figure 19-36 and described in Table 19-38.

Return to the Table 19-1.

I2C Controller Transmit Data Register.
This register is the transmit data register (the interface to the FIFOs). For transmitted data, if the FIFO is enabled, data written to this location is pushed onto the transmit FIFO. If the FIFO is disabled, data is stored in the transmitter holding register (the bottom word of the transmit FIFO).

Figure 19-36 MTXDATA Register
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
RESERVED VALUE
R-0h R/W-0h
Table 19-38 MTXDATA Register Field Descriptions
Bit Field Type Reset Description
31-8 RESERVED R 0h
7-0 VALUE R/W 0h Transmit Data
This byte contains the data to be transferred during the next transaction.
0h = Smallest value
FFh = Highest possible value

19.37 MTPR Register (Offset = 1224h) [Reset = 00000001h]

MTPR is shown in Figure 19-37 and described in Table 19-39.

Return to the Table 19-1.

This register is programmed to set the timer period for the SCL clock and assign the SCL clock to standard mode.

Figure 19-37 MTPR Register
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
RESERVED TPR
R-0h R/W-1h
Table 19-39 MTPR Register Field Descriptions
Bit Field Type Reset Description
31-7 RESERVED R 0h
6-0 TPR R/W 1h Timer Period

This field is used in the equation to configure SCL_PERIOD :

SCL_PERIOD = (1 + TPR ) × (SCL_LP + SCL_HP ) × INT_CLK_PRD
where:

SCL_PRD is the SCL line period (I2C clock).

TPR is the Timer Period register value (range of 1 to 127).

SCL_LP is the SCL Low period (fixed at 6).

SCL_HP is the SCL High period (fixed at 4).

CLK_PRD is the functional clock period in ns.
0h = Smallest value
7Fh = Highest possible value

19.38 MCR Register (Offset = 1228h) [Reset = 00000000h]

MCR is shown in Figure 19-38 and described in Table 19-40.

Return to the Table 19-1.

Controller configuration register

Figure 19-38 MCR Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED LPBK
R-0h R/W-0h
7 6 5 4 3 2 1 0
RESERVED CLKSTRETCH MMST ACTIVE
R-0h R/W-0h R/W-0h R/W-0h
Table 19-40 MCR Register Field Descriptions
Bit Field Type Reset Description
31-9 RESERVED R 0h
8 LPBK R/W 0h I2C Loopback

0h = Normal operation.
1h = The controller in a test mode loopback configuration.
7-3 RESERVED R 0h
2 CLKSTRETCH R/W 0h Clock Stretching. This bit controls the support for clock stretching of the I2C bus.
0h = Disables the clock stretching detection.
This can be disabled if no Target on the bus does support clock stretching, so that the maximum speed on the bus can be reached.

1h = Enables the clock stretching detection.
Enabling the clock stretching ensures compliance to the I2C standard but could limit the speed due the clock stretching.
1 MMST R/W 0h MultiController mode. In MultiController mode the SCL high time counts once the SCL line has been detected high. If this is not enabled the high time counts as soon as the SCL line has been set high by the I2C controller.
0h = Disable MultiController mode.
1h = Enable MultiController mode.
0 ACTIVE R/W 0h Device Active After this bit has been set, it should not be set again unless it has been cleared by writing a 0 or by a reset, otherwise transfer failures may occur.
0h = Disables the I2C Controller operation.
1h = Enables the I2C Controller operation.

19.39 MBMON Register (Offset = 1234h) [Reset = 00000003h]

MBMON is shown in Figure 19-39 and described in Table 19-41.

Return to the Table 19-1.

This register is used to determine the SCL and SDA signal status.

Figure 19-39 MBMON Register
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RESERVED SDA SCL
R-0h R-1h R-1h
Table 19-41 MBMON Register Field Descriptions
Bit Field Type Reset Description
31-2 RESERVED R 0h
1 SDA R 1h I2C SDA Status

0h = The I2CSDA signal is low.
1h = The I2CSDA signal is high. Note: During and right after reset, the SDA pin is in GPIO input mode without the internal pull enabled. For proper I2C operation, the user should have the external pull-up resistor in place before starting any I2C operations.
0 SCL R 1h I2C SCL Status

0h = The I2CSCL signal is low.
1h = The I2CSCL signal is high. Note: During and right after reset, the SCL pin is in GPIO input mode without the internal pull enabled. For proper I2C operation, the user should have the external pull-up resistor in place before starting any I2C operations.

19.40 MFIFOCTL Register (Offset = 1238h) [Reset = 00000000h]

MFIFOCTL is shown in Figure 19-40 and described in Table 19-42.

Return to the Table 19-1.

I2C Controller FIFO Control

Figure 19-40 MFIFOCTL Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RXFLUSH RESERVED RXTRIG
R/W-0h R-0h R/W-0h
7 6 5 4 3 2 1 0
TXFLUSH RESERVED TXTRIG
R/W-0h R-0h R/W-0h
Table 19-42 MFIFOCTL Register Field Descriptions
Bit Field Type Reset Description
31-16 RESERVED R 0h
15 RXFLUSH R/W 0h RX FIFO Flush
Setting this bit will Flush the RX FIFO.
Before clearing this bit to stop Flush the RXFIFOCNT should be checked to be 0 and indicating that the Flush has completed.
0h = Do not Flush FIFO
1h = Flush FIFO
14-11 RESERVED R 0h
10-8 RXTRIG R/W 0h RX FIFO Trigger
Indicates at what fill level in the RX FIFO a trigger will be generated.
Note: Programming RXTRIG to 0x0 has no effect since no data is
present to transfer out of RX FIFO.
0h = Trigger when RX FIFO contains >= 1 byte
1h = Trigger when RX FIFO contains >= 2 byte
2h = Trigger when RX FIFO contains >= 3 byte
3h = Trigger when RX FIFO contains >= 4 byte
4h = Trigger when RX FIFO contains >= 5 byte
5h = Trigger when RX FIFO contains >= 6 byte
6h = Trigger when RX FIFO contains >= 7 byte
7h = Trigger when RX FIFO contains >= 8 byte
7 TXFLUSH R/W 0h TX FIFO Flush
Setting this bit will Flush the TX FIFO.
Before clearing this bit to stop Flush the TXFIFOCNT should be checked to be 8 and indicating that the Flush has completed.
0h = Do not Flush FIFO
1h = Flush FIFO
6-3 RESERVED R 0h
2-0 TXTRIG R/W 0h TX FIFO Trigger
Indicates at what fill level in the TX FIFO a trigger will be generated.
0h = Trigger when the TX FIFO is empty.
1h = Trigger when TX FIFO contains ≤ 1 byte
2h = Trigger when TX FIFO contains ≤ 2 byte
3h = Trigger when TX FIFO contains ≤ 3 byte
4h = Trigger when TX FIFO contains ≤ 4 byte
5h = Trigger when TX FIFO contains ≤ 5 byte
6h = Trigger when TX FIFO contains ≤ 6 byte
7h = Trigger when TX FIFO contains ≤ 7 byte

19.41 MFIFOSR Register (Offset = 123Ch) [Reset = 00000800h]

MFIFOSR is shown in Figure 19-41 and described in Table 19-43.

Return to the Table 19-1.

I2C Controller FIFO Status Register
Note: this Register should only be read when BUSY is 0

Figure 19-41 MFIFOSR Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
TXFLUSH RESERVED TXFIFOCNT
R/W-0h R-0h R-8h
7 6 5 4 3 2 1 0
RXFLUSH RESERVED RXFIFOCNT
R/W-0h R-0h R-0h
Table 19-43 MFIFOSR Register Field Descriptions
Bit Field Type Reset Description
31-16 RESERVED R 0h
15 TXFLUSH R/W 0h TX FIFO Flush
When this bit is set a Flush operation for the TX FIFO is active. Clear the TXFLUSH bit in the control register to stop.
0h = FIFO Flush not active
1h = FIFO Flush active
14-12 RESERVED R 0h
11-8 TXFIFOCNT R 8h Number of Bytes which could be put into the TX FIFO
0h = Smallest value
8h = Highest possible value
7 RXFLUSH R/W 0h RX FIFO Flush
When this bit is set a Flush operation for the RX FIFO is active. Clear the RXFLUSH bit in the control register to stop.
0h = FIFO Flush not active
1h = FIFO Flush active
6-4 RESERVED R 0h
3-0 RXFIFOCNT R 0h Number of Bytes which could be read from the RX FIFO
0h = Smallest value
8h = Highest possible value

19.42 SOAR Register (Offset = 1250h) [Reset = 00004000h]

SOAR is shown in Figure 19-42 and described in Table 19-44.

Return to the Table 19-1.

This register consists of seven address bits that identify the I2C device on the I2C bus.

Figure 19-42 SOAR Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
SMODE OAREN RESERVED OAR
R/W-0h R/W-1h R-0h R/W-0h
7 6 5 4 3 2 1 0
OAR
R/W-0h
Table 19-44 SOAR Register Field Descriptions
Bit Field Type Reset Description
31-16 RESERVED R 0h
15 SMODE R/W 0h This bit selects the adressing mode to be used in Target mode.
When 0, 7-bit addressing is used.
When 1, 10-bit addressing is used.
0h = Enable 7-bit addressing
1h = Enable 10-bit addressing
14 OAREN R/W 1h I2C Target Own Address Enable
0h = Disable OAR address
1h = Enable OAR address
13-10 RESERVED R 0h
9-0 OAR R/W 0h I2C Target Own Address: This field specifies bits A9 through A0 of the Target address.
In 7-bit addressing mode as selected by I2CSOAR.MODE bit, the top 3 bits are don't care
0h = Smallest value
3FFh = Highest possible value

19.43 SOAR2 Register (Offset = 1254h) [Reset = 00000000h]

SOAR2 is shown in Figure 19-43 and described in Table 19-45.

Return to the Table 19-1.

This register consists of seven address bits that identify the alternate address for the I2C device on the I2C bus.

Figure 19-43 SOAR2 Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED OAR2_MASK
R-0h R/W-0h
15 14 13 12 11 10 9 8
RESERVED
R-0h
7 6 5 4 3 2 1 0
OAR2EN OAR2
R/W-0h R/W-0h
Table 19-45 SOAR2 Register Field Descriptions
Bit Field Type Reset Description
31-23 RESERVED R 0h
22-16 OAR2_MASK R/W 0h I2C Target Own Address 2 Mask: This field specifies bits A6 through A0 of the Target address.
The bits with value ‘1’ in SOAR2.OAR2_MASK field will make the corresponding incoming address bits to match by default regardless of the value inside SOAR2.OAR2 i.e. corresponding SOAR2.OAR2 bit is a don’t care.
0h = Minimum Value
7Fh = Maximum Value
15-8 RESERVED R 0h
7 OAR2EN R/W 0h I2C Target Own Address 2 Enable

0h = The alternate address is disabled.
1h = Enables the use of the alternate address in the OAR2 field.
6-0 OAR2 R/W 0h I2C Target Own Address 2
This field specifies the alternate OAR2 address.
0h = Smallest value
7Fh = Highest possible value

19.44 SCTR Register (Offset = 1258h) [Reset = 00000404h]

SCTR is shown in Figure 19-44 and described in Table 19-46.

Return to the Table 19-1.

I2C Target Control Register

Figure 19-44 SCTR Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RESERVED SWUEN EN_DEFDEVADR EN_ALRESPADR
R-0h R/W-1h R/W-0h R/W-0h
7 6 5 4 3 2 1 0
EN_DEFHOSTADR RXFULL_ON_RREQ TXWAIT_STALE_TXFIFO TXTRIG_TXMODE TXEMPTY_ON_TREQ SCLKSTRETCH GENCALL ACTIVE
R/W-0h R/W-0h R/W-0h R/W-0h R-0h R/W-1h R/W-0h R/W-0h
Table 19-46 SCTR Register Field Descriptions
Bit Field Type Reset Description
31-11 RESERVED R 0h
10 SWUEN R/W 1h Target Wakeup Enable
0h = When 0, the Target is not allowed to clock stretch on START detection
1h = When 1, the Target is allowed to clock stretch on START detection and wait for faster clock to be abvailable. This allows clean wake up support for I2C in low power mode use cases
9 EN_DEFDEVADR R/W 0h Enable Deault device address
0h = When this bit is 0, the default device address is not matched. NOTE: it may still be matched if programmed inside SOAR/SOAR2.
1h = When this bit is 1, default device address of 7’h110_0001 is always matched by the Target address match logic.
8 EN_ALRESPADR R/W 0h Enable Alert Response Address
0h = When this bit is 0, the alert response address is not matched. NOTE: it may still be matched if programmed inside SOAR/SOAR2
1h = When this bit is 1, alert response address of 7’h000_1100 is always matched by the Target address match logic.
7 EN_DEFHOSTADR R/W 0h Enable Default Host Address
0h = When this bit is 0, the default host address is not matched
NOTE: it may still be matched if programmed inside SOAR/SOAR2

1h = When this bit is 1, default host address of 7’h000_1000 is always matched by the Target address match logic.
6 RXFULL_ON_RREQ R/W 0h Rx full interrupt generated on RREQ condition as indicated in SSR
0h = When 0, RIS:SRXFULL will be set when only the Target RX FIFO is full.
This allows the SRXFULL interrupt to be used to indicate that the I2C bus is being clock stretched and that the FW must either read the RX FIFO or ACK/NACK the current Rx byte.

1h = When 1, RIS:SRXFULL will be set when the Target State Machine is in the RX_WAIT or RX_ACK_WAIT states which occurs when the I2C transaction is clock stretched because the RX FIFO is full or the ACKOEN has been set and the state machine is waiting for FW to ACK/NACK the current byte.
5 TXWAIT_STALE_TXFIFO R/W 0h Tx transfer waits when stale data in Tx FIFO.
This prevents stale bytes left in the TX FIFO from automatically being sent on the next I2C packet. Note: this should be used with TXEMPTY_ON_TREQ set to prevent the Target State Machine from waiting for TX FIFO data without an interrupt notification when the FIFO data is stale.
0h = When 0, the TX FIFO empty signal to the Target State Machine indicates that the TX FIFO is empty.
1h = When 1, the TX FIFO empty signal to the Target State Machine will indicate that the TX FIFO is empty or that the TX FIFO data is stale. The TX FIFO data is determined to be stale when there is data in the TX FIFO when the Target State Machine leaves the TXMODE as defined in the SSR register. This can occur is a Stop or timeout occur when there are bytes left in the TX FIFO.
4 TXTRIG_TXMODE R/W 0h Tx Trigger when Target FSM is in Tx Mode
0h = No special behavior
1h = When 1, RIS:TXFIFOTRG will be set when the Target TX FIFO has reached the trigger level AND the Target State Machine is in the TXMODE as defined in the SSR register.
When cleared RIS:TXFIFOTRG will be set when the Target TX FIFO is at or above the trigger level.
This setting can be used to hold off the TX DMA until a transaction starts.
This allows the DMA to be configured when the I2C is idle but have it wait till the transaction starts to load the Target TX FIFO, so it can load from a memory buffer that might be changing over time.
3 TXEMPTY_ON_TREQ R 0h Tx Empty Interrupt on TREQ
0h = When 0, RIS:STXEMPTY will be set when only the Target TX FIFO is empty.
This allows the STXEMPTY interrupt to be used to indicate that the I2C bus is being clock stretched and that Target TX data is required.

1h = When 1, RIS:STXEMPTY will be set when the Target State Machine is in the TX_WAIT state which occurs when the TX FIFO is empty AND the I2C transaction is clock stretched waiting for the FIFO to receive data.
2 SCLKSTRETCH R/W 1h Target Clock Stretch Enable
0h = Target clock stretching is disabled
1h = Target clock stretching is enabled
1 GENCALL R/W 0h General call response enable
Modify only when UCSWRST = 1.
0b = Do not respond to a general call
1b = Respond to a general call
0h = Do not respond to a general call
1h = Respond to a general call
0 ACTIVE R/W 0h Device Active. Setting this bit enables the Target functionality.
0h = Disables the I2C Target operation.
1h = Enables the I2C Target operation.

19.45 SSR Register (Offset = 125Ch) [Reset = 00000000h]

SSR is shown in Figure 19-45 and described in Table 19-47.

Return to the Table 19-1.

This register functions as a control register when written, and a status register when read.

Figure 19-45 SSR Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED ADDRMATCH
R-0h R-0h
15 14 13 12 11 10 9 8
ADDRMATCH STALE_TXFIFO
R-0h R-0h
7 6 5 4 3 2 1 0
TXMODE BUSBSY QCMDRW QCMDST OAR2SEL RXMODE TREQ RREQ
R-0h R-0h R-0h R-0h R-0h R-0h R-0h R-0h
Table 19-47 SSR Register Field Descriptions
Bit Field Type Reset Description
31-19 RESERVED R 0h
18-9 ADDRMATCH R 0h Indicates the address for which Target address match happened
0h = Minimum Value
3FFh = Maximum Value
8 STALE_TXFIFO R 0h Stale Tx FIFO
0h = Tx FIFO is not stale
1h = The TX FIFO is stale. This occurs when the TX FIFO was not emptied during the previous I2C transaction.
7 TXMODE R 0h Target FSM is in TX MODE
0h = The Target State Machine is not in TX_DATA, TX_WAIT, TX_ACK or ADDR_ACK state with the bus direction set to read.
1h = The Target State Machine is in TX_DATA, TX_WAIT, TX_ACK or ADDR_ACK state with the bus direction set to read.
6 BUSBSY R 0h I2C bus is busy
0h = The I2C Bus is not busy
1h = The I2C Bus is busy. This is cleared on a timeout.
5 QCMDRW R 0h Quick Command Read / Write
This bit only has meaning when the QCMDST bit is set.
Value Description:
0: Quick command was a write
1: Quick command was a read
0h = Quick command was a write
1h = Quick command was a read
4 QCMDST R 0h Quick Command Status
Value Description:
0: The last transaction was a normal transaction or a transaction has not occurred.
1: The last transaction was a Quick Command transaction
0h = The last transaction was a normal transaction or a transaction has not occurred.
1h = The last transaction was a Quick Command transaction.
3 OAR2SEL R 0h OAR2 Address Matched
This bit gets reevaluated after every address comparison.
0h = Either the OAR2 address is not matched or the match is in legacy mode.
1h = OAR2 address matched and ACKed by the Target.
2 RXMODE R 0h Target FSM is in Rx MODE
0h = The Target State Machine is not in the RX_DATA, RX_ACK, RX_WAIT, RX_ACK_WAIT or ADDR_ACK state with the bus direction set to write.
1h = The Target State Machine is in the RX_DATA, RX_ACK, RX_WAIT, RX_ACK_WAIT or ADDR_ACK state with the bus direction set to write.
1 TREQ R 0h Transmit Request

0h = No outstanding transmit request.
1h = The I2C controller has been addressed as a Target transmitter and is using clock stretching to delay the Controller until data has been written to the STXDATA FIFO (Target TX FIFO is empty).
0 RREQ R 0h Receive Request

0h = No outstanding receive data.
1h = The I2C controller has outstanding receive data from the I2C Controller and is using clock stretching to delay the Controller until the data has been read from the SRXDATA FIFO (Target RX FIFO is full).

19.46 SRXDATA Register (Offset = 1260h) [Reset = 00000000h]

SRXDATA is shown in Figure 19-46 and described in Table 19-48.

Return to the Table 19-1.

I2C Target RX FIFO Read Data Byte
This field contains the current byte being read in the RX FIFO stack.
If the FIFO is disabled, the data byte and status are stored in the receiving holding register (the bottom word of the receive FIFO). The received data can be retrieved by reading this register.

Figure 19-46 SRXDATA Register
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
RESERVED VALUE
R-0h R-0h
Table 19-48 SRXDATA Register Field Descriptions
Bit Field Type Reset Description
31-8 RESERVED R 0h
7-0 VALUE R 0h Received Data.

This field contains the last received data.
0h = Smallest value
FFh = Highest possible value

19.47 STXDATA Register (Offset = 1264h) [Reset = 00000000h]

STXDATA is shown in Figure 19-47 and described in Table 19-49.

Return to the Table 19-1.

I2C Target Transmit Data Register.
This register is the transmit data register (the interface to the FIFOs). For transmitted data, if the FIFO is enabled, data written to this location is pushed onto the transmit FIFO. If the FIFO is disabled, data is stored in the transmitter holding register (the bottom word of the transmit FIFO).

Figure 19-47 STXDATA Register
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
RESERVED VALUE
R-0h R/W-0h
Table 19-49 STXDATA Register Field Descriptions
Bit Field Type Reset Description
31-8 RESERVED R 0h
7-0 VALUE R/W 0h Transmit Data
This byte contains the data to be transferred during the next transaction.
0h = Smallest value
FFh = Highest possible value

19.48 SFIFOCTL Register (Offset = 126Ch) [Reset = 00000000h]

SFIFOCTL is shown in Figure 19-48 and described in Table 19-50.

Return to the Table 19-1.

I2C Target FIFO Control

Figure 19-48 SFIFOCTL Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
RXFLUSH RESERVED RXTRIG
R/W-0h R-0h R/W-0h
7 6 5 4 3 2 1 0
TXFLUSH RESERVED TXTRIG
R/W-0h R-0h R/W-0h
Table 19-50 SFIFOCTL Register Field Descriptions
Bit Field Type Reset Description
31-16 RESERVED R 0h
15 RXFLUSH R/W 0h RX FIFO Flush
Setting this bit will Flush the RX FIFO.
Before clearing this bit to stop Flush the RXFIFOCNT should be checked to be 0 and indicating that the Flush has completed.
0h = Do not Flush FIFO
1h = Flush FIFO
14-11 RESERVED R 0h
10-8 RXTRIG R/W 0h RX FIFO Trigger
Indicates at what fill level in the RX FIFO a trigger will be generated.
Note: Programming RXTRIG to 0x0 has no effect since no data is
present to transfer out of RX FIFO.
4h = Trigger when RX FIFO contains >= 5 byte
5h = Trigger when RX FIFO contains >= 6 byte
6h = Trigger when RX FIFO contains >= 7 byte
7h = Trigger when RX FIFO contains >= 8 byte
7 TXFLUSH R/W 0h TX FIFO Flush
Setting this bit will Flush the TX FIFO.
Before clearing this bit to stop Flush the TXFIFOCNT should be checked to be 8 and indicating that the Flush has completed.
0h = Do not Flush FIFO
1h = Flush FIFO
6-3 RESERVED R 0h
2-0 TXTRIG R/W 0h TX FIFO Trigger
Indicates at what fill level in the TX FIFO a trigger will be generated.
4h = Trigger when TX FIFO contains ≤ 4 byte
5h = Trigger when TX FIFO contains ≤ 5 byte
6h = Trigger when TX FIFO contains ≤ 6 byte
7h = Trigger when TX FIFO contains ≤ 7 byte

19.49 SFIFOSR Register (Offset = 1270h) [Reset = 00000800h]

SFIFOSR is shown in Figure 19-49 and described in Table 19-51.

Return to the Table 19-1.

I2C Target FIFO Status Register
Note: this Register should only be read when BUSY is 0

Figure 19-49 SFIFOSR Register
31 30 29 28 27 26 25 24
RESERVED
R-0h
23 22 21 20 19 18 17 16
RESERVED
R-0h
15 14 13 12 11 10 9 8
TXFLUSH RESERVED TXFIFOCNT
R/W-0h R-0h R-8h
7 6 5 4 3 2 1 0
RXFLUSH RESERVED RXFIFOCNT
R/W-0h R-0h R-0h
Table 19-51 SFIFOSR Register Field Descriptions
Bit Field Type Reset Description
31-16 RESERVED R 0h
15 TXFLUSH R/W 0h TX FIFO Flush
When this bit is set a Flush operation for the TX FIFO is active. Clear the TXFLUSH bit in the control register to stop.
0h = FIFO Flush not active
1h = FIFO Flush active
14-12 RESERVED R 0h
11-8 TXFIFOCNT R 8h Number of Bytes which could be put into the TX FIFO
0h = Smallest value
8h = Highest possible value
7 RXFLUSH R/W 0h RX FIFO Flush
When this bit is set a Flush operation for the RX FIFO is active. Clear the RXFLUSH bit in the control register to stop.
0h = FIFOFlush not active
1h = FIFO Flush active
6-4 RESERVED R 0h
3-0 RXFIFOCNT R 0h Number of Bytes which could be read from the RX FIFO
0h = Smallest value
8h = Highest possible value