_INTERRUPTS at 0x00000000 with offset= and size=:
Registers:
CPU: -> CC2650F128
_INTERRUPTS at 0x00000000 with offset= and size=:
Registers:
AON_BATMON at 0x40095000 with offset=0 and size=1024:
Always On (AON) Battery And Temperature MONitor (BATMON) residing in the AON domain Note: This module only supports 32 bit Read/Write access from MCU.
Registers:
CTL @0x0 = 0x40095000
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] MEAS_EN RWInternal. Only to be used through TI provided API. |
[1] CALC_EN RWInternal. Only to be used through TI provided API. |
MEASCFG @0x4 = 0x40095004
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0..=1] PER RWInternal. Only to be used through TI provided API. Possible values:
|
TEMPP0 @0xc = 0x4009500c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] CFG RWInternal. Only to be used through TI provided API. |
TEMPP1 @0x10 = 0x40095010
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] CFG RWInternal. Only to be used through TI provided API. |
TEMPP2 @0x14 = 0x40095014
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=4] CFG RWInternal. Only to be used through TI provided API. |
BATMONP0 @0x18 = 0x40095018
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] CFG RWInternal. Only to be used through TI provided API. |
BATMONP1 @0x1c = 0x4009501c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] CFG RWInternal. Only to be used through TI provided API. |
IOSTRP0 @0x20 = 0x40095020
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] CFG1 RWInternal. Only to be used through TI provided API. |
[4..=5] CFG2 RWInternal. Only to be used through TI provided API. |
FLASHPUMPP0 @0x24 = 0x40095024
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] CFG RWInternal. Only to be used through TI provided API. |
[4] OVR RWInternal. Only to be used through TI provided API. |
[5] LOWLIM RWInternal. Only to be used through TI provided API. |
[6..=7] HIGHLIM RWInternal. Only to be used through TI provided API. |
[8] FALLB RWInternal. Only to be used through TI provided API. |
BAT @0x28 = 0x40095028
Last Measured Battery Voltage This register may be read while BATUPD.STAT = 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] FRAC RFractional part, standard binary fractional encoding. 0x00: .0V ... 0x20: 1/8 = .125V 0x40: 1/4 = .25V 0x80: 1/2 = .5V ... 0xA0: 1/2 + 1/8 = .625V ... 0xFF: Max |
[8..=10] INT RInteger part: 0x0: 0V + fractional part ... 0x3: 3V + fractional part 0x4: 4V + fractional part |
BATUPD @0x2c = 0x4009502c
Battery Update Indicates BAT Updates
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RW0: No update since last clear 1: New battery voltage is present. Write 1 to clear the status. |
TEMP @0x30 = 0x40095030
Temperature Last Measured Temperature in Degrees Celsius This register may be read while TEMPUPD.STAT = 1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[8..=16] INT RInteger part (signed) of temperature value. Total value = INTEGER + FRACTIONAL 2's complement encoding 0x100: Min value 0x1D8: -40C 0x1FF: -1C 0x00: 0C 0x1B: 27C 0x55: 85C 0xFF: Max value |
TEMPUPD @0x34 = 0x40095034
Temperature Update Indicates TEMP Updates
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RW0: No update since last clear 1: New temperature is present. Write 1 to clear the status. |
AON_EVENT at 0x40093000 with offset=0 and size=1024:
This module configures the event fabric located in the AON domain. Note: This module is only supporting 32 bit ReadWrite access from MCU
Registers:
MCUWUSEL @0x0 = 0x40093000
Wake-up Selector For MCU This register contains pointers to 4 events which are routed to AON_WUC as wakeup sources for MCU. AON_WUC will start a wakeup sequence for the MCU domain when either of the 4 selected events are asserted. A wakeup sequence will guarantee that the MCU power switches are turned on, LDO resources are available and SCLK_HF is available and selected as clock source for MCU. Note: It is recommended ( or required when AON_WUC:MCUCLK.PWR_DWN_SRC=NONE) to also setup a wakeup event here before MCU is requesting powerdown. ( PRCM requests uLDO, see conditions in PRCM:VDCTL.ULDO ) as it will speed up the wakeup procedure.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] WU0_EV RWMCU Wakeup Source #0 AON Event Source selecting 1 of 4 events routed to AON_WUC for waking up the MCU domain from Power Off or Power Down. Note: Possible values:
|
[8..=13] WU1_EV RWMCU Wakeup Source #1 AON Event Source selecting 1 of 4 events routed to AON_WUC for waking up the MCU domain from Power Off or Power Down. Note: Possible values:
|
[16..=21] WU2_EV RWMCU Wakeup Source #2 AON Event Source selecting 1 of 4 events routed to AON_WUC for waking up the MCU domain from Power Off or Power Down. Note: Possible values:
|
[24..=29] WU3_EV RWMCU Wakeup Source #3 AON Event Source selecting 1 of 4 events routed to AON_WUC for waking up the MCU domain from Power Off or Power Down. Note: Possible values:
|
AUXWUSEL @0x4 = 0x40093004
Wake-up Selector For AUX This register contains pointers to 3 events which are routed to AON_WUC as wakeup sources for AUX. AON_WUC will start a wakeup sequence for the AUX domain when either of the 3 selected events are asserted. A wakeup sequence will guarantee that the AUX power switches are turned on, LDO resources are available and SCLK_HF is available and selected as clock source for AUX. Note: It is recommended ( or required when AON_WUC:AUXCLK.PWR_DWN_SRC=NONE) to also setup a wakeup event here before AUX is requesting powerdown. ( AUX_WUC:PWRDWNREQ.REQ is asserted] ) as it will speed up the wakeup procedure.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] WU0_EV RWAUX Wakeup Source #0 AON Event Source selecting 1 of 3 events routed to AON_WUC for waking up the AUX domain from Power Off or Power Down. Note: Possible values:
|
[8..=13] WU1_EV RWAUX Wakeup Source #1 AON Event Source selecting 1 of 3 events routed to AON_WUC for waking up the AUX domain from Power Off or Power Down. Note: Possible values:
|
[16..=21] WU2_EV RWAUX Wakeup Source #2 AON Event Source selecting 1 of 3 events routed to AON_WUC for waking up the AUX domain from Power Off or Power Down. Note: Possible values:
|
EVTOMCUSEL @0x8 = 0x40093008
Event Selector For MCU Event Fabric This register contains pointers for 3 AON events that are routed to the MCU Event Fabric EVENT
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] AON_PROG0_EV RWEvent selector for AON_PROG0 event. AON Event Source id# selecting event routed to EVENT as AON_PROG0 event. Possible values:
|
[8..=13] AON_PROG1_EV RWEvent selector for AON_PROG1 event. AON Event Source id# selecting event routed to EVENT as AON_PROG1 event. Possible values:
|
[16..=21] AON_PROG2_EV RWEvent selector for AON_PROG2 event. AON Event Source id# selecting event routed to EVENT as AON_PROG2 event. Possible values:
|
RTCSEL @0xc = 0x4009300c
RTC Capture Event Selector For AON_RTC This register contains a pointer to select an AON event for RTC capture. Please refer to AON_RTC:CH1CAPT
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] RTC_CH1_CAPT_EV RWAON Event Source id# for RTCSEL event which is fed to AON_RTC. Please refer to AON_RTC:CH1CAPT Possible values:
|
AON_IOC at 0x40094000 with offset=0 and size=1024:
Always On (AON) IO Controller - controls IO operation when the MCU IO Controller (IOC) is powered off and resides in the AON domain. Note: This module only supports 32 bit Read/Write access from MCU.
Registers:
IOSTRMIN @0x0 = 0x40094000
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] GRAY_CODE RWInternal. Only to be used through TI provided API. |
IOSTRMED @0x4 = 0x40094004
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] GRAY_CODE RWInternal. Only to be used through TI provided API. |
IOSTRMAX @0x8 = 0x40094008
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] GRAY_CODE RWInternal. Only to be used through TI provided API. |
IOCLATCH @0xc = 0x4009400c
IO Latch Control Controls transparency of all latches holding I/O or configuration state from the MCU IOC
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0] EN RWControls latches between MCU IOC and AON_IOC. The latches are transparent by default. They must be closed prior to power off the domain(s) controlling the IOs in order to preserve IO values on external pins. Possible values:
|
CLK32KCTL @0x10 = 0x40094010
SCLK_LF External Output Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] OE_N RW0: Output enable active. SCLK_LF output on IO pin that has PORT_ID (e.g. IOC:IOCFG0.PORT_ID) set to AON_CLK32K. 1: Output enable not active |
AON_RTC at 0x40092000 with offset=0 and size=1024:
This component control the Real Time Clock residing in AON Note: This module is only supporting 32 bit ReadWrite access.
Registers:
CTL @0x0 = 0x40092000
Control This register contains various bitfields for configuration of RTC
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] EN RWEnable RTC counter 0: Halted (frozen) 1: Running |
[1] RTC_UPD_EN RWRTC_UPD is a 16 KHz signal used to sync up the radio timer. The 16 Khz is SCLK_LF divided by 2 0: RTC_UPD signal is forced to 0 1: RTC_UPD signal is toggling @16 kHz |
[2] RTC_4KHZ_EN RWRTC_4KHZ is a 4 KHz reference output, tapped from SUBSEC.VALUE bit 19 which is used by AUX timer. 0: RTC_4KHZ signal is forced to 0 1: RTC_4KHZ is enabled ( provied that RTC is enabled EN) |
[7] RESET WRTC Counter reset. Writing 1 to this bit will reset the RTC counter. This bit is cleared when reset takes effect |
[8..=11] EV_DELAY RWNumber of SCLK_LF clock cycles waited before generating delayed events. (Common setting for all RTC cannels) the delayed event is delayed Possible values:
|
[16..=18] COMB_EV_MASK RWEventmask selecting which delayed events that form the combined event. Possible values:
|
EVFLAGS @0x4 = 0x40092004
Event Flags, RTC Status This register contains event flags from the 3 RTC channels. Each flag will be cleared when writing a '1' to the corresponding bitfield.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CH0 RWChannel 0 event flag, set when CHCTL.CH0_EN = 1 and the RTC value matches or passes the CH0CMP value. An event will be scheduled to occur as soon as possible when writing to CH0CMP provided that the channels is enabled and the new value matches any time between next RTC value and 1 second in the past. Writing 1 clears this flag. Note that a new event can not occur on this channel in first 2 SCLK_LF cycles after a clearance. |
[8] CH1 RWChannel 1 event flag, set when CHCTL.CH1_EN = 1 and one of the following: - CHCTL.CH1_CAPT_EN = 0 and the RTC value matches or passes the CH1CMP value. - CHCTL.CH1_CAPT_EN = 1 and capture occurs. An event will be scheduled to occur as soon as possible when writing to CH1CMP provided that the channel is enabled, in compare mode and the new value matches any time between next RTC value and 1 second in the past. Writing 1 clears this flag. Note that a new event can not occur on this channel in first 2 SCLK_LF cycles after a clearance. |
[16] CH2 RWChannel 2 event flag, set when CHCTL.CH2_EN = 1 and the RTC value matches or passes the CH2CMP value. An event will be scheduled to occur as soon as possible when writing to CH2CMP provided that the channel is enabled and the new value matches any time between next RTC value and 1 second in the past Writing 1 clears this flag. Note that a new event can not occur on this channel in first 2 SCLK_LF cycles after a clearance. AUX_SCE can read the flag through AUX_WUC:WUEVFLAGS.AON_RTC_CH2 and clear it using AUX_WUC:WUEVCLR.AON_RTC_CH2. |
SEC @0x8 = 0x40092008
Second Counter Value, Integer Part
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VALUE RWUnsigned integer representing Real Time Clock in seconds. When reading this register the content of SUBSEC.VALUE is simultaneously latched. A consistent reading of the combined Real Time Clock can be obtained by first reading this register, then reading SUBSEC register. |
SUBSEC @0xc = 0x4009200c
Second Counter Value, Fractional Part
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VALUE RWUnsigned integer representing Real Time Clock in fractions of a second (VALUE/2^32 seconds) at the time when SEC register was read. Examples : - 0x0000_0000 = 0.0 sec - 0x4000_0000 = 0.25 sec - 0x8000_0000 = 0.5 sec - 0xC000_0000 = 0.75 sec |
SUBSECINC @0x10 = 0x40092010
Subseconds Increment Value added to SUBSEC.VALUE on every SCLK_LFclock cycle.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] VALUEINC RThis value compensates for a SCLK_LF clock which has an offset from 32768 Hz. The compensation value can be found as 2^38 / freq, where freq is SCLK_LF clock frequency in Hertz This value is added to SUBSEC.VALUE on every cycle, and carry of this is added to SEC.VALUE. To perform the addition, bits [23:6] are aligned with SUBSEC.VALUE bits [17:0]. The remaining bits [5:0] are accumulated in a hidden 6-bit register that generates a carry into the above mentioned addition on overflow. The default value corresponds to incrementing by precisely 1/32768 of a second. NOTE: This register is read only. Modification of the register value must be done using registers AUX_WUC:RTCSUBSECINC1 , AUX_WUC:RTCSUBSECINC0 and AUX_WUC:RTCSUBSECINCCTL |
CHCTL @0x14 = 0x40092014
Channel Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CH0_EN RWRTC Channel 0 Enable 0: Disable RTC Channel 0 1: Enable RTC Channel 0 |
[8] CH1_EN RWRTC Channel 1 Enable 0: Disable RTC Channel 1 1: Enable RTC Channel 1 |
[9] CH1_CAPT_EN RWSet Channel 1 mode 0: Compare mode (default) 1: Capture mode |
[16] CH2_EN RWRTC Channel 2 Enable 0: Disable RTC Channel 2 1: Enable RTC Channel 2 |
[18] CH2_CONT_EN RWSet to enable continuous operation of Channel 2 |
CH0CMP @0x18 = 0x40092018
Channel 0 Compare Value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VALUE RWRTC Channel 0 compare value. Bit 31 to 16 represents seconds and bits 15 to 0 represents subseconds of the compare value. The compare value is compared against SEC.VALUE (15:0) and SUBSEC.VALUE (31:16) values of the Real Time Clock register. A Cannel 0 event is generated when {SEC.VALUE(15:0),SUBSEC.VALUE (31:16)} is reaching or exciting the compare value. Writing to this register can trigger an immediate*) event in case the new compare value matches a Real Time Clock value from 1 second in the past up till current Real Time Clock value. Example: To generate a compare 5.5 seconds RTC start,- set this value = 0x0005_8000 *) It can take up to 2 SCLK_LF clock cycles before event occurs due to synchronization. |
CH1CMP @0x1c = 0x4009201c
Channel 1 Compare Value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VALUE RWRTC Channel 1 compare value. Bit 31 to 16 represents seconds and bits 15 to 0 represents subseconds of the compare value. The compare value is compared against SEC.VALUE (15:0) and SUBSEC.VALUE (31:16) values of the Real Time Clock register. A Cannel 0 event is generated when {SEC.VALUE(15:0),SUBSEC.VALUE (31:16)} is reaching or exciting the compare value. Writing to this register can trigger an immediate*) event in case the new compare value matches a Real Time Clock value from 1 second in the past up till current Real Time Clock value. Example: To generate a compare 5.5 seconds RTC start,- set this value = 0x0005_8000 *) It can take up to 2 SCLK_LF clock cycles before event occurs due to synchronization. |
CH2CMP @0x20 = 0x40092020
Channel 2 Compare Value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VALUE RWRTC Channel 2 compare value. Bit 31 to 16 represents seconds and bits 15 to 0 represents subseconds of the compare value. The compare value is compared against SEC.VALUE (15:0) and SUBSEC.VALUE (31:16) values of the Real Time Clock register. A Cannel 0 event is generated when {SEC.VALUE(15:0),SUBSEC.VALUE (31:16)} is reaching or exciting the compare value. Writing to this register can trigger an immediate*) event in case the new compare value matches a Real Time Clock value from 1 second in the past up till current Real Time Clock value. Example: To generate a compare 5.5 seconds RTC start,- set this value = 0x0005_8000 *) It can take up to 2 SCLK_LF clock cycles before event occurs due to synchronization. |
CH2CMPINC @0x24 = 0x40092024
Channel 2 Compare Value Auto-increment This register is primarily used to generate periodical wake-up for the AUX_SCE module, through the [AUX_EVCTL.EVSTAT0.AON_RTC] event.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VALUE RWIf CHCTL.CH2_CONT_EN is set, this value is added to CH2CMP.VALUE on every channel 2 compare event. |
CH1CAPT @0x28 = 0x40092028
Channel 1 Capture Value If CHCTL.CH1_EN = 1and CHCTL.CH1_CAPT_EN = 1, capture occurs on each rising edge of the event selected in AON_EVENT:RTCSEL.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] SUBSEC RValue of SUBSEC.VALUE bits 31:16 at capture time. |
[16..=31] SEC RValue of SEC.VALUE bits 15:0 at capture time. |
SYNC @0x2c = 0x4009202c
AON Synchronization This register is used for synchronizing between MCU and entire AON domain.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] WBUSY RWThis register will always return 0,- however it will not return the value until there are no outstanding write requests between MCU and AON Note: Writing to this register prior to reading will force a wait until next SCLK_LF edge. This is recommended for syncing read registers from AON when waking up from sleep Failure to do so may result in reading AON values from prior to going to sleep |
AON_SYSCTL at 0x40090000 with offset=0 and size=1024:
This component controls AON_SYSCTL, which is the device's system controller. Note: This module is only supporting 32 bit ReadWrite access from MCU
Registers:
PWRCTL @0x0 = 0x40090000
Power Management This register controls bitfields for setting low level power management features such as selection of regulator for VDDR supply and control of IO ring where certain segments can be enabled / disabled.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DCDC_EN RWSelect to use DCDC regulator during recharge of VDDR 0: Use GLDO for recharge of VDDR 1: Use DCDC for recharge of VDDR Note: This bitfield should be set to the same as DCDC_ACTIVE |
[1] EXT_REG_MODE RStatus of source for VDDRsupply: 0: DCDC/GLDO are generating VDDR 1: DCDC/GLDO are bypassed, external regulator supplies VDDR |
[2] DCDC_ACTIVE RWSelect to use DCDC regulator for VDDR in active mode 0: Use GLDO for regulation of VDDRin active mode. 1: Use DCDC for regulation of VDDRin active mode. |
RESETCTL @0x4 = 0x40090004
Reset Management This register contains bitfields releated to system reset such as reset source and reset request and control of brown out resets.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||
[1..=3] RESET_SRC RShows the source of the last system reset: Occurrence of one of the reset sources may trigger several other reset sources as essential parts of the system are undergoing reset. This field will report the root cause of the reset (not the other resets that are consequence of the system reset). To support this feature the actual register is not captured before the reset source being released. If a new reset source is triggered, in a window of four 32 kHz periods after the previous has been released, this register may indicate Power on reset as source. Possible values:
|
[4] CLK_LOSS_EN RWControls reset generation in case SCLK_LF is lost. (provided that clock loss detection is enabled by DDI_0_OSC:CTL0.CLK_LOSS_EN) Note: Clock loss reset generation must be disabled before SCLK_LF clock source is changed in DDI_0_OSC:CTL0.SCLK_LF_SRC_SEL and remain disabled untill the change is confirmed in DDI_0_OSC:STAT0.SCLK_LF_SRC. Failure to do so may result in a spurious system reset. Clock loss reset generation can be disabled through this bitfield or by clearing DDI_0_OSC:CTL0.CLK_LOSS_EN 0: Clock loss is ignored 1: Clock loss generates system reset |
[5] VDD_LOSS_EN RWControls reset generation in case VDD is lost 0: Brown out detect of VDD is ignored, unless VDD_LOSS_EN_OVR=1 1: Brown out detect of VDD generates system reset |
[6] VDDR_LOSS_EN RWControls reset generation in case VDDR is lost 0: Brown out detect of VDDR is ignored, unless VDDR_LOSS_EN_OVR=1 1: Brown out detect of VDDR generates system reset |
[7] VDDS_LOSS_EN RWControls reset generation in case VDDS is lost 0: Brown out detect of VDDS is ignored, unless VDDS_LOSS_EN_OVR=1 1: Brown out detect of VDDS generates system reset |
[9] VDD_LOSS_EN_OVR RWOverride of VDD_LOSS_EN 0: Brown out detect of VDD is ignored, unless VDD_LOSS_EN=1 1: Brown out detect of VDD generates system reset (regardless of VDD_LOSS_EN) This bit can be locked |
[10] VDDR_LOSS_EN_OVR RWOverride of VDDR_LOSS_EN 0: Brown out detect of VDDR is ignored, unless VDDR_LOSS_EN=1 1: Brown out detect of VDDR generates system reset (regardless of VDDR_LOSS_EN) This bit can be locked |
[11] VDDS_LOSS_EN_OVR RWOverride of VDDS_LOSS_EN 0: Brown out detect of VDDS is ignored, unless VDDS_LOSS_EN=1 1: Brown out detect of VDDS generates system reset (regardless of VDDS_LOSS_EN) This bit can be locked |
[12] BOOT_DET_0 RInternal. Only to be used through TI provided API. |
[13] BOOT_DET_1 RInternal. Only to be used through TI provided API. |
[14] GPIO_WU_FROM_SD RA wakeup from SHUTDOWN on an IO event has occurred Please refer to [IOC:IOCFGn,.WU_CFG] for configuring the IO's as wakeup sources. 0: The wakeup did not occur from SHUTDOWN on an IO event 1: A wakeup from SHUTDOWN occurred from an IO event The case where WU_FROM_SD is asserted but this bitfield is not asserted will only occur in a debug session. The boot code will not proceed with wakeup from SHUTDOWN procedure until this bitfield is asserted as well. Note: This flag can not be cleared and will therefor remain valid untill poweroff/reset |
[15] WU_FROM_SD RA Wakeup from SHUTDOWN on an IO event has occurred, or a wakeup from SHUTDOWN has occurred as a result of the debugger being attached.. (TCK pin being forced low) Please refer to [IOC:IOCFGn,.WU_CFG] for configuring the IO's as wakeup sources. 0: Wakeup occurred from cold reset or brown out as seen in RESET_SRC 1: A wakeup has occurred from SHUTDOWN Note: This flag can not be cleared and will therefor remain valid untill poweroff/reset |
[16] BOOT_DET_0_SET RWInternal. Only to be used through TI provided API. |
[17] BOOT_DET_1_SET RWInternal. Only to be used through TI provided API. |
[24] BOOT_DET_0_CLR RWInternal. Only to be used through TI provided API. |
[25] BOOT_DET_1_CLR RWInternal. Only to be used through TI provided API. |
[31] SYSRESET WCold reset register. Writing 1 to this bitfield will reset the entire chip and cause boot code to run again. 0: No effect 1: Generate system reset. Appears as SYSRESET in RESET_SRC. |
SLEEPCTL @0x8 = 0x40090008
Sleep Mode This register is used to unfreeze the IO pad ring after waking up from SHUTDOWN
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] IO_PAD_SLEEP_DIS RWControls the I/O pad sleep mode. The boot code will set this bitfield automatically unless waking up from a SHUTDOWN ( RESETCTL.WU_FROM_SD is set ). 0: I/O pad sleep mode is enabled, ie all pads are latched and can not toggle. 1: I/O pad sleep mode is disabled Application software may want to reconfigure the state for all IO's before setting this bitfield upon waking up from a SHUTDOWN. |
AON_WUC at 0x40091000 with offset=0 and size=4096:
This component control the Wakeup controller residing in the AON domain. Note: This module is only supporting 32 bit ReadWrite access from MCU
Registers:
MCUCLK @0x0 = 0x40091000
MCU Clock Management This register contains bitfields related to the MCU clock.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0..=1] PWR_DWN_SRC RWControls the clock source for the entire MCU domain while MCU is requesting powerdown. When MCU requests powerdown with SCLK_HF as source, then WUC will switch over to this clock source during powerdown, and automatically switch back to SCLK_HF when MCU is no longer requesting powerdown and system is back in active mode. Possible values:
|
[2] RCOSC_HF_CAL_DONE RWMCU bootcode will set this bit when RCOSC_HF is calibrated. The FLASH can not be used until this bit is set. 1: RCOSC_HF is calibrated to 48 MHz, allowing FLASH to power up. 0: RCOSC_HF is not yet calibrated, ie FLASH must not assume that the SCLK_HF is safe |
AUXCLK @0x4 = 0x40091004
AUX Clock Management This register contains bitfields that are relevant for setting up the clock to the AUX domain.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||
[0..=2] SRC RWSelects the clock source for AUX: NB: Switching the clock source is guaranteed to be glitchless Possible values:
|
[8..=10] SCLK_HF_DIV RWSelect the AUX clock divider for SCLK_HF NB: It is not supported to change the AUX clock divider while SCLK_HF is active source for AUX Possible values:
|
[11..=12] PWR_DWN_SRC RWWhen AUX requests powerdown with SCLK_HF as source, then WUC will switch over to this clock source during powerdown, and automatically switch back to SCLK_HF when AUX system is back in active mode Possible values:
|
MCUCFG @0x8 = 0x40091008
MCU Configuration This register contains power management related bitfields for the MCU domain.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||
[0..=3] SRAM_RET_EN RWMCU SRAM is partitioned into 4 banks . This register controls which of the banks that has retention during MCU power off Possible values:
|
[16] FIXED_WU_EN RWInternal. Only to be used through TI provided API. |
[17] VIRT_OFF RWInternal. Only to be used through TI provided API. |
AUXCFG @0xc = 0x4009100c
AUX Configuration This register contains power management related signals for the AUX domain.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RAM_RET_EN RWThis bit controls retention mode for the AUX_RAM:BANK0: 0: Retention is disabled 1: Retention is enabled NB: If retention is disabled, the AUX_RAM will be powered off when it would otherwise be put in retention mode |
AUXCTL @0x10 = 0x40091010
AUX Control This register contains events and control signals for the AUX domain.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] AUX_FORCE_ON RWForces the AUX domain into active mode, overriding the requests from AUX_WUC:PWROFFREQ, AUX_WUC:PWRDWNREQ and AUX_WUC:MCUBUSCTL. Note that an ongoing AUX_WUC:PWROFFREQ will complete before this bit will set the AUX domain into active mode. MCU must set this bit in order to access the AUX peripherals. The AUX domain status can be read from PWRSTAT.AUX_PD_ON 0: AUX is allowed to Power Off, Power Down or Disconnect. 1: AUX Power OFF, Power Down or Disconnect requests will be overruled |
[1] SWEV RWWriting 1 sets the software event to the AUX domain, which can be read through AUX_WUC:WUEVFLAGS.AON_SW. This event is normally cleared by AUX_SCE through the AUX_WUC:WUEVCLR.AON_SW. It can also be cleared by writing 0 to this register. Reading 0 means that there is no outstanding software event for AUX. Note that it can take up to 1,5 SCLK_LF clock cycles to clear the event from AUX. |
[2] SCE_RUN_EN RWEnables (1) or disables (0) AUX_SCE execution. AUX_SCE execution will begin when AUX Domain is powered and either this or AUX_SCE:CTL.CLK_EN is set. Setting this bit will assure that AUX_SCE execution starts as soon as AUX power domain is woken up. ( AUX_SCE:CTL.CLK_EN will be reset to 0 if AUX power domain has been off) 0: AUX_SCE execution will be disabled if AUX_SCE:CTL.CLK_EN is 0 1: AUX_SCE execution is enabled. |
[31] RESET_REQ RWReset request for AUX. Writing 1 to this register will assert reset to AUX. The reset will be held until the bit is cleared again. 0: AUX reset pin will be deasserted 1: AUX reset pin will be asserted |
PWRSTAT @0x14 = 0x40091014
Power Status This register is used to monitor various power management related signals in AON. Most signals are for test, calibration and debug purpose only, and others can be used to detect that AUX or JTAG domains are powered up.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[1] AUX_RESET_DONE RIndicates Reset Done from AUX: 0: AUX is being reset 1: AUX reset is released |
[2] AUX_BUS_CONNECTED RIndicates that AUX Bus is connected: 0: AUX bus is not connected 1: AUX bus is connected ( idle_ack = 0 ) |
[4] MCU_PD_ON RIndicates MCU power state: 0: MCU Power sequencing is not yet finalized and MCU_AONIF registers may not be reliable 1: MCU Power sequencing is finalized and all MCU_AONIF registers are reliable |
[5] AUX_PD_ON RIndicates AUX power state: 0: AUX is not ready for use ( may be powered off or in power state transition ) 1: AUX is powered on, connected to bus and ready for use, |
[6] JTAG_PD_ON RIndicates JTAG power state: 0: JTAG is powered off 1: JTAG is powered on |
[9] AUX_PWR_DWN RIndicates the AUX powerdown state when AUX domain is powered up. 0: Active mode 1: AUX Powerdown request has been granted |
SHUTDOWN @0x18 = 0x40091018
Shutdown Control This register contains bitfields required for entering shutdown mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] EN RWWriting a 1 to this bit forces a shutdown request to be registered and all I/O values to be latched - in the PAD ring, possibly enabling I/O wakeup. Writing 0 will cancel a registered shutdown request and open th I/O latches residing in the PAD ring. A registered shutdown request takes effect the next time power down conditions exists. At this time, the will not enter Powerdown mode, but instead it will turn off all internal powersupplies, effectively putting the device into Shutdown mode. |
CTL0 @0x20 = 0x40091020
Control 0 This register contains various chip level control and debug bitfields.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[2] MCU_SRAM_ERASE WInternal. Only to be used through TI provided API. |
[3] AUX_SRAM_ERASE WInternal. Only to be used through TI provided API. |
[8] PWR_DWN_DIS RWControls whether MCU and AUX requesting to be powered off will enable a transition to powerdown: 0: Enabled 1: Disabled |
CTL1 @0x24 = 0x40091024
Control 1 This register contains various chip level control and debug bitfields.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] MCU_WARM_RESET RWIndicates type of last MCU Voltage Domain reset: 0: Last MCU reset was not a warm reset 1: Last MCU reset was a warm reset (requested from MCU or JTAG as indicated in MCU_RESET_SRC) This bit can only be cleared by writing a 1 to it |
[1] MCU_RESET_SRC RWIndicates source of last MCU Voltage Domain warm reset request: 0: MCU SW reset 1: JTAG reset This bit can only be cleared by writing a 1 to it |
RECHARGECFG @0x30 = 0x40091030
Recharge Controller Configuration This register sets all relevant patameters for controlling the recharge algorithm.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] PER_E RWNumber of 32 KHz clocks between activation of recharge controller For recharge algorithm, PERIOD is the initial period when entering powerdown mode. The adaptive recharge algorithm will not change this register PERIOD will effectively be a 16 bit value coded in a 5 bit mantissa and 3 bit exponent: This field sets the Exponent of the Period. PERIOD=(PER_M*16+15)*2^PER_E |
[3..=7] PER_M RWNumber of 32 KHz clocks between activation of recharge controller For recharge algorithm, PERIOD is the initial period when entering powerdown mode. The adaptive recharge algorithm will not change this register PERIOD will effectively be a 16 bit value coded in a 5 bit mantissa and 3 bit exponent: This field sets the Mantissa of the Period. PERIOD=(PER_M*16+15)*2^PER_E |
[8..=10] MAX_PER_E RWThis register defines the maximum period that the recharge algorithm can take, i.e. it defines the maximum number of cycles between 2 recharges. The maximum number of cycles is specified with a 5 bit mantissa and 3 bit exponent: MAXCYCLES=(MAX_PER_M*16+15)*2^MAX_PER_E This field sets the exponent MAXCYCLES |
[11..=15] MAX_PER_M RWThis register defines the maximum period that the recharge algorithm can take, i.e. it defines the maximum number of cycles between 2 recharges. The maximum number of cycles is specified with a 5 bit mantissa and 3 bit exponent: MAXCYCLES=(MAX_PER_M*16+15)*2^MAX_PER_E This field sets the mantissa of MAXCYCLES |
[16..=19] C1 RWGain factor for adaptive recharge algorithm period_new=period * ( 1+/-(2^-C1+2^-C2) ) Valid values for C1 is 1 to 10 Note: Rounding may cause adaptive recharge not to start for very small values of both Gain and Initial period. Criteria for algorithm to start is MAX(PERIOD*2^-C1,PERIOD*2^-C2) >= 1 |
[20..=23] C2 RWGain factor for adaptive recharge algorithm period_new=period * ( 1+/-(2^-C1+2^-C2) ) Valid values for C2 is 2 to 10 Note: Rounding may cause adaptive recharge not to start for very small values of both Gain and Initial period. Criteria for algorithm to start is MAX(PERIOD*2^-C1,PERIOD*2^-C2) >= 1 |
[31] ADAPTIVE_EN RWEnable adaptive recharge Note: Recharge can be turned completely of by setting MAX_PER_E=7 and MAX_PER_M=31 and this bitfield to 0 |
RECHARGESTAT @0x34 = 0x40091034
Recharge Controller Status This register controls various status registers which are updated during recharge. The register is mostly intended for test and debug.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] MAX_USED_PER RWThe maximum value of recharge period seen with VDDR>threshold. The VDDR voltage is compared against the threshold voltage at just before each recharge. If VDDR is above threshold, MAX_USED_PER is updated with max ( current recharge peride; MAX_USED_PER ) This way MAX_USED_PER can track the recharge period where VDDR is decharged to the threshold value. We can therefore use the value as an indication of the leakage current during recharge. This bitfield is cleared to 0 when writing this register. |
[16..=19] VDDR_SMPLS RThe last 4 VDDR samples, bit 0 being the newest. The register is being updated in every recharge period with a shift left, and bit 0 is updated with the last VDDR sample, ie a 1 is shiftet in in case VDDR > VDDR_threshold just before recharge starts. Otherwise a 0 will be shifted in. |
OSCCFG @0x38 = 0x40091038
Oscillator Configuration This register sets the period for Amplitude compensation requests sent to the oscillator control system. The amplitude compensations is only applicable when XOSC_HF is running in low power mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] PER_E RWNumber of 32 KHz clocks between oscillator amplitude calibrations. When this counter expires, an oscillator amplitude compensation is triggered immediately in Active mode. When this counter expires in Powerdown mode an internal flag is set such that the amplitude compensation is postponed until the next recharge occurs. The Period will effectively be a 16 bit value coded in a 5 bit mantissa and 3 bit exponent PERIOD=(PER_M*16+15)*2^PER_E This field sets the exponent Note: Oscillator amplitude calibration is turned of when both PER_M and this bitfield are set to 0 |
[3..=7] PER_M RWNumber of 32 KHz clocks between oscillator amplitude calibrations. When this counter expires, an oscillator amplitude compensation is triggered immediately in Active mode. When this counter expires in Powerdown mode an internal flag is set such that the amplitude compensation is postponed until the next recharge occurs. The Period will effectively be a 16 bit value coded in a 5 bit mantissa and 3 bit exponent PERIOD=(PER_M*16+15)*2^PER_E This field sets the mantissa Note: Oscillator amplitude calibration is turned of when both this bitfield and PER_E are set to 0 |
JTAGCFG @0x40 = 0x40091040
JTAG Configuration This register contains control for configuration of the JTAG domain,- hereunder access permissions for each TAP.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[8] JTAG_PD_FORCE_ON RWControls JTAG PowerDomain power state: 0: Controlled exclusively by debug subsystem. (JTAG Powerdomain will be powered off unless a debugger is attached) 1: JTAG Power Domain is forced on, independent of debug subsystem. NB: The reset value causes JTAG Power Domain to be powered on by default. Software must clear this bit to turn off the JTAG Power Domain |
JTAGUSERCODE @0x44 = 0x40091044
JTAG USERCODE Boot code copies the JTAG USERCODE to this register from where it is forwarded to the debug subsystem.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] USER_CODE RW32-bit JTAG USERCODE register feeding main JTAG TAP NB: This field can be locked |
AUX_ADI4 at 0x400cb000 with offset=0 and size=512:
Configuration registers controlling analog peripherals of AUX. Registers Fields should be considered static unless otherwise noted (as dynamic)
Registers:
MUX0 @0x0 = 0x400cb000
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||
[0..=3] COMPA_REF RWInternal. Only to be used through TI provided API. Possible values:
|
MUX1 @0x1 = 0x400cb001
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||
[0..=7] COMPA_IN RWInternal. Only to be used through TI provided API. Possible values:
|
MUX2 @0x2 = 0x400cb002
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||
[0..=2] COMPB_REF RWInternal. Only to be used through TI provided API. Possible values:
|
[3..=7] ADCCOMPB_IN RWInternal. Only to be used through TI provided API. Possible values:
|
MUX3 @0x3 = 0x400cb003
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||
[0..=7] ADCCOMPB_IN RWInternal. Only to be used through TI provided API. Possible values:
|
ISRC @0x4 = 0x400cb004
Current Source Strength and trim control for current source. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||
[0] EN RWCurrent source enable |
[2..=7] TRIM RWAdjust current from current source. Output currents may be combined to get desired total current. Possible values:
|
COMP @0x5 = 0x400cb005
Comparator Control COMPA and COMPB comparators. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0] COMPA_EN RWCOMPA enable |
[2] COMPB_EN RWCOMPB enable |
[3..=5] COMPB_TRIM RWCOMPB voltage reference trim temperature coded: Possible values:
|
[6] COMPA_REF_CURR_EN RWEnables 2uA IPTAT current from ISRC to COMPA reference node. Requires ISRC.EN = 1. Used with COMPA_REF_RES_EN to generate voltage reference for cap-sense. |
[7] COMPA_REF_RES_EN RWEnables 400kohm resistance from COMPA reference node to ground. Used with COMPA_REF_CURR_EN to generate voltage reference for cap-sense. |
MUX4 @0x7 = 0x400cb007
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||
[0..=7] COMPA_REF RWInternal. Only to be used through TI provided API. Possible values:
|
ADC0 @0x8 = 0x400cb008
ADC Control 0 ADC Sample Control. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||
[0] EN RWADC Enable 0: Disable 1: Enable |
[1] RESET_N RWReset ADC digital subchip, active low. ADC must be reset every time it is reconfigured. 0: Reset 1: Normal operation |
[3..=6] SMPL_CYCLE_EXP RWControls the sampling duration before conversion when the ADC is operated in synchronous mode (SMPL_MODE = 0). The setting has no effect in asynchronous mode. The sampling duration is given as 2^(SMPL_CYCLE_EXP + 1) / 6 us. Possible values:
|
[7] SMPL_MODE RWADC Sampling mode: 0: Synchronous mode 1: Asynchronous mode The ADC does a sample-and-hold before conversion. In synchronous mode the sampling starts when the ADC clock detects a rising edge on the trigger signal. Jitter/uncertainty will be inferred in the detection if the trigger signal originates from a domain that is asynchronous to the ADC clock. SMPL_CYCLE_EXP determines the the duration of sampling. Conversion starts immediately after sampling ends. In asynchronous mode the sampling is continuous when enabled. Sampling ends and conversion starts immediately with the rising edge of the trigger signal. Sampling restarts when the conversion has finished. Asynchronous mode is useful when it is important to avoid jitter in the sampling instant of an externally driven signal |
ADC1 @0x9 = 0x400cb009
ADC Control 1 ADC Comparator Control. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SCALE_DIS RWInternal. Only to be used through TI provided API. |
ADCREF0 @0xa = 0x400cb00a
ADC Reference 0 Control reference used by the ADC. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] EN RWADC reference module enable: 0: ADC reference module powered down 1: ADC reference module enabled |
[3] SRC RWADC reference source: 0: Fixed reference = 4.3V 1: Relative reference = VDDS |
[4] EXT RWInternal. Only to be used through TI provided API. |
[5] IOMUX RWInternal. Only to be used through TI provided API. |
[6] REF_ON_IDLE RWKeep ADCREF powered up in IDLE state when ADC0.SMPL_MODE = 0. Set to 1 if ADC0.SMPL_CYCLE_EXP is less than 6 (21.3us sampling time) |
ADCREF1 @0xb = 0x400cb00b
ADC Reference 1 Control reference used by the ADC. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] VTRIM RWTrim output voltage of ADC fixed reference (64 steps, 2's complement). Applies only for ADCREF0.SRC = 0. Examples: 0x00 - nominal voltage 1.43V 0x01 - nominal + 0.4% 1.435V 0x3F - nominal - 0.4% 1.425V 0x1F - maximum voltage 1.6V 0x20 - minimum voltage 1.3V |
AUX_AIODIO0 at 0x400c1000 with offset=0 and size=4096:
AUX Analog/Digital Input Output Controller
Registers:
GPIODOUT @0x0 = 0x400c1000
General Purpose Input Output Data Out The output data register is used to set data on AUXIO that are controlled by instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and i = 1 for AUX_AIODIO1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] IO7_0 RWWrite 1 to bit index n in this bit vector to set AUXIO[8i+n]. Write 0 to bit index n in this bit vector to clear AUXIO[8i+n]. |
IOMODE @0x4 = 0x400c1004
Input Output Mode This register controls pull-up, pull-down, and output mode for AUXIO that are controlled by instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and i = 1 for AUX_AIODIO1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] IO0 RWSelect mode for AUXIO[8i+0]. Possible values:
|
[2..=3] IO1 RWSelect mode for AUXIO[8i+1]. Possible values:
|
[4..=5] IO2 RWSelect mode for AUXIO[8i+2]. Possible values:
|
[6..=7] IO3 RWSelect mode for AUXIO[8i+3]. Possible values:
|
[8..=9] IO4 RWSelect mode for AUXIO[8i+4]. Possible values:
|
[10..=11] IO5 RWSelect mode for AUXIO[8i+5]. Possible values:
|
[12..=13] IO6 RWSelect mode for AUXIO[8i+6]. Possible values:
|
[14..=15] IO7 RWSelect mode for AUXIO[8i+7]. Possible values:
|
GPIODIN @0x8 = 0x400c1008
General Purpose Input Output Data In This register provides synchronized input data for AUXIO that are controlled by instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and I = 1 for AUX_AIODIO1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] IO7_0 RBit n in this bit vector contains the value for AUXIO[8i+n] when GPIODIE bit n is set. Otherwise, bit n value is old. |
GPIODOUTSET @0xc = 0x400c100c
General Purpose Input Output Data Out Set Set bits in GPIODOUT in instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and i = 1 for AUX_AIODIO1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] IO7_0 RWWrite 1 to bit index n in this bit vector to set GPIODOUT bit n. Read value is 0. |
GPIODOUTCLR @0x10 = 0x400c1010
General Purpose Input Output Data Out Clear Clear bits in GPIODOUT instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and i = 1 for AUX_AIODIO1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] IO7_0 RWWrite 1 to bit index n in this bit vector to clear GPIODOUT bit n. Read value is 0. |
GPIODOUTTGL @0x14 = 0x400c1014
General Purpose Input Output Data Out Toggle Toggle bits in GPIODOUT in instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and i = 1 for AUX_AIODIO1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] IO7_0 RWWrite 1 to bit index n in this bit vector to toggle GPIODOUT bit n. Read value is 0. |
GPIODIE @0x18 = 0x400c1018
General Purpose Input Output Digital Input Enable This register controls input buffers for AUXIO that are controlled by instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and I = 1 for AUX_AIODIO1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] IO7_0 RWWrite 1 to bit index n in this bit vector to enable digital input buffer for AUXIO[8i+n]. Write 0 to bit index n in this bit vector to disable digital input buffer for AUXIO[8i+n]. You must enable the digital input buffer for AUXIO[8i+n] to read the pin value in GPIODIN. You must disable the digital input buffer for analog input or pins that float to avoid current leakage. |
AUX_AIODIO1 at 0x400c2000 with offset=0 and size=4096:
AUX Analog/Digital Input Output Controller
Registers:
GPIODOUT @0x0 = 0x400c2000
General Purpose Input Output Data Out The output data register is used to set data on AUXIO that are controlled by instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and i = 1 for AUX_AIODIO1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] IO7_0 RWWrite 1 to bit index n in this bit vector to set AUXIO[8i+n]. Write 0 to bit index n in this bit vector to clear AUXIO[8i+n]. |
IOMODE @0x4 = 0x400c2004
Input Output Mode This register controls pull-up, pull-down, and output mode for AUXIO that are controlled by instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and i = 1 for AUX_AIODIO1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] IO0 RWSelect mode for AUXIO[8i+0]. Possible values:
|
[2..=3] IO1 RWSelect mode for AUXIO[8i+1]. Possible values:
|
[4..=5] IO2 RWSelect mode for AUXIO[8i+2]. Possible values:
|
[6..=7] IO3 RWSelect mode for AUXIO[8i+3]. Possible values:
|
[8..=9] IO4 RWSelect mode for AUXIO[8i+4]. Possible values:
|
[10..=11] IO5 RWSelect mode for AUXIO[8i+5]. Possible values:
|
[12..=13] IO6 RWSelect mode for AUXIO[8i+6]. Possible values:
|
[14..=15] IO7 RWSelect mode for AUXIO[8i+7]. Possible values:
|
GPIODIN @0x8 = 0x400c2008
General Purpose Input Output Data In This register provides synchronized input data for AUXIO that are controlled by instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and I = 1 for AUX_AIODIO1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] IO7_0 RBit n in this bit vector contains the value for AUXIO[8i+n] when GPIODIE bit n is set. Otherwise, bit n value is old. |
GPIODOUTSET @0xc = 0x400c200c
General Purpose Input Output Data Out Set Set bits in GPIODOUT in instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and i = 1 for AUX_AIODIO1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] IO7_0 RWWrite 1 to bit index n in this bit vector to set GPIODOUT bit n. Read value is 0. |
GPIODOUTCLR @0x10 = 0x400c2010
General Purpose Input Output Data Out Clear Clear bits in GPIODOUT instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and i = 1 for AUX_AIODIO1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] IO7_0 RWWrite 1 to bit index n in this bit vector to clear GPIODOUT bit n. Read value is 0. |
GPIODOUTTGL @0x14 = 0x400c2014
General Purpose Input Output Data Out Toggle Toggle bits in GPIODOUT in instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and i = 1 for AUX_AIODIO1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] IO7_0 RWWrite 1 to bit index n in this bit vector to toggle GPIODOUT bit n. Read value is 0. |
GPIODIE @0x18 = 0x400c2018
General Purpose Input Output Digital Input Enable This register controls input buffers for AUXIO that are controlled by instance i of AUX_AIODIO. Hence, in formulas below i = 0 for AUX_AIODIO0 and I = 1 for AUX_AIODIO1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] IO7_0 RWWrite 1 to bit index n in this bit vector to enable digital input buffer for AUXIO[8i+n]. Write 0 to bit index n in this bit vector to disable digital input buffer for AUXIO[8i+n]. You must enable the digital input buffer for AUXIO[8i+n] to read the pin value in GPIODIN. You must disable the digital input buffer for analog input or pins that float to avoid current leakage. |
AUX_ANAIF at 0x400c9000 with offset=0 and size=4096:
AUX Analog Peripheral Control Module
Registers:
ADCCTL @0x10 = 0x400c9010
ADC Control Configuration of ADI_4_AUX:ADC0.SMPL_MODE decides if the ADC trigger starts sampling or conversion.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] CMD RWADC interface command. Non-enumerated values are not supported. The written value is returned when read. Possible values:
|
[8..=12] START_SRC RWSelect ADC trigger event source from the asynchronous AUX event bus.
Set START_SRC to NO_EVENT Possible values:
|
[13] START_POL RWSelect active polarity for START_SRC event. Possible values:
|
ADCFIFOSTAT @0x14 = 0x400c9014
ADC FIFO Status FIFO can hold up to four ADC samples.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] EMPTY RFIFO empty flag. 0: FIFO contains one or more samples. 1: FIFO is empty. When the flag is set, read returns the previous sample that was read and sets the UNDERFLOW flag. |
[1] ALMOST_FULL RFIFO almost full flag. 0: There are less than 3 samples in the FIFO, or the FIFO is full. The FULL flag is also asserted in the latter case. 1: There are 3 samples in the FIFO, there is room for one more sample. |
[2] FULL RFIFO full flag. 0: FIFO is not full, there is less than 4 samples in the FIFO. 1: FIFO is full, there are 4 samples in the FIFO. When the flag is set, it is not possible to add more samples to the ADC FIFO. An attempt to add samples sets the OVERFLOW flag. |
[3] UNDERFLOW RFIFO underflow flag. 0: FIFO has not underflowed. 1: FIFO has underflowed, this flag is sticky until you flush the FIFO. When the flag is set, the ADC FIFO read pointer is static. Read returns the previous sample that was read. Flush FIFO to clear the flag. |
[4] OVERFLOW RFIFO overflow flag. 0: FIFO has not overflowed. 1: FIFO has overflowed, this flag is sticky until you flush the FIFO. When the flag is set, the ADC FIFO write pointer is static. It is not possible to add more samples to the ADC FIFO. Flush FIFO to clear the flag. |
ADCFIFO @0x18 = 0x400c9018
ADC FIFO
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=11] DATA RWFIFO data. Read: Get oldest ADC sample from FIFO. Write: Write dummy sample to FIFO. This is useful for code development when you do not have real ADC samples. |
ADCTRIG @0x1c = 0x400c901c
ADC Trigger
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] START WManual ADC trigger.
0: No effect.
1: Single ADC trigger.
To manually trigger the ADC, you must set ADCCTL.START_SRC to NO_EVENT |
ISRCCTL @0x20 = 0x400c9020
Current Source Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RESET_N RWISRC reset control. 0: ISRC drives 0 uA. 1: ISRC drives current ADI_4_AUX:ISRC.TRIM to COMPA_IN. |
AUX_DDI0_OSC at 0x400ca000 with offset=0 and size=4096:
This is the DDI for the digital block that controls all the analog clock oscillators (OSC_DIG) and performs qualification of the clocks generated.
Registers:
CTL0 @0x0 = 0x400ca000
Control 0 Controls clock source selects
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||
[0] SCLK_HF_SRC_SEL RWSource select for sclk_hf. XOSC option is supported for test and debug only and should be used when the XOSC_HF is running. Possible values:
|
[1] SCLK_MF_SRC_SEL RWInternal. Only to be used through TI provided API. Possible values:
|
[2..=3] SCLK_LF_SRC_SEL RWSource select for sclk_lf Possible values:
|
[4] SPARE4 RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
[5..=6] ACLK_REF_SRC_SEL RWSource select for aclk_ref 00: RCOSC_HF derived (31.25kHz) 01: XOSC_HF derived (31.25kHz) 10: RCOSC_LF (32kHz) 11: XOSC_LF (32.768kHz) |
[7..=8] ACLK_TDC_SRC_SEL RWSource select for aclk_tdc. 00: RCOSC_HF (48MHz) 01: RCOSC_HF (24MHz) 10: XOSC_HF (24MHz) 11: Not used |
[9] CLK_LOSS_EN RWEnable clock loss detection and hence the indicators to system controller. Checks both SCLK_HF and SCLK_LF clock loss indicators. 0: Disable 1: Enable Clock loss detection must be disabled when changing the sclk_lf source. STAT0.SCLK_LF_SRC can be polled to determine when a change to a new sclk_lf source has completed. |
[10] XOSC_LF_DIG_BYPASS RWBypass XOSC_LF and use the digital input clock from AON for the xosc_lf clock. 0: Use 32kHz XOSC as xosc_lf clock source 1: Use digital input (from AON) as xosc_lf clock source. This bit will only have effect when SCLK_LF_SRC_SEL is selecting the xosc_lf as the sclk_lf source. The muxing performed by this bit is not glitch free. The following procedure must be followed when changing this field to avoid glitches on sclk_lf. 1) Set SCLK_LF_SRC_SEL to select any source other than the xosc_lf clock source. 2) Set or clear this bit to bypass or not bypass the xosc_lf. 3) Set SCLK_LF_SRC_SEL to use xosc_lf. It is recommended that either the rcosc_hf or xosc_hf (whichever is currently active) be selected as the source in step 1 above. This provides a faster clock change. |
[11] XOSC_HF_POWER_MODE RWInternal. Only to be used through TI provided API. |
[12] RCOSC_LF_TRIMMED RWInternal. Only to be used through TI provided API. |
[14] HPOSC_MODE_EN RWInternal. Only to be used through TI provided API. |
[16] ALLOW_SCLK_HF_SWITCHING RW0: Default - Switching of HF clock source is disabled . 1: Allows switching of sclk_hf source. Provided to prevent switching of the SCLK_HF source when running from flash (a long period during switching could corrupt flash). When sclk_hf switching is disabled, a new source can be started when SCLK_HF_SRC_SEL is changed, but the switch will not occur until this bit is set. This bit should be set to enable clock switching after STAT0.PENDINGSCLKHFSWITCHING indicates the new HF clock is ready. When switching completes (also indicated by STAT0.PENDINGSCLKHFSWITCHING) sclk_hf switching should be disabled to prevent flash corruption. Switching should not be enabled when running from flash. |
[22] FORCE_KICKSTART_EN RWInternal. Only to be used through TI provided API. |
[25] DOUBLER_RESET_DURATION RWInternal. Only to be used through TI provided API. |
[26..=27] DOUBLER_START_DURATION RWInternal. Only to be used through TI provided API. |
[28] BYPASS_RCOSC_LF_CLK_QUAL RWInternal. Only to be used through TI provided API. |
[29] BYPASS_XOSC_LF_CLK_QUAL RWInternal. Only to be used through TI provided API. |
[31] XTAL_IS_24M RWSet based on the accurate high frequency XTAL. Possible values:
|
CTL1 @0x4 = 0x400ca004
Control 1 This register contains OSC_DIG configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=1] XOSC_HF_FAST_START RWInternal. Only to be used through TI provided API. |
[2..=16] SPARE2 RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
[17] RCOSCHFCTRIMFRACT_EN RWInternal. Only to be used through TI provided API. |
[18..=22] RCOSCHFCTRIMFRACT RWInternal. Only to be used through TI provided API. |
RADCEXTCFG @0x8 = 0x400ca008
RADC External Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[5] RADC_MODE_IS_SAR RWInternal. Only to be used through TI provided API. |
[6..=11] RADC_DAC_TH RWInternal. Only to be used through TI provided API. |
[12..=15] IDAC_STEP RWInternal. Only to be used through TI provided API. |
[16..=21] LPM_IBIAS_WAIT_CNT RWInternal. Only to be used through TI provided API. |
[22..=31] HPM_IBIAS_WAIT_CNT RWInternal. Only to be used through TI provided API. |
AMPCOMPCTL @0xc = 0x400ca00c
Amplitude Compensation Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0..=3] IBIASCAP_HPTOLP_OL_CNT RWInternal. Only to be used through TI provided API. |
[4..=7] CAP_STEP RWInternal. Only to be used through TI provided API. |
[8..=15] LPM_IBIAS_WAIT_CNT_FINAL RWInternal. Only to be used through TI provided API. |
[16..=19] IBIAS_INIT RWInternal. Only to be used through TI provided API. |
[20..=23] IBIAS_OFFSET RWInternal. Only to be used through TI provided API. |
[26] AMPCOMP_SW_EN RWInternal. Only to be used through TI provided API. |
[27] AMPCOMP_SW_CTRL RWInternal. Only to be used through TI provided API. |
[28..=29] AMPCOMP_FSM_UPDATE_RATE RWInternal. Only to be used through TI provided API. Possible values:
|
[30] AMPCOMP_REQ_MODE RWInternal. Only to be used through TI provided API. |
[31] SPARE31 RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
AMPCOMPTH1 @0x10 = 0x400ca010
Amplitude Compensation Threshold 1 This register contains threshold values for amplitude compensation algorithm
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] HPMRAMP1_TH RWInternal. Only to be used through TI provided API. |
[6..=9] IBIASCAP_LPTOHP_OL_CNT RWInternal. Only to be used through TI provided API. |
[10..=15] HPMRAMP3_HTH RWInternal. Only to be used through TI provided API. |
[16..=17] SPARE16 RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
[18..=23] HPMRAMP3_LTH RWInternal. Only to be used through TI provided API. |
[24..=31] SPARE24 RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
AMPCOMPTH2 @0x14 = 0x400ca014
Amplitude Compensation Threshold 2 This register contains threshold values for amplitude compensation algorithm.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=1] SPARE0 RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
[2..=7] ADC_COMP_AMPTH_HPM RWInternal. Only to be used through TI provided API. |
[8..=9] SPARE8 RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
[10..=15] ADC_COMP_AMPTH_LPM RWInternal. Only to be used through TI provided API. |
[16..=17] SPARE16 RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
[18..=23] LPMUPDATE_HTH RWInternal. Only to be used through TI provided API. |
[24..=25] SPARE24 RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
[26..=31] LPMUPDATE_LTH RWInternal. Only to be used through TI provided API. |
ANABYPASSVAL1 @0x18 = 0x400ca018
Analog Bypass Values 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] XOSC_HF_COLUMN_Q12 RWInternal. Only to be used through TI provided API. |
[16..=19] XOSC_HF_ROW_Q12 RWInternal. Only to be used through TI provided API. |
ANABYPASSVAL2 @0x1c = 0x400ca01c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=13] XOSC_HF_IBIASTHERM RWInternal. Only to be used through TI provided API. |
ATESTCTL @0x20 = 0x400ca020
Analog Test Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[29] SCLK_LF_AUX_EN RWEnable 32 kHz clock to AUX_COMPB. |
[30..=31] SPARE30 RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
ADCDOUBLERNANOAMPCTL @0x24 = 0x400ca024
ADC Doubler Nanoamp Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=1] ADC_IREF_CTRL RWInternal. Only to be used through TI provided API. |
[4] ADC_SH_VBUF_EN RWInternal. Only to be used through TI provided API. |
[5] ADC_SH_MODE_EN RWInternal. Only to be used through TI provided API. |
[23] SPARE23 RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior |
[24] NANOAMP_BIAS_ENABLE RWInternal. Only to be used through TI provided API. |
XOSCHFCTL @0x28 = 0x400ca028
XOSCHF Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=1] LP_BUF_ITRIM RWInternal. Only to be used through TI provided API. |
[2..=4] HP_BUF_ITRIM RWInternal. Only to be used through TI provided API. |
[6] BYPASS RWInternal. Only to be used through TI provided API. |
[8..=9] PEAK_DET_ITRIM RWInternal. Only to be used through TI provided API. |
LFOSCCTL @0x2c = 0x400ca02c
Low Frequency Oscillator Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0..=7] RCOSCLF_CTUNE_TRIM RWInternal. Only to be used through TI provided API. |
[8..=9] RCOSCLF_RTUNE_TRIM RWInternal. Only to be used through TI provided API. Possible values:
|
[18..=21] XOSCLF_CMIRRWR_RATIO RWInternal. Only to be used through TI provided API. |
[22..=23] XOSCLF_REGULATOR_TRIM RWInternal. Only to be used through TI provided API. |
RCOSCHFCTL @0x30 = 0x400ca030
RCOSCHF Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[8..=15] RCOSCHF_CTRIM RWInternal. Only to be used through TI provided API. |
STAT0 @0x34 = 0x400ca034
Status 0 This register contains status signals from OSC_DIG
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||
[0] PENDINGSCLKHFSWITCHING RIndicates when sclk_hf is ready to be switched |
[1..=6] ADC_DATA Radc_data |
[7] ADC_DATA_READY Rindicates when adc_data is ready. |
[8] ADC_THMET RADC_THMET |
[10] XOSC_HF_HP_BUF_EN RXOSC_HF_HP_BUF_EN |
[11] XOSC_HF_LP_BUF_EN RXOSC_HF_LP_BUF_EN |
[13] XB_48M_CLK_EN RIndicates that the 48MHz clock from the DOUBLER is enabled. It will be enabled if 24 or 48 MHz crystal is used (enabled in doubler bypass for the 48MHz crystal). |
[15] XOSC_HF_EN RIndicates that XOSC_HF is enabled. |
[16] SCLK_LF_LOSS RIndicates sclk_lf is lost |
[17] SCLK_HF_LOSS RIndicates sclk_hf is lost |
[18] CLK_DCDC_RDY_ACK RCLK_DCDC_RDY_ACK |
[19] CLK_DCDC_RDY RCLK_DCDC_RDY |
[20] XOSC_LF_EN RXOSC_LF_EN |
[21] RCOSC_LF_EN RRCOSC_LF_EN |
[22] RCOSC_HF_EN RRCOSC_HF_EN |
[28] SCLK_HF_SRC RIndicates source for the sclk_hf Possible values:
|
[29..=30] SCLK_LF_SRC RIndicates source for the sclk_lf Possible values:
|
[31] SPARE31 RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
STAT1 @0x38 = 0x400ca038
Status 1 This register contains status signals from OSC_DIG
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||
[0] CLK_DCDC_GOOD RCLK_DCDC_GOOD |
[1] CLK_CHP_GOOD RCLK_CHP_GOOD |
[2] ACLK_REF_GOOD RACLK_REF_GOOD |
[3] ACLK_TDC_GOOD RACLK_TDC_GOOD |
[4] ACLK_ADC_GOOD RACLK_ADC_GOOD |
[5] SCLK_LF_GOOD RSCLK_LF_GOOD |
[6] SCLK_MF_GOOD RSCLK_MF_GOOD |
[7] SCLK_HF_GOOD RSCLK_HF_GOOD |
[8] CLK_DCDC_EN RCLK_DCDC_EN |
[9] CLK_CHP_EN RCLK_CHP_EN |
[10] ACLK_REF_EN RACLK_REF_EN |
[11] ACLK_TDC_EN RACLK_TDC_EN |
[12] ACLK_ADC_EN RACLK_ADC_EN |
[13] SCLK_MF_EN RSCLK_MF_EN |
[14] SCLK_HF_EN RSCLK_HF_EN |
[15] FORCE_RCOSC_HF Rforce_rcosc_hf |
[16..=21] LPM_UPDATE_AMP ROSC amplitude during LPM_UPDATE state When amplitude compensation of XOSC_HF is enabled in low power mode, this value is the amplitude of the crystal oscillations measured by the on-chip oscillator ADC, divided by 15 mV. For example, a value of 0x20 would indicate that the amplitude of the crystal is approximately 480 mV. To enable amplitude compensation, AON_WUC OSCCFG must be set to a non-zero value. |
[22..=27] HPM_UPDATE_AMP ROSC amplitude during HPM_UPDATE state. When amplitude compensation of XOSC_HF is enabled in high performance mode, this value is the amplitude of the crystal oscillations measured by the on-chip oscillator ADC, divided by 15 mV. For example, a value of 0x20 would indicate that the amplitude of the crystal is approximately 480 mV. To enable amplitude compensation, AON_WUC OSCCFG must be set to a non-zero value. |
[28..=31] RAMPSTATE RAMPCOMP FSM State Possible values:
|
STAT2 @0x3c = 0x400ca03c
Status 2 This register contains status signals from AMPCOMP FSM
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] XOSC_HF_RF_FREQGOOD Rfrequency of xosc_hf is within +/- 20 ppm and xosc_hf is good for radio operations. Used for SW to start synthesizer. |
[1] XOSC_HF_FREQGOOD Rfrequency of xosc_hf is good to use for the digital clocks |
[2] XOSC_HF_AMPGOOD Ramplitude of xosc_hf is within the required threshold (set by DDI). Not used for anything just for debug/status |
[3] AMPCOMP_REQ Rampcomp_req |
[12..=15] RAMPSTATE Rxosc_hf amplitude compensation FSM This is identical to STAT1.RAMPSTATE. See that description for encoding. |
[23] HPM_RAMP3_THMET RIndication of threshold is met for hpm_ramp3 |
[24] HPM_RAMP2_THMET RIndication of threshold is met for hpm_ramp2 |
[25] HPM_RAMP1_THMET RIndication of threshold is met for hpm_ramp1 |
[26..=31] ADC_DCBIAS RDC Bias read by RADC during SAR mode The value is an unsigned integer. It is used for debug only. |
AUX_EVCTL at 0x400c5000 with offset=0 and size=4096:
AUX Event Controller
Registers:
VECCFG0 @0x0 = 0x400c5000
Vector Configuration 0 AUX_SCE wakeup vector 0 and 1 configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=4] VEC0_EV RWSelect vector 0 trigger source event. Possible values:
|
[5] VEC0_EN RWVector 0 trigger enable. When enabled, VEC0_EV event with VEC0_POL polarity triggers a jump to vector # 0 when AUX_SCE sleeps. Possible values:
|
[6] VEC0_POL RWVector 0 trigger event polarity. To manually trigger vector 0 execution: - AUX_SCE must sleep. - Set VEC0_EV to a known static value. - Toggle VEC0_POL twice. Possible values:
|
[8..=12] VEC1_EV RWSelect vector 1 trigger source event. Possible values:
|
[13] VEC1_EN RWVector 1 trigger enable. When enabled, VEC1_EV event with VEC1_POL polarity triggers a jump to vector # 1 when AUX_SCE sleeps. Lower vectors (0) have priority. Possible values:
|
[14] VEC1_POL RWVector 1 trigger event polarity. To manually trigger vector 1 execution: - AUX_SCE must sleep. - Set VEC1_EV to a known static value. - Toggle VEC1_POL twice. Possible values:
|
VECCFG1 @0x4 = 0x400c5004
Vector Configuration 1 AUX_SCE event vectors 2 and 3 configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=4] VEC2_EV RWSelect vector 2 trigger source event. Possible values:
|
[5] VEC2_EN RWVector 2 trigger enable. When enabled, VEC2_EV event with VEC2_POL polarity triggers a jump to vector # 2 when AUX_SCE sleeps. Lower vectors (0 and 1) have priority. Possible values:
|
[6] VEC2_POL RWVector 2 trigger event polarity. To manually trigger vector 2 execution: - AUX_SCE must sleep. - Set VEC2_EV to a known static value. - Toggle VEC2_POL twice. Possible values:
|
[8..=12] VEC3_EV RWSelect vector 3 trigger source event. Possible values:
|
[13] VEC3_EN RWVector 3 trigger enable. When enabled, VEC3_EV event with VEC3_POL polarity triggers a jump to vector # 3 when AUX_SCE sleeps. Lower vectors (0, 1, and 2) have priority. Possible values:
|
[14] VEC3_POL RWVector 3 trigger event polarity. To manually trigger vector 3 execution: - AUX_SCE must sleep. - Set VEC3_EV to a known static value. - Toggle VEC3_POL twice. Possible values:
|
SCEWEVSEL @0x8 = 0x400c5008
Sensor Controller Engine Wait Event Selection Configuration of this register controls bit index 7 in AUX_SCE:WUSTAT.EV_SIGNALS. This bit can be used by AUX_SCE WEV0, WEV1, BEV0 and BEV1 instructions
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=4] WEV7_EV RWSelect event source to connect to AUX_SCE:WUSTAT.EV_SIGNALS bit 7. Possible values:
|
EVTOAONFLAGS @0xc = 0x400c500c
Events To AON Flags This register contains a collection of event flags routed to AON_EVENT. To clear an event flag, write to EVTOAONFLAGSCLR or write 0 to event flag in this register.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SWEV0 RWThis event flag is set when software writes a 1 to SWEVSET.SWEV0. |
[1] SWEV1 RWThis event flag is set when software writes a 1 to SWEVSET.SWEV1. |
[2] SWEV2 RWThis event flag is set when software writes a 1 to SWEVSET.SWEV2. |
[3] AUX_COMPA RWThis event flag is set when edge selected by EVTOAONPOL.AUX_COMPA occurs on EVSTAT0.AUX_COMPA. |
[4] AUX_COMPB RWThis event flag is set when edge selected by EVTOAONPOL.AUX_COMPB occurs on EVSTAT0.AUX_COMPB. |
[5] ADC_DONE RWThis event flag is set when level selected by EVTOAONPOL.ADC_DONE occurs on EVSTAT0.ADC_DONE. |
[6] TDC_DONE RWThis event flag is set when level selected by EVTOAONPOL.TDC_DONE occurs on EVSTAT0.TDC_DONE. |
[7] TIMER0_EV RWThis event flag is set when level selected by EVTOAONPOL.TIMER0_EV occurs on EVSTAT0.TIMER0_EV. |
[8] TIMER1_EV RWThis event flag is set when level selected by EVTOAONPOL.TIMER1_EV occurs on EVSTAT0.TIMER1_EV. |
EVTOAONPOL @0x10 = 0x400c5010
Events To AON Polarity Event source polarity configuration for EVTOAONFLAGS.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
[3] AUX_COMPA RWSelect the edge of EVSTAT0.AUX_COMPA that sets EVTOAONFLAGS.AUX_COMPA. Possible values:
|
[4] AUX_COMPB RWSelect the edge of EVSTAT0.AUX_COMPB that sets EVTOAONFLAGS.AUX_COMPB. Possible values:
|
[5] ADC_DONE RWSelect the level of EVSTAT0.ADC_DONE that sets EVTOAONFLAGS.ADC_DONE. Possible values:
|
[6] TDC_DONE RWSelect level of EVSTAT0.TDC_DONE that sets EVTOAONFLAGS.TDC_DONE. Possible values:
|
[7] TIMER0_EV RWSelect the level of EVSTAT0.TIMER0_EV that sets EVTOAONFLAGS.TIMER0_EV. Possible values:
|
[8] TIMER1_EV RWSelect the level of EVSTAT0.TIMER1_EV that sets EVTOAONFLAGS.TIMER1_EV. Possible values:
|
DMACTL @0x14 = 0x400c5014
Direct Memory Access Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||
[0] SEL RWSelect FIFO watermark level required to trigger a UDMA0 transfer of ADC FIFO data. Possible values:
|
[1] EN RWuDMA ADC interface enable. 0: Disable UDMA0 interface to ADC. 1: Enable UDMA0 interface to ADC. |
[2] REQ_MODE RWUDMA0 Request mode Possible values:
|
SWEVSET @0x18 = 0x400c5018
Software Event Set Set software event flags from AUX domain to AON and MCU domains. CPUs in MCU domain can read the event flags from EVTOAONFLAGS and clear them in EVTOAONFLAGSCLR. Use of these event flags is software-defined.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SWEV0 WSoftware event flag 0. 0: No effect. 1: Set software event flag 0. |
[1] SWEV1 WSoftware event flag 1. 0: No effect. 1: Set software event flag 1. |
[2] SWEV2 WSoftware event flag 2. 0: No effect. 1: Set software event flag 2. |
EVSTAT0 @0x1c = 0x400c501c
Event Status 0 Register holds events 0 thru 15 of the 32-bit event bus that is synchronous to AUX clock. The following subscribers use the asynchronous version of events in this register. - AUX_ANAIF. - AUX_TDC.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] AON_RTC_CH2 RAON_RTC:EVFLAGS.CH2 |
[1] AUX_COMPA RComparator A output |
[2] AUX_COMPB RComparator B output |
[3] TDC_DONE RAUX_TDC:STAT.DONE |
[4] TIMER0_EV RAUX_TIMER0_EV event, see AUX_TIMER:T0TARGET for description. |
[5] TIMER1_EV RAUX_TIMER1_EV event, see AUX_TIMER:T1TARGET for description. |
[6] SMPH_AUTOTAKE_DONE RSee AUX_SMPH:AUTOTAKE.SMPH_ID for description. |
[7] ADC_DONE RAUX_ANAIF ADC conversion done event. |
[8] ADC_FIFO_ALMOST_FULL RAUX_ANAIF:ADCFIFOSTAT.ALMOST_FULL |
[9] OBSMUX0 RObservation input 0 from IOC. This event is configured by IOC:OBSAUXOUTPUT.SEL0 and can be overridden by IOC:OBSAUXOUTPUT.SEL_MISC. |
[10] OBSMUX1 RObservation input 1 from IOC. This event is configured by IOC:OBSAUXOUTPUT.SEL1. |
[11] AON_SW RAON_WUC:AUXCTL.SWEV |
[12] AON_PROG_WU RAON_EVENT:AUXWUSEL.WU2_EV OR AON_EVENT:AUXWUSEL.WU1_EV OR AON_EVENT:AUXWUSEL.WU0_EV |
[13] AUXIO0 RAUXIO0 pin level, read value corresponds to AUX_AIODIO0:GPIODIN bit 0. |
[14] AUXIO1 RAUXIO1 pin level, read value corresponds to AUX_AIODIO0:GPIODIN bit 1. |
[15] AUXIO2 RAUXIO2 pin level, read value corresponds to AUX_AIODIO0:GPIODIN bit 2. |
EVSTAT1 @0x20 = 0x400c5020
Event Status 1 Current event source levels, 31:16
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] AUXIO3 RAUXIO3 pin level, read value corresponds to AUX_AIODIO0:GPIODIN bit 3. |
[1] AUXIO4 RAUXIO4 pin level, read value corresponds to AUX_AIODIO0:GPIODIN bit 4. |
[2] AUXIO5 RAUXIO5 pin level, read value corresponds to AUX_AIODIO0:GPIODIN bit 5. |
[3] AUXIO6 RAUXIO6 pin level, read value corresponds to AUX_AIODIO0:GPIODIN bit 6. |
[4] AUXIO7 RAUXIO7 pin level, read value corresponds to AUX_AIODIO0:GPIODIN bit 7. |
[5] AUXIO8 RAUXIO8 pin level, read value corresponds to AUX_AIODIO1:GPIODIN bit 0. |
[6] AUXIO9 RAUXIO9 pin level, read value corresponds to AUX_AIODIO1:GPIODIN bit 1. |
[7] AUXIO10 RAUXIO10 pin level, read value corresponds to AUX_AIODIO1:GPIODIN bit 2. |
[8] AUXIO11 RAUXIO11 pin level, read value corresponds to AUX_AIODIO1:GPIODIN bit 3. |
[9] AUXIO12 RAUXIO12 pin level, read value corresponds to AUX_AIODIO1:GPIODIN bit 4. |
[10] AUXIO13 RAUXIO13 pin level, read value corresponds to AUX_AIODIO1:GPIODIN bit 5. |
[11] AUXIO14 RAUXIO14 pin level, read value corresponds to AUX_AIODIO1:GPIODIN bit 6. |
[12] AUXIO15 RAUXIO15 pin level, read value corresponds to AUX_AIODIO1:GPIODIN bit 7. |
[13] ACLK_REF RTDC reference clock. It is configured by DDI_0_OSC:CTL0.ACLK_REF_SRC_SEL and enabled by AUX_WUC:REFCLKCTL.REQ. |
[14] MCU_EV REvent from EVENT configured by EVENT:AUXSEL0. |
[15] ADC_IRQ RThe logical function for this event is configurable. When DMACTL.EN = 1 : Event = UDMA0 Channel 7 done event OR AUX_ANAIF:ADCFIFOSTAT.OVERFLOW OR AUX_ANAIF:ADCFIFOSTAT.UNDERFLOW When DMACTL.EN = 0 : Event = (NOT AUX_ANAIF:ADCFIFOSTAT.EMPTY) OR AUX_ANAIF:ADCFIFOSTAT.OVERFLOW OR AUX_ANAIF:ADCFIFOSTAT.UNDERFLOW Bit 7 in UDMA0:DONEMASK must be 0. |
EVTOMCUPOL @0x24 = 0x400c5024
Event To MCU Polarity Event source polarity configuration for EVTOMCUFLAGS.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] AON_WU_EV RWSelect the event source level that sets EVTOMCUFLAGS.AON_WU_EV. Possible values:
|
[1] AUX_COMPA RWSelect the event source level that sets EVTOMCUFLAGS.AUX_COMPA. Possible values:
|
[2] AUX_COMPB RWSelect the event source level that sets EVTOMCUFLAGS.AUX_COMPB. Possible values:
|
[3] TDC_DONE RWSelect the event source level that sets EVTOMCUFLAGS.TDC_DONE. Possible values:
|
[4] TIMER0_EV RWSelect the event source level that sets EVTOMCUFLAGS.TIMER0_EV. Possible values:
|
[5] TIMER1_EV RWSelect the event source level that sets EVTOMCUFLAGS.TIMER1_EV. Possible values:
|
[6] SMPH_AUTOTAKE_DONE RWSelect the event source level that sets EVTOMCUFLAGS.SMPH_AUTOTAKE_DONE. Possible values:
|
[7] ADC_DONE RWSelect the event source level that sets EVTOMCUFLAGS.ADC_DONE. Possible values:
|
[8] ADC_FIFO_ALMOST_FULL RWSelect the event source level that sets EVTOMCUFLAGS.ADC_FIFO_ALMOST_FULL. Possible values:
|
[9] OBSMUX0 RWSelect the event source level that sets EVTOMCUFLAGS.OBSMUX0. Possible values:
|
[10] ADC_IRQ RWSelect the event source level that sets EVTOMCUFLAGS.ADC_IRQ. Possible values:
|
EVTOMCUFLAGS @0x28 = 0x400c5028
Events to MCU Flags This register contains a collection of event flags routed to MCU domain. To clear an event flag, write to EVTOMCUFLAGSCLR or write 0 to event flag in this register. Follow procedure described in AUX_SYSIF:WUCLR to clear AUX_WU_EV event flag.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] AON_WU_EV RWThis event flag is set when level selected by EVTOMCUPOL.AON_WU_EV occurs on the reduction-OR of the AUX_EVCTL:EVSTAT0.RTC_CH2_EV, AUX_EVCTL:EVSTAT0.AON_SW, and AUX_EVCTL:EVSTAT0.AON_PROG_WU events. |
[1] AUX_COMPA RWThis event flag is set when edge selected by EVTOMCUPOL.AUX_COMPA occurs on EVSTAT0.AUX_COMPA. |
[2] AUX_COMPB RWThis event flag is set when edge selected by EVTOMCUPOL.AUX_COMPB occurs on EVSTAT0.AUX_COMPB. |
[3] TDC_DONE RWThis event flag is set when level selected by EVTOMCUPOL.TDC_DONE occurs on EVSTAT0.TDC_DONE. |
[4] TIMER0_EV RWThis event flag is set when level selected by EVTOMCUPOL.TIMER0_EV occurs on EVSTAT0.TIMER0_EV. |
[5] TIMER1_EV RWThis event flag is set when level selected by EVTOMCUPOL.TIMER1_EV occurs on EVSTAT0.TIMER1_EV. |
[6] SMPH_AUTOTAKE_DONE RWThis event flag is set when level selected by EVTOMCUPOL.SMPH_AUTOTAKE_DONE occurs on EVSTAT0.SMPH_AUTOTAKE_DONE. |
[7] ADC_DONE RWThis event flag is set when level selected by EVTOMCUPOL.ADC_DONE occurs on EVSTAT0.ADC_DONE. |
[8] ADC_FIFO_ALMOST_FULL RWThis event flag is set when level selected by EVTOMCUPOL.ADC_FIFO_ALMOST_FULL occurs on EVSTAT0.ADC_FIFO_ALMOST_FULL. |
[9] OBSMUX0 RWThis event flag is set when level selected by EVTOMCUPOL.MCU_OBSMUX0 occurs on EVSTAT0.MCU_OBSMUX0. |
[10] ADC_IRQ RWThis event flag is set when level selected by EVTOMCUPOL.ADC_IRQ occurs on EVSTAT0.ADC_IRQ. |
COMBEVTOMCUMASK @0x2c = 0x400c502c
Combined Event To MCU Mask Select event flags in EVTOMCUFLAGS that contribute to the AUX_COMB event to EVENT and system CPU. The AUX_COMB event is high as long as one or more of the included event flags are set.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] AON_WU_EV RWEVTOMCUFLAGS.AON_WU_EV contribution to the AUX_COMB event. 0: Exclude. 1: Include. |
[1] AUX_COMPA RWEVTOMCUFLAGS.AUX_COMPA contribution to the AUX_COMB event. 0: Exclude. 1: Include. |
[2] AUX_COMPB RWEVTOMCUFLAGS.AUX_COMPB contribution to the AUX_COMB event. 0: Exclude 1: Include. |
[3] TDC_DONE RWEVTOMCUFLAGS.TDC_DONE contribution to the AUX_COMB event. 0: Exclude. 1: Include. |
[4] TIMER0_EV RWEVTOMCUFLAGS.TIMER0_EV contribution to the AUX_COMB event. 0: Exclude. 1: Include. |
[5] TIMER1_EV RWEVTOMCUFLAGS.TIMER1_EV contribution to the AUX_COMB event. 0: Exclude. 1: Include. |
[6] SMPH_AUTOTAKE_DONE RWEVTOMCUFLAGS.SMPH_AUTOTAKE_DONE contribution to the AUX_COMB event. 0: Exclude. 1: Include. |
[7] ADC_DONE RWEVTOMCUFLAGS.ADC_DONE contribution to the AUX_COMB event. 0: Exclude. 1: Include. |
[8] ADC_FIFO_ALMOST_FULL RWEVTOMCUFLAGS.ADC_FIFO_ALMOST_FULL contribution to the AUX_COMB event. 0: Exclude. 1: Include. |
[9] OBSMUX0 RWEVTOMCUFLAGS.MCU_OBSMUX0 contribution to the AUX_COMB event. 0: Exclude. 1: Include. |
[10] ADC_IRQ RWEVTOMCUFLAGS.ADC_IRQ contribution to the AUX_COMB event. 0: Exclude. 1: Include. |
VECFLAGS @0x34 = 0x400c5034
Vector Flags If a vector flag becomes 1 and AUX_SCE sleeps, AUX_SCE will wake up and execute the corresponding vector. The vector with the lowest index will execute first if multiple vectors flags are set. AUX_SCE must return to sleep to execute the next vector. During execution of a vector, AUX_SCE must clear the vector flag that triggered execution. Write 1 to bit index n in VECFLAGSCLR to clear vector flag n.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] VEC0 RWVector flag 0. The vector flag is set if the edge selected VECCFG0.VEC0_POL occurs on the event selected in VECCFG0.VEC0_EV. The flag is cleared by writing a 0 to this bit, or (preferably) a 1 to VECFLAGSCLR.VEC0. |
[1] VEC1 RWVector flag 1. The vector flag is set if the edge selected VECCFG0.VEC1_POL occurs on the event selected in VECCFG0.VEC1_EV. The flag is cleared by writing a 0 to this bit, or (preferably) a 1 to VECFLAGSCLR.VEC1. |
[2] VEC2 RWVector flag 2. The vector flag is set if the edge selected VECCFG1.VEC2_POL occurs on the event selected in VECCFG1.VEC2_EV. The flag is cleared by writing a 0 to this bit, or (preferably) a 1 to VECFLAGSCLR.VEC2. |
[3] VEC3 RWVector flag 3. The vector flag is set if the edge selected VECCFG1.VEC3_POL occurs on the event selected in VECCFG1.VEC3_EV. The flag is cleared by writing a 0 to this bit, or (preferably) a 1 to VECFLAGSCLR.VEC3. |
EVTOMCUFLAGSCLR @0x38 = 0x400c5038
Events To MCU Flags Clear Clear event flags in EVTOMCUFLAGS. In order to clear a level sensitive event flag, the event must be deasserted.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] AON_WU_EV WWrite 1 to clear EVTOMCUFLAGS.AON_WU_EV. Read value is 0. |
[1] AUX_COMPA WWrite 1 to clear EVTOMCUFLAGS.AUX_COMPA. Read value is 0. |
[2] AUX_COMPB WWrite 1 to clear EVTOMCUFLAGS.AUX_COMPB. Read value is 0. |
[3] TDC_DONE WWrite 1 to clear EVTOMCUFLAGS.TDC_DONE. Read value is 0. |
[4] TIMER0_EV WWrite 1 to clear EVTOMCUFLAGS.TIMER0_EV. Read value is 0. |
[5] TIMER1_EV WWrite 1 to clear EVTOMCUFLAGS.TIMER1_EV. Read value is 0. |
[6] SMPH_AUTOTAKE_DONE WWrite 1 to clear EVTOMCUFLAGS.SMPH_AUTOTAKE_DONE. Read value is 0. |
[7] ADC_DONE WWrite 1 to clear EVTOMCUFLAGS.ADC_DONE. Read value is 0. |
[8] ADC_FIFO_ALMOST_FULL WWrite 1 to clear EVTOMCUFLAGS.ADC_FIFO_ALMOST_FULL. Read value is 0. |
[9] OBSMUX0 WWrite 1 to clear EVTOMCUFLAGS.MCU_OBSMUX0. Read value is 0. |
[10] ADC_IRQ WWrite 1 to clear EVTOMCUFLAGS.ADC_IRQ. Read value is 0. |
EVTOAONFLAGSCLR @0x3c = 0x400c503c
Events To AON Clear Clear event flags in EVTOAONFLAGS. In order to clear a level sensitive event flag, the event must be deasserted.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SWEV0 WWrite 1 to clear EVTOAONFLAGS.SWEV0. Read value is 0. |
[1] SWEV1 WWrite 1 to clear EVTOAONFLAGS.SWEV1. Read value is 0. |
[2] SWEV2 WWrite 1 to clear EVTOAONFLAGS.SWEV2. Read value is 0. |
[3] AUX_COMPA WWrite 1 to clear EVTOAONFLAGS.AUX_COMPA. Read value is 0. |
[4] AUX_COMPB WWrite 1 to clear EVTOAONFLAGS.AUX_COMPB. Read value is 0. |
[5] ADC_DONE WWrite 1 to clear EVTOAONFLAGS.ADC_DONE. Read value is 0. |
[6] TDC_DONE WWrite 1 to clear EVTOAONFLAGS.TDC_DONE. Read value is 0. |
[7] TIMER0_EV WWrite 1 to clear EVTOAONFLAGS.TIMER0_EV. Read value is 0. |
[8] TIMER1_EV WWrite 1 to clear EVTOAONFLAGS.TIMER1_EV. Read value is 0. |
VECFLAGSCLR @0x40 = 0x400c5040
Vector Flags Clear Strobes for clearing flags in VECFLAGS.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] VEC0 WClear vector flag 0. 0: No effect. 1: Clear VECFLAGS.VEC0. Read value is 0. |
[1] VEC1 WClear vector flag 1. 0: No effect. 1: Clear VECFLAGS.VEC1. Read value is 0. |
[2] VEC2 WClear vector flag 2. 0: No effect. 1: Clear VECFLAGS.VEC2. Read value is 0. |
[3] VEC3 WClear vector flag 3. 0: No effect. 1: Clear VECFLAGS.VEC3. Read value is 0. |
AUX_SCE at 0x400e1000 with offset=0 and size=4096:
AUX Sensor Control Engine Control Module
Registers:
CTL @0x0 = 0x400e1000
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RWInternal. Only to be used through TI provided API. |
[1] SUSPEND RWInternal. Only to be used through TI provided API. |
[2] SINGLE_STEP RWInternal. Only to be used through TI provided API. |
[3] RESTART RWInternal. Only to be used through TI provided API. |
[4] FORCE_WU_HIGH RWInternal. Only to be used through TI provided API. |
[5] FORCE_WU_LOW RWInternal. Only to be used through TI provided API. |
[6] DBG_FREEZE_EN WInternal. Only to be used through TI provided API. |
[8..=11] RESET_VECTOR RWInternal. Only to be used through TI provided API. |
[16..=23] FORCE_EV_HIGH RWInternal. Only to be used through TI provided API. |
[24..=31] FORCE_EV_LOW RWInternal. Only to be used through TI provided API. |
FETCHSTAT @0x4 = 0x400e1004
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] PC RInternal. Only to be used through TI provided API. |
[16..=31] OPCODE RInternal. Only to be used through TI provided API. |
CPUSTAT @0x8 = 0x400e1008
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] Z_FLAG RInternal. Only to be used through TI provided API. |
[1] N_FLAG RInternal. Only to be used through TI provided API. |
[2] C_FLAG RInternal. Only to be used through TI provided API. |
[3] V_FLAG RInternal. Only to be used through TI provided API. |
[8] SELF_STOP RInternal. Only to be used through TI provided API. |
[9] WEV RInternal. Only to be used through TI provided API. |
[10] SLEEP RInternal. Only to be used through TI provided API. |
[11] BUS_ERROR RInternal. Only to be used through TI provided API. |
WUSTAT @0xc = 0x400e100c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] EV_SIGNALS RInternal. Only to be used through TI provided API. |
[8] WU_SIGNAL RInternal. Only to be used through TI provided API. |
[16..=17] EXC_VECTOR RInternal. Only to be used through TI provided API. |
REG1_0 @0x10 = 0x400e1010
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] REG0 RInternal. Only to be used through TI provided API. |
[16..=31] REG1 RInternal. Only to be used through TI provided API. |
REG3_2 @0x14 = 0x400e1014
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] REG2 RInternal. Only to be used through TI provided API. |
[16..=31] REG3 RInternal. Only to be used through TI provided API. |
REG5_4 @0x18 = 0x400e1018
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] REG4 RInternal. Only to be used through TI provided API. |
[16..=31] REG5 RInternal. Only to be used through TI provided API. |
REG7_6 @0x1c = 0x400e101c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] REG6 RInternal. Only to be used through TI provided API. |
[16..=31] REG7 RInternal. Only to be used through TI provided API. |
LOOPADDR @0x20 = 0x400e1020
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] START RInternal. Only to be used through TI provided API. |
[16..=31] STOP RInternal. Only to be used through TI provided API. |
LOOPCNT @0x24 = 0x400e1024
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] ITER_LEFT RInternal. Only to be used through TI provided API. |
AUX_SMPH at 0x400c8000 with offset=0 and size=4096:
AUX Semaphore Controller
Registers:
SMPH0 @0x0 = 0x400c8000
Semaphore 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWRequest or release of semaphore. Request by read: 0: Semaphore not available. 1: Semaphore granted. Release by write: 0: Do not use. 1: Release semaphore. |
SMPH1 @0x4 = 0x400c8004
Semaphore 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWRequest or release of semaphore. Request by read: 0: Semaphore not available. 1: Semaphore granted. Release by write: 0: Do not use. 1: Release semaphore. |
SMPH2 @0x8 = 0x400c8008
Semaphore 2
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWRequest or release of semaphore. Request by read: 0: Semaphore not available. 1: Semaphore granted. Release by write: 0: Do not use. 1: Release semaphore. |
SMPH3 @0xc = 0x400c800c
Semaphore 3
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWRequest or release of semaphore. Request by read: 0: Semaphore not available. 1: Semaphore granted. Release by write: 0: Do not use. 1: Release semaphore. |
SMPH4 @0x10 = 0x400c8010
Semaphore 4
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWRequest or release of semaphore. Request by read: 0: Semaphore not available. 1: Semaphore granted. Release by write: 0: Do not use. 1: Release semaphore. |
SMPH5 @0x14 = 0x400c8014
Semaphore 5
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWRequest or release of semaphore. Request by read: 0: Semaphore not available. 1: Semaphore granted. Release by write: 0: Do not use. 1: Release semaphore. |
SMPH6 @0x18 = 0x400c8018
Semaphore 6
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWRequest or release of semaphore. Request by read: 0: Semaphore not available. 1: Semaphore granted. Release by write: 0: Do not use. 1: Release semaphore. |
SMPH7 @0x1c = 0x400c801c
Semaphore 7
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWRequest or release of semaphore. Request by read: 0: Semaphore not available. 1: Semaphore granted. Release by write: 0: Do not use. 1: Release semaphore. |
AUTOTAKE @0x20 = 0x400c8020
Auto Take Sticky Request for Single Semaphore.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] SMPH_ID RWWrite the semaphore ID,0x0-0x7, to SMPH_ID to request this semaphore until it is granted. When semaphore SMPH_ID is granted, event AUX_EVCTL:EVSTAT0.AUX_SMPH_AUTOTAKE_DONE becomes 1. The event becomes 0 when software releases the semaphore or writes a new value to SMPH_ID. To avoid corrupted semaphores: - Usage of this functionality must be restricted to one CPU core. - Software must wait until AUX_EVCTL:EVSTAT0.AUX_SMPH_AUTOTAKE_DONE is 1 before it writes a new value to SMPH_ID. |
AUX_TDCIF at 0x400c4000 with offset=0 and size=4096:
AUX Time To Digital Converter
Registers:
CTL @0x0 = 0x400c4000
Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0..=1] CMD WTDC commands. Possible values:
|
STAT @0x4 = 0x400c4004
Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||
[0..=5] STATE RTDC state machine status. Possible values:
|
[6] DONE RTDC measurement complete flag. 0: TDC measurement has not yet completed. 1: TDC measurement has completed. This field clears when a new TDC measurement starts or when you write CLR_RESULT to CTL.CMD. |
[7] SAT RTDC measurement saturation flag. 0: Conversion has not saturated. 1: Conversion stopped due to saturation. This field is cleared when a new measurement is started or when CLR_RESULT is written to CTL.CMD. |
RESULT @0x8 = 0x400c4008
Result Result of last TDC conversion
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=24] VALUE RTDC conversion result. The result of the TDC conversion is given in number of clock edges of the clock source selected in DDI_0_OSC:CTL0.ACLK_TDC_SRC_SEL. Both rising and falling edges are counted. If TDC counter saturates, VALUE is slightly higher than SATCFG.LIMIT, as it takes a non-zero time to stop the measurement. Hence, the maximum value of this field becomes slightly higher than 2^24 if you configure SATCFG.LIMIT to R24. |
SATCFG @0xc = 0x400c400c
Saturation Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||
[0..=3] LIMIT RWSaturation limit. The flag STAT.SAT is set when the TDC counter saturates. Values not enumerated are not supported Possible values:
|
TRIGSRC @0x10 = 0x400c4010
Trigger Source Select source and polarity for TDC start and stop events. See the Technical Reference Manual for event timing requirements.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=4] START_SRC RWSelect start source from the asynchronous AUX event bus. Change only while STAT.STATE is IDLE. Possible values:
|
[5] START_POL RWPolarity of start source. Change only while STAT.STATE is IDLE. Possible values:
|
[8..=12] STOP_SRC RWSelect stop source from the asynchronous AUX event bus. Change only while STAT.STATE is IDLE. Possible values:
|
[13] STOP_POL RWPolarity of stop source. Change only while STAT.STATE is IDLE. Possible values:
|
TRIGCNT @0x14 = 0x400c4014
Trigger Counter Stop-counter control and status.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] CNT RWNumber of stop events to ignore when AUX_TDC:TRIGCNTCFG.EN is 1. Read CNT to get the remaining number of stop events to ignore during a TDC measurement. Write CNT to update the remaining number of stop events to ignore during a TDC measurement. The TDC measurement ignores updates of CNT if there are no more stop events left to ignore. When AUX_TDC:TRIGCNTCFG.EN is 1, TRIGCNTLOAD.CNT is loaded into CNT at the start of the measurement. |
TRIGCNTLOAD @0x18 = 0x400c4018
Trigger Counter Load Stop-counter load.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] CNT RWNumber of stop events to ignore when AUX_TDC:TRIGCNTCFG.EN is 1. To measure frequency of an event source: - Set start event equal to stop event. - Set CNT to number of periods to measure. Both 0 and 1 values measures a single event source period. To measure pulse width of an event source: - Set start event source equal to stop event source. - Select different polarity for start and stop event. - Set CNT to 0. To measure time from the start event to the Nth stop event when N > 1: - Select different start and stop event source. - Set CNT to (N-1). See the Technical Reference Manual for event timing requirements. When AUX_TDC:TRIGCNTCFG.EN is 1, CNT is loaded into TRIGCNT.CNT at the start of the measurement. |
TRIGCNTCFG @0x1c = 0x400c401c
Trigger Counter Configuration Stop-counter configuration.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] EN RWEnable stop-counter. 0: Disable stop-counter. 1: Enable stop-counter. Change only while STAT.STATE is IDLE. |
PRECTL @0x20 = 0x400c4020
Prescaler Control The prescaler can be used to count events that are faster than the AUX clock frequency. It can be used to: - count pulses on a specified event from the asynchronous event bus. - prescale a specified event from the asynchronous event bus. To use the prescaler output as an event source in TDC measurements you must set both TRIGSRC.START_SRC and TRIGSRC.STOP_SRC to AUX_TDC_PRE. It is recommended to use the prescaler when the signal frequency to measure exceeds 1/10th of the AUX clock frequency.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=4] SRC RWPrescaler event source. Select an event from the asynchronous AUX event bus to connect to the prescaler input. Configure only while RESET_N is 0. Possible values:
|
[6] RATIO RWPrescaler ratio. This controls how often the AUX_TDC_PRE event is generated by the prescaler. Possible values:
|
[7] RESET_N RWPrescaler reset. 0: Reset prescaler. 1: Release reset of prescaler. AUX_TDC_PRE event becomes 0 when you reset the prescaler. |
PRECNT @0x24 = 0x400c4024
Prescaler Counter
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] CNT RWPrescaler counter value. Write a value to CNT to capture the value of the 16-bit prescaler counter into CNT. Read CNT to get the captured value. The read value gets 1 LSB uncertainty if the event source level rises when you release the reset. You must capture the prescaler counter value when the event source level is stable, either high or low: - Disable AUX I/O input buffer to clamp AUXIO event low. - Disable COMPA to clamp AUX_COMPA event low. The read value can in general get 1 LSB uncertainty when you gate the event source asynchronously. Please note the following: - The prescaler counter is reset to 2 by PRECTL.RESET_N. - The captured value is 2 when the number of rising edges on prescaler input is less than 3. Otherwise, captured value equals number of event pulses - 1. |
AUX_TIMER at 0x400c7000 with offset=0 and size=4096:
AUX Timer
Registers:
T0CFG @0x0 = 0x400c7000
Timer 0 Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] RELOAD RWTimer 0 reload mode. Possible values:
|
[1] MODE RWTimer 0 mode. Configure source for Timer 0 prescaler. Possible values:
|
[4..=7] PRE RWPrescaler division ratio is 2^PRE: 0x0: Divide by 1. 0x1: Divide by 2. 0x2: Divide by 4. ... 0xF: Divide by 32,768. |
[8..=12] TICK_SRC RWSelect Timer 0 tick source from the synchronous event bus. Possible values:
|
[13] TICK_SRC_POL RWTick source polarity for Timer 0. Possible values:
|
T1CFG @0x4 = 0x400c7004
Timer 1 Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] RELOAD RWTimer 1 reload mode. Possible values:
|
[1] MODE RWTimer 1 mode. Configure source for Timer 1 prescaler. Possible values:
|
[4..=7] PRE RWPrescaler division ratio is 2^PRE: 0x0: Divide by 1. 0x1: Divide by 2. 0x2: Divide by 4. ... 0xF: Divide by 32,768. |
[8..=12] TICK_SRC RWSelect Timer 1 tick source from the synchronous event bus. Possible values:
|
[13] TICK_SRC_POL RWTick source polarity for Timer 1. Possible values:
|
T0CTL @0x8 = 0x400c7008
Timer 0 Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] EN RWTimer 0 enable. 0: Disable Timer 0. 1: Enable Timer 0. The counter restarts from 0 when you enable Timer 0. |
T0TARGET @0xc = 0x400c700c
Timer 0 Target
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] VALUE RWTimer 0 target value. Manual Reload Mode: - Timer 0 increments until the counter value becomes equal to or greater than VALUE. - AUX_TIMER0_EV pulses high for 1 AUX clock period when the counter value is equal to or greater than VALUE. Note: When VALUE is 0, Timer 0 counts to 1. AUX_TIMER0_EV pulses high for 1 AUX clock period. Continuous Reload Mode: - Timer 0 increments until the counter value becomes equal to or greater than ( VALUE - 1), then restarts from 0. - AUX_TIMER0_EV pulses high for 1 AUX clock period when the counter value is 0, except for when you enable the timer. Note: When VALUE is less than 2, Timer 0 counter value remains 0. AUX_TIMER0_EV goes high and remains high 1 AUX clock period after you enable the timer. It is allowed to update the VALUE while the timer runs. |
T1TARGET @0x10 = 0x400c7010
Timer 1 Target Timer 1 counter target value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] VALUE RWTimer 1 target value. Manual Reload Mode: - Timer 1 increments until the counter value becomes equal to or greater than VALUE. - AUX_TIMER1_EV pulses high for 1 AUX clock period when the counter value is equal to or greater than VALUE. Note: When VALUE is 0, Timer 1 counts to 1. AUX_TIMER1_EV pulses high for 1 AUX clock period. Continuous Reload Mode: - Timer 1 increments until the counter value becomes equal to or greater than ( VALUE - 1), then restarts from 0. - AUX_TIMER1_EV pulses high for 1 AUX clock period when the counter value is 0, except for when you enable the timer. Note: When VALUE is less than 2, Timer 1 counter value remains 0. AUX_TIMER1_EV goes high and remains high 1 AUX clock period after you enable the timer. It is allowed to update the VALUE while the timer runs. |
T1CTL @0x14 = 0x400c7014
Timer 1 Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] EN RWTimer 1 enable. 0: Disable Timer 1. 1: Enable Timer 1. The counter restarts from 0 when you enable Timer 1. |
AUX_WUC at 0x400c6000 with offset=0 and size=4096:
AUX Wake-up controller
Registers:
MODCLKEN0 @0x0 = 0x400c6000
Module Clock Enable Clock enable for each module in the AUX domain For use by the system CPU The settings in this register are OR'ed with the corresponding settings in MODCLKEN1. This allows the system CPU and AUX_SCE to request clocks independently. Settings take effect immediately.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] SMPH RWEnables (1) or disables (0) clock for AUX_SMPH. Possible values:
|
[1] AIODIO0 RWEnables (1) or disables (0) clock for AUX_AIODIO0. Possible values:
|
[2] AIODIO1 RWEnables (1) or disables (0) clock for AUX_AIODIO1. Possible values:
|
[3] TIMER RWEnables (1) or disables (0) clock for AUX_TIMER. Possible values:
|
[4] ANAIF RWEnables (1) or disables (0) clock for AUX_ANAIF. Note that the ADC internal clock must be requested separately using ADCCLKCTL. Possible values:
|
[5] TDC RWEnables (1) or disables (0) clock for AUX_TDCIF. Note that the TDC counter and reference clock sources must be requested separately using TDCCLKCTL and REFCLKCTL, respectively. Possible values:
|
[6] AUX_DDI0_OSC RWEnables (1) or disables (0) clock for AUX_DDI0_OSC. Possible values:
|
[7] AUX_ADI4 RWEnables (1) or disables (0) clock for AUX_ADI4. Possible values:
|
PWROFFREQ @0x4 = 0x400c6004
Power Off Request Requests power off request for the AUX domain. When powered off, the power supply and clock is disabled. This may only be used when taking the entire device into shutdown mode (i.e. with full device reset when resuming operation). Power off is prevented if AON_WUC:AUXCTL.AUX_FORCE_ON has been set, or if MCUBUSCTL.DISCONNECT_REQ has been cleared.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] REQ RWPower off request 0: No action 1: Request to power down AUX. Once set, this bit shall not be cleared. The bit will be reset again when AUX is powered up again. The request will only happen if AONCTLSTAT.AUX_FORCE_ON = 0 and MCUBUSSTAT.DISCONNECTED=1. |
PWRDWNREQ @0x8 = 0x400c6008
Power Down Request Request from AUX for system to enter power down. When system is in power down there is limited current supply available and the clock source is set by AON_WUC:AUXCLK.PWR_DWN_SRC
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] REQ RWPower down request 0: Request for system to be in active mode 1: Request for system to be in power down mode When REQ is 1 one shall assume that the system is in power down, and that current supply is limited. When setting REQ = 0, one shall assume that the system is in power down until PWRDWNACK.ACK = 0 |
PWRDWNACK @0xc = 0x400c600c
Power Down Acknowledgment
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ACK RPower down acknowledgment. Indicates whether the power down request given by PWRDWNREQ.REQ is captured by the AON domain or not 0: AUX can assume that the system is in active mode 1: The request for power down is acknowledged and the AUX must act like the system is in power down mode and power supply is limited The system CPU cannot use this bit since the bus bridge between MCU domain and AUX domain is always disconnected when this bit is set. For AUX_SCE use only |
CLKLFREQ @0x10 = 0x400c6010
Low Frequency Clock Request
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] REQ RWLow frequency request 0: Request clock frequency to be controlled by AON_WUC:AUXCLK and the system state 1: Request low frequency clock SCLK_LF as the clock source for AUX This bit must not be modified unless CLKLFACK.ACK matches the current value |
CLKLFACK @0x14 = 0x400c6014
Low Frequency Clock Acknowledgment
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ACK RAcknowledgment of CLKLFREQ.REQ 0: Acknowledgement that clock frequency is controlled by AON_WUC:AUXCLK and the system state 1: Acknowledgement that the low frequency clock SCLK_LF is the clock source for AUX |
WUEVFLAGS @0x28 = 0x400c6028
Wake-up Event Flags Status of wake-up events from the AON domain The event flags are cleared by setting the corresponding bits in WUEVCLR
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] AON_PROG_WU RIndicates pending event triggered by the sources selected in AON_EVENT:AUXWUSEL.WU0_EV, AON_EVENT:AUXWUSEL.WU1_EV and AON_EVENT:AUXWUSEL.WU2_EV. |
[1] AON_SW RIndicates pending event triggered by system CPU writing a 1 to AON_WUC:AUXCTL.SWEV. |
[2] AON_RTC_CH2 RIndicates pending event from AON_RTC_CH2 compare. Note that this flag will be set whenever the AON_RTC_CH2 event happens, but that does not mean that this event is a wake-up event. To make the AON_RTC_CH2 a wake-up event for the AUX domain configure it as a wake-up event in AON_EVENT:AUXWUSEL.WU0_EV, AON_EVENT:AUXWUSEL.WU1_EV or AON_EVENT:AUXWUSEL.WU2_EV. |
WUEVCLR @0x2c = 0x400c602c
Wake-up Event Clear Clears wake-up events from the AON domain
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] AON_PROG_WU RWSet to clear the WUEVFLAGS.AON_PROG_WU wake-up event. Note only if an IO event is selected as wake-up event, is it possible to use this field to clear the source. Other sources cannot be cleared using this field. The IO pin needs to be assigned to AUX in the IOC and the input enable for the pin needs to be set in AIODIO0 or AIODIO1 for this clearing to take effect. This bit must remain set until WUEVFLAGS.AON_PROG_WU returns to 0. |
[1] AON_SW RWSet to clear the WUEVFLAGS.AON_SW wake-up event. This bit must remain set until WUEVFLAGS.AON_SW returns to 0. |
[2] AON_RTC_CH2 RWSet to clear the WUEVFLAGS.AON_RTC_CH2 wake-up event. Note that if RTC channel 2 is also set as source for AON_PROG_WU this field can also clear WUEVFLAGS.AON_PROG_WU This bit must remain set until WUEVFLAGS.AON_RTC_CH2 returns to 0. |
ADCCLKCTL @0x30 = 0x400c6030
ADC Clock Control Controls the ADC internal clock Note that the ADC command and data interface requires MODCLKEN0.ANAIF or MODCLKEN1.ANAIF also to be set
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] REQ RWEnables(1) or disables (0) the ADC internal clock. This bit must not be modified unless ACK matches the current value. |
[1] ACK RAcknowledges the last value written to REQ. |
TDCCLKCTL @0x34 = 0x400c6034
TDC Clock Control Controls the TDC counter clock source, which steps the TDC counter value The source of this clock is controlled by OSC_DIG:CTL0.ACLK_TDC_SRC_SEL.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] REQ RWEnables(1) or disables (0) the TDC counter clock source. This bit must not be modified unless ACK matches the current value. |
[1] ACK RAcknowledges the last value written to REQ. |
REFCLKCTL @0x38 = 0x400c6038
Reference Clock Control Controls the TDC reference clock source, which is to be compared against the TDC counter clock. The source of this clock is controlled by OSC_DIG:CTL0.ACLK_REF_SRC_SEL.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] REQ RWEnables(1) or disables (0) the TDC reference clock source. This bit must not be modified unless ACK matches the current value. |
[1] ACK RAcknowledges the last value written to REQ. |
RTCSUBSECINC0 @0x3c = 0x400c603c
Real Time Counter Sub Second Increment 0 New value for the real-time counter (AON_RTC) sub-second increment value, part corresponding to AON_RTC:SUBSECINC bits 15:0. After setting INC15_0 and RTCSUBSECINC1.INC23_16, the value is loaded into AON_RTC:SUBSECINC.VALUEINC by setting RTCSUBSECINCCTL.UPD_REQ.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] INC15_0 RWBits 15:0 of the RTC sub-second increment value. |
RTCSUBSECINC1 @0x40 = 0x400c6040
Real Time Counter Sub Second Increment 1 New value for the real-time counter (AON_RTC) sub-second increment value, part corresponding to AON_RTC:SUBSECINC bits 23:16. After setting RTCSUBSECINC0.INC15_0 and INC23_16, the value is loaded into AON_RTC:SUBSECINC.VALUEINC by setting RTCSUBSECINCCTL.UPD_REQ.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] INC23_16 RWBits 23:16 of the RTC sub-second increment value. |
RTCSUBSECINCCTL @0x44 = 0x400c6044
Real Time Counter Sub Second Increment Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] UPD_REQ RWSignal that a new real time counter sub second increment value is available 0: New sub second increment is not available 1: New sub second increment is available This bit must not be modified unless UPD_ACK matches the current value. |
[1] UPD_ACK RAcknowledgment of the UPD_REQ. |
MCUBUSCTL @0x48 = 0x400c6048
MCU Bus Control Controls the connection between the AUX domain bus and the MCU domain bus. The buses must be disconnected to allow power-down or power-off of the AUX domain.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DISCONNECT_REQ RWRequests the AUX domain bus to be disconnected from the MCU domain bus. The request has no effect when AON_WUC:AUX_CTL.AUX_FORCE_ON is set. The disconnection status can be monitored through MCUBUSSTAT. Note however that this register cannot be read by the system CPU while disconnected. It is recommended that this bit is set and remains set after initial power-up, and that the system CPU uses AON_WUC:AUX_CTL.AUX_FORCE_ON to connect/disconnect the bus. |
MCUBUSSTAT @0x4c = 0x400c604c
MCU Bus Status Indicates the connection state of the AUX domain and MCU domain buses. Note that this register cannot be read from the MCU domain while disconnected, and is therefore only useful for the AUX_SCE.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DISCONNECT_ACK RAcknowledges reception of the bus disconnection request, by matching the value of MCUBUSCTL.DISCONNECT_REQ. Note that if AON_WUC:AUXCTL.AUX_FORCE_ON = 1 a reconnect to the MCU domain bus will be made regardless of the state of MCUBUSCTL.DISCONNECT_REQ |
[1] DISCONNECTED RIndicates whether the AUX domain and MCU domain buses are currently disconnected (1) or connected (0). |
AONCTLSTAT @0x50 = 0x400c6050
AON Domain Control Status Status of AUX domain control from AON_WUC.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SCE_RUN_EN RStatus of AON_WUC:AUX_CTL.SCE_RUN_EN. |
[1] AUX_FORCE_ON RStatus of AON_WUC:AUX_CTL.AUX_FORCE_ON. |
AUXIOLATCH @0x54 = 0x400c6054
AUX Input Output Latch Controls latching of signals between AUX_AIODIO0/AUX_AIODIO1 and AON_IOC.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0] EN RWOpens (1) or closes (0) the AUX_AIODIO0/AUX_AIODIO1 signal latching. At startup, set EN = TRANSP before configuring AUX_AIODIO0/AUX_AIODIO1 and subsequently selecting AUX mode in the AON_IOC. When powering off the AUX domain (using PWROFFREQ.REQ), set EN = STATIC in advance preserve the current state (mode and output value) of the I/O pins. Possible values:
|
MODCLKEN1 @0x5c = 0x400c605c
Module Clock Enable 1 Clock enable for each module in the AUX domain, for use by the AUX_SCE. Settings take effect immediately. The settings in this register are OR'ed with the corresponding settings in MODCLKEN0. This allows system CPU and AUX_SCE to request clocks independently.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] SMPH RWEnables (1) or disables (0) clock for AUX_SMPH. Possible values:
|
[1] AIODIO0 RWEnables (1) or disables (0) clock for AUX_AIODIO0. Possible values:
|
[2] AIODIO1 RWEnables (1) or disables (0) clock for AUX_AIODIO1. Possible values:
|
[3] TIMER RWEnables (1) or disables (0) clock for AUX_TIMER. Possible values:
|
[4] ANAIF RWEnables (1) or disables (0) clock for AUX_ANAIF. Possible values:
|
[5] TDC RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
[6] AUX_DDI0_OSC RWEnables (1) or disables (0) clock for AUX_DDI0_OSC. Possible values:
|
[7] AUX_ADI4 RWEnables (1) or disables (0) clock for AUX_ADI4. Possible values:
|
CCFG at 0x50003000 with offset=0 and size=4096:
Customer configuration area (CCFG)
Registers:
RESERVED_0 @0x0 = 0x50003000
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
EXT_LF_CLK @0xfa8 = 0x50003fa8
Extern LF clock configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] RTC_INCREMENT RUnsigned integer, defining the input frequency of the external clock and is written to AON_RTC:SUBSECINC.VALUEINC. Defined as follows: EXT_LF_CLK.RTC_INCREMENT = 2^38/InputClockFrequency in Hertz (e.g.: RTC_INCREMENT=0x800000 for InputClockFrequency=32768 Hz) |
[24..=31] DIO RUnsigned integer, selecting the DIO to supply external 32kHz clock as SCLK_LF when MODE_CONF.SCLK_LF_OPTION is set to EXTERNAL. The selected DIO will be marked as reserved by the pin driver (TI-RTOS environment) and hence not selectable for other usage. |
MODE_CONF_1 @0xfac = 0x50003fac
Mode Configuration 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] XOSC_MAX_START RUnsigned value of maximum XOSC startup time (worst case) in units of 100us. Value only applies if SIZE_AND_DIS_FLAGS.DIS_XOSC_OVR=0. |
[8..=11] DELTA_IBIAS_OFFSET RSigned delta value for IBIAS_OFFSET. Delta value only applies if SIZE_AND_DIS_FLAGS.DIS_XOSC_OVR=0. See FCFG1:AMPCOMP_CTRL1.IBIAS_OFFSET |
[12..=15] DELTA_IBIAS_INIT RSigned delta value for IBIAS_INIT. Delta value only applies if SIZE_AND_DIS_FLAGS.DIS_XOSC_OVR=0. See FCFG1:AMPCOMP_CTRL1.IBIAS_INIT |
[16..=18] ALT_DCDC_IPEAK RInductor peak current if alternate DC/DC setting is enabled (SIZE_AND_DIS_FLAGS.DIS_ALT_DCDC_SETTING=0). Assuming 10uH external inductor! Peak current = 31 + ( 4 * ALT_DCDC_IPEAK ) : 0: 31mA (min) ... 4: 47mA ... 7: 59mA (max) |
[19] ALT_DCDC_DITHER_EN REnable DC/DC dithering if alternate DC/DC setting is enabled (SIZE_AND_DIS_FLAGS.DIS_ALT_DCDC_SETTING=0). 0: Dither disable 1: Dither enable |
[20..=23] ALT_DCDC_VMIN RMinimum voltage for when DC/DC should be used if alternate DC/DC setting is enabled (SIZE_AND_DIS_FLAGS.DIS_ALT_DCDC_SETTING=0). Voltage = (28 + ALT_DCDC_VMIN) / 16. 0: 1.75V 1: 1.8125V ... 14: 2.625V 15: 2.6875V NOTE! The DriverLib function SysCtrl_DCDC_VoltageConditionalControl() must be called regularly to apply this field (handled automatically if using TI RTOS!). |
SIZE_AND_DIS_FLAGS @0xfb0 = 0x50003fb0
CCFG Size and Disable Flags
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIS_XOSC_OVR RDisable XOSC override functionality. 0: Enable XOSC override functionality. 1: Disable XOSC override functionality. See: MODE_CONF_1.DELTA_IBIAS_INIT MODE_CONF_1.DELTA_IBIAS_OFFSET MODE_CONF_1.XOSC_MAX_START |
[1] DIS_ALT_DCDC_SETTING RDisable alternate DC/DC settings. 0: Enable alternate DC/DC settings. 1: Disable alternate DC/DC settings. See: MODE_CONF_1.ALT_DCDC_VMIN MODE_CONF_1.ALT_DCDC_DITHER_EN MODE_CONF_1.ALT_DCDC_IPEAK NOTE! The DriverLib function SysCtrl_DCDC_VoltageConditionalControl() must be called regularly to apply this field (handled automatically if using TI RTOS!). |
[2] DIS_GPRAM RDisable GPRAM (or use the 8K VIMS RAM as CACHE RAM). 0: GPRAM is enabled and hence CACHE disabled. 1: GPRAM is disabled and instead CACHE is enabled (default). Notes: - Disabling CACHE will reduce CPU execution speed (up to 60%). - GPRAM is 8 K-bytes in size and located at 0x11000000-0x11001FFF if enabled. See: VIMS:CTL.MODE |
[3] DIS_TCXO RDisable TCXO. 0: TCXO functionality enabled. 1: TCXO functionality disabled. Note: An external TCXO is required if DIS_TCXO = 0. |
[4..=15] DISABLE_FLAGS RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[16..=31] SIZE_OF_CCFG RTotal size of CCFG in bytes. |
MODE_CONF @0xfb4 = 0x50003fb4
Mode Configuration 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||
[0..=7] VDDR_CAP RUnsigned 8-bit integer, representing the minimum decoupling capacitance (worst case) on VDDR, in units of 100nF. This should take into account capacitor tolerance and voltage dependent capacitance variation. This bit affects the recharge period calculation when going into powerdown or standby. NOTE! If using the following functions this field must be configured (used by TI RTOS): SysCtrlSetRechargeBeforePowerDown() SysCtrlAdjustRechargeAfterPowerDown() |
[8..=15] XOSC_CAPARRAY_DELTA RSigned 8-bit value, directly modifying trimmed XOSC cap-array step value. Enabled by XOSC_CAP_MOD. |
[16] HF_COMP RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[17] XOSC_CAP_MOD REnable modification (delta) to XOSC cap-array. Value specified in XOSC_CAPARRAY_DELTA. 0: Apply cap-array delta 1: Do not apply cap-array delta (default) |
[18..=19] XOSC_FREQ RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. Possible values:
|
[20] RTC_COMP RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[21] VDDR_TRIM_SLEEP_TC R0x1: VDDR_TRIM_SLEEP_DELTA is not temperature compensated 0x0: RTOS/driver temperature compensates VDDR_TRIM_SLEEP_DELTA every time standby mode is entered. This improves low-temperature RCOSC_LF frequency stability in standby mode. When temperature compensation is performed, the delta is calculates this way: Delta = max (delta, min(8, floor(62-temp)/8)) Here, delta is given by VDDR_TRIM_SLEEP_DELTA, and temp is the current temperature in degrees C. |
[22..=23] SCLK_LF_OPTION RSelect source for SCLK_LF. Possible values:
|
[24] VDDS_BOD_LEVEL RVDDS BOD level. 0: VDDS BOD level is 2.0 V (necessary for maximum PA output power on CC13x0). 1: VDDS BOD level is 1.8 V (or 1.7 V for external regulator mode) (default). |
[25] VDDR_EXT_LOAD RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[26] DCDC_ACTIVE RDC/DC in active mode. 0: Use the DC/DC during active mode. 1: Do not use the DC/DC during active mode (default). NOTE! The DriverLib function SysCtrl_DCDC_VoltageConditionalControl() must be called regularly to apply this field (handled automatically if using TI RTOS!). |
[27] DCDC_RECHARGE RDC/DC during recharge in powerdown. 0: Use the DC/DC during recharge in powerdown. 1: Do not use the DC/DC during recharge in powerdown (default). NOTE! The DriverLib function SysCtrl_DCDC_VoltageConditionalControl() must be called regularly to apply this field (handled automatically if using TI RTOS!). |
[28..=31] VDDR_TRIM_SLEEP_DELTA RSigned delta value to apply to the VDDR_TRIM_SLEEP target, minus one. See FCFG1:VOLT_TRIM.VDDR_TRIM_SLEEP_H. 0x8 (-8) : Delta = -7 ... 0xF (-1) : Delta = 0 0x0 (0) : Delta = +1 ... 0x7 (7) : Delta = +8 |
VOLT_LOAD_0 @0xfb8 = 0x50003fb8
Voltage Load 0 Enabled by MODE_CONF.VDDR_EXT_LOAD.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] VDDR_EXT_TM15 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[8..=15] VDDR_EXT_TP5 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[16..=23] VDDR_EXT_TP25 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[24..=31] VDDR_EXT_TP45 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
VOLT_LOAD_1 @0xfbc = 0x50003fbc
Voltage Load 1 Enabled by MODE_CONF.VDDR_EXT_LOAD.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] VDDR_EXT_TP65 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[8..=15] VDDR_EXT_TP85 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[16..=23] VDDR_EXT_TP105 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[24..=31] VDDR_EXT_TP125 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
RTC_OFFSET @0xfc0 = 0x50003fc0
Real Time Clock Offset Enabled by MODE_CONF.RTC_COMP.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] RTC_COMP_P2 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[8..=15] RTC_COMP_P1 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[16..=31] RTC_COMP_P0 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
FREQ_OFFSET @0xfc4 = 0x50003fc4
Frequency Offset
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] HF_COMP_P2 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[8..=15] HF_COMP_P1 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
[16..=31] HF_COMP_P0 RReserved for future use. Software should not rely on the value of a reserved. Writing any other value than the reset/default value may result in undefined behavior. |
IEEE_MAC_0 @0xfc8 = 0x50003fc8
IEEE MAC Address 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ADDR RBits[31:0] of the 64-bits custom IEEE MAC address. If different from 0xFFFFFFFF then the value of this field is applied; otherwise use value from FCFG. |
IEEE_MAC_1 @0xfcc = 0x50003fcc
IEEE MAC Address 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ADDR RBits[63:32] of the 64-bits custom IEEE MAC address. If different from 0xFFFFFFFF then the value of this field is applied; otherwise use value from FCFG. |
IEEE_BLE_0 @0xfd0 = 0x50003fd0
IEEE BLE Address 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ADDR RBits[31:0] of the 64-bits custom IEEE BLE address. If different from 0xFFFFFFFF then the value of this field is applied; otherwise use value from FCFG. |
IEEE_BLE_1 @0xfd4 = 0x50003fd4
IEEE BLE Address 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ADDR RBits[63:32] of the 64-bits custom IEEE BLE address. If different from 0xFFFFFFFF then the value of this field is applied; otherwise use value from FCFG. |
BL_CONFIG @0xfd8 = 0x50003fd8
Bootloader Configuration Configures the functionality of the ROM boot loader. If both the boot loader is enabled by the BOOTLOADER_ENABLE field and the boot loader backdoor is enabled by the BL_ENABLE field it is possible to force entry of the ROM boot loader even if a valid image is present in flash.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] BL_ENABLE REnables the boot loader backdoor. 0xC5: Boot loader backdoor is enabled. Any other value: Boot loader backdoor is disabled. NOTE! Boot loader must be enabled (see BOOTLOADER_ENABLE) if boot loader backdoor is enabled. |
[8..=15] BL_PIN_NUMBER RDIO number that is level checked if the boot loader backdoor is enabled by the BL_ENABLE field. |
[16] BL_LEVEL RSets the active level of the selected DIO number BL_PIN_NUMBER if boot loader backdoor is enabled by the BL_ENABLE field. 0: Active low. 1: Active high. |
[24..=31] BOOTLOADER_ENABLE RBootloader enable. Boot loader can be accessed if IMAGE_VALID_CONF.IMAGE_VALID is non-zero or BL_ENABLE is enabled (and conditions for boot loader backdoor are met). 0xC5: Boot loader is enabled. Any other value: Boot loader is disabled. |
ERASE_CONF @0xfdc = 0x50003fdc
Erase Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] BANK_ERASE_DIS_N RBank erase. This bit controls if the ROM serial boot loader will accept a received Bank Erase command (COMMAND_BANK_ERASE). A successful Bank Erase operation will erase all main bank sectors not protected by write protect configuration bits in CCFG. 0: Disable the boot loader bank erase function. 1: Enable the boot loader bank erase function. |
[8] CHIP_ERASE_DIS_N RChip erase. This bit controls if a chip erase requested through the JTAG WUC TAP will be ignored in a following boot caused by a reset of the MCU VD. A successful chip erase operation will force the content of the flash main bank back to the state as it was when delivered by TI. 0: Disable. Any chip erase request detected during boot will be ignored. 1: Enable. Any chip erase request detected during boot will be performed by the boot FW. |
CCFG_TI_OPTIONS @0xfe0 = 0x50003fe0
TI Options
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TI_FA_ENABLE RTI Failure Analysis. 0xC5: Enable the functionality of unlocking the TI FA (TI Failure Analysis) option with the unlock code. All other values: Disable the functionality of unlocking the TI FA option with the unlock code. |
CCFG_TAP_DAP_0 @0xfe4 = 0x50003fe4
Test Access Points Enable 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TEST_TAP_ENABLE REnable Test TAP. 0xC5: TEST TAP access is enabled during power-up/system-reset by ROM boot FW if enabled by corresponding configuration value in FCFG1 defined by TI. Any other value: TEST TAP access will remain disabled out of power-up/system-reset. |
[8..=15] PRCM_TAP_ENABLE REnable PRCM TAP. 0xC5: PRCM TAP access is enabled during power-up/system-reset by ROM boot FW if enabled by corresponding configuration value in FCFG1 defined by TI. Any other value: PRCM TAP access will remain disabled out of power-up/system-reset. |
[16..=23] CPU_DAP_ENABLE REnable CPU DAP. 0xC5: Main CPU DAP access is enabled during power-up/system-reset by ROM boot FW. Any other value: Main CPU DAP access will remain disabled out of power-up/system-reset. |
CCFG_TAP_DAP_1 @0xfe8 = 0x50003fe8
Test Access Points Enable 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] WUC_TAP_ENABLE REnable WUC TAP 0xC5: WUC TAP access is enabled during power-up/system-reset by ROM boot FW if enabled by corresponding configuration value in FCFG1 defined by TI. Any other value: WUC TAP access will remain disabled out of power-up/system-reset. |
[8..=15] PBIST1_TAP_ENABLE REnable PBIST1 TAP. 0xC5: PBIST1 TAP access is enabled during power-up/system-reset by ROM boot FW if enabled by corresponding configuration value in FCFG1 defined by TI. Any other value: PBIST1 TAP access will remain disabled out of power-up/system-reset. |
[16..=23] PBIST2_TAP_ENABLE REnable PBIST2 TAP. 0xC5: PBIST2 TAP access is enabled during power-up/system-reset by ROM boot FW if enabled by corresponding configuration value in FCFG1 defined by TI. Any other value: PBIST2 TAP access will remain disabled out of power-up/system-reset. |
IMAGE_VALID_CONF @0xfec = 0x50003fec
Image Valid
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] IMAGE_VALID RThis field must have a value of 0x00000000 in order for enabling the boot sequence to transfer control to a flash image. A non-zero value forces the boot sequence to call the boot loader. For CC2640R2: This field must have the address value of the start of the flash vector table in order for enabling the boot sequence to transfer control to a flash image. Any illegal vector table start address value forces the boot sequence to call the boot loader. Note that if any other legal vector table start address value than 0x0 is selected the PRCM:WARMRESET.WR_TO_PINRESET must be set to 1. |
CCFG_PROT_31_0 @0xff0 = 0x50003ff0
Protect Sectors 0-31 Each bit write protects one 4KB flash sector from being both programmed and erased. Bit must be set to 0 in order to enable sector write protect.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] WRT_PROT_SEC_0 R0: Sector protected |
[1] WRT_PROT_SEC_1 R0: Sector protected |
[2] WRT_PROT_SEC_2 R0: Sector protected |
[3] WRT_PROT_SEC_3 R0: Sector protected |
[4] WRT_PROT_SEC_4 R0: Sector protected |
[5] WRT_PROT_SEC_5 R0: Sector protected |
[6] WRT_PROT_SEC_6 R0: Sector protected |
[7] WRT_PROT_SEC_7 R0: Sector protected |
[8] WRT_PROT_SEC_8 R0: Sector protected |
[9] WRT_PROT_SEC_9 R0: Sector protected |
[10] WRT_PROT_SEC_10 R0: Sector protected |
[11] WRT_PROT_SEC_11 R0: Sector protected |
[12] WRT_PROT_SEC_12 R0: Sector protected |
[13] WRT_PROT_SEC_13 R0: Sector protected |
[14] WRT_PROT_SEC_14 R0: Sector protected |
[15] WRT_PROT_SEC_15 R0: Sector protected |
[16] WRT_PROT_SEC_16 R0: Sector protected |
[17] WRT_PROT_SEC_17 R0: Sector protected |
[18] WRT_PROT_SEC_18 R0: Sector protected |
[19] WRT_PROT_SEC_19 R0: Sector protected |
[20] WRT_PROT_SEC_20 R0: Sector protected |
[21] WRT_PROT_SEC_21 R0: Sector protected |
[22] WRT_PROT_SEC_22 R0: Sector protected |
[23] WRT_PROT_SEC_23 R0: Sector protected |
[24] WRT_PROT_SEC_24 R0: Sector protected |
[25] WRT_PROT_SEC_25 R0: Sector protected |
[26] WRT_PROT_SEC_26 R0: Sector protected |
[27] WRT_PROT_SEC_27 R0: Sector protected |
[28] WRT_PROT_SEC_28 R0: Sector protected |
[29] WRT_PROT_SEC_29 R0: Sector protected |
[30] WRT_PROT_SEC_30 R0: Sector protected |
[31] WRT_PROT_SEC_31 R0: Sector protected |
CCFG_PROT_63_32 @0xff4 = 0x50003ff4
Protect Sectors 32-63 Each bit write protects one 4KB flash sector from being both programmed and erased. Bit must be set to 0 in order to enable sector write protect. Not in use by CC26x0 and CC13x0.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] WRT_PROT_SEC_32 R0: Sector protected |
[1] WRT_PROT_SEC_33 R0: Sector protected |
[2] WRT_PROT_SEC_34 R0: Sector protected |
[3] WRT_PROT_SEC_35 R0: Sector protected |
[4] WRT_PROT_SEC_36 R0: Sector protected |
[5] WRT_PROT_SEC_37 R0: Sector protected |
[6] WRT_PROT_SEC_38 R0: Sector protected |
[7] WRT_PROT_SEC_39 R0: Sector protected |
[8] WRT_PROT_SEC_40 R0: Sector protected |
[9] WRT_PROT_SEC_41 R0: Sector protected |
[10] WRT_PROT_SEC_42 R0: Sector protected |
[11] WRT_PROT_SEC_43 R0: Sector protected |
[12] WRT_PROT_SEC_44 R0: Sector protected |
[13] WRT_PROT_SEC_45 R0: Sector protected |
[14] WRT_PROT_SEC_46 R0: Sector protected |
[15] WRT_PROT_SEC_47 R0: Sector protected |
[16] WRT_PROT_SEC_48 R0: Sector protected |
[17] WRT_PROT_SEC_49 R0: Sector protected |
[18] WRT_PROT_SEC_50 R0: Sector protected |
[19] WRT_PROT_SEC_51 R0: Sector protected |
[20] WRT_PROT_SEC_52 R0: Sector protected |
[21] WRT_PROT_SEC_53 R0: Sector protected |
[22] WRT_PROT_SEC_54 R0: Sector protected |
[23] WRT_PROT_SEC_55 R0: Sector protected |
[24] WRT_PROT_SEC_56 R0: Sector protected |
[25] WRT_PROT_SEC_57 R0: Sector protected |
[26] WRT_PROT_SEC_58 R0: Sector protected |
[27] WRT_PROT_SEC_59 R0: Sector protected |
[28] WRT_PROT_SEC_60 R0: Sector protected |
[29] WRT_PROT_SEC_61 R0: Sector protected |
[30] WRT_PROT_SEC_62 R0: Sector protected |
[31] WRT_PROT_SEC_63 R0: Sector protected |
CCFG_PROT_95_64 @0xff8 = 0x50003ff8
Protect Sectors 64-95 Each bit write protects one flash sector from being both programmed and erased. Bit must be set to 0 in order to enable sector write protect. Not in use by CC26x0 and CC13x0.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] WRT_PROT_SEC_64 R0: Sector protected |
[1] WRT_PROT_SEC_65 R0: Sector protected |
[2] WRT_PROT_SEC_66 R0: Sector protected |
[3] WRT_PROT_SEC_67 R0: Sector protected |
[4] WRT_PROT_SEC_68 R0: Sector protected |
[5] WRT_PROT_SEC_69 R0: Sector protected |
[6] WRT_PROT_SEC_70 R0: Sector protected |
[7] WRT_PROT_SEC_71 R0: Sector protected |
[8] WRT_PROT_SEC_72 R0: Sector protected |
[9] WRT_PROT_SEC_73 R0: Sector protected |
[10] WRT_PROT_SEC_74 R0: Sector protected |
[11] WRT_PROT_SEC_75 R0: Sector protected |
[12] WRT_PROT_SEC_76 R0: Sector protected |
[13] WRT_PROT_SEC_77 R0: Sector protected |
[14] WRT_PROT_SEC_78 R0: Sector protected |
[15] WRT_PROT_SEC_79 R0: Sector protected |
[16] WRT_PROT_SEC_80 R0: Sector protected |
[17] WRT_PROT_SEC_81 R0: Sector protected |
[18] WRT_PROT_SEC_82 R0: Sector protected |
[19] WRT_PROT_SEC_83 R0: Sector protected |
[20] WRT_PROT_SEC_84 R0: Sector protected |
[21] WRT_PROT_SEC_85 R0: Sector protected |
[22] WRT_PROT_SEC_86 R0: Sector protected |
[23] WRT_PROT_SEC_87 R0: Sector protected |
[24] WRT_PROT_SEC_88 R0: Sector protected |
[25] WRT_PROT_SEC_89 R0: Sector protected |
[26] WRT_PROT_SEC_90 R0: Sector protected |
[27] WRT_PROT_SEC_91 R0: Sector protected |
[28] WRT_PROT_SEC_92 R0: Sector protected |
[29] WRT_PROT_SEC_93 R0: Sector protected |
[30] WRT_PROT_SEC_94 R0: Sector protected |
[31] WRT_PROT_SEC_95 R0: Sector protected |
CCFG_PROT_127_96 @0xffc = 0x50003ffc
Protect Sectors 96-127 Each bit write protects one flash sector from being both programmed and erased. Bit must be set to 0 in order to enable sector write protect. Not in use by CC26x0 and CC13x0.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] WRT_PROT_SEC_96 R0: Sector protected |
[1] WRT_PROT_SEC_97 R0: Sector protected |
[2] WRT_PROT_SEC_98 R0: Sector protected |
[3] WRT_PROT_SEC_99 R0: Sector protected |
[4] WRT_PROT_SEC_100 R0: Sector protected |
[5] WRT_PROT_SEC_101 R0: Sector protected |
[6] WRT_PROT_SEC_102 R0: Sector protected |
[7] WRT_PROT_SEC_103 R0: Sector protected |
[8] WRT_PROT_SEC_104 R0: Sector protected |
[9] WRT_PROT_SEC_105 R0: Sector protected |
[10] WRT_PROT_SEC_106 R0: Sector protected |
[11] WRT_PROT_SEC_107 R0: Sector protected |
[12] WRT_PROT_SEC_108 R0: Sector protected |
[13] WRT_PROT_SEC_109 R0: Sector protected |
[14] WRT_PROT_SEC_110 R0: Sector protected |
[15] WRT_PROT_SEC_111 R0: Sector protected |
[16] WRT_PROT_SEC_112 R0: Sector protected |
[17] WRT_PROT_SEC_113 R0: Sector protected |
[18] WRT_PROT_SEC_114 R0: Sector protected |
[19] WRT_PROT_SEC_115 R0: Sector protected |
[20] WRT_PROT_SEC_116 R0: Sector protected |
[21] WRT_PROT_SEC_117 R0: Sector protected |
[22] WRT_PROT_SEC_118 R0: Sector protected |
[23] WRT_PROT_SEC_119 R0: Sector protected |
[24] WRT_PROT_SEC_120 R0: Sector protected |
[25] WRT_PROT_SEC_121 R0: Sector protected |
[26] WRT_PROT_SEC_122 R0: Sector protected |
[27] WRT_PROT_SEC_123 R0: Sector protected |
[28] WRT_PROT_SEC_124 R0: Sector protected |
[29] WRT_PROT_SEC_125 R0: Sector protected |
[30] WRT_PROT_SEC_126 R0: Sector protected |
[31] WRT_PROT_SEC_127 R0: Sector protected |
CPU_DWT at 0xe0001000 with offset=0 and size=4096:
Cortex-M's Data watchpoint and Trace (DWT)
Registers:
CTRL @0x0 = 0xe0001000
Control Use the DWT Control Register to enable the DWT unit.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||
[0] CYCCNTENA RWEnable CYCCNT, allowing it to increment and generate synchronization and count events. If NOCYCCNT = 1, this bit reads zero and ignore writes. |
[1..=4] POSTPRESET RWReload value for post-scalar counter POSTCNT. When 0, events are triggered on each tap change (a power of 2). If this field has a non-0 value, it forms a count-down value, to be reloaded into POSTCNT each time it reaches 0. For example, a value 1 in this register means an event is formed every other tap change. |
[5..=8] POSTCNT RWPost-scalar counter for CYCTAP. When the selected tapped bit changes from 0 to 1 or 1 to 0, the post scalar counter is down-counted when not 0. If 0, it triggers an event for PCSAMPLEENA or CYCEVTENA use. It also reloads with the value from POSTPRESET. |
[9] CYCTAP RWSelects a tap on CYCCNT. These are spaced at bits [6] and [10]. When the selected bit in CYCCNT changes from 0 to 1 or 1 to 0, it emits into the POSTCNT, post-scalar counter. That counter then counts down. On a bit change when post-scalar is 0, it triggers an event for PC sampling or cycle count event (see details in CYCEVTENA). Possible values:
|
[10..=11] SYNCTAP RWSelects a synchronization packet rate. CYCCNTENA and CPU_ITM:TCR.SYNCENA must also be enabled for this feature. Synchronization packets (if enabled) are generated on tap transitions (0 to1 or 1 to 0). Possible values:
|
[12] PCSAMPLEENA RWEnables PC Sampling event. A PC sample event is emitted when the POSTCNT counter triggers it. See CYCTAP and POSTPRESET for details. Enabling this bit overrides CYCEVTENA. 0: PC Sampling event disabled. 1: Sampling event enabled. |
[16] EXCTRCENA RWEnables Interrupt event tracing. 0: Interrupt event trace disabled. 1: Interrupt event trace enabled. |
[17] CPIEVTENA RWEnables CPI count event. Emits an event when CPICNT overflows (every 256 cycles of multi-cycle instructions). 0: CPI counter events disabled. 1: CPI counter events enabled. |
[18] EXCEVTENA RWEnables Interrupt overhead event. Emits an event when EXCCNT overflows (every 256 cycles of interrupt overhead). 0x0: Interrupt overhead event disabled. 0x1: Interrupt overhead event enabled. |
[19] SLEEPEVTENA RWEnables Sleep count event. Emits an event when SLEEPCNT overflows (every 256 cycles that the processor is sleeping). 0: Sleep count events disabled. 1: Sleep count events enabled. |
[20] LSUEVTENA RWEnables LSU count event. Emits an event when LSUCNT overflows (every 256 cycles of LSU operation). LSU counts include all LSU costs after the initial cycle for the instruction. 0: LSU count events disabled. 1: LSU count events enabled. |
[21] FOLDEVTENA RWEnables Folded instruction count event. Emits an event when FOLDCNT overflows (every 256 cycles of folded instructions). A folded instruction is one that does not incur even one cycle to execute. For example, an IT instruction is folded away and so does not use up one cycle. 0: Folded instruction count events disabled. 1: Folded instruction count events enabled. |
[22] CYCEVTENA RWEnables Cycle count event. Emits an event when the POSTCNT counter triggers it. See CYCTAP and POSTPRESET for details. This event is only emitted if PCSAMPLEENA is disabled. PCSAMPLEENA overrides the setting of this bit. 0: Cycle count events disabled 1: Cycle count events enabled |
[24] NOPRFCNT RWWhen set, FOLDCNT, LSUCNT, SLEEPCNT, EXCCNT, and CPICNT are not supported. |
[25] NOCYCCNT RWWhen set, CYCCNT is not supported. |
CYCCNT @0x4 = 0xe0001004
Current PC Sampler Cycle Count This register is used to count the number of core cycles. This counter can measure elapsed execution time. This is a free-running counter (this counter will not advance in power modes where free-running clock to CPU stops). The counter has three functions: 1: When CTRL.PCSAMPLEENA = 1, the PC is sampled and emitted when the selected tapped bit changes value (0 to 1 or 1 to 0) and any post-scalar value counts to 0. 2: When CTRL.CYCEVTENA = 1 , (and CTRL.PCSAMPLEENA = 0), an event is emitted when the selected tapped bit changes value (0 to 1 or 1 to 0) and any post-scalar value counts to 0. 3: Applications and debuggers can use the counter to measure elapsed execution time. By subtracting a start and an end time, an application can measure time between in-core clocks (other than when Halted in debug). This is valid to 2^32 core clock cycles (for example, almost 89.5 seconds at 48MHz).
CPICNT @0x8 = 0xe0001008
CPI Count This register is used to count the total number of instruction cycles beyond the first cycle.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] CPICNT RWCurrent CPI counter value. Increments on the additional cycles (the first cycle is not counted) required to execute all instructions except those recorded by LSUCNT. This counter also increments on all instruction fetch stalls. If CTRL.CPIEVTENA is set, an event is emitted when the counter overflows. This counter initializes to 0 when it is enabled using CTRL.CPIEVTENA. |
EXCCNT @0xc = 0xe000100c
Exception Overhead Count This register is used to count the total cycles spent in interrupt processing.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] EXCCNT RWCurrent interrupt overhead counter value. Counts the total cycles spent in interrupt processing (for example entry stacking, return unstacking, pre-emption). An event is emitted on counter overflow (every 256 cycles). This counter initializes to 0 when it is enabled using CTRL.EXCEVTENA. |
SLEEPCNT @0x10 = 0xe0001010
Sleep Count This register is used to count the total number of cycles during which the processor is sleeping.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] SLEEPCNT RWSleep counter. Counts the number of cycles during which the processor is sleeping. An event is emitted on counter overflow (every 256 cycles). This counter initializes to 0 when it is enabled using CTRL.SLEEPEVTENA. Note that the sleep counter is clocked using CPU's free-running clock. In some power modes the free-running clock to CPU is gated to minimize power consumption. This means that the sleep counter will be invalid in these power modes. |
LSUCNT @0x14 = 0xe0001014
LSU Count This register is used to count the total number of cycles during which the processor is processing an LSU operation beyond the first cycle.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] LSUCNT RWLSU counter. This counts the total number of cycles that the processor is processing an LSU operation. The initial execution cost of the instruction is not counted. For example, an LDR that takes two cycles to complete increments this counter one cycle. Equivalently, an LDR that stalls for two cycles (i.e. takes four cycles to execute), increments this counter three times. An event is emitted on counter overflow (every 256 cycles). This counter initializes to 0 when it is enabled using CTRL.LSUEVTENA. |
FOLDCNT @0x18 = 0xe0001018
Fold Count This register is used to count the total number of folded instructions. The counter increments on each instruction which takes 0 cycles.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] FOLDCNT RWThis counts the total number folded instructions. This counter initializes to 0 when it is enabled using CTRL.FOLDEVTENA. |
PCSR @0x1c = 0xe000101c
Program Counter Sample This register is used to enable coarse-grained software profiling using a debug agent, without changing the currently executing code. If the core is not in debug state, the value returned is the instruction address of a recently executed instruction. If the core is in debug state, the value returned is 0xFFFFFFFF.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] EIASAMPLE RExecution instruction address sample, or 0xFFFFFFFF if the core is halted. |
COMP0 @0x20 = 0xe0001020
Comparator 0 This register is used to write the reference value for comparator 0.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] COMP RWReference value to compare against PC or the data address as given by FUNCTION0. Comparator 0 can also compare against the value of the PC Sampler Counter (CYCCNT). |
MASK0 @0x24 = 0xe0001024
Mask 0 Use the DWT Mask Registers 0 to apply a mask to data addresses when matching against COMP0.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] MASK RWMask on data address when matching against COMP0. This is the size of the ignore mask. That is, DWT matching is performed as:(ADDR ANDed with (0xFFFF left bit-shifted by MASK)) == COMP0. However, the actual comparison is slightly more complex to enable matching an address wherever it appears on a bus. So, if COMP0 is 3, this matches a word access of 0, because 3 would be within the word. |
FUNCTION0 @0x28 = 0xe0001028
Function 0 Use the DWT Function Registers 0 to control the operation of the comparator 0. This comparator can: 1. Match against either the PC or the data address. This is controlled by CYCMATCH. This function is only available for comparator 0 (COMP0). 2. Emit data or PC couples, trigger the ETM, or generate a watchpoint depending on the operation defined by FUNCTION.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] FUNCTION RWFunction settings. 0x0: Disabled 0x1: EMITRANGE = 0, sample and emit PC through ITM. EMITRANGE = 1, emit address offset through ITM 0x2: EMITRANGE = 0, emit data through ITM on read and write. EMITRANGE = 1, emit data and address offset through ITM on read or write. 0x3: EMITRANGE = 0, sample PC and data value through ITM on read or write. EMITRANGE = 1, emit address offset and data value through ITM on read or write. 0x4: Watchpoint on PC match. 0x5: Watchpoint on read. 0x6: Watchpoint on write. 0x7: Watchpoint on read or write. 0x8: ETM trigger on PC match 0x9: ETM trigger on read 0xA: ETM trigger on write 0xB: ETM trigger on read or write 0xC: EMITRANGE = 0, sample data for read transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) for read transfers 0xD: EMITRANGE = 0, sample data for write transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) for write transfers 0xE: EMITRANGE = 0, sample PC + data for read transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) + data for read transfers 0xF: EMITRANGE = 0, sample PC + data for write transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) + data for write transfers Note 1: If the ETM is not fitted, then ETM trigger is not possible. Note 2: Data value is only sampled for accesses that do not fault (MPU or bus fault). The PC is sampled irrespective of any faults. The PC is only sampled for the first address of a burst. Note 3: PC match is not recommended for watchpoints because it stops after the instruction. It mainly guards and triggers the ETM. |
[5] EMITRANGE RWEmit range field. This bit permits emitting offset when range match occurs. PC sampling is not supported when emit range is enabled. This field only applies for: FUNCTION = 1, 2, 3, 12, 13, 14, and 15. |
[7] CYCMATCH RWThis bit is only available in comparator 0. When set, COMP0 will compare against the cycle counter (CYCCNT). |
[24] MATCHED RWThis bit is set when the comparator matches, and indicates that the operation defined by FUNCTION has occurred since this bit was last read. This bit is cleared on read. |
COMP1 @0x30 = 0xe0001030
Comparator 1 This register is used to write the reference value for comparator 1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] COMP RWReference value to compare against PC or the data address as given by FUNCTION1. Comparator 1 can also compare data values. So this register can contain reference values for data matching. |
MASK1 @0x34 = 0xe0001034
Mask 1 Use the DWT Mask Registers 1 to apply a mask to data addresses when matching against COMP1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] MASK RWMask on data address when matching against COMP1. This is the size of the ignore mask. That is, DWT matching is performed as:(ADDR ANDed with (0xFFFF left bit-shifted by MASK)) == COMP1. However, the actual comparison is slightly more complex to enable matching an address wherever it appears on a bus. So, if COMP1 is 3, this matches a word access of 0, because 3 would be within the word. |
FUNCTION1 @0x38 = 0xe0001038
Function 1 Use the DWT Function Registers 1 to control the operation of the comparator 1. This comparator can: 1. Perform data value comparisons if associated address comparators have performed an address match. This function is only available for comparator 1 (COMP1). 2. Emit data or PC couples, trigger the ETM, or generate a watchpoint depending on the operation defined by FUNCTION.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] FUNCTION RWFunction settings: 0x0: Disabled 0x1: EMITRANGE = 0, sample and emit PC through ITM. EMITRANGE = 1, emit address offset through ITM 0x2: EMITRANGE = 0, emit data through ITM on read and write. EMITRANGE = 1, emit data and address offset through ITM on read or write. 0x3: EMITRANGE = 0, sample PC and data value through ITM on read or write. EMITRANGE = 1, emit address offset and data value through ITM on read or write. 0x4: Watchpoint on PC match. 0x5: Watchpoint on read. 0x6: Watchpoint on write. 0x7: Watchpoint on read or write. 0x8: ETM trigger on PC match 0x9: ETM trigger on read 0xA: ETM trigger on write 0xB: ETM trigger on read or write 0xC: EMITRANGE = 0, sample data for read transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) for read transfers 0xD: EMITRANGE = 0, sample data for write transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) for write transfers 0xE: EMITRANGE = 0, sample PC + data for read transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) + data for read transfers 0xF: EMITRANGE = 0, sample PC + data for write transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) + data for write transfers Note 1: If the ETM is not fitted, then ETM trigger is not possible. Note 2: Data value is only sampled for accesses that do not fault (MPU or bus fault). The PC is sampled irrespective of any faults. The PC is only sampled for the first address of a burst. Note 3: FUNCTION is overridden for comparators given by DATAVADDR0 and DATAVADDR1 if DATAVMATCH is also set. The comparators given by DATAVADDR0 and DATAVADDR1 can then only perform address comparator matches for comparator 1 data matches. Note 4: If the data matching functionality is not included during implementation it is not possible to set DATAVADDR0, DATAVADDR1, or DATAVMATCH. This means that the data matching functionality is not available in the implementation. Test the availability of data matching by writing and reading DATAVMATCH. If it is not settable then data matching is unavailable. Note 5: PC match is not recommended for watchpoints because it stops after the instruction. It mainly guards and triggers the ETM. |
[5] EMITRANGE RWEmit range field. This bit permits emitting offset when range match occurs. PC sampling is not supported when emit range is enabled. This field only applies for: FUNCTION = 1, 2, 3, 12, 13, 14, and 15. |
[8] DATAVMATCH RWData match feature: 0: Perform address comparison 1: Perform data value compare. The comparators given by DATAVADDR0 and DATAVADDR1 provide the address for the data comparison. The FUNCTION setting for the comparators given by DATAVADDR0 and DATAVADDR1 are overridden and those comparators only provide the address match for the data comparison. This bit is only available in comparator 1. |
[9] LNK1ENA RRead only bit-field only supported in comparator 1. 0: DATAVADDR1 not supported 1: DATAVADDR1 supported (enabled) |
[10..=11] DATAVSIZE RWDefines the size of the data in the COMP1 register that is to be matched: 0x0: Byte 0x1: Halfword 0x2: Word 0x3: Unpredictable. |
[12..=15] DATAVADDR0 RWIdentity of a linked address comparator for data value matching when DATAVMATCH == 1. |
[16..=19] DATAVADDR1 RWIdentity of a second linked address comparator for data value matching when DATAVMATCH == 1 and LNK1ENA == 1. |
[24] MATCHED RWThis bit is set when the comparator matches, and indicates that the operation defined by FUNCTION has occurred since this bit was last read. This bit is cleared on read. |
COMP2 @0x40 = 0xe0001040
Comparator 2 This register is used to write the reference value for comparator 2.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] COMP RWReference value to compare against PC or the data address as given by FUNCTION2. |
MASK2 @0x44 = 0xe0001044
Mask 2 Use the DWT Mask Registers 2 to apply a mask to data addresses when matching against COMP2.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] MASK RWMask on data address when matching against COMP2. This is the size of the ignore mask. That is, DWT matching is performed as:(ADDR ANDed with (0xFFFF left bit-shifted by MASK)) == COMP2. However, the actual comparison is slightly more complex to enable matching an address wherever it appears on a bus. So, if COMP2 is 3, this matches a word access of 0, because 3 would be within the word. |
FUNCTION2 @0x48 = 0xe0001048
Function 2 Use the DWT Function Registers 2 to control the operation of the comparator 2. This comparator can emit data or PC couples, trigger the ETM, or generate a watchpoint depending on the operation defined by FUNCTION.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] FUNCTION RWFunction settings. 0x0: Disabled 0x1: EMITRANGE = 0, sample and emit PC through ITM. EMITRANGE = 1, emit address offset through ITM 0x2: EMITRANGE = 0, emit data through ITM on read and write. EMITRANGE = 1, emit data and address offset through ITM on read or write. 0x3: EMITRANGE = 0, sample PC and data value through ITM on read or write. EMITRANGE = 1, emit address offset and data value through ITM on read or write. 0x4: Watchpoint on PC match. 0x5: Watchpoint on read. 0x6: Watchpoint on write. 0x7: Watchpoint on read or write. 0x8: ETM trigger on PC match 0x9: ETM trigger on read 0xA: ETM trigger on write 0xB: ETM trigger on read or write 0xC: EMITRANGE = 0, sample data for read transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) for read transfers 0xD: EMITRANGE = 0, sample data for write transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) for write transfers 0xE: EMITRANGE = 0, sample PC + data for read transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) + data for read transfers 0xF: EMITRANGE = 0, sample PC + data for write transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) + data for write transfers Note 1: If the ETM is not fitted, then ETM trigger is not possible. Note 2: Data value is only sampled for accesses that do not fault (MPU or bus fault). The PC is sampled irrespective of any faults. The PC is only sampled for the first address of a burst. Note 3: PC match is not recommended for watchpoints because it stops after the instruction. It mainly guards and triggers the ETM. |
[5] EMITRANGE RWEmit range field. This bit permits emitting offset when range match occurs. PC sampling is not supported when emit range is enabled. This field only applies for: FUNCTION = 1, 2, 3, 12, 13, 14, and 15. |
[24] MATCHED RWThis bit is set when the comparator matches, and indicates that the operation defined by FUNCTION has occurred since this bit was last read. This bit is cleared on read. |
COMP3 @0x50 = 0xe0001050
Comparator 3 This register is used to write the reference value for comparator 3.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] COMP RWReference value to compare against PC or the data address as given by FUNCTION3. |
MASK3 @0x54 = 0xe0001054
Mask 3 Use the DWT Mask Registers 3 to apply a mask to data addresses when matching against COMP3.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] MASK RWMask on data address when matching against COMP3. This is the size of the ignore mask. That is, DWT matching is performed as:(ADDR ANDed with (0xFFFF left bit-shifted by MASK)) == COMP3. However, the actual comparison is slightly more complex to enable matching an address wherever it appears on a bus. So, if COMP3 is 3, this matches a word access of 0, because 3 would be within the word. |
FUNCTION3 @0x58 = 0xe0001058
Function 3 Use the DWT Function Registers 3 to control the operation of the comparator 3. This comparator can emit data or PC couples, trigger the ETM, or generate a watchpoint depending on the operation defined by FUNCTION.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] FUNCTION RWFunction settings. 0x0: Disabled 0x1: EMITRANGE = 0, sample and emit PC through ITM. EMITRANGE = 1, emit address offset through ITM 0x2: EMITRANGE = 0, emit data through ITM on read and write. EMITRANGE = 1, emit data and address offset through ITM on read or write. 0x3: EMITRANGE = 0, sample PC and data value through ITM on read or write. EMITRANGE = 1, emit address offset and data value through ITM on read or write. 0x4: Watchpoint on PC match. 0x5: Watchpoint on read. 0x6: Watchpoint on write. 0x7: Watchpoint on read or write. 0x8: ETM trigger on PC match 0x9: ETM trigger on read 0xA: ETM trigger on write 0xB: ETM trigger on read or write 0xC: EMITRANGE = 0, sample data for read transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) for read transfers 0xD: EMITRANGE = 0, sample data for write transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) for write transfers 0xE: EMITRANGE = 0, sample PC + data for read transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) + data for read transfers 0xF: EMITRANGE = 0, sample PC + data for write transfers. EMITRANGE = 1, sample Daddr (lower 16 bits) + data for write transfers Note 1: If the ETM is not fitted, then ETM trigger is not possible. Note 2: Data value is only sampled for accesses that do not fault (MPU or bus fault). The PC is sampled irrespective of any faults. The PC is only sampled for the first address of a burst. Note 3: PC match is not recommended for watchpoints because it stops after the instruction. It mainly guards and triggers the ETM. |
[5] EMITRANGE RWEmit range field. This bit permits emitting offset when range match occurs. PC sampling is not supported when emit range is enabled. This field only applies for: FUNCTION = 1, 2, 3, 12, 13, 14, and 15. |
[24] MATCHED RWThis bit is set when the comparator matches, and indicates that the operation defined by FUNCTION has occurred since this bit was last read. This bit is cleared on read. |
CPU_FPB at 0xe0002000 with offset=0 and size=4096:
Cortex-M's Flash Patch and Breakpoint (FPB)
Registers:
CTRL @0x0 = 0xe0002000
Control This register is used to enable the flash patch block.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ENABLE RWFlash patch unit enable bit 0x0: Flash patch unit disabled 0x1: Flash patch unit enabled |
[1] KEY WKey field. In order to write to this register, this bit-field must be written to '1'. This bit always reads 0. |
[4..=7] NUM_CODE1 RNumber of code slots field. 0x0: No code slots 0x2: Two code slots 0x6: Six code slots |
[8..=11] NUM_LIT RNumber of literal slots field. 0x0: No literal slots 0x2: Two literal slots |
[12..=13] NUM_CODE2 RNumber of full banks of code comparators, sixteen comparators per bank. Where less than sixteen code comparators are provided, the bank count is zero, and the number present indicated by NUM_CODE1. This read only field contains 3'b000 to indicate 0 banks for Cortex-M processor. |
REMAP @0x4 = 0xe0002004
Remap This register provides the remap base address location where a matched addresses are remapped. The three most significant bits and the five least significant bits of the remap base address are hard-coded to 3'b001 and 5'b00000 respectively. The remap base address must be in system space and is it required to be 8-word aligned, with one word allocated to each of the eight FPB comparators.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[5..=28] REMAP RWRemap base address field. |
COMP0 @0x8 = 0xe0002008
Comparator 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ENABLE RWCompare and remap enable comparator 0. CTRL.ENABLE must also be set to enable comparisons. 0x0: Compare and remap for comparator 0 disabled 0x1: Compare and remap for comparator 0 enabled |
[2..=28] COMP RWComparison address. |
[30..=31] REPLACE RWThis selects what happens when the COMP address is matched. Address remapping only takes place for the 0x0 setting. 0x0: Remap to remap address. See REMAP.REMAP 0x1: Set BKPT on lower halfword, upper is unaffected 0x2: Set BKPT on upper halfword, lower is unaffected 0x3: Set BKPT on both lower and upper halfwords. |
COMP1 @0xc = 0xe000200c
Comparator 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ENABLE RWCompare and remap enable comparator 1. CTRL.ENABLE must also be set to enable comparisons. 0x0: Compare and remap for comparator 1 disabled 0x1: Compare and remap for comparator 1 enabled |
[2..=28] COMP RWComparison address. |
[30..=31] REPLACE RWThis selects what happens when the COMP address is matched. Address remapping only takes place for the 0x0 setting. 0x0: Remap to remap address. See REMAP.REMAP 0x1: Set BKPT on lower halfword, upper is unaffected 0x2: Set BKPT on upper halfword, lower is unaffected 0x3: Set BKPT on both lower and upper halfwords. |
COMP2 @0x10 = 0xe0002010
Comparator 2
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ENABLE RWCompare and remap enable comparator 2. CTRL.ENABLE must also be set to enable comparisons. 0x0: Compare and remap for comparator 2 disabled 0x1: Compare and remap for comparator 2 enabled |
[2..=28] COMP RWComparison address. |
[30..=31] REPLACE RWThis selects what happens when the COMP address is matched. Address remapping only takes place for the 0x0 setting. 0x0: Remap to remap address. See REMAP.REMAP 0x1: Set BKPT on lower halfword, upper is unaffected 0x2: Set BKPT on upper halfword, lower is unaffected 0x3: Set BKPT on both lower and upper halfwords. |
COMP3 @0x14 = 0xe0002014
Comparator 3
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ENABLE RWCompare and remap enable comparator 3. CTRL.ENABLE must also be set to enable comparisons. 0x0: Compare and remap for comparator 3 disabled 0x1: Compare and remap for comparator 3 enabled |
[2..=28] COMP RWComparison address. |
[30..=31] REPLACE RWThis selects what happens when the COMP address is matched. Address remapping only takes place for the 0x0 setting. 0x0: Remap to remap address. See REMAP.REMAP 0x1: Set BKPT on lower halfword, upper is unaffected 0x2: Set BKPT on upper halfword, lower is unaffected 0x3: Set BKPT on both lower and upper halfwords. |
COMP4 @0x18 = 0xe0002018
Comparator 4
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ENABLE RWCompare and remap enable comparator 4. CTRL.ENABLE must also be set to enable comparisons. 0x0: Compare and remap for comparator 4 disabled 0x1: Compare and remap for comparator 4 enabled |
[2..=28] COMP RWComparison address. |
[30..=31] REPLACE RWThis selects what happens when the COMP address is matched. Address remapping only takes place for the 0x0 setting. 0x0: Remap to remap address. See REMAP.REMAP 0x1: Set BKPT on lower halfword, upper is unaffected 0x2: Set BKPT on upper halfword, lower is unaffected 0x3: Set BKPT on both lower and upper halfwords. |
COMP5 @0x1c = 0xe000201c
Comparator 5
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ENABLE RWCompare and remap enable comparator 5. CTRL.ENABLE must also be set to enable comparisons. 0x0: Compare and remap for comparator 5 disabled 0x1: Compare and remap for comparator 5 enabled |
[2..=28] COMP RWComparison address. |
[30..=31] REPLACE RWThis selects what happens when the COMP address is matched. Address remapping only takes place for the 0x0 setting. 0x0: Remap to remap address. See REMAP.REMAP 0x1: Set BKPT on lower halfword, upper is unaffected 0x2: Set BKPT on upper halfword, lower is unaffected 0x3: Set BKPT on both lower and upper halfwords. |
COMP6 @0x20 = 0xe0002020
Comparator 6
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ENABLE RWCompare and remap enable comparator 6. CTRL.ENABLE must also be set to enable comparisons. 0x0: Compare and remap for comparator 6 disabled 0x1: Compare and remap for comparator 6 enabled |
[2..=28] COMP RWComparison address. |
[30..=31] REPLACE RWThis selects what happens when the COMP address is matched. Comparator 6 is a literal comparator and the only supported setting is 0x0. Other settings will be ignored. 0x0: Remap to remap address. See REMAP.REMAP 0x1: Set BKPT on lower halfword, upper is unaffected 0x2: Set BKPT on upper halfword, lower is unaffected 0x3: Set BKPT on both lower and upper halfwords. |
COMP7 @0x24 = 0xe0002024
Comparator 7
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ENABLE RWCompare and remap enable comparator 7. CTRL.ENABLE must also be set to enable comparisons. 0x0: Compare and remap for comparator 7 disabled 0x1: Compare and remap for comparator 7 enabled |
[2..=28] COMP RWComparison address. |
[30..=31] REPLACE RWThis selects what happens when the COMP address is matched. Comparator 7 is a literal comparator and the only supported setting is 0x0. Other settings will be ignored. 0x0: Remap to remap address. See REMAP.REMAP 0x1: Set BKPT on lower halfword, upper is unaffected 0x2: Set BKPT on upper halfword, lower is unaffected 0x3: Set BKPT on both lower and upper halfwords. |
CPU_ITM at 0xe0000000 with offset=0 and size=4096:
Cortex-M's Instrumentation Trace Macrocell (ITM)
Registers:
STIM0 @0x0 = 0xe0000000
Stimulus Port 0
STIM1 @0x4 = 0xe0000004
Stimulus Port 1
STIM2 @0x8 = 0xe0000008
Stimulus Port 2
STIM3 @0xc = 0xe000000c
Stimulus Port 3
STIM4 @0x10 = 0xe0000010
Stimulus Port 4
STIM5 @0x14 = 0xe0000014
Stimulus Port 5
STIM6 @0x18 = 0xe0000018
Stimulus Port 6
STIM7 @0x1c = 0xe000001c
Stimulus Port 7
STIM8 @0x20 = 0xe0000020
Stimulus Port 8
STIM9 @0x24 = 0xe0000024
Stimulus Port 9
STIM10 @0x28 = 0xe0000028
Stimulus Port 10
STIM11 @0x2c = 0xe000002c
Stimulus Port 11
STIM12 @0x30 = 0xe0000030
Stimulus Port 12
STIM13 @0x34 = 0xe0000034
Stimulus Port 13
STIM14 @0x38 = 0xe0000038
Stimulus Port 14
STIM15 @0x3c = 0xe000003c
Stimulus Port 15
STIM16 @0x40 = 0xe0000040
Stimulus Port 16
STIM17 @0x44 = 0xe0000044
Stimulus Port 17
STIM18 @0x48 = 0xe0000048
Stimulus Port 18
STIM19 @0x4c = 0xe000004c
Stimulus Port 19
STIM20 @0x50 = 0xe0000050
Stimulus Port 20
STIM21 @0x54 = 0xe0000054
Stimulus Port 21
STIM22 @0x58 = 0xe0000058
Stimulus Port 22
STIM23 @0x5c = 0xe000005c
Stimulus Port 23
STIM24 @0x60 = 0xe0000060
Stimulus Port 24
STIM25 @0x64 = 0xe0000064
Stimulus Port 25
STIM26 @0x68 = 0xe0000068
Stimulus Port 26
STIM27 @0x6c = 0xe000006c
Stimulus Port 27
STIM28 @0x70 = 0xe0000070
Stimulus Port 28
STIM29 @0x74 = 0xe0000074
Stimulus Port 29
STIM30 @0x78 = 0xe0000078
Stimulus Port 30
STIM31 @0x7c = 0xe000007c
Stimulus Port 31
TER @0xe00 = 0xe0000e00
Trace Enable Use the Trace Enable Register to generate trace data by writing to the corresponding stimulus port. Note: Privileged writes are accepted to this register if TCR.ITMENA is set. User writes are accepted to this register if TCR.ITMENA is set and the appropriate privilege mask is cleared. Privileged access to the stimulus ports enables an RTOS kernel to guarantee instrumentation slots or bandwidth as required.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STIMENA0 RWBit mask to enable tracing on ITM stimulus port 0. |
[1] STIMENA1 RWBit mask to enable tracing on ITM stimulus port 1. |
[2] STIMENA2 RWBit mask to enable tracing on ITM stimulus port 2. |
[3] STIMENA3 RWBit mask to enable tracing on ITM stimulus port 3. |
[4] STIMENA4 RWBit mask to enable tracing on ITM stimulus port 4. |
[5] STIMENA5 RWBit mask to enable tracing on ITM stimulus port 5. |
[6] STIMENA6 RWBit mask to enable tracing on ITM stimulus port 6. |
[7] STIMENA7 RWBit mask to enable tracing on ITM stimulus port 7. |
[8] STIMENA8 RWBit mask to enable tracing on ITM stimulus port 8. |
[9] STIMENA9 RWBit mask to enable tracing on ITM stimulus port 9. |
[10] STIMENA10 RWBit mask to enable tracing on ITM stimulus port 10. |
[11] STIMENA11 RWBit mask to enable tracing on ITM stimulus port 11. |
[12] STIMENA12 RWBit mask to enable tracing on ITM stimulus port 12. |
[13] STIMENA13 RWBit mask to enable tracing on ITM stimulus port 13. |
[14] STIMENA14 RWBit mask to enable tracing on ITM stimulus port 14. |
[15] STIMENA15 RWBit mask to enable tracing on ITM stimulus port 15. |
[16] STIMENA16 RWBit mask to enable tracing on ITM stimulus port 16. |
[17] STIMENA17 RWBit mask to enable tracing on ITM stimulus port 17. |
[18] STIMENA18 RWBit mask to enable tracing on ITM stimulus port 18. |
[19] STIMENA19 RWBit mask to enable tracing on ITM stimulus port 19. |
[20] STIMENA20 RWBit mask to enable tracing on ITM stimulus port 20. |
[21] STIMENA21 RWBit mask to enable tracing on ITM stimulus port 21. |
[22] STIMENA22 RWBit mask to enable tracing on ITM stimulus port 22. |
[23] STIMENA23 RWBit mask to enable tracing on ITM stimulus port 23. |
[24] STIMENA24 RWBit mask to enable tracing on ITM stimulus port 24. |
[25] STIMENA25 RWBit mask to enable tracing on ITM stimulus port 25. |
[26] STIMENA26 RWBit mask to enable tracing on ITM stimulus port 26. |
[27] STIMENA27 RWBit mask to enable tracing on ITM stimulus port 27. |
[28] STIMENA28 RWBit mask to enable tracing on ITM stimulus port 28. |
[29] STIMENA29 RWBit mask to enable tracing on ITM stimulus port 29. |
[30] STIMENA30 RWBit mask to enable tracing on ITM stimulus port 30. |
[31] STIMENA31 RWBit mask to enable tracing on ITM stimulus port 31. |
TPR @0xe40 = 0xe0000e40
Trace Privilege This register is used to enable an operating system to control which stimulus ports are accessible by user code. This register can only be used in privileged mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] PRIVMASK RWBit mask to enable unprivileged (User) access to ITM stimulus ports: Bit [0] enables stimulus ports 0, 1, ..., and 7. Bit [1] enables stimulus ports 8, 9, ..., and 15. Bit [2] enables stimulus ports 16, 17, ..., and 23. Bit [3] enables stimulus ports 24, 25, ..., and 31. 0: User access allowed to stimulus ports 1: Privileged access only to stimulus ports |
TCR @0xe80 = 0xe0000e80
Trace Control Use this register to configure and control ITM transfers. This register can only be written in privilege mode. DWT is not enabled in the ITM block. However, DWT stimulus entry into the FIFO is controlled by DWTENA. If DWT requires timestamping, the TSENA bit must be set.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0] ITMENA RWEnables ITM. This is the master enable, and must be set before ITM Stimulus and Trace Enable registers can be written. |
[1] TSENA RWEnables differential timestamps. Differential timestamps are emitted when a packet is written to the FIFO with a non-zero timestamp counter, and when the timestamp counter overflows. Timestamps are emitted during idle times after a fixed number of two million cycles. This provides a time reference for packets and inter-packet gaps. If SWOENA (bit [4]) is set, timestamps are triggered by activity on the internal trace bus only. In this case there is no regular timestamp output when the ITM is idle. |
[2] SYNCENA RWEnables synchronization packet transmission for a synchronous TPIU. CPU_DWT:CTRL.SYNCTAP must be configured for the correct synchronization speed. |
[3] DWTENA RWEnables the DWT stimulus (hardware event packet emission to the TPIU from the DWT) |
[4] SWOENA RWEnables asynchronous clocking of the timestamp counter (when TSENA = 1). If TSENA = 0, writing this bit to 1 does not enable asynchronous clocking of the timestamp counter. 0x0: Mode disabled. Timestamp counter uses system clock from the core and counts continuously. 0x1: Timestamp counter uses lineout (data related) clock from TPIU interface. The timestamp counter is held in reset while the output line is idle. |
[8..=9] TSPRESCALE RWTimestamp prescaler Possible values:
|
[16..=22] ATBID RWTrace Bus ID for CoreSight system. Optional identifier for multi-source trace stream formatting. If multi-source trace is in use, this field must be written with a non-zero value. |
[23] BUSY RWSet when ITM events present and being drained. |
LAR @0xfb0 = 0xe0000fb0
Lock Access This register is used to prevent write accesses to the Control Registers: TER, TPR and TCR.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] LOCK_ACCESS WA privileged write of 0xC5ACCE55 enables more write access to Control Registers TER, TPR and TCR. An invalid write removes write access. |
LSR @0xfb4 = 0xe0000fb4
Lock Status Use this register to enable write accesses to the Control Register.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] PRESENT RIndicates that a lock mechanism exists for this component. |
[1] ACCESS RWrite access to component is blocked. All writes are ignored, reads are permitted. |
[2] BYTEACC RReads 0 which means 8-bit lock access is not be implemented. |
CPU_SCS at 0xe000e000 with offset=0 and size=4096:
Cortex-M's System Control Space (SCS)
Registers:
RESERVED000 @0x0 = 0xe000e000
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
ICTR @0x4 = 0xe000e004
Interrupt Control Type Read this register to see the number of interrupt lines that the NVIC supports.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] INTLINESNUM RTotal number of interrupt lines in groups of 32. 0: 0...32 1: 33...64 2: 65...96 3: 97...128 4: 129...160 5: 161...192 6: 193...224 7: 225...256 |
ACTLR @0x8 = 0xe000e008
Auxiliary Control This register is used to disable certain aspects of functionality within the processor
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DISMCYCINT RWDisables interruption of multi-cycle instructions. This increases the interrupt latency of the processor becuase LDM/STM completes before interrupt stacking occurs. |
[1] DISDEFWBUF RWDisables write buffer use during default memory map accesses. This causes all bus faults to be precise bus faults but decreases the performance of the processor because the stores to memory have to complete before the next instruction can be executed. |
[2] DISFOLD RWDisables folding of IT instruction. |
STCSR @0x10 = 0xe000e010
SysTick Control and Status This register enables the SysTick features and returns status flags related to SysTick.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ENABLE RWEnable SysTick counter 0: Counter disabled 1: Counter operates in a multi-shot way. That is, counter loads with the Reload value STRVR.RELOAD and then begins counting down. On reaching 0, it sets COUNTFLAG to 1 and optionally pends the SysTick handler, based on TICKINT. It then loads STRVR.RELOAD again, and begins counting. |
[1] TICKINT RW0: Counting down to zero does not pend the SysTick handler. Software can use COUNTFLAG to determine if the SysTick handler has ever counted to zero. 1: Counting down to zero pends the SysTick handler. |
[2] CLKSOURCE RClock source: 0: External reference clock. 1: Core clock External clock is not available in this device. Writes to this field will be ignored. |
[16] COUNTFLAG RReturns 1 if timer counted to 0 since last time this was read. Clears on read by application of any part of the SysTick Control and Status Register. If read by the debugger using the DAP, this bit is cleared on read-only if the MasterType bit in the **AHB-AP** Control Register is set to 0. Otherwise, COUNTFLAG is not changed by the debugger read. |
STRVR @0x14 = 0xe000e014
SysTick Reload Value This register is used to specify the start value to load into the current value register STCVR.CURRENT when the counter reaches 0. It can be any value between 1 and 0x00FFFFFF. A start value of 0 is possible, but has no effect because the SysTick interrupt and STCSR.COUNTFLAG are activated when counting from 1 to 0.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] RELOAD RWValue to load into the SysTick Current Value Register STCVR.CURRENT when the counter reaches 0. |
STCVR @0x18 = 0xe000e018
SysTick Current Value Read from this register returns the current value of SysTick counter. Writing to this register resets the SysTick counter (as well as STCSR.COUNTFLAG).
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] CURRENT RWCurrent value at the time the register is accessed. No read-modify-write protection is provided, so change with care. Writing to it with any value clears the register to 0. Clearing this register also clears STCSR.COUNTFLAG. |
STCR @0x1c = 0xe000e01c
SysTick Calibration Value Used to enable software to scale to any required speed using divide and multiply.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] TENMS RAn optional Reload value to be used for 10ms (100Hz) timing, subject to system clock skew errors. The value read is valid only when core clock is at 48MHz. |
[30] SKEW RReads as one. The calibration value is not exactly 10ms because of clock frequency. This could affect its suitability as a software real time clock. |
[31] NOREF RReads as one. Indicates that no separate reference clock is provided. |
NVIC_ISER0 @0x100 = 0xe000e100
Irq 0 to 31 Set Enable This register is used to enable interrupts and determine which interrupts are currently enabled.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SETENA0 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 0 (See EVENT:CPUIRQSEL0.EV for details). Reading the bit returns its current enable state. |
[1] SETENA1 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 1 (See EVENT:CPUIRQSEL1.EV for details). Reading the bit returns its current enable state. |
[2] SETENA2 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 2 (See EVENT:CPUIRQSEL2.EV for details). Reading the bit returns its current enable state. |
[3] SETENA3 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 3 (See EVENT:CPUIRQSEL3.EV for details). Reading the bit returns its current enable state. |
[4] SETENA4 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 4 (See EVENT:CPUIRQSEL4.EV for details). Reading the bit returns its current enable state. |
[5] SETENA5 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 5 (See EVENT:CPUIRQSEL5.EV for details). Reading the bit returns its current enable state. |
[6] SETENA6 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 6 (See EVENT:CPUIRQSEL6.EV for details). Reading the bit returns its current enable state. |
[7] SETENA7 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 7 (See EVENT:CPUIRQSEL7.EV for details). Reading the bit returns its current enable state. |
[8] SETENA8 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 8 (See EVENT:CPUIRQSEL8.EV for details). Reading the bit returns its current enable state. |
[9] SETENA9 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 9 (See EVENT:CPUIRQSEL9.EV for details). Reading the bit returns its current enable state. |
[10] SETENA10 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 10 (See EVENT:CPUIRQSEL10.EV for details). Reading the bit returns its current enable state. |
[11] SETENA11 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 11 (See EVENT:CPUIRQSEL11.EV for details). Reading the bit returns its current enable state. |
[12] SETENA12 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 12 (See EVENT:CPUIRQSEL12.EV for details). Reading the bit returns its current enable state. |
[13] SETENA13 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 13 (See EVENT:CPUIRQSEL13.EV for details). Reading the bit returns its current enable state. |
[14] SETENA14 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 14 (See EVENT:CPUIRQSEL14.EV for details). Reading the bit returns its current enable state. |
[15] SETENA15 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 15 (See EVENT:CPUIRQSEL15.EV for details). Reading the bit returns its current enable state. |
[16] SETENA16 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 16 (See EVENT:CPUIRQSEL16.EV for details). Reading the bit returns its current enable state. |
[17] SETENA17 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 17 (See EVENT:CPUIRQSEL17.EV for details). Reading the bit returns its current enable state. |
[18] SETENA18 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 18 (See EVENT:CPUIRQSEL18.EV for details). Reading the bit returns its current enable state. |
[19] SETENA19 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 19 (See EVENT:CPUIRQSEL19.EV for details). Reading the bit returns its current enable state. |
[20] SETENA20 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 20 (See EVENT:CPUIRQSEL20.EV for details). Reading the bit returns its current enable state. |
[21] SETENA21 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 21 (See EVENT:CPUIRQSEL21.EV for details). Reading the bit returns its current enable state. |
[22] SETENA22 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 22 (See EVENT:CPUIRQSEL22.EV for details). Reading the bit returns its current enable state. |
[23] SETENA23 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 23 (See EVENT:CPUIRQSEL23.EV for details). Reading the bit returns its current enable state. |
[24] SETENA24 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 24 (See EVENT:CPUIRQSEL24.EV for details). Reading the bit returns its current enable state. |
[25] SETENA25 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 25 (See EVENT:CPUIRQSEL25.EV for details). Reading the bit returns its current enable state. |
[26] SETENA26 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 26 (See EVENT:CPUIRQSEL26.EV for details). Reading the bit returns its current enable state. |
[27] SETENA27 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 27 (See EVENT:CPUIRQSEL27.EV for details). Reading the bit returns its current enable state. |
[28] SETENA28 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 28 (See EVENT:CPUIRQSEL28.EV for details). Reading the bit returns its current enable state. |
[29] SETENA29 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 29 (See EVENT:CPUIRQSEL29.EV for details). Reading the bit returns its current enable state. |
[30] SETENA30 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 30 (See EVENT:CPUIRQSEL30.EV for details). Reading the bit returns its current enable state. |
[31] SETENA31 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 31 (See EVENT:CPUIRQSEL31.EV for details). Reading the bit returns its current enable state. |
NVIC_ISER1 @0x104 = 0xe000e104
Irq 32 to 63 Set Enable This register is used to enable interrupts and determine which interrupts are currently enabled.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SETENA32 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 32 (See EVENT:CPUIRQSEL32.EV for details). Reading the bit returns its current enable state. |
[1] SETENA33 RWWriting 0 to this bit has no effect, writing 1 to this bit enables the interrupt number 33 (See EVENT:CPUIRQSEL33.EV for details). Reading the bit returns its current enable state. |
RESERVED0 @0x108 = 0xe000e108
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
NVIC_ICER0 @0x180 = 0xe000e180
Irq 0 to 31 Clear Enable This register is used to disable interrupts and determine which interrupts are currently enabled.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLRENA0 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 0 (See EVENT:CPUIRQSEL0.EV for details). Reading the bit returns its current enable state. |
[1] CLRENA1 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 1 (See EVENT:CPUIRQSEL1.EV for details). Reading the bit returns its current enable state. |
[2] CLRENA2 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 2 (See EVENT:CPUIRQSEL2.EV for details). Reading the bit returns its current enable state. |
[3] CLRENA3 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 3 (See EVENT:CPUIRQSEL3.EV for details). Reading the bit returns its current enable state. |
[4] CLRENA4 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 4 (See EVENT:CPUIRQSEL4.EV for details). Reading the bit returns its current enable state. |
[5] CLRENA5 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 5 (See EVENT:CPUIRQSEL5.EV for details). Reading the bit returns its current enable state. |
[6] CLRENA6 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 6 (See EVENT:CPUIRQSEL6.EV for details). Reading the bit returns its current enable state. |
[7] CLRENA7 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 7 (See EVENT:CPUIRQSEL7.EV for details). Reading the bit returns its current enable state. |
[8] CLRENA8 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 8 (See EVENT:CPUIRQSEL8.EV for details). Reading the bit returns its current enable state. |
[9] CLRENA9 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 9 (See EVENT:CPUIRQSEL9.EV for details). Reading the bit returns its current enable state. |
[10] CLRENA10 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 10 (See EVENT:CPUIRQSEL10.EV for details). Reading the bit returns its current enable state. |
[11] CLRENA11 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 11 (See EVENT:CPUIRQSEL11.EV for details). Reading the bit returns its current enable state. |
[12] CLRENA12 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 12 (See EVENT:CPUIRQSEL12.EV for details). Reading the bit returns its current enable state. |
[13] CLRENA13 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 13 (See EVENT:CPUIRQSEL13.EV for details). Reading the bit returns its current enable state. |
[14] CLRENA14 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 14 (See EVENT:CPUIRQSEL14.EV for details). Reading the bit returns its current enable state. |
[15] CLRENA15 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 15 (See EVENT:CPUIRQSEL15.EV for details). Reading the bit returns its current enable state. |
[16] CLRENA16 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 16 (See EVENT:CPUIRQSEL16.EV for details). Reading the bit returns its current enable state. |
[17] CLRENA17 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 17 (See EVENT:CPUIRQSEL17.EV for details). Reading the bit returns its current enable state. |
[18] CLRENA18 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 18 (See EVENT:CPUIRQSEL18.EV for details). Reading the bit returns its current enable state. |
[19] CLRENA19 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 19 (See EVENT:CPUIRQSEL19.EV for details). Reading the bit returns its current enable state. |
[20] CLRENA20 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 20 (See EVENT:CPUIRQSEL20.EV for details). Reading the bit returns its current enable state. |
[21] CLRENA21 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 21 (See EVENT:CPUIRQSEL21.EV for details). Reading the bit returns its current enable state. |
[22] CLRENA22 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 22 (See EVENT:CPUIRQSEL22.EV for details). Reading the bit returns its current enable state. |
[23] CLRENA23 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 23 (See EVENT:CPUIRQSEL23.EV for details). Reading the bit returns its current enable state. |
[24] CLRENA24 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 24 (See EVENT:CPUIRQSEL24.EV for details). Reading the bit returns its current enable state. |
[25] CLRENA25 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 25 (See EVENT:CPUIRQSEL25.EV for details). Reading the bit returns its current enable state. |
[26] CLRENA26 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 26 (See EVENT:CPUIRQSEL26.EV for details). Reading the bit returns its current enable state. |
[27] CLRENA27 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 27 (See EVENT:CPUIRQSEL27.EV for details). Reading the bit returns its current enable state. |
[28] CLRENA28 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 28 (See EVENT:CPUIRQSEL28.EV for details). Reading the bit returns its current enable state. |
[29] CLRENA29 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 29 (See EVENT:CPUIRQSEL29.EV for details). Reading the bit returns its current enable state. |
[30] CLRENA30 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 30 (See EVENT:CPUIRQSEL30.EV for details). Reading the bit returns its current enable state. |
[31] CLRENA31 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 31 (See EVENT:CPUIRQSEL31.EV for details). Reading the bit returns its current enable state. |
NVIC_ICER1 @0x184 = 0xe000e184
Irq 32 to 63 Clear Enable This register is used to disable interrupts and determine which interrupts are currently enabled.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLRENA32 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 32 (See EVENT:CPUIRQSEL32.EV for details). Reading the bit returns its current enable state. |
[1] CLRENA33 RWWriting 0 to this bit has no effect, writing 1 to this bit disables the interrupt number 33 (See EVENT:CPUIRQSEL33.EV for details). Reading the bit returns its current enable state. |
RESERVED1 @0x188 = 0xe000e188
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
NVIC_ISPR0 @0x200 = 0xe000e200
Irq 0 to 31 Set Pending This register is used to force interrupts into the pending state and determine which interrupts are currently pending.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SETPEND0 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 0 (See EVENT:CPUIRQSEL0.EV for details). Reading the bit returns its current state. |
[1] SETPEND1 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 1 (See EVENT:CPUIRQSEL1.EV for details). Reading the bit returns its current state. |
[2] SETPEND2 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 2 (See EVENT:CPUIRQSEL2.EV for details). Reading the bit returns its current state. |
[3] SETPEND3 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 3 (See EVENT:CPUIRQSEL3.EV for details). Reading the bit returns its current state. |
[4] SETPEND4 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 4 (See EVENT:CPUIRQSEL4.EV for details). Reading the bit returns its current state. |
[5] SETPEND5 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 5 (See EVENT:CPUIRQSEL5.EV for details). Reading the bit returns its current state. |
[6] SETPEND6 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 6 (See EVENT:CPUIRQSEL6.EV for details). Reading the bit returns its current state. |
[7] SETPEND7 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 7 (See EVENT:CPUIRQSEL7.EV for details). Reading the bit returns its current state. |
[8] SETPEND8 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 8 (See EVENT:CPUIRQSEL8.EV for details). Reading the bit returns its current state. |
[9] SETPEND9 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 9 (See EVENT:CPUIRQSEL9.EV for details). Reading the bit returns its current state. |
[10] SETPEND10 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 10 (See EVENT:CPUIRQSEL10.EV for details). Reading the bit returns its current state. |
[11] SETPEND11 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 11 (See EVENT:CPUIRQSEL11.EV for details). Reading the bit returns its current state. |
[12] SETPEND12 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 12 (See EVENT:CPUIRQSEL12.EV for details). Reading the bit returns its current state. |
[13] SETPEND13 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 13 (See EVENT:CPUIRQSEL13.EV for details). Reading the bit returns its current state. |
[14] SETPEND14 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 14 (See EVENT:CPUIRQSEL14.EV for details). Reading the bit returns its current state. |
[15] SETPEND15 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 15 (See EVENT:CPUIRQSEL15.EV for details). Reading the bit returns its current state. |
[16] SETPEND16 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 16 (See EVENT:CPUIRQSEL16.EV for details). Reading the bit returns its current state. |
[17] SETPEND17 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 17 (See EVENT:CPUIRQSEL17.EV for details). Reading the bit returns its current state. |
[18] SETPEND18 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 18 (See EVENT:CPUIRQSEL18.EV for details). Reading the bit returns its current state. |
[19] SETPEND19 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 19 (See EVENT:CPUIRQSEL19.EV for details). Reading the bit returns its current state. |
[20] SETPEND20 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 20 (See EVENT:CPUIRQSEL20.EV for details). Reading the bit returns its current state. |
[21] SETPEND21 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 21 (See EVENT:CPUIRQSEL21.EV for details). Reading the bit returns its current state. |
[22] SETPEND22 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 22 (See EVENT:CPUIRQSEL22.EV for details). Reading the bit returns its current state. |
[23] SETPEND23 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 23 (See EVENT:CPUIRQSEL23.EV for details). Reading the bit returns its current state. |
[24] SETPEND24 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 24 (See EVENT:CPUIRQSEL24.EV for details). Reading the bit returns its current state. |
[25] SETPEND25 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 25 (See EVENT:CPUIRQSEL25.EV for details). Reading the bit returns its current state. |
[26] SETPEND26 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 26 (See EVENT:CPUIRQSEL26.EV for details). Reading the bit returns its current state. |
[27] SETPEND27 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 27 (See EVENT:CPUIRQSEL27.EV for details). Reading the bit returns its current state. |
[28] SETPEND28 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 28 (See EVENT:CPUIRQSEL28.EV for details). Reading the bit returns its current state. |
[29] SETPEND29 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 29 (See EVENT:CPUIRQSEL29.EV for details). Reading the bit returns its current state. |
[30] SETPEND30 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 30 (See EVENT:CPUIRQSEL30.EV for details). Reading the bit returns its current state. |
[31] SETPEND31 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 31 (See EVENT:CPUIRQSEL31.EV for details). Reading the bit returns its current state. |
NVIC_ISPR1 @0x204 = 0xe000e204
Irq 32 to 63 Set Pending This register is used to force interrupts into the pending state and determine which interrupts are currently pending.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SETPEND32 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 32 (See EVENT:CPUIRQSEL32.EV for details). Reading the bit returns its current state. |
[1] SETPEND33 RWWriting 0 to this bit has no effect, writing 1 to this bit pends the interrupt number 33 (See EVENT:CPUIRQSEL33.EV for details). Reading the bit returns its current state. |
RESERVED2 @0x208 = 0xe000e208
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
NVIC_ICPR0 @0x280 = 0xe000e280
Irq 0 to 31 Clear Pending This register is used to clear pending interrupts and determine which interrupts are currently pending.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLRPEND0 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 0 (See EVENT:CPUIRQSEL0.EV for details). Reading the bit returns its current state. |
[1] CLRPEND1 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 1 (See EVENT:CPUIRQSEL1.EV for details). Reading the bit returns its current state. |
[2] CLRPEND2 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 2 (See EVENT:CPUIRQSEL2.EV for details). Reading the bit returns its current state. |
[3] CLRPEND3 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 3 (See EVENT:CPUIRQSEL3.EV for details). Reading the bit returns its current state. |
[4] CLRPEND4 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 4 (See EVENT:CPUIRQSEL4.EV for details). Reading the bit returns its current state. |
[5] CLRPEND5 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 5 (See EVENT:CPUIRQSEL5.EV for details). Reading the bit returns its current state. |
[6] CLRPEND6 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 6 (See EVENT:CPUIRQSEL6.EV for details). Reading the bit returns its current state. |
[7] CLRPEND7 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 7 (See EVENT:CPUIRQSEL7.EV for details). Reading the bit returns its current state. |
[8] CLRPEND8 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 8 (See EVENT:CPUIRQSEL8.EV for details). Reading the bit returns its current state. |
[9] CLRPEND9 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 9 (See EVENT:CPUIRQSEL9.EV for details). Reading the bit returns its current state. |
[10] CLRPEND10 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 10 (See EVENT:CPUIRQSEL10.EV for details). Reading the bit returns its current state. |
[11] CLRPEND11 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 11 (See EVENT:CPUIRQSEL11.EV for details). Reading the bit returns its current state. |
[12] CLRPEND12 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 12 (See EVENT:CPUIRQSEL12.EV for details). Reading the bit returns its current state. |
[13] CLRPEND13 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 13 (See EVENT:CPUIRQSEL13.EV for details). Reading the bit returns its current state. |
[14] CLRPEND14 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 14 (See EVENT:CPUIRQSEL14.EV for details). Reading the bit returns its current state. |
[15] CLRPEND15 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 15 (See EVENT:CPUIRQSEL15.EV for details). Reading the bit returns its current state. |
[16] CLRPEND16 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 16 (See EVENT:CPUIRQSEL16.EV for details). Reading the bit returns its current state. |
[17] CLRPEND17 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 17 (See EVENT:CPUIRQSEL17.EV for details). Reading the bit returns its current state. |
[18] CLRPEND18 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 18 (See EVENT:CPUIRQSEL18.EV for details). Reading the bit returns its current state. |
[19] CLRPEND19 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 19 (See EVENT:CPUIRQSEL19.EV for details). Reading the bit returns its current state. |
[20] CLRPEND20 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 20 (See EVENT:CPUIRQSEL20.EV for details). Reading the bit returns its current state. |
[21] CLRPEND21 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 21 (See EVENT:CPUIRQSEL21.EV for details). Reading the bit returns its current state. |
[22] CLRPEND22 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 22 (See EVENT:CPUIRQSEL22.EV for details). Reading the bit returns its current state. |
[23] CLRPEND23 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 23 (See EVENT:CPUIRQSEL23.EV for details). Reading the bit returns its current state. |
[24] CLRPEND24 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 24 (See EVENT:CPUIRQSEL24.EV for details). Reading the bit returns its current state. |
[25] CLRPEND25 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 25 (See EVENT:CPUIRQSEL25.EV for details). Reading the bit returns its current state. |
[26] CLRPEND26 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 26 (See EVENT:CPUIRQSEL26.EV for details). Reading the bit returns its current state. |
[27] CLRPEND27 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 27 (See EVENT:CPUIRQSEL27.EV for details). Reading the bit returns its current state. |
[28] CLRPEND28 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 28 (See EVENT:CPUIRQSEL28.EV for details). Reading the bit returns its current state. |
[29] CLRPEND29 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 29 (See EVENT:CPUIRQSEL29.EV for details). Reading the bit returns its current state. |
[30] CLRPEND30 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 30 (See EVENT:CPUIRQSEL30.EV for details). Reading the bit returns its current state. |
[31] CLRPEND31 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 31 (See EVENT:CPUIRQSEL31.EV for details). Reading the bit returns its current state. |
NVIC_ICPR1 @0x284 = 0xe000e284
Irq 32 to 63 Clear Pending This register is used to clear pending interrupts and determine which interrupts are currently pending.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLRPEND32 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 32 (See EVENT:CPUIRQSEL32.EV for details). Reading the bit returns its current state. |
[1] CLRPEND33 RWWriting 0 to this bit has no effect, writing 1 to this bit clears the corresponding pending interrupt 33 (See EVENT:CPUIRQSEL33.EV for details). Reading the bit returns its current state. |
RESERVED3 @0x288 = 0xe000e288
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
NVIC_IABR0 @0x300 = 0xe000e300
Irq 0 to 31 Active Bit This register is used to determine which interrupts are active. Each flag in the register corresponds to one interrupt.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ACTIVE0 RReading 0 from this bit implies that interrupt line 0 is not active. Reading 1 from this bit implies that the interrupt line 0 is active (See EVENT:CPUIRQSEL0.EV for details). |
[1] ACTIVE1 RReading 0 from this bit implies that interrupt line 1 is not active. Reading 1 from this bit implies that the interrupt line 1 is active (See EVENT:CPUIRQSEL1.EV for details). |
[2] ACTIVE2 RReading 0 from this bit implies that interrupt line 2 is not active. Reading 1 from this bit implies that the interrupt line 2 is active (See EVENT:CPUIRQSEL2.EV for details). |
[3] ACTIVE3 RReading 0 from this bit implies that interrupt line 3 is not active. Reading 1 from this bit implies that the interrupt line 3 is active (See EVENT:CPUIRQSEL3.EV for details). |
[4] ACTIVE4 RReading 0 from this bit implies that interrupt line 4 is not active. Reading 1 from this bit implies that the interrupt line 4 is active (See EVENT:CPUIRQSEL4.EV for details). |
[5] ACTIVE5 RReading 0 from this bit implies that interrupt line 5 is not active. Reading 1 from this bit implies that the interrupt line 5 is active (See EVENT:CPUIRQSEL5.EV for details). |
[6] ACTIVE6 RReading 0 from this bit implies that interrupt line 6 is not active. Reading 1 from this bit implies that the interrupt line 6 is active (See EVENT:CPUIRQSEL6.EV for details). |
[7] ACTIVE7 RReading 0 from this bit implies that interrupt line 7 is not active. Reading 1 from this bit implies that the interrupt line 7 is active (See EVENT:CPUIRQSEL7.EV for details). |
[8] ACTIVE8 RReading 0 from this bit implies that interrupt line 8 is not active. Reading 1 from this bit implies that the interrupt line 8 is active (See EVENT:CPUIRQSEL8.EV for details). |
[9] ACTIVE9 RReading 0 from this bit implies that interrupt line 9 is not active. Reading 1 from this bit implies that the interrupt line 9 is active (See EVENT:CPUIRQSEL9.EV for details). |
[10] ACTIVE10 RReading 0 from this bit implies that interrupt line 10 is not active. Reading 1 from this bit implies that the interrupt line 10 is active (See EVENT:CPUIRQSEL10.EV for details). |
[11] ACTIVE11 RReading 0 from this bit implies that interrupt line 11 is not active. Reading 1 from this bit implies that the interrupt line 11 is active (See EVENT:CPUIRQSEL11.EV for details). |
[12] ACTIVE12 RReading 0 from this bit implies that interrupt line 12 is not active. Reading 1 from this bit implies that the interrupt line 12 is active (See EVENT:CPUIRQSEL12.EV for details). |
[13] ACTIVE13 RReading 0 from this bit implies that interrupt line 13 is not active. Reading 1 from this bit implies that the interrupt line 13 is active (See EVENT:CPUIRQSEL13.EV for details). |
[14] ACTIVE14 RReading 0 from this bit implies that interrupt line 14 is not active. Reading 1 from this bit implies that the interrupt line 14 is active (See EVENT:CPUIRQSEL14.EV for details). |
[15] ACTIVE15 RReading 0 from this bit implies that interrupt line 15 is not active. Reading 1 from this bit implies that the interrupt line 15 is active (See EVENT:CPUIRQSEL15.EV for details). |
[16] ACTIVE16 RReading 0 from this bit implies that interrupt line 16 is not active. Reading 1 from this bit implies that the interrupt line 16 is active (See EVENT:CPUIRQSEL16.EV for details). |
[17] ACTIVE17 RReading 0 from this bit implies that interrupt line 17 is not active. Reading 1 from this bit implies that the interrupt line 17 is active (See EVENT:CPUIRQSEL17.EV for details). |
[18] ACTIVE18 RReading 0 from this bit implies that interrupt line 18 is not active. Reading 1 from this bit implies that the interrupt line 18 is active (See EVENT:CPUIRQSEL18.EV for details). |
[19] ACTIVE19 RReading 0 from this bit implies that interrupt line 19 is not active. Reading 1 from this bit implies that the interrupt line 19 is active (See EVENT:CPUIRQSEL19.EV for details). |
[20] ACTIVE20 RReading 0 from this bit implies that interrupt line 20 is not active. Reading 1 from this bit implies that the interrupt line 20 is active (See EVENT:CPUIRQSEL20.EV for details). |
[21] ACTIVE21 RReading 0 from this bit implies that interrupt line 21 is not active. Reading 1 from this bit implies that the interrupt line 21 is active (See EVENT:CPUIRQSEL21.EV for details). |
[22] ACTIVE22 RReading 0 from this bit implies that interrupt line 22 is not active. Reading 1 from this bit implies that the interrupt line 22 is active (See EVENT:CPUIRQSEL22.EV for details). |
[23] ACTIVE23 RReading 0 from this bit implies that interrupt line 23 is not active. Reading 1 from this bit implies that the interrupt line 23 is active (See EVENT:CPUIRQSEL23.EV for details). |
[24] ACTIVE24 RReading 0 from this bit implies that interrupt line 24 is not active. Reading 1 from this bit implies that the interrupt line 24 is active (See EVENT:CPUIRQSEL24.EV for details). |
[25] ACTIVE25 RReading 0 from this bit implies that interrupt line 25 is not active. Reading 1 from this bit implies that the interrupt line 25 is active (See EVENT:CPUIRQSEL25.EV for details). |
[26] ACTIVE26 RReading 0 from this bit implies that interrupt line 26 is not active. Reading 1 from this bit implies that the interrupt line 26 is active (See EVENT:CPUIRQSEL26.EV for details). |
[27] ACTIVE27 RReading 0 from this bit implies that interrupt line 27 is not active. Reading 1 from this bit implies that the interrupt line 27 is active (See EVENT:CPUIRQSEL27.EV for details). |
[28] ACTIVE28 RReading 0 from this bit implies that interrupt line 28 is not active. Reading 1 from this bit implies that the interrupt line 28 is active (See EVENT:CPUIRQSEL28.EV for details). |
[29] ACTIVE29 RReading 0 from this bit implies that interrupt line 29 is not active. Reading 1 from this bit implies that the interrupt line 29 is active (See EVENT:CPUIRQSEL29.EV for details). |
[30] ACTIVE30 RReading 0 from this bit implies that interrupt line 30 is not active. Reading 1 from this bit implies that the interrupt line 30 is active (See EVENT:CPUIRQSEL30.EV for details). |
[31] ACTIVE31 RReading 0 from this bit implies that interrupt line 31 is not active. Reading 1 from this bit implies that the interrupt line 31 is active (See EVENT:CPUIRQSEL31.EV for details). |
NVIC_IABR1 @0x304 = 0xe000e304
Irq 32 to 63 Active Bit This register is used to determine which interrupts are active. Each flag in the register corresponds to one interrupt.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ACTIVE32 RReading 0 from this bit implies that interrupt line 32 is not active. Reading 1 from this bit implies that the interrupt line 32 is active (See EVENT:CPUIRQSEL32.EV for details). |
[1] ACTIVE33 RReading 0 from this bit implies that interrupt line 33 is not active. Reading 1 from this bit implies that the interrupt line 33 is active (See EVENT:CPUIRQSEL33.EV for details). |
RESERVED4 @0x308 = 0xe000e308
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
NVIC_IPR0 @0x400 = 0xe000e400
Irq 0 to 3 Priority This register is used to assign a priority from 0 to 255 to each of the available interrupts. 0 is the highest priority, and 255 is the lowest. The interpretation of the Interrupt Priority Registers changes based on the setting in AIRCR.PRIGROUP.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PRI_0 RWPriority of interrupt 0 (See EVENT:CPUIRQSEL0.EV for details). |
[8..=15] PRI_1 RWPriority of interrupt 1 (See EVENT:CPUIRQSEL1.EV for details). |
[16..=23] PRI_2 RWPriority of interrupt 2 (See EVENT:CPUIRQSEL2.EV for details). |
[24..=31] PRI_3 RWPriority of interrupt 3 (See EVENT:CPUIRQSEL3.EV for details). |
NVIC_IPR1 @0x404 = 0xe000e404
Irq 4 to 7 Priority This register is used to assign a priority from 0 to 255 to each of the available interrupts. 0 is the highest priority, and 255 is the lowest. The interpretation of the Interrupt Priority Registers changes based on the setting in AIRCR.PRIGROUP.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PRI_4 RWPriority of interrupt 4 (See EVENT:CPUIRQSEL4.EV for details). |
[8..=15] PRI_5 RWPriority of interrupt 5 (See EVENT:CPUIRQSEL5.EV for details). |
[16..=23] PRI_6 RWPriority of interrupt 6 (See EVENT:CPUIRQSEL6.EV for details). |
[24..=31] PRI_7 RWPriority of interrupt 7 (See EVENT:CPUIRQSEL7.EV for details). |
NVIC_IPR2 @0x408 = 0xe000e408
Irq 8 to 11 Priority This register is used to assign a priority from 0 to 255 to each of the available interrupts. 0 is the highest priority, and 255 is the lowest. The interpretation of the Interrupt Priority Registers changes based on the setting in AIRCR.PRIGROUP.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PRI_8 RWPriority of interrupt 8 (See EVENT:CPUIRQSEL8.EV for details). |
[8..=15] PRI_9 RWPriority of interrupt 9 (See EVENT:CPUIRQSEL9.EV for details). |
[16..=23] PRI_10 RWPriority of interrupt 10 (See EVENT:CPUIRQSEL10.EV for details). |
[24..=31] PRI_11 RWPriority of interrupt 11 (See EVENT:CPUIRQSEL11.EV for details). |
NVIC_IPR3 @0x40c = 0xe000e40c
Irq 12 to 15 Priority This register is used to assign a priority from 0 to 255 to each of the available interrupts. 0 is the highest priority, and 255 is the lowest. The interpretation of the Interrupt Priority Registers changes based on the setting in AIRCR.PRIGROUP.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PRI_12 RWPriority of interrupt 12 (See EVENT:CPUIRQSEL12.EV for details). |
[8..=15] PRI_13 RWPriority of interrupt 13 (See EVENT:CPUIRQSEL13.EV for details). |
[16..=23] PRI_14 RWPriority of interrupt 14 (See EVENT:CPUIRQSEL14.EV for details). |
[24..=31] PRI_15 RWPriority of interrupt 15 (See EVENT:CPUIRQSEL15.EV for details). |
NVIC_IPR4 @0x410 = 0xe000e410
Irq 16 to 19 Priority This register is used to assign a priority from 0 to 255 to each of the available interrupts. 0 is the highest priority, and 255 is the lowest. The interpretation of the Interrupt Priority Registers changes based on the setting in AIRCR.PRIGROUP.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PRI_16 RWPriority of interrupt 16 (See EVENT:CPUIRQSEL16.EV for details). |
[8..=15] PRI_17 RWPriority of interrupt 17 (See EVENT:CPUIRQSEL17.EV for details). |
[16..=23] PRI_18 RWPriority of interrupt 18 (See EVENT:CPUIRQSEL18.EV for details). |
[24..=31] PRI_19 RWPriority of interrupt 19 (See EVENT:CPUIRQSEL19.EV for details). |
NVIC_IPR5 @0x414 = 0xe000e414
Irq 20 to 23 Priority This register is used to assign a priority from 0 to 255 to each of the available interrupts. 0 is the highest priority, and 255 is the lowest. The interpretation of the Interrupt Priority Registers changes based on the setting in AIRCR.PRIGROUP.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PRI_20 RWPriority of interrupt 20 (See EVENT:CPUIRQSEL20.EV for details). |
[8..=15] PRI_21 RWPriority of interrupt 21 (See EVENT:CPUIRQSEL21.EV for details). |
[16..=23] PRI_22 RWPriority of interrupt 22 (See EVENT:CPUIRQSEL22.EV for details). |
[24..=31] PRI_23 RWPriority of interrupt 23 (See EVENT:CPUIRQSEL23.EV for details). |
NVIC_IPR6 @0x418 = 0xe000e418
Irq 24 to 27 Priority This register is used to assign a priority from 0 to 255 to each of the available interrupts. 0 is the highest priority, and 255 is the lowest. The interpretation of the Interrupt Priority Registers changes based on the setting in AIRCR.PRIGROUP.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PRI_24 RWPriority of interrupt 24 (See EVENT:CPUIRQSEL24.EV for details). |
[8..=15] PRI_25 RWPriority of interrupt 25 (See EVENT:CPUIRQSEL25.EV for details). |
[16..=23] PRI_26 RWPriority of interrupt 26 (See EVENT:CPUIRQSEL26.EV for details). |
[24..=31] PRI_27 RWPriority of interrupt 27 (See EVENT:CPUIRQSEL27.EV for details). |
NVIC_IPR7 @0x41c = 0xe000e41c
Irq 28 to 31 Priority This register is used to assign a priority from 0 to 255 to each of the available interrupts. 0 is the highest priority, and 255 is the lowest. The interpretation of the Interrupt Priority Registers changes based on the setting in AIRCR.PRIGROUP.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PRI_28 RWPriority of interrupt 28 (See EVENT:CPUIRQSEL28.EV for details). |
[8..=15] PRI_29 RWPriority of interrupt 29 (See EVENT:CPUIRQSEL29.EV for details). |
[16..=23] PRI_30 RWPriority of interrupt 30 (See EVENT:CPUIRQSEL30.EV for details). |
[24..=31] PRI_31 RWPriority of interrupt 31 (See EVENT:CPUIRQSEL31.EV for details). |
NVIC_IPR8 @0x420 = 0xe000e420
Irq 32 to 35 Priority This register is used to assign a priority from 0 to 255 to each of the available interrupts. 0 is the highest priority, and 255 is the lowest. The interpretation of the Interrupt Priority Registers changes based on the setting in AIRCR.PRIGROUP.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PRI_32 RWPriority of interrupt 32 (See EVENT:CPUIRQSEL32.EV for details). |
[8..=15] PRI_33 RWPriority of interrupt 33 (See EVENT:CPUIRQSEL33.EV for details). |
RESERVED5 @0x424 = 0xe000e424
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
CPUID @0xd00 = 0xe000ed00
CPUID Base This register determines the ID number of the processor core, the version number of the processor core and the implementation details of the processor core.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] REVISION RImplementation defined revision number. |
[4..=15] PARTNO RNumber of processor within family. |
[16..=19] CONSTANT RReads as 0xF |
[20..=23] VARIANT RImplementation defined variant number. |
[24..=31] IMPLEMENTER RImplementor code. |
ICSR @0xd04 = 0xe000ed04
Interrupt Control State This register is used to set a pending Non-Maskable Interrupt (NMI), set or clear a pending SVC, set or clear a pending SysTick, check for pending exceptions, check the vector number of the highest priority pended exception, and check the vector number of the active exception.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=8] VECTACTIVE RActive ISR number field. Reset clears this field. |
[11] RETTOBASE RIndicates whether there are preempted active exceptions: 0: There are preempted active exceptions to execute 1: There are no active exceptions, or the currently-executing exception is the only active exception. |
[12..=17] VECTPENDING RPending ISR number field. This field contains the interrupt number of the highest priority pending ISR. |
[22] ISRPENDING RInterrupt pending flag. Excludes NMI and faults. 0x0: Interrupt not pending 0x1: Interrupt pending |
[23] ISRPREEMPT RThis field can only be used at debug time. It indicates that a pending interrupt is to be taken in the next running cycle. If DHCSR.C_MASKINTS= 0, the interrupt is serviced. 0: A pending exception is not serviced. 1: A pending exception is serviced on exit from the debug halt state |
[25] PENDSTCLR WClear pending SysTick bit 0: No action 1: Clear pending SysTick |
[26] PENDSTSET RWSet a pending SysTick bit. 0: No action 1: Set pending SysTick |
[27] PENDSVCLR WClear pending pendSV bit 0: No action 1: Clear pending pendSV |
[28] PENDSVSET RWSet pending pendSV bit. 0: No action 1: Set pending PendSV |
[31] NMIPENDSET RWSet pending NMI bit. Setting this bit pends and activates an NMI. Because NMI is the highest-priority interrupt, it takes effect as soon as it registers. 0: No action 1: Set pending NMI |
VTOR @0xd08 = 0xe000ed08
Vector Table Offset This register is used to relocated the vector table base address. The vector table base offset determines the offset from the bottom of the memory map. The two most significant bits and the seven least significant bits of the vector table base offset must be 0. The portion of vector table base offset that is allowed to change is TBLOFF.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[7..=29] TBLOFF RWBits 29 down to 7 of the vector table base offset. |
AIRCR @0xd0c = 0xe000ed0c
Application Interrupt/Reset Control This register is used to determine data endianness, clear all active state information for debug or to recover from a hard failure, execute a system reset, alter the priority grouping position (binary point).
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0] VECTRESET WSystem Reset bit. Resets the system, with the exception of debug components. This bit is reserved for debug use and can be written to 1 only when the core is halted. The bit self-clears. Writing this bit to 1 while core is not halted may result in unpredictable behavior. |
[1] VECTCLRACTIVE WClears all active state information for active NMI, fault, and interrupts. It is the responsibility of the application to reinitialize the stack. This bit is for returning to a known state during debug. The bit self-clears. IPSR is not cleared by this operation. So, if used by an application, it must only be used at the base level of activation, or within a system handler whose active bit can be set. |
[2] SYSRESETREQ WRequests a warm reset. Setting this bit does not prevent Halting Debug from running. |
[8..=10] PRIGROUP RWInterrupt priority grouping field. This field is a binary point position indicator for creating subpriorities for exceptions that share the same pre-emption level. It divides the PRI_n field in the Interrupt Priority Registers (NVIC_IPR0, NVIC_IPR1,..., and NVIC_IPR8) into a pre-emption level and a subpriority level. The binary point is a left-of value. This means that the PRIGROUP value represents a point starting at the left of the Least Significant Bit (LSB). The lowest value might not be 0 depending on the number of bits allocated for priorities, and implementation choices. |
[15] ENDIANESS RData endianness bit Possible values:
|
[16..=31] VECTKEY RWRegister key. Writing to this register (AIRCR) requires 0x05FA in VECTKEY. Otherwise the write value is ignored. Read always returns 0xFA05. |
SCR @0xd10 = 0xe000ed10
System Control This register is used for power-management functions, i.e., signaling to the system when the processor can enter a low power state, controlling how the processor enters and exits low power states.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[1] SLEEPONEXIT RWSleep on exit when returning from Handler mode to Thread mode. Enables interrupt driven applications to avoid returning to empty main application. 0: Do not sleep when returning to thread mode 1: Sleep on ISR exit |
[2] SLEEPDEEP RWControls whether the processor uses sleep or deep sleep as its low power mode Possible values:
|
[4] SEVONPEND RWSend Event on Pending bit: 0: Only enabled interrupts or events can wakeup the processor, disabled interrupts are excluded 1: Enabled events and all interrupts, including disabled interrupts, can wakeup the processor. When an event or interrupt enters pending state, the event signal wakes up the processor from WFE. If the processor is not waiting for an event, the event is registered and affects the next WFE. The processor also wakes up on execution of an SEV instruction. |
CCR @0xd14 = 0xe000ed14
Configuration Control This register is used to enable NMI, HardFault and FAULTMASK to ignore bus fault, trap divide by zero and unaligned accesses, enable user access to the Software Trigger Interrupt Register (STIR), control entry to Thread Mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] NONBASETHREDENA RWIndicates how the processor enters Thread mode: 0: Processor can enter Thread mode only when no exception is active. 1: Processor can enter Thread mode from any level using the appropriate return value (EXC_RETURN). Exception returns occur when one of the following instructions loads a value of 0xFXXXXXXX into the PC while in Handler mode: - POP/LDM which includes loading the PC. - LDR with PC as a destination. - BX with any register. The value written to the PC is intercepted and is referred to as the EXC_RETURN value. |
[1] USERSETMPEND RWEnables unprivileged software access to STIR: 0: User code is not allowed to write to the Software Trigger Interrupt register (STIR). 1: User code can write the Software Trigger Interrupt register (STIR) to trigger (pend) a Main exception, which is associated with the Main stack pointer. |
[3] UNALIGN_TRP RWEnables unaligned access traps: 0: Do not trap unaligned halfword and word accesses 1: Trap unaligned halfword and word accesses. The relevant Usage Fault Status Register bit is CFSR.UNALIGNED. If this bit is set to 1, an unaligned access generates a UsageFault. Unaligned LDM, STM, LDRD, and STRD instructions always fault regardless of the value in UNALIGN_TRP. |
[4] DIV_0_TRP RWEnables faulting or halting when the processor executes an SDIV or UDIV instruction with a divisor of 0: 0: Do not trap divide by 0. In this mode, a divide by zero returns a quotient of 0. 1: Trap divide by 0. The relevant Usage Fault Status Register bit is CFSR.DIVBYZERO. |
[8] BFHFNMIGN RWEnables handlers with priority -1 or -2 to ignore data BusFaults caused by load and store instructions. This applies to the HardFault, NMI, and FAULTMASK escalated handlers: 0: Data BusFaults caused by load and store instructions cause a lock-up 1: Data BusFaults caused by load and store instructions are ignored. Set this bit to 1 only when the handler and its data are in absolutely safe memory. The normal use of this bit is to probe system devices and bridges to detect problems. |
[9] STKALIGN RWStack alignment bit. 0: Only 4-byte alignment is guaranteed for the SP used prior to the exception on exception entry. 1: On exception entry, the SP used prior to the exception is adjusted to be 8-byte aligned and the context to restore it is saved. The SP is restored on the associated exception return. |
SHPR1 @0xd18 = 0xe000ed18
System Handlers 4-7 Priority This register is used to prioritize the following system handlers: Memory manage, Bus fault, and Usage fault. System Handlers are a special class of exception handler that can have their priority set to any of the priority levels. Most can be masked on (enabled) or off (disabled). When disabled, the fault is always treated as a Hard Fault.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PRI_4 RWPriority of system handler 4: MemManage |
[8..=15] PRI_5 RWPriority of system handler 5: BusFault |
[16..=23] PRI_6 RWPriority of system handler 6. UsageFault |
SHPR2 @0xd1c = 0xe000ed1c
System Handlers 8-11 Priority This register is used to prioritize the SVC handler. System Handlers are a special class of exception handler that can have their priority set to any of the priority levels. Most can be masked on (enabled) or off (disabled). When disabled, the fault is always treated as a Hard Fault.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[24..=31] PRI_11 RWPriority of system handler 11. SVCall |
SHPR3 @0xd20 = 0xe000ed20
System Handlers 12-15 Priority This register is used to prioritize the following system handlers: SysTick, PendSV and Debug Monitor. System Handlers are a special class of exception handler that can have their priority set to any of the priority levels. Most can be masked on (enabled) or off (disabled). When disabled, the fault is always treated as a Hard Fault.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PRI_12 RWPriority of system handler 12. Debug Monitor |
[16..=23] PRI_14 RWPriority of system handler 14. Pend SV |
[24..=31] PRI_15 RWPriority of system handler 15. SysTick exception |
SHCSR @0xd24 = 0xe000ed24
System Handler Control and State This register is used to enable or disable the system handlers, determine the pending status of bus fault, mem manage fault, and SVC, determine the active status of the system handlers. If a fault condition occurs while its fault handler is disabled, the fault escalates to a Hard Fault.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] MEMFAULTACT RMemManage exception active Possible values:
|
[1] BUSFAULTACT RBusFault exception active Possible values:
|
[3] USGFAULTACT RUsageFault exception active Possible values:
|
[7] SVCALLACT RSVCall active Possible values:
|
[8] MONITORACT RDebug monitor active Possible values:
|
[10] PENDSVACT RPendSV active 0x0: Not active 0x1: Active |
[11] SYSTICKACT RSysTick active flag. 0x0: Not active 0x1: Active Possible values:
|
[12] USGFAULTPENDED RUsage fault pending Possible values:
|
[13] MEMFAULTPENDED RMemManage exception pending Possible values:
|
[14] BUSFAULTPENDED RBusFault pending Possible values:
|
[15] SVCALLPENDED RSVCall pending Possible values:
|
[16] MEMFAULTENA RWMemManage fault system handler enable Possible values:
|
[17] BUSFAULTENA RWBus fault system handler enable Possible values:
|
[18] USGFAULTENA RWUsage fault system handler enable Possible values:
|
CFSR @0xd28 = 0xe000ed28
Configurable Fault Status This register is used to obtain information about local faults. These registers include three subsections: The first byte is Memory Manage Fault Status Register (MMFSR). The second byte is Bus Fault Status Register (BFSR). The higher half-word is Usage Fault Status Register (UFSR). The flags in these registers indicate the causes of local faults. Multiple flags can be set if more than one fault occurs. These register are read/write-clear. This means that they can be read normally, but writing a 1 to any bit clears that bit. The CFSR is byte accessible. CFSR or its subregisters can be accessed as follows: The following accesses are possible to the CFSR register: - access the complete register with a word access to 0xE000ED28. - access the MMFSR with a byte access to 0xE000ED28 - access the MMFSR and BFSR with a halfword access to 0xE000ED28 - access the BFSR with a byte access to 0xE000ED29 - access the UFSR with a halfword access to 0xE000ED2A.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] IACCVIOL RWInstruction access violation flag. Attempting to fetch an instruction from a location that does not permit execution sets this flag. This occurs on any access to an XN region, even when the MPU is disabled or not present. The return PC points to the faulting instruction. MMFAR is not written. |
[1] DACCVIOL RWData access violation flag. Attempting to load or store at a location that does not permit the operation sets this flag. The return PC points to the faulting instruction. This error loads MMFAR with the address of the attempted access. |
[3] MUNSTKERR RWUnstack from exception return has caused one or more access violations. This is chained to the handler, so that the original return stack is still present. SP is not adjusted from failing return and new save is not performed. MMFAR is not written. |
[4] MSTKERR RWStacking from exception has caused one or more access violations. The SP is still adjusted and the values in the context area on the stack might be incorrect. MMFAR is not written. |
[7] MMARVALID RWMemory Manage Address Register (MMFAR) address valid flag. A later-arriving fault, such as a bus fault, can clear a memory manage fault.. If a MemManage fault occurs that is escalated to a Hard Fault because of priority, the Hard Fault handler must clear this bit. This prevents problems on return to a stacked active MemManage handler whose MMFAR value has been overwritten. |
[8] IBUSERR RWInstruction bus error flag. This flag is set by a prefetch error. The fault stops on the instruction, so if the error occurs under a branch shadow, no fault occurs. BFAR is not written. |
[9] PRECISERR RWPrecise data bus error return. |
[10] IMPRECISERR RWImprecise data bus error. It is a BusFault, but the Return PC is not related to the causing instruction. This is not a synchronous fault. So, if detected when the priority of the current activation is higher than the Bus Fault, it only pends. Bus fault activates when returning to a lower priority activation. If a precise fault occurs before returning to a lower priority exception, the handler detects both IMPRECISERR set and one of the precise fault status bits set at the same time. BFAR is not written. |
[11] UNSTKERR RWUnstack from exception return has caused one or more bus faults. This is chained to the handler, so that the original return stack is still present. SP is not adjusted from failing return and new save is not performed. BFAR is not written. |
[12] STKERR RWStacking from exception has caused one or more bus faults. The SP is still adjusted and the values in the context area on the stack might be incorrect. BFAR is not written. |
[15] BFARVALID RWThis bit is set if the Bus Fault Address Register (BFAR) contains a valid address. This is true after a bus fault where the address is known. Other faults can clear this bit, such as a Mem Manage fault occurring later. If a Bus fault occurs that is escalated to a Hard Fault because of priority, the Hard Fault handler must clear this bit. This prevents problems if returning to a stacked active Bus fault handler whose BFAR value has been overwritten. |
[16] UNDEFINSTR RWThis bit is set when the processor attempts to execute an undefined instruction. This is an instruction that the processor cannot decode. The return PC points to the undefined instruction. |
[17] INVSTATE RWIndicates an attempt to execute in an invalid EPSR state (e.g. after a BX type instruction has changed state). This includes state change after entry to or return from exception, as well as from inter-working instructions. Return PC points to faulting instruction, with the invalid state. |
[18] INVPC RWAttempt to load EXC_RETURN into PC illegally. Invalid instruction, invalid context, invalid value. The return PC points to the instruction that tried to set the PC. |
[19] NOCP RWAttempt to use a coprocessor instruction. The processor does not support coprocessor instructions. |
[24] UNALIGNED RWWhen CCR.UNALIGN_TRP is enabled, and there is an attempt to make an unaligned memory access, then this fault occurs. Unaligned LDM/STM/LDRD/STRD instructions always fault irrespective of the setting of CCR.UNALIGN_TRP. |
[25] DIVBYZERO RWWhen CCR.DIV_0_TRP (see Configuration Control Register on page 8-26) is enabled and an SDIV or UDIV instruction is used with a divisor of 0, this fault occurs The instruction is executed and the return PC points to it. If CCR.DIV_0_TRP is not set, then the divide returns a quotient of 0. |
HFSR @0xd2c = 0xe000ed2c
Hard Fault Status This register is used to obtain information about events that activate the Hard Fault handler. This register is a write-clear register. This means that writing a 1 to a bit clears that bit.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[1] VECTTBL RWThis bit is set if there is a fault because of vector table read on exception processing (Bus Fault). This case is always a Hard Fault. The return PC points to the pre-empted instruction. |
[30] FORCED RWHard Fault activated because a Configurable Fault was received and cannot activate because of priority or because the Configurable Fault is disabled. The Hard Fault handler then has to read the other fault status registers to determine cause. |
[31] DEBUGEVT RWThis bit is set if there is a fault related to debug. This is only possible when halting debug is not enabled. For monitor enabled debug, it only happens for BKPT when the current priority is higher than the monitor. When both halting and monitor debug are disabled, it only happens for debug events that are not ignored (minimally, BKPT). The Debug Fault Status Register is updated. |
DFSR @0xd30 = 0xe000ed30
Debug Fault Status This register is used to monitor external debug requests, vector catches, data watchpoint match, BKPT instruction execution, halt requests. Multiple flags in the Debug Fault Status Register can be set when multiple fault conditions occur. The register is read/write clear. This means that it can be read normally. Writing a 1 to a bit clears that bit. Note that these bits are not set unless the event is caught. This means that it causes a stop of some sort. If halting debug is enabled, these events stop the processor into debug. If debug is disabled and the debug monitor is enabled, then this becomes a debug monitor handler call, if priority permits. If debug and the monitor are both disabled, some of these events are Hard Faults, and some are ignored.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] HALTED RWHalt request flag. The processor is halted on the next instruction. 0x0: No halt request 0x1: Halt requested by NVIC, including step |
[1] BKPT RWBKPT flag. The BKPT flag is set by a BKPT instruction in flash patch code, and also by normal code. Return PC points to breakpoint containing instruction. 0x0: No BKPT instruction execution 0x1: BKPT instruction execution |
[2] DWTTRAP RWData Watchpoint and Trace (DWT) flag. The processor stops at the current instruction or at the next instruction. 0x0: No DWT match 0x1: DWT match |
[3] VCATCH RWVector catch flag. When this flag is set, a flag in one of the local fault status registers is also set to indicate the type of fault. 0x0: No vector catch occurred 0x1: Vector catch occurred |
[4] EXTERNAL RWExternal debug request flag. The processor stops on next instruction boundary. 0x0: External debug request signal not asserted 0x1: External debug request signal asserted |
MMFAR @0xd34 = 0xe000ed34
Mem Manage Fault Address This register is used to read the address of the location that caused a Memory Manage Fault.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ADDRESS RWMem Manage fault address field. This field is the data address of a faulted load or store attempt. When an unaligned access faults, the address is the actual address that faulted. Because an access can be split into multiple parts, each aligned, this address can be any offset in the range of the requested size. Flags CFSR.IACCVIOL, CFSR.DACCVIOL ,CFSR.MUNSTKERR and CFSR.MSTKERR in combination with CFSR.MMARVALIDindicate the cause of the fault. |
BFAR @0xd38 = 0xe000ed38
Bus Fault Address This register is used to read the address of the location that generated a Bus Fault.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ADDRESS RWBus fault address field. This field is the data address of a faulted load or store attempt. When an unaligned access faults, the address is the address requested by the instruction, even if that is not the address that faulted. Flags CFSR.IBUSERR, CFSR.PRECISERR, CFSR.IMPRECISERR, CFSR.UNSTKERR and CFSR.STKERR in combination with CFSR.BFARVALID indicate the cause of the fault. |
AFSR @0xd3c = 0xe000ed3c
Auxiliary Fault Status This register is used to determine additional system fault information to software. Single-cycle high level on an auxiliary faults is latched as one. The bit can only be cleared by writing a one to the corresponding bit. Auxiliary fault inputs to the CPU are tied to 0.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] IMPDEF RWImplementation defined. The bits map directly onto the signal assignment to the auxiliary fault inputs. Tied to 0 |
ID_PFR0 @0xd40 = 0xe000ed40
Processor Feature 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] STATE0 RState0 (T-bit == 0) 0x0: No ARM encoding 0x1: N/A |
[4..=7] STATE1 RState1 (T-bit == 1) 0x0: N/A 0x1: N/A 0x2: Thumb-2 encoding with the 16-bit basic instructions plus 32-bit Buncond/BL but no other 32-bit basic instructions (Note non-basic 32-bit instructions can be added using the appropriate instruction attribute, but other 32-bit basic instructions cannot.) 0x3: Thumb-2 encoding with all Thumb-2 basic instructions |
ID_PFR1 @0xd44 = 0xe000ed44
Processor Feature 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[8..=11] MICROCONTROLLER_PROGRAMMERS_MODEL RMicrocontroller programmer's model 0x0: Not supported 0x2: Two-stack support |
ID_DFR0 @0xd48 = 0xe000ed48
Debug Feature 0 This register provides a high level view of the debug system. Further details are provided in the debug infrastructure itself.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[20..=23] MICROCONTROLLER_DEBUG_MODEL RMicrocontroller Debug Model - memory mapped 0x0: Not supported 0x1: Microcontroller debug v1 (ITMv1 and DWTv1) |
ID_AFR0 @0xd4c = 0xe000ed4c
Auxiliary Feature 0 This register provides some freedom for implementation defined features to be registered. Not used in Cortex-M.
ID_MMFR0 @0xd50 = 0xe000ed50
Memory Model Feature 0 General information on the memory model and memory management support.
ID_MMFR1 @0xd54 = 0xe000ed54
Memory Model Feature 1 General information on the memory model and memory management support.
ID_MMFR2 @0xd58 = 0xe000ed58
Memory Model Feature 2 General information on the memory model and memory management support.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[24] WAIT_FOR_INTERRUPT_STALLING Rwait for interrupt stalling 0x0: Not supported 0x1: Wait for interrupt supported |
ID_MMFR3 @0xd5c = 0xe000ed5c
Memory Model Feature 3 General information on the memory model and memory management support.
ID_ISAR0 @0xd60 = 0xe000ed60
ISA Feature 0 Information on the instruction set attributes register
ID_ISAR1 @0xd64 = 0xe000ed64
ISA Feature 1 Information on the instruction set attributes register
ID_ISAR2 @0xd68 = 0xe000ed68
ISA Feature 2 Information on the instruction set attributes register
ID_ISAR3 @0xd6c = 0xe000ed6c
ISA Feature 3 Information on the instruction set attributes register
ID_ISAR4 @0xd70 = 0xe000ed70
ISA Feature 4 Information on the instruction set attributes register
CPACR @0xd88 = 0xe000ed88
Coprocessor Access Control This register specifies the access privileges for coprocessors.
RESERVED6 @0xd90 = 0xe000ed90
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
DHCSR @0xdf0 = 0xe000edf0
Debug Halting Control and Status The purpose of this register is to provide status information about the state of the processor, enable core debug, halt and step the processor. For writes, 0xA05F must be written to higher half-word of this register, otherwise the write operation is ignored and no bits are written into the register. If not enabled for Halting mode, C_DEBUGEN = 1, all other fields are disabled. This register is not reset on a core reset. It is reset by a power-on reset. However, C_HALT always clears on a core reset. To halt on a reset, the following bits must be enabled: DEMCR.VC_CORERESET and C_DEBUGEN. Note that writes to this register in any size other than word are unpredictable. It is acceptable to read in any size, and it can be used to avoid or intentionally change a sticky bit. Behavior of the system when writing to this register while CPU is halted (i.e. C_DEBUGEN = 1 and S_HALT= 1): C_HALT=0, C_STEP=0, C_MASKINTS=0 Exit Debug state and start instruction execution. Exceptions activate according to the exception configuration rules. C_HALT=0, C_STEP=0, C_MASKINTS=1 Exit Debug state and start instruction execution. PendSV, SysTick and external configurable interrupts are disabled, otherwise exceptions activate according to standard configuration rules. C_HALT=0, C_STEP=1, C_MASKINTS=0 Exit Debug state, step an instruction and halt. Exceptions activate according to the exception configuration rules. C_HALT=0, C_STEP=1, C_MASKINTS=1 Exit Debug state, step an instruction and halt. PendSV, SysTick and external configurable interrupts are disabled, otherwise exceptions activate according to standard configuration rules. C_HALT=1, C_STEP=x, C_MASKINTS=x Remain in Debug state
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] C_DEBUGEN RWEnables debug. This can only be written by AHB-AP and not by the core. It is ignored when written by the core, which cannot set or clear it. The core must write a 1 to it when writing C_HALT to halt itself. The values of C_HALT, C_STEP and C_MASKINTS are ignored by hardware when C_DEBUGEN = 0. The read values for C_HALT, C_STEP and C_MASKINTS fields will be unknown to software when C_DEBUGEN = 0. |
[1] C_HALT RWHalts the core. This bit is set automatically when the core Halts. For example Breakpoint. This bit clears on core reset. |
[2] C_STEP RWSteps the core in halted debug. When C_DEBUGEN = 0, this bit has no effect. Must only be modified when the processor is halted (S_HALT == 1). Modifying C_STEP while the system is running with halting debug support enabled (C_DEBUGEN = 1, S_HALT = 0) may cause unpredictable behavior. |
[3] C_MASKINTS RWMask interrupts when stepping or running in halted debug. This masking does not affect NMI, fault exceptions and SVC caused by execution of the instructions. This bit must only be modified when the processor is halted (S_HALT == 1). C_MASKINTS must be set or cleared before halt is released (i.e., the writes to set or clear C_MASKINTS and to set or clear C_HALT must be separate). Modifying C_MASKINTS while the system is running with halting debug support enabled (C_DEBUGEN = 1, S_HALT = 0) may cause unpredictable behavior. |
[5] C_SNAPSTALL RWIf the core is stalled on a load/store operation the stall ceases and the instruction is forced to complete. This enables Halting debug to gain control of the core. It can only be set if: C_DEBUGEN = 1 and C_HALT = 1. The core reads S_RETIRE_ST as 0. This indicates that no instruction has advanced. This prevents misuse. The bus state is Unpredictable when this is used. S_RETIRE_ST can detect core stalls on load/store operations. |
[16] S_REGRDY RWRegister Read/Write on the Debug Core Register Selector register is available. Last transfer is complete. When writing to this register, 1 must be written this bit-field, otherwise the write operation is ignored and no bits are written into the register. |
[17] S_HALT RWThe core is in debug state when this bit is set. When writing to this register, 1 must be written this bit-field, otherwise the write operation is ignored and no bits are written into the register. |
[18] S_SLEEP RWIndicates that the core is sleeping (WFI, WFE, or **SLEEP-ON-EXIT**). Must use C_HALT to gain control or wait for interrupt to wake-up. When writing to this register, 1 must be written this bit-field, otherwise the write operation is ignored and no bits are written into the register. |
[19] S_LOCKUP RWReads as one if the core is running (not halted) and a lockup condition is present. When writing to this register, 1 must be written this bit-field, otherwise the write operation is ignored and no bits are written into the register. |
[24] S_RETIRE_ST RWIndicates that an instruction has completed since last read. This is a sticky bit that clears on read. This determines if the core is stalled on a load/store or fetch. When writing to this register, 0 must be written this bit-field, otherwise the write operation is ignored and no bits are written into the register. |
[25] S_RESET_ST RWIndicates that the core has been reset, or is now being reset, since the last time this bit was read. This a sticky bit that clears on read. So, reading twice and getting 1 then 0 means it was reset in the past. Reading twice and getting 1 both times means that it is being reset now (held in reset still). When writing to this register, 0 must be written this bit-field, otherwise the write operation is ignored and no bits are written into the register. |
DCRSR @0xdf4 = 0xe000edf4
Deubg Core Register Selector The purpose of this register is to select the processor register to transfer data to or from. This write-only register generates a handshake to the core to transfer data to or from Debug Core Register Data Register and the selected register. Until this core transaction is complete, DHCSR.S_REGRDY is 0. Note that writes to this register in any size but word are Unpredictable. Note that PSR registers are fully accessible this way, whereas some read as 0 when using MRS instructions. Note that all bits can be written, but some combinations cause a fault when execution is resumed.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=4] REGSEL WRegister select 0x00: R0 0x01: R1 0x02: R2 0x03: R3 0x04: R4 0x05: R5 0x06: R6 0x07: R7 0x08: R8 0x09: R9 0x0A: R10 0x0B: R11 0x0C: R12 0x0D: Current SP 0x0E: LR 0x0F: DebugReturnAddress 0x10: XPSR/flags, execution state information, and exception number 0x11: MSP (Main SP) 0x12: PSP (Process SP) 0x14: CONTROL<<24 | FAULTMASK<<16 | BASEPRI<<8 | PRIMASK |
[16] REGWNR W1: Write 0: Read |
DCRDR @0xdf8 = 0xe000edf8
Debug Core Register Data
DEMCR @0xdfc = 0xe000edfc
Debug Exception and Monitor Control The purpose of this register is vector catching and debug monitor control. This register manages exception behavior under debug. Vector catching is only available to halting debug. The upper halfword is for monitor controls and the lower halfword is for halting exception support. This register is not reset on a system reset. This register is reset by a power-on reset. The fields MON_EN, MON_PEND, MON_STEP and MON_REQ are always cleared on a core reset. The debug monitor is enabled by software in the reset handler or later, or by the **AHB-AP** port. Vector catching is semi-synchronous. When a matching event is seen, a Halt is requested. Because the processor can only halt on an instruction boundary, it must wait until the next instruction boundary. As a result, it stops on the first instruction of the exception handler. However, two special cases exist when a vector catch has triggered: 1. If a fault is taken during a vector read or stack push error the halt occurs on the corresponding fault handler for the vector error or stack push. 2. If a late arriving interrupt detected during a vector read or stack push error it is not taken. That is, an implementation that supports the late arrival optimization must suppress it in this case.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] VC_CORERESET RWReset Vector Catch. Halt running system if Core reset occurs. Ignored when DHCSR.C_DEBUGEN is cleared. |
[4] VC_MMERR RWDebug trap on Memory Management faults. Ignored when DHCSR.C_DEBUGEN is cleared. |
[5] VC_NOCPERR RWDebug trap on a UsageFault access to a Coprocessor. Ignored when DHCSR.C_DEBUGEN is cleared. |
[6] VC_CHKERR RWDebug trap on Usage Fault enabled checking errors. Ignored when DHCSR.C_DEBUGEN is cleared. |
[7] VC_STATERR RWDebug trap on Usage Fault state errors. Ignored when DHCSR.C_DEBUGEN is cleared. |
[8] VC_BUSERR RWDebug Trap on normal Bus error. Ignored when DHCSR.C_DEBUGEN is cleared. |
[9] VC_INTERR RWDebug trap on a fault occurring during an exception entry or return sequence. Ignored when DHCSR.C_DEBUGEN is cleared. |
[10] VC_HARDERR RWDebug trap on Hard Fault. Ignored when DHCSR.C_DEBUGEN is cleared. |
[16] MON_EN RWEnable the debug monitor. When enabled, the System handler priority register controls its priority level. If disabled, then all debug events go to Hard fault. DHCSR.C_DEBUGEN overrides this bit. Vector catching is semi-synchronous. When a matching event is seen, a Halt is requested. Because the processor can only halt on an instruction boundary, it must wait until the next instruction boundary. As a result, it stops on the first instruction of the exception handler. However, two special cases exist when a vector catch has triggered: 1. If a fault is taken during vectoring, vector read or stack push error, the halt occurs on the corresponding fault handler, for the vector error or stack push. 2. If a late arriving interrupt comes in during vectoring, it is not taken. That is, an implementation that supports the late arrival optimization must suppress it in this case. |
[17] MON_PEND RWPend the monitor to activate when priority permits. This can wake up the monitor through the AHB-AP port. It is the equivalent to DHCSR.C_HALT for Monitor debug. This register does not reset on a system reset. It is only reset by a power-on reset. Software in the reset handler or later, or by the DAP must enable the debug monitor. |
[18] MON_STEP RWWhen MON_EN = 1, this steps the core. When MON_EN = 0, this bit is ignored. This is the equivalent to DHCSR.C_STEP. Interrupts are only stepped according to the priority of the monitor and settings of PRIMASK, FAULTMASK, or BASEPRI. |
[19] MON_REQ RWThis enables the monitor to identify how it wakes up. This bit clears on a Core Reset. 0x0: Woken up by debug exception. 0x1: Woken up by MON_PEND |
[24] TRCENA RWThis bit must be set to 1 to enable use of the trace and debug blocks: DWT, ITM, ETM and TPIU. This enables control of power usage unless tracing is required. The application can enable this, for ITM use, or use by a debugger. |
STIR @0xf00 = 0xe000ef00
Software Trigger Interrupt
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=8] INTID WInterrupt ID field. Writing a value to this bit-field is the same as manually pending an interrupt by setting the corresponding interrupt bit in an Interrupt Set Pending Register in NVIC_ISPR0 or NVIC_ISPR1. |
CPU_TIPROP at 0xe00fe000 with offset=0 and size=4096:
Cortex-M's TI proprietary registers
Registers:
RESERVED000 @0x0 = 0xe00fe000
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
TRACECLKMUX @0xff8 = 0xe00feff8
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0] TRACECLK_N_SWV RWInternal. Only to be used through TI provided API. Possible values:
|
DYN_CG @0xffc = 0xe00feffc
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=1] DYN_CG RWInternal. Only to be used through TI provided API. |
CPU_TPIU at 0xe0040000 with offset=0 and size=4096:
Cortex-M3's Trace Port Interface Unit (TPIU)
Registers:
SSPSR @0x0 = 0xe0040000
Supported Sync Port Sizes This register represents a single port size that is supported on the device, that is, 4, 2 or 1. This is to ensure that tools do not attempt to select a port width that an attached TPA cannot capture.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ONE R1-bit port size support 0x0: Not supported 0x1: Supported |
[1] TWO R2-bit port size support 0x0: Not supported 0x1: Supported |
[2] THREE R3-bit port size support 0x0: Not supported 0x1: Supported |
[3] FOUR R4-bit port size support 0x0: Not supported 0x1: Supported |
CSPSR @0x4 = 0xe0040004
Current Sync Port Size This register has the same format as SSPSR but only one bit can be set, and all others must be zero. Writing values with more than one bit set, or setting a bit that is not indicated as supported can cause Unpredictable behavior. On reset this defaults to the smallest possible port size, 1 bit.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ONE RW1-bit port enable Writing values with more than one bit set in CSPSR, or setting a bit that is not indicated as supported in SSPSR can cause Unpredictable behavior. |
[1] TWO RW2-bit port enable Writing values with more than one bit set in CSPSR, or setting a bit that is not indicated as supported in SSPSR can cause Unpredictable behavior. |
[2] THREE RW3-bit port enable Writing values with more than one bit set in CSPSR, or setting a bit that is not indicated as supported in SSPSR can cause Unpredictable behavior. |
[3] FOUR RW4-bit port enable Writing values with more than one bit set in CSPSR, or setting a bit that is not indicated as supported in SSPSR can cause Unpredictable behavior. |
ACPR @0x10 = 0xe0040010
Async Clock Prescaler This register scales the baud rate of the asynchronous output.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=12] PRESCALER RWDivisor for input trace clock is (PRESCALER + 1). |
SPPR @0xf0 = 0xe00400f0
Selected Pin Protocol This register selects the protocol to be used for trace output. Note: If this register is changed while trace data is being output, data corruption occurs.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||
[0..=1] PROTOCOL RWTrace output protocol Possible values:
|
FFSR @0x300 = 0xe0040300
Formatter and Flush Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[3] FTNONSTOP R0: Formatter can be stopped 1: Formatter cannot be stopped |
FFCR @0x304 = 0xe0040304
Formatter and Flush Control When one of the two single wire output (SWO) modes is selected, ENFCONT enables the formatter to be bypassed. If the formatter is bypassed, only the ITM/DWT trace source (ATDATA2) passes through. The TPIU accepts and discards data that is presented on the ETM port (ATDATA1). This function is intended to be used when it is necessary to connect a device containing an ETM to a trace capture device that is only able to capture Serial Wire Output (SWO) data. Enabling or disabling the formatter causes momentary data corruption. Note: If the selected pin protocol register (SPPR.PROTOCOL) is set to 0x00 (TracePort mode), this register always reads 0x102, because the formatter is automatically enabled. If one of the serial wire modes is then selected, the register reverts to its previously programmed value.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[1] ENFCONT RWEnable continuous formatting: 0: Continuous formatting disabled 1: Continuous formatting enabled |
[8] TRIGIN RWIndicates that triggers are inserted when a trigger pin is asserted. |
FSCR @0x308 = 0xe0040308
Formatter Synchronization Counter
CLAIMMASK @0xfa0 = 0xe0040fa0
Claim Tag Mask
CLAIMSET @0xfa0 = 0xe0040fa0
Claim Tag Set
CLAIMTAG @0xfa4 = 0xe0040fa4
Current Claim Tag
CLAIMCLR @0xfa4 = 0xe0040fa4
Claim Tag Clear
DEVID @0xfc8 = 0xe0040fc8
Device ID
CRYPTO at 0x40024000 with offset=0 and size=2048:
Crypto core with DMA capability and local key storage
Registers:
DMACH0CTL @0x0 = 0x40024000
DMA Channel 0 Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||
[0] EN RWDMA Channel 0 Control Possible values:
|
[1] PRIO RWChannel priority: A channel with high priority will be served before a channel with low priority in cases with simultaneous access requests. If both channels have the same priority access of the channels to the external port is arbitrated using a Round Robin scheme. Possible values:
|
DMACH0EXTADDR @0x4 = 0x40024004
DMA Channel 0 External Address
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ADDR RWChannel external address value. Holds the last updated external address after being sent to the master interface. |
DMACH0LEN @0xc = 0x4002400c
DMA Channel 0 Length
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] LEN RWDMA transfer length in bytes. During configuration, this register contains the DMA transfer length in bytes. During operation, it contains the last updated value of the DMA transfer length after being sent to the master interface. Note: Writing a non-zero value to this register field starts the transfer if the channel is enabled by setting DMACH0CTL.EN. |
DMASTAT @0x18 = 0x40024018
DMA Controller Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CH0_ACTIVE RThis register field indicates if DMA channel 0 is active or not. 0: Not active 1: Active |
[1] CH1_ACTIVE RThis register field indicates if DMA channel 1 is active or not. 0: Not active 1: Active |
[17] PORT_ERR RReflects possible transfer errors on the AHB port. |
DMASWRESET @0x1c = 0x4002401c
DMA Controller Software Reset
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RESET WSoftware reset enable 0: Disable 1: Enable (self-cleared to zero). Note: Completion of the software reset must be checked in DMASTAT.CH0_ACTIVE and DMASTAT.CH1_ACTIVE. |
DMACH1CTL @0x20 = 0x40024020
DMA Channel 1 Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||
[0] EN RWChannel enable: Note: Disabling an active channel will interrupt the DMA operation. The ongoing block transfer will be completed, but no new transfers will be requested. Possible values:
|
[1] PRIO RWChannel priority: A channel with high priority will be served before a channel with low priority in cases with simultaneous access requests. If both channels have the same priority access of the channels to the external port is arbitrated using a Round Robin scheme. Possible values:
|
DMACH1EXTADDR @0x24 = 0x40024024
DMA Channel 1 External Address
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ADDR RWChannel external address value. Holds the last updated external address after being sent to the master interface. |
DMACH1LEN @0x2c = 0x4002402c
DMA Channel 1 Length
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] LEN RWDMA transfer length in bytes. During configuration, this register contains the DMA transfer length in bytes. During operation, it contains the last updated value of the DMA transfer length after being sent to the master interface. Note: Writing a non-zero value to this register field starts the transfer if the channel is enabled by setting DMACH1CTL.EN. |
DMABUSCFG @0x78 = 0x40024078
DMA Controller Master Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
[8] AHB_MST1_BIGEND RWEndianess for the AHB master Possible values:
|
[9] AHB_MST1_LOCK_EN RWLocked transform on AHB Possible values:
|
[10] AHB_MST1_INCR_EN RWBurst length type of AHB transfer Possible values:
|
[11] AHB_MST1_IDLE_EN RWIdle transfer insertion between consecutive burst transfers on AHB Possible values:
|
[12..=15] AHB_MST1_BURST_SIZE RWMaximum burst size that can be performed on the AHB bus Possible values:
|
DMAPORTERR @0x7c = 0x4002407c
DMA Controller Port Error
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[9] LAST_CH RIndicates which channel was serviced last (channel 0 or channel 1) by the AHB master port. |
[12] AHB_ERR RA 1 indicates that the Crypto peripheral has detected an AHB bus error |
DMAHWVER @0xfc = 0x400240fc
DMA Controller Version
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] VER_NUM RVersion number of the DMA Controller (209) |
[8..=15] VER_NUM_COMPL RBit-by-bit complement of the VER_NUM field bits. |
[16..=19] HW_PATCH_LVL RPatch level. |
[20..=23] HW_MINOR_VER RMinor version number |
[24..=27] HW_MAJOR_VER RMajor version number |
KEYWRITEAREA @0x400 = 0x40024400
Key Write Area
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] RAM_AREA0 RWRepresents an area of 128 bits. Select the key store RAM area(s) where the key(s) needs to be written. Writing to multiple RAM locations is only possible when the selected RAM areas are sequential. Possible values:
|
[1] RAM_AREA1 RWRepresents an area of 128 bits. Select the key store RAM area(s) where the key(s) needs to be written. Writing to multiple RAM locations is only possible when the selected RAM areas are sequential. Possible values:
|
[2] RAM_AREA2 RWRepresents an area of 128 bits. Select the key store RAM area(s) where the key(s) needs to be written. Writing to multiple RAM locations is only possible when the selected RAM areas are sequential. Possible values:
|
[3] RAM_AREA3 RWRepresents an area of 128 bits. Select the key store RAM area(s) where the key(s) needs to be written. Writing to multiple RAM locations is only possible when the selected RAM areas are sequential. Possible values:
|
[4] RAM_AREA4 RWRepresents an area of 128 bits. Select the key store RAM area(s) where the key(s) needs to be written. Writing to multiple RAM locations is only possible when the selected RAM areas are sequential. Possible values:
|
[5] RAM_AREA5 RWRepresents an area of 128 bits. Select the key store RAM area(s) where the key(s) needs to be written. Writing to multiple RAM locations is only possible when the selected RAM areas are sequential. Possible values:
|
[6] RAM_AREA6 RWRepresents an area of 128 bits. Select the key store RAM area(s) where the key(s) needs to be written. Writing to multiple RAM locations is only possible when the selected RAM areas are sequential. Possible values:
|
[7] RAM_AREA7 RWRepresents an area of 128 bits. Select the key store RAM area(s) where the key(s) needs to be written. Writing to multiple RAM locations is only possible when the selected RAM areas are sequential. Possible values:
|
KEYWRITTENAREA @0x404 = 0x40024404
Key Written Area Status This register shows which areas of the key store RAM contain valid written keys. When a new key needs to be written to the key store, on a location that is already occupied by a valid key, this key area must be cleared first. This can be done by writing this register before the new key is written to the key store memory. Attempting to write to a key area that already contains a valid key is not allowed and will result in an error.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] RAM_AREA_WRITTEN0 RWOn read this bit returns the key area written status. This bit can be reset by writing a 1. Note: This register will be reset on a soft reset initiated by writing to DMASWRESET.RESET. After a soft reset, all keys must be rewritten to the key store memory. Possible values:
|
[1] RAM_AREA_WRITTEN1 RWOn read this bit returns the key area written status. This bit can be reset by writing a 1. Note: This register will be reset on a soft reset initiated by writing to DMASWRESET.RESET. After a soft reset, all keys must be rewritten to the key store memory. Possible values:
|
[2] RAM_AREA_WRITTEN2 RWOn read this bit returns the key area written status. This bit can be reset by writing a 1. Note: This register will be reset on a soft reset initiated by writing to DMASWRESET.RESET. After a soft reset, all keys must be rewritten to the key store memory. Possible values:
|
[3] RAM_AREA_WRITTEN3 RWOn read this bit returns the key area written status. This bit can be reset by writing a 1. Note: This register will be reset on a soft reset initiated by writing to DMASWRESET.RESET. After a soft reset, all keys must be rewritten to the key store memory. Possible values:
|
[4] RAM_AREA_WRITTEN4 RWOn read this bit returns the key area written status. This bit can be reset by writing a 1. Note: This register will be reset on a soft reset initiated by writing to DMASWRESET.RESET. After a soft reset, all keys must be rewritten to the key store memory. Possible values:
|
[5] RAM_AREA_WRITTEN5 RWOn read this bit returns the key area written status. This bit can be reset by writing a 1. Note: This register will be reset on a soft reset initiated by writing to DMASWRESET.RESET. After a soft reset, all keys must be rewritten to the key store memory. Possible values:
|
[6] RAM_AREA_WRITTEN6 RWOn read this bit returns the key area written status. This bit can be reset by writing a 1. Note: This register will be reset on a soft reset initiated by writing to DMASWRESET.RESET. After a soft reset, all keys must be rewritten to the key store memory. Possible values:
|
[7] RAM_AREA_WRITTEN7 RWOn read this bit returns the key area written status. This bit can be reset by writing a 1. Note: This register will be reset on a soft reset initiated by writing to DMASWRESET.RESET. After a soft reset, all keys must be rewritten to the key store memory. Possible values:
|
KEYSIZE @0x408 = 0x40024408
Key Size This register defines the size of the keys that are written with DMA.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||
[0..=1] SIZE RWKey size When writing to this register, KEYWRITTENAREA will be reset. Note: For the Crypto peripheral this field is fixed to 128 bits. For software compatibility KEYWRITTENAREA will be reset when writing to this register. Possible values:
|
KEYREADAREA @0x40c = 0x4002440c
Key Read Area
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||
[0..=3] RAM_AREA RWSelects the area of the key store RAM from where the key needs to be read that will be written to the AES engine. Only RAM areas that contain valid written keys can be selected. Possible values:
|
[31] BUSY RKey store operation busy status flag (read only) 0: operation is completed. 1: operation is not completed and the key store is busy. |
AESKEY2 @0x500 = 0x40024500
Clear AES_KEY2/GHASH Key
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] KEY2 WAESKEY2.* bits 31+x:0+x or AES_GHASH_H.* bits 31+x:0+x, where x = 0, 32, 64, 96 ordered from the LSW entry of this 4-deep register array. The interpretation of this field depends on the crypto operation mode. |
AESKEY3 @0x510 = 0x40024510
Clear AES_KEY3
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] KEY3 WAESKEY3.* bits 31+x:0+x or AESKEY2.* bits 159+x:128+x, where x = 0, 32, 64, 96 ordered from the LSW entry of this 4-deep register arrary. The interpretation of this field depends on the crypto operation mode. |
AESIV @0x540 = 0x40024540
AES Initialization Vector
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] IV RWThe interpretation of this field depends on the crypto operation mode. |
AESCTL @0x550 = 0x40024550
AES Input/Output Buffer Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0] OUTPUT_RDY RWIf read as 1, this status bit indicates that an AES output block is available to be retrieved by the Host. Writing a 0 clears the bit to zero and indicates that output data is read by the Host. The AES engine can provide a next output data block. Writing a 1 to this bit will be ignored. Note: For DMA operations, this bit is automatically controlled by the Crypto peripheral. For typical use, this bit does NOT need to be written, but is used for status reading only. In this case, this status bit is automatically maintained by the Crypto peripheral. |
[1] INPUT_RDY RWIf read as 1, this status bit indicates that the 16-byte AES input buffer is empty. The Host is permitted to write the next block of data. Writing a 0 clears the bit to zero and indicates that the AES engine can use the provided input data block. Writing a 1 to this bit will be ignored. Note: For DMA operations, this bit is automatically controlled by the Crypto peripheral. After reset, this bit is 0. After writing a context (note 1), this bit will become 1. For typical use, this bit does NOT need to be written, but is used for status reading only. In this case, this status bit is automatically maintained by the Crypto peripheral. |
[2] DIR RWDirection. 0 : Decrypt operation is performed. 1 : Encrypt operation is performed. This bit must be written with a 1 when CBC-MAC is selected. |
[3..=4] KEY_SIZE RThis field specifies the key size. The key size is automatically configured when a new key is loaded via the key store module. 00 = N/A - reserved 01 = 128 bits 10 = N/A - reserved 11 = N/A - reserved For the Crypto peripheral this field is fixed to 128 bits. |
[5] CBC RWCBC mode enable |
[6] CTR RWAES-CTR mode enable This bit must also be set for CCM, when encryption/decryption is required. |
[7..=8] CTR_WIDTH RWSpecifies the counter width for AES-CTR mode Possible values:
|
[15] CBC_MAC RWMAC mode enable. The DIR bit must be set to 1 for this mode. Selecting this mode requires writing the AESDATALEN1.LEN_MSW and AESDATALEN0.LEN_LSW registers after all other registers. |
[18] CCM RWAES-CCM mode enable. AES-CCM is a combined mode, using AES for both authentication and encryption. Note: Selecting AES-CCM mode requires writing of AESDATALEN1.LEN_MSW and AESDATALEN0.LEN_LSW after all other registers. Note: The CTR mode bit in this register must also be set to 1 to enable AES-CTR; selecting other AES modes than CTR mode is invalid. |
[19..=21] CCM_L RWDefines L that indicates the width of the length field for CCM operations; the length field in bytes equals the value of CMM_L plus one. All values are supported. |
[22..=24] CCM_M RWDefines M that indicates the length of the authentication field for CCM operations; the authentication field length equals two times the value of CCM_M plus one. Note: The Crypto peripheral always returns a 128-bit authentication field, of which the M least significant bytes are valid. All values are supported. |
[29] SAVE_CONTEXT RWIV must be read before the AES engine can start a new operation. |
[30] SAVED_CONTEXT_RDY RWIf read as 1, this status bit indicates that an AES authentication TAG and/or IV block(s) is/are available for the Host to retrieve. This bit is only asserted if SAVE_CONTEXT is set to 1. The bit is mutually exclusive with CONTEXT_RDY. Writing 1 clears the bit to zero, indicating the Crypto peripheral can start its next operation. This bit is also cleared when the 4th word of the output TAG and/or IV is read. Note: All other mode bit writes will be ignored when this mode bit is written with 1. Note: This bit is controlled automatically by the Crypto peripheral for TAG read DMA operations. For typical use, this bit does NOT need to be written, but is used for status reading only. In this case, this status bit is automatically maintained by the Crypto peripheral. |
[31] CONTEXT_RDY RIf 1, this status bit indicates that the context data registers can be overwritten and the Host is permitted to write the next context. Writing a context means writing either a mode, the crypto length or AESDATALEN1.LEN_MSW, AESDATALEN0.LEN_LSW length registers |
AESDATALEN0 @0x554 = 0x40024554
Crypto Data Length LSW
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] LEN_LSW WUsed to write the Length values to the Crypto peripheral. This register contains bits [31:0] of the combined data length. |
AESDATALEN1 @0x558 = 0x40024558
Crypto Data Length MSW
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=28] LEN_MSW WBits [60:32] of the combined data length. Bits [60:0] of the crypto length registers AESDATALEN1 and AESDATALEN0 store the cryptographic data length in bytes for all modes. Once processing with this context is started, this length decrements to zero. Data lengths up to (2^61 - 1) bytes are allowed. For GCM, any value up to 2^36 - 32 bytes can be used. This is because a 32-bit counter mode is used; the maximum number of 128-bit blocks is 2^32 - 2, resulting in a maximum number of bytes of 2^36 - 32. Writing to this register triggers the engine to start using this context. This is valid for all modes except GCM and CCM. Note: For the combined modes (GCM and CCM), this length does not include the authentication only data; the authentication length is specified in the AESAUTHLEN.LEN. All modes must have a length > 0. For the combined modes, it is allowed to have one of the lengths equal to zero. For the basic encryption modes (ECB/CBC/CTR) it is allowed to program zero to the length field; in that case the length is assumed infinite. All data must be byte (8-bit) aligned for stream cipher modes; bit aligned data streams are not supported by the Crypto peripheral. For block cipher modes, the data length must be programmed in multiples of the block cipher size, 16 bytes. |
AESAUTHLEN @0x55c = 0x4002455c
AES Authentication Length
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] LEN WAuthentication data length in bytes for combined mode, CCM only. Supported AAD-lengths for CCM are from 0 to (216 - 28) bytes. Once processing with this context is started, this length decrements to zero. Writing this register triggers the engine to start using this context for CCM. |
AESDATAOUT0 @0x560 = 0x40024560
Data Input/Output
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] DATA RData register 0 for output block data from the Crypto peripheral. These bits = AES Output Data[31:0] of {127:0] For normal operations, this register is not used, since data input and output is transferred from and to the AES engine via DMA. For a Host read operation, these registers contain the 128-bit output block from the latest AES operation. Reading from a word-aligned offset within this address range will read one word (4 bytes) of data out the 4-word deep (16 bytes = 128-bits AES block) data output buffer. The words (4 words, one full block) should be read before the core will move the next block to the data output buffer. To empty the data output buffer, AESCTL.OUTPUT_RDY must be written. For the modes with authentication (CBC-MAC, GCM and CCM), the invalid (message) bytes/words can be written with any data. Note: The AAD / authentication only data is not copied to the output buffer but only used for authentication. |
AESDATAIN0 @0x560 = 0x40024560
AES Data Input/Output 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] DATA WData registers for input block data to the Crypto peripheral. These bits = AES Input Data[31:0] of [127:0] For normal operations, this register is not used, since data input and output is transferred from and to the AES engine via DMA. For a Host write operation, these registers must be written with the 128-bit input block for the next AES operation. Writing at a word-aligned offset within this address range will store the word (4 bytes) of data into the corresponding position of 4-word deep (16 bytes = 128-bit AES block) data input buffer. This buffer is used for the next AES operation. If the last data block is not completely filled with valid data (see notes below), it is allowed to write only the words with valid data. Next AES operation is triggered by writing to AESCTL.INPUT_RDY. Note: AES typically operates on 128 bits block multiple input data. The CTR, GCM and CCM modes form an exception. The last block of a CTR-mode message may contain less than 128 bits (refer to [NIST 800-38A]): 0 < n <= 128 bits. For GCM/CCM, the last block of both AAD and message data may contain less than 128 bits (refer to [NIST 800-38D]). The Crypto peripheral automatically pads or masks misaligned ending data blocks with zeroes for GCM, CCM and CBC-MAC. For CTR mode, the remaining data in an unaligned data block is ignored. |
AESDATAOUT1 @0x564 = 0x40024564
AES Data Input/Output 3
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] DATA RData registers for output block data from the Crypto peripheral. These bits = AES Output Data[63:32] of [127:0] For normal operations, this register is not used, since data input and output is transferred from and to the AES engine via DMA. For a Host read operation, these registers contain the 128-bit output block from the latest AES operation. Reading from a word-aligned offset within this address range will read one word (4 bytes) of data out the 4-word deep (16 bytes = 128-bits AES block) data output buffer. The words (4 words, one full block) should be read before the core will move the next block to the data output buffer. To empty the data output buffer, AESCTL.OUTPUT_RDY must be written. For the modes with authentication (CBC-MAC, GCM and CCM), the invalid (message) bytes/words can be written with any data. Note: The AAD / authentication only data is not copied to the output buffer but only used for authentication. |
AESDATAIN1 @0x564 = 0x40024564
AES Data Input/Output 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] DATA WData registers for input block data to the Crypto peripheral. These bits = AES Input Data[63:32] of [127:0] For normal operations, this register is not used, since data input and output is transferred from and to the AES engine via DMA. For a Host write operation, these registers must be written with the 128-bit input block for the next AES operation. Writing at a word-aligned offset within this address range will store the word (4 bytes) of data into the corresponding position of 4-word deep (16 bytes = 128-bit AES block) data input buffer. This buffer is used for the next AES operation. If the last data block is not completely filled with valid data (see notes below), it is allowed to write only the words with valid data. Next AES operation is triggered by writing to AESCTL.INPUT_RDY. Note: AES typically operates on 128 bits block multiple input data. The CTR, GCM and CCM modes form an exception. The last block of a CTR-mode message may contain less than 128 bits (refer to [NIST 800-38A]): 0 < n <= 128 bits. For GCM/CCM, the last block of both AAD and message data may contain less than 128 bits (refer to [NIST 800-38D]). The Crypto peripheral automatically pads or masks misaligned ending data blocks with zeroes for GCM, CCM and CBC-MAC. For CTR mode, the remaining data in an unaligned data block is ignored. |
AESDATAOUT2 @0x568 = 0x40024568
AES Data Input/Output 2
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] DATA RData registers for output block data from the Crypto peripheral. These bits = AES Output Data[95:64] of [127:0] For normal operations, this register is not used, since data input and output is transferred from and to the AES engine via DMA. For a Host read operation, these registers contain the 128-bit output block from the latest AES operation. Reading from a word-aligned offset within this address range will read one word (4 bytes) of data out the 4-word deep (16 bytes = 128-bits AES block) data output buffer. The words (4 words, one full block) should be read before the core will move the next block to the data output buffer. To empty the data output buffer, AESCTL.OUTPUT_RDY must be written. For the modes with authentication (CBC-MAC, GCM and CCM), the invalid (message) bytes/words can be written with any data. Note: The AAD / authentication only data is not copied to the output buffer but only used for authentication. |
AESDATAIN2 @0x568 = 0x40024568
AES Data Input/Output 2
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] DATA WData registers for input block data to the Crypto peripheral. These bits = AES Input Data[95:64] of [127:0] For normal operations, this register is not used, since data input and output is transferred from and to the AES engine via DMA. For a Host write operation, these registers must be written with the 128-bit input block for the next AES operation. Writing at a word-aligned offset within this address range will store the word (4 bytes) of data into the corresponding position of 4-word deep (16 bytes = 128-bit AES block) data input buffer. This buffer is used for the next AES operation. If the last data block is not completely filled with valid data (see notes below), it is allowed to write only the words with valid data. Next AES operation is triggered by writing to AESCTL.INPUT_RDY. Note: AES typically operates on 128 bits block multiple input data. The CTR, GCM and CCM modes form an exception. The last block of a CTR-mode message may contain less than 128 bits (refer to [NIST 800-38A]): 0 < n <= 128 bits. For GCM/CCM, the last block of both AAD and message data may contain less than 128 bits (refer to [NIST 800-38D]). The Crypto peripheral automatically pads or masks misaligned ending data blocks with zeroes for GCM, CCM and CBC-MAC. For CTR mode, the remaining data in an unaligned data block is ignored. |
AESDATAOUT3 @0x56c = 0x4002456c
AES Data Input/Output 3
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] DATA RData registers for output block data from the Crypto peripheral. These bits = AES Output Data[127:96] of [127:0] For normal operations, this register is not used, since data input and output is transferred from and to the AES engine via DMA. For a Host read operation, these registers contain the 128-bit output block from the latest AES operation. Reading from a word-aligned offset within this address range will read one word (4 bytes) of data out the 4-word deep (16 bytes = 128-bits AES block) data output buffer. The words (4 words, one full block) should be read before the core will move the next block to the data output buffer. To empty the data output buffer, AESCTL.OUTPUT_RDY must be written. For the modes with authentication (CBC-MAC, GCM and CCM), the invalid (message) bytes/words can be written with any data. Note: The AAD / authentication only data is not copied to the output buffer but only used for authentication. |
AESDATAIN3 @0x56c = 0x4002456c
Data Input/Output
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] DATA WData registers for input block data to the Crypto peripheral. These bits = AES Input Data[127:96] of [127:0] For normal operations, this register is not used, since data input and output is transferred from and to the AES engine via DMA. For a Host write operation, these registers must be written with the 128-bit input block for the next AES operation. Writing at a word-aligned offset within this address range will store the word (4 bytes) of data into the corresponding position of 4-word deep (16 bytes = 128-bit AES block) data input buffer. This buffer is used for the next AES operation. If the last data block is not completely filled with valid data (see notes below), it is allowed to write only the words with valid data. Next AES operation is triggered by writing to AESCTL.INPUT_RDY. Note: AES typically operates on 128 bits block multiple input data. The CTR, GCM and CCM modes form an exception. The last block of a CTR-mode message may contain less than 128 bits (refer to [NIST 800-38A]): 0 < n <= 128 bits. For GCM/CCM, the last block of both AAD and message data may contain less than 128 bits (refer to [NIST 800-38D]). The Crypto peripheral automatically pads or masks misaligned ending data blocks with zeroes for GCM, CCM and CBC-MAC. For CTR mode, the remaining data in an unaligned data block is ignored. |
AESTAGOUT @0x570 = 0x40024570
AES Tag Output
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] TAG RThis register contains the authentication TAG for the combined and authentication-only modes. |
ALGSEL @0x700 = 0x40024700
Master Algorithm Select This register configures the internal destination of the DMA controller.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] KEY_STORE RWIf set to 1, selects the Key Store to be loaded via DMA. The maximum transfer size to DMA engine is set to 32 bytes (however transfers of 16, 24 and 32 bytes are allowed) |
[1] AES RWIf set to 1, the AES data is loaded via DMA Both Read and Write maximum transfer size to DMA engine is set to 16 bytes |
[31] TAG RWIf this bit is cleared to 0, the DMA operation involves only data. If this bit is set, the DMA operation includes a TAG (Authentication Result / Digest). |
DMAPROTCTL @0x704 = 0x40024704
Master Protection Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] EN RWSelect AHB transfer protection control for DMA transfers using the key store area as destination. 0 : transfers use 'USER' type access. 1 : transfers use 'PRIVILEGED' type access. |
SWRESET @0x740 = 0x40024740
Software Reset
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RESET RWIf this bit is set to 1, the following modules are reset: - Master control internal state is reset. That includes interrupt, error status register and result available interrupt generation FSM. - Key store module state is reset. That includes clearing the Written Area flags; therefore the keys must be reloaded to the key store module. Writing 0 has no effect. The bit is self cleared after executing the reset. |
IRQTYPE @0x780 = 0x40024780
Control Interrupt Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] LEVEL RWIf this bit is 0, the interrupt output is a pulse. If this bit is set to 1, the interrupt is a level interrupt that must be cleared by writing the interrupt clear register. This bit is applicable for both interrupt output signals. |
IRQEN @0x784 = 0x40024784
Interrupt Enable
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RESULT_AVAIL RWThis bit enables IRQSTAT.RESULT_AVAIL as source for IRQ. |
[1] DMA_IN_DONE RWThis bit enables IRQSTAT.DMA_IN_DONE as source for IRQ. |
IRQCLR @0x788 = 0x40024788
Interrupt Clear
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RESULT_AVAIL WIf 1 is written to this bit, IRQSTAT.RESULT_AVAIL is cleared. |
[1] DMA_IN_DONE WIf 1 is written to this bit, IRQSTAT.DMA_IN_DONE is cleared. |
[29] KEY_ST_RD_ERR WIf 1 is written to this bit, IRQSTAT.KEY_ST_RD_ERR is cleared. |
[30] KEY_ST_WR_ERR WIf 1 is written to this bit, IRQSTAT.KEY_ST_WR_ERR is cleared. |
[31] DMA_BUS_ERR WIf 1 is written to this bit, IRQSTAT.DMA_BUS_ERR is cleared. |
IRQSET @0x78c = 0x4002478c
Interrupt Set
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RESULT_AVAIL WIf 1 is written to this bit, IRQSTAT.RESULT_AVAIL is set. Writing 0 has no effect. |
[1] DMA_IN_DONE WIf 1 is written to this bit, IRQSTAT.DMA_IN_DONE is set. Writing 0 has no effect. |
IRQSTAT @0x790 = 0x40024790
Interrupt Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RESULT_AVAIL RThis bit is set high when the Crypto peripheral has a result available. |
[1] DMA_IN_DONE RThis bit returns the status of DMA data in done interrupt. |
[29] KEY_ST_RD_ERR RThis bit will be set when a read error is detected during the read of a key from the key store, while copying it to the AES engine. The value of this register is held until it is cleared via IRQCLR.KEY_ST_RD_ERR. Note: This error is asserted if a key location is selected in the key store that is not available. Note: This is not an interrupt source. |
[30] KEY_ST_WR_ERR RThis bit is set when a write error is detected during the DMA write operation to the key store memory. The value of this register is held until it is cleared via IRQCLR.KEY_ST_WR_ERR Note: This error is asserted if a DMA operation does not cover a full key area or more areas are written than expected. Note: This is not an interrupt source. |
[31] DMA_BUS_ERR RThis bit is set when a DMA bus error is detected during a DMA operation. The value of this register is held until it is cleared via IRQCLR.DMA_BUS_ERR Note: This error is asserted if an error is detected on the AHB master interface during a DMA operation. Note: This is not an interrupt source. |
HWVER @0x7fc = 0x400247fc
CTRL Module Version
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] VER_NUM RThe version number for the Crypto peripheral, this field contains the value 120 (decimal) or 0x78. |
[8..=15] VER_NUM_COMPL RThese bits simply contain the complement of VER_NUM (0x87), used by a driver to ascertain that the Crypto peripheral register is indeed read. |
[16..=19] HW_PATCH_LVL RPatch level, starts at 0 at first delivery of this version. |
[20..=23] HW_MINOR_VER RMinor version number |
[24..=27] HW_MAJOR_VER RMajor version number |
EVENT at 0x40083000 with offset=0 and size=4096:
Event Fabric Component Definition
Registers:
CPUIRQSEL0 @0x0 = 0x40083000
Output Selection for CPU Interrupt 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL1 @0x4 = 0x40083004
Output Selection for CPU Interrupt 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL2 @0x8 = 0x40083008
Output Selection for CPU Interrupt 2
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL3 @0xc = 0x4008300c
Output Selection for CPU Interrupt 3
CPUIRQSEL4 @0x10 = 0x40083010
Output Selection for CPU Interrupt 4
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL5 @0x14 = 0x40083014
Output Selection for CPU Interrupt 5
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL6 @0x18 = 0x40083018
Output Selection for CPU Interrupt 6
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL7 @0x1c = 0x4008301c
Output Selection for CPU Interrupt 7
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL8 @0x20 = 0x40083020
Output Selection for CPU Interrupt 8
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL9 @0x24 = 0x40083024
Output Selection for CPU Interrupt 9
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL10 @0x28 = 0x40083028
Output Selection for CPU Interrupt 10
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL11 @0x2c = 0x4008302c
Output Selection for CPU Interrupt 11
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL12 @0x30 = 0x40083030
Output Selection for CPU Interrupt 12
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL13 @0x34 = 0x40083034
Output Selection for CPU Interrupt 13
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL14 @0x38 = 0x40083038
Output Selection for CPU Interrupt 14
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL15 @0x3c = 0x4008303c
Output Selection for CPU Interrupt 15
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL16 @0x40 = 0x40083040
Output Selection for CPU Interrupt 16
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL17 @0x44 = 0x40083044
Output Selection for CPU Interrupt 17
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL18 @0x48 = 0x40083048
Output Selection for CPU Interrupt 18
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL19 @0x4c = 0x4008304c
Output Selection for CPU Interrupt 19
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL20 @0x50 = 0x40083050
Output Selection for CPU Interrupt 20
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL21 @0x54 = 0x40083054
Output Selection for CPU Interrupt 21
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL22 @0x58 = 0x40083058
Output Selection for CPU Interrupt 22
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL23 @0x5c = 0x4008305c
Output Selection for CPU Interrupt 23
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL24 @0x60 = 0x40083060
Output Selection for CPU Interrupt 24
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL25 @0x64 = 0x40083064
Output Selection for CPU Interrupt 25
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL26 @0x68 = 0x40083068
Output Selection for CPU Interrupt 26
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL27 @0x6c = 0x4008306c
Output Selection for CPU Interrupt 27
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL28 @0x70 = 0x40083070
Output Selection for CPU Interrupt 28
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL29 @0x74 = 0x40083074
Output Selection for CPU Interrupt 29
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL30 @0x78 = 0x40083078
Output Selection for CPU Interrupt 30
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
CPUIRQSEL31 @0x7c = 0x4008307c
Output Selection for CPU Interrupt 31
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL32 @0x80 = 0x40083080
Output Selection for CPU Interrupt 32
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
CPUIRQSEL33 @0x84 = 0x40083084
Output Selection for CPU Interrupt 33
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
RFCSEL0 @0x100 = 0x40083100
Output Selection for RFC Event 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
RFCSEL1 @0x104 = 0x40083104
Output Selection for RFC Event 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
RFCSEL2 @0x108 = 0x40083108
Output Selection for RFC Event 2
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
RFCSEL3 @0x10c = 0x4008310c
Output Selection for RFC Event 3
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
RFCSEL4 @0x110 = 0x40083110
Output Selection for RFC Event 4
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
RFCSEL5 @0x114 = 0x40083114
Output Selection for RFC Event 5
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
RFCSEL6 @0x118 = 0x40083118
Output Selection for RFC Event 6
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
RFCSEL7 @0x11c = 0x4008311c
Output Selection for RFC Event 7
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
RFCSEL8 @0x120 = 0x40083120
Output Selection for RFC Event 8
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
RFCSEL9 @0x124 = 0x40083124
Output Selection for RFC Event 9
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
GPT0ACAPTSEL @0x200 = 0x40083200
Output Selection for GPT0 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
GPT0BCAPTSEL @0x204 = 0x40083204
Output Selection for GPT0 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
GPT1ACAPTSEL @0x300 = 0x40083300
Output Selection for GPT1 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
GPT1BCAPTSEL @0x304 = 0x40083304
Output Selection for GPT1 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
GPT2ACAPTSEL @0x400 = 0x40083400
Output Selection for GPT2 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
GPT2BCAPTSEL @0x404 = 0x40083404
Output Selection for GPT2 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
UDMACH0SSEL @0x500 = 0x40083500
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH0BSEL @0x504 = 0x40083504
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH1SSEL @0x508 = 0x40083508
Output Selection for DMA Channel 1 SREQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH1BSEL @0x50c = 0x4008350c
Output Selection for DMA Channel 1 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH2SSEL @0x510 = 0x40083510
Output Selection for DMA Channel 2 SREQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH2BSEL @0x514 = 0x40083514
Output Selection for DMA Channel 2 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH3SSEL @0x518 = 0x40083518
Output Selection for DMA Channel 3 SREQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH3BSEL @0x51c = 0x4008351c
Output Selection for DMA Channel 3 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH4SSEL @0x520 = 0x40083520
Output Selection for DMA Channel 4 SREQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH4BSEL @0x524 = 0x40083524
Output Selection for DMA Channel 4 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH5SSEL @0x528 = 0x40083528
Output Selection for DMA Channel 5 SREQ
UDMACH5BSEL @0x52c = 0x4008352c
Output Selection for DMA Channel 5 REQ
UDMACH6SSEL @0x530 = 0x40083530
Output Selection for DMA Channel 6 SREQ
UDMACH6BSEL @0x534 = 0x40083534
Output Selection for DMA Channel 6 REQ
UDMACH7SSEL @0x538 = 0x40083538
Output Selection for DMA Channel 7 SREQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH7BSEL @0x53c = 0x4008353c
Output Selection for DMA Channel 7 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH8SSEL @0x540 = 0x40083540
Output Selection for DMA Channel 8 SREQ Single request is ignored for this channel
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH8BSEL @0x544 = 0x40083544
Output Selection for DMA Channel 8 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH9SSEL @0x548 = 0x40083548
Output Selection for DMA Channel 9 SREQ DMA_DONE for the corresponding DMA channel is available as interrupt on GPT0 as GPT0:RIS.DMAARIS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
UDMACH9BSEL @0x54c = 0x4008354c
Output Selection for DMA Channel 9 REQ DMA_DONE for the corresponding DMA channel is available as interrupt on GPT0 as GPT0:RIS.DMAARIS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
UDMACH10SSEL @0x550 = 0x40083550
Output Selection for DMA Channel 10 SREQ DMA_DONE for the corresponding DMA channel is available as interrupt on GPT0 as GPT0:RIS.DMABRIS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
UDMACH10BSEL @0x554 = 0x40083554
Output Selection for DMA Channel 10 REQ DMA_DONE for the corresponding DMA channel is available as interrupt on GPT0 as GPT0:RIS.DMABRIS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
UDMACH11SSEL @0x558 = 0x40083558
Output Selection for DMA Channel 11 SREQ DMA_DONE for the corresponding DMA channel is available as interrupt on GPT1 as GPT1:RIS.DMAARIS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
UDMACH11BSEL @0x55c = 0x4008355c
Output Selection for DMA Channel 11 REQ DMA_DONE for the corresponding DMA channel is available as interrupt on GPT1 as GPT1:RIS.DMAARIS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
UDMACH12SSEL @0x560 = 0x40083560
Output Selection for DMA Channel 12 SREQ DMA_DONE for the corresponding DMA channel is available as interrupt on GPT1 as GPT1:RIS.DMABRIS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
UDMACH12BSEL @0x564 = 0x40083564
Output Selection for DMA Channel 12 REQ DMA_DONE for the corresponding DMA channel is available as interrupt on GPT1 as GPT1:RIS.DMABRIS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
UDMACH13SSEL @0x568 = 0x40083568
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH13BSEL @0x56c = 0x4008356c
Output Selection for DMA Channel 13 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH14SSEL @0x570 = 0x40083570
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH14BSEL @0x574 = 0x40083574
Output Selection for DMA Channel 14 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
UDMACH15SSEL @0x578 = 0x40083578
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH15BSEL @0x57c = 0x4008357c
Output Selection for DMA Channel 15 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH16SSEL @0x580 = 0x40083580
Output Selection for DMA Channel 16 SREQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH16BSEL @0x584 = 0x40083584
Output Selection for DMA Channel 16 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH17SSEL @0x588 = 0x40083588
Output Selection for DMA Channel 17 SREQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH17BSEL @0x58c = 0x4008358c
Output Selection for DMA Channel 17 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH18SSEL @0x590 = 0x40083590
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH18BSEL @0x594 = 0x40083594
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH19SSEL @0x598 = 0x40083598
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH19BSEL @0x59c = 0x4008359c
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH20SSEL @0x5a0 = 0x400835a0
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH20BSEL @0x5a4 = 0x400835a4
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH21SSEL @0x5a8 = 0x400835a8
Output Selection for DMA Channel 21 SREQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH21BSEL @0x5ac = 0x400835ac
Output Selection for DMA Channel 21 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH22SSEL @0x5b0 = 0x400835b0
Output Selection for DMA Channel 22 SREQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH22BSEL @0x5b4 = 0x400835b4
Output Selection for DMA Channel 22 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH23SSEL @0x5b8 = 0x400835b8
Output Selection for DMA Channel 23 SREQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH23BSEL @0x5bc = 0x400835bc
Output Selection for DMA Channel 23 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH24SSEL @0x5c0 = 0x400835c0
Output Selection for DMA Channel 24 SREQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH24BSEL @0x5c4 = 0x400835c4
Output Selection for DMA Channel 24 REQ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
UDMACH25SSEL @0x5c8 = 0x400835c8
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH25BSEL @0x5cc = 0x400835cc
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH26SSEL @0x5d0 = 0x400835d0
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH26BSEL @0x5d4 = 0x400835d4
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH27SSEL @0x5d8 = 0x400835d8
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH27BSEL @0x5dc = 0x400835dc
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH28SSEL @0x5e0 = 0x400835e0
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH28BSEL @0x5e4 = 0x400835e4
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH29SSEL @0x5e8 = 0x400835e8
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH29BSEL @0x5ec = 0x400835ec
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH30SSEL @0x5f0 = 0x400835f0
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH30BSEL @0x5f4 = 0x400835f4
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH31SSEL @0x5f8 = 0x400835f8
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
UDMACH31BSEL @0x5fc = 0x400835fc
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=31] EV RSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. Possible values:
|
GPT3ACAPTSEL @0x600 = 0x40083600
Output Selection for GPT3 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
GPT3BCAPTSEL @0x604 = 0x40083604
Output Selection for GPT3 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
AUXSEL0 @0x700 = 0x40083700
Output Selection for AUX Subscriber 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
CM3NMISEL0 @0x800 = 0x40083800
Output Selection for NMI Subscriber 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||
[0..=6] EV RRead only selection value Possible values:
|
I2SSTMPSEL0 @0x900 = 0x40083900
Output Selection for I2S Subscriber 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
FRZSEL0 @0xa00 = 0x40083a00
Output Selection for FRZ Subscriber The halted debug signal is passed to peripherals such as the General Purpose Timer, Sensor Controller with Digital and Analog Peripherals (AUX), Radio, and RTC. When the system CPU halts, the connected peripherals that have freeze enabled also halt. The programmable output can be set to static values of 0 or 1, and can also be set to pass the halted signal.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||
[0..=6] EV RWRead/write selection value Writing any other value than values defined by a ENUM may result in undefined behavior. Possible values:
|
SWEV @0xf00 = 0x40083f00
Set or Clear Software Events
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SWEV0 RWWriting "1" to this bit when the value is "0" triggers the Software 0 event. |
[8] SWEV1 RWWriting "1" to this bit when the value is "0" triggers the Software 1 event. |
[16] SWEV2 RWWriting "1" to this bit when the value is "0" triggers the Software 2 event. |
[24] SWEV3 RWWriting "1" to this bit when the value is "0" triggers the Software 3 event. |
FCFG1 at 0x50001000 with offset=0 and size=1024:
Factory configuration area (FCFG1)
Registers:
MISC_CONF_1 @0xa0 = 0x500010a0
Misc configurations
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] DEVICE_MINOR_REV RHW minor revision number (a value of 0xFF shall be treated equally to 0x00). Any test of this field by SW should be implemented as a 'greater or equal' comparison as signed integer. Value may change without warning. |
MISC_CONF_2 @0xa4 = 0x500010a4
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] HPOSC_COMP_P3 RInternal. Only to be used through TI provided API. |
CONFIG_RF_FRONTEND_DIV5 @0xc4 = 0x500010c4
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=6] RFLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[14..=18] CTL_PA0_TRIM RInternal. Only to be used through TI provided API. |
[19..=23] IFAMP_TRIM RInternal. Only to be used through TI provided API. |
[24..=27] LNA_IB RInternal. Only to be used through TI provided API. |
[28..=31] IFAMP_IB RInternal. Only to be used through TI provided API. |
CONFIG_RF_FRONTEND_DIV6 @0xc8 = 0x500010c8
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=6] RFLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[14..=18] CTL_PA0_TRIM RInternal. Only to be used through TI provided API. |
[19..=23] IFAMP_TRIM RInternal. Only to be used through TI provided API. |
[24..=27] LNA_IB RInternal. Only to be used through TI provided API. |
[28..=31] IFAMP_IB RInternal. Only to be used through TI provided API. |
CONFIG_RF_FRONTEND_DIV10 @0xcc = 0x500010cc
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=6] RFLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[14..=18] CTL_PA0_TRIM RInternal. Only to be used through TI provided API. |
[19..=23] IFAMP_TRIM RInternal. Only to be used through TI provided API. |
[24..=27] LNA_IB RInternal. Only to be used through TI provided API. |
[28..=31] IFAMP_IB RInternal. Only to be used through TI provided API. |
CONFIG_RF_FRONTEND_DIV12 @0xd0 = 0x500010d0
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=6] RFLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[14..=18] CTL_PA0_TRIM RInternal. Only to be used through TI provided API. |
[19..=23] IFAMP_TRIM RInternal. Only to be used through TI provided API. |
[24..=27] LNA_IB RInternal. Only to be used through TI provided API. |
[28..=31] IFAMP_IB RInternal. Only to be used through TI provided API. |
CONFIG_RF_FRONTEND_DIV15 @0xd4 = 0x500010d4
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=6] RFLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[14..=18] CTL_PA0_TRIM RInternal. Only to be used through TI provided API. |
[19..=23] IFAMP_TRIM RInternal. Only to be used through TI provided API. |
[24..=27] LNA_IB RInternal. Only to be used through TI provided API. |
[28..=31] IFAMP_IB RInternal. Only to be used through TI provided API. |
CONFIG_RF_FRONTEND_DIV30 @0xd8 = 0x500010d8
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=6] RFLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[14..=18] CTL_PA0_TRIM RInternal. Only to be used through TI provided API. |
[19..=23] IFAMP_TRIM RInternal. Only to be used through TI provided API. |
[24..=27] LNA_IB RInternal. Only to be used through TI provided API. |
[28..=31] IFAMP_IB RInternal. Only to be used through TI provided API. |
CONFIG_SYNTH_DIV5 @0xdc = 0x500010dc
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] SLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[6..=11] LDOVCO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[12..=27] RFC_MDM_DEMIQMC0 RTrim value for RF Core. Value is read by RF Core ROM FW during RF Core initialization. |
CONFIG_SYNTH_DIV6 @0xe0 = 0x500010e0
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] SLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[6..=11] LDOVCO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[12..=27] RFC_MDM_DEMIQMC0 RTrim value for RF Core. Value is read by RF Core ROM FW during RF Core initialization. |
CONFIG_SYNTH_DIV10 @0xe4 = 0x500010e4
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] SLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[6..=11] LDOVCO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[12..=27] RFC_MDM_DEMIQMC0 RTrim value for RF Core. Value is read by RF Core ROM FW during RF Core initialization. |
CONFIG_SYNTH_DIV12 @0xe8 = 0x500010e8
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] SLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[6..=11] LDOVCO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[12..=27] RFC_MDM_DEMIQMC0 RTrim value for RF Core. Value is read by RF Core ROM FW during RF Core initialization. |
CONFIG_SYNTH_DIV15 @0xec = 0x500010ec
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] SLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[6..=11] LDOVCO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[12..=27] RFC_MDM_DEMIQMC0 RTrim value for RF Core. Value is read by RF Core ROM FW during RF Core initialization. |
CONFIG_SYNTH_DIV30 @0xf0 = 0x500010f0
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] SLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[6..=11] LDOVCO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[12..=27] RFC_MDM_DEMIQMC0 RTrim value for RF Core. Value is read by RF Core ROM FW during RF Core initialization. |
CONFIG_MISC_ADC_DIV5 @0xf4 = 0x500010f4
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] DACTRIM RInternal. Only to be used through TI provided API. |
[6..=8] QUANTCTLTHRES RInternal. Only to be used through TI provided API. |
[9..=16] RSSI_OFFSET RInternal. Only to be used through TI provided API. |
CONFIG_MISC_ADC_DIV6 @0xf8 = 0x500010f8
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] DACTRIM RInternal. Only to be used through TI provided API. |
[6..=8] QUANTCTLTHRES RInternal. Only to be used through TI provided API. |
[9..=16] RSSI_OFFSET RInternal. Only to be used through TI provided API. |
CONFIG_MISC_ADC_DIV10 @0xfc = 0x500010fc
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] DACTRIM RInternal. Only to be used through TI provided API. |
[6..=8] QUANTCTLTHRES RInternal. Only to be used through TI provided API. |
[9..=16] RSSI_OFFSET RInternal. Only to be used through TI provided API. |
CONFIG_MISC_ADC_DIV12 @0x100 = 0x50001100
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] DACTRIM RInternal. Only to be used through TI provided API. |
[6..=8] QUANTCTLTHRES RInternal. Only to be used through TI provided API. |
[9..=16] RSSI_OFFSET RInternal. Only to be used through TI provided API. |
CONFIG_MISC_ADC_DIV15 @0x104 = 0x50001104
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] DACTRIM RInternal. Only to be used through TI provided API. |
[6..=8] QUANTCTLTHRES RInternal. Only to be used through TI provided API. |
[9..=16] RSSI_OFFSET RInternal. Only to be used through TI provided API. |
CONFIG_MISC_ADC_DIV30 @0x108 = 0x50001108
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] DACTRIM RInternal. Only to be used through TI provided API. |
[6..=8] QUANTCTLTHRES RInternal. Only to be used through TI provided API. |
[9..=16] RSSI_OFFSET RInternal. Only to be used through TI provided API. |
SHDW_DIE_ID_0 @0x118 = 0x50001118
Shadow of DIE_ID_0 register in eFuse
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ID_31_0 RShadow of DIE_ID_0 register in eFuse row number 3 |
SHDW_DIE_ID_1 @0x11c = 0x5000111c
Shadow of DIE_ID_1 register in eFuse
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ID_63_32 RShadow of DIE_ID_1 register in eFuse row number 4 |
SHDW_DIE_ID_2 @0x120 = 0x50001120
Shadow of DIE_ID_2 register in eFuse
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ID_95_64 RShadow of DIE_ID_2 register in eFuse row number 5 |
SHDW_DIE_ID_3 @0x124 = 0x50001124
Shadow of DIE_ID_3 register in eFuse
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ID_127_96 RShadow of DIE_ID_3 register in eFuse row number 6 |
SHDW_OSC_BIAS_LDO_TRIM @0x138 = 0x50001138
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] RCOSCHF_CTRIM RInternal. Only to be used through TI provided API. |
[8..=11] VTRIM_COARSE RInternal. Only to be used through TI provided API. |
[12..=15] VTRIM_DIG RInternal. Only to be used through TI provided API. |
[16..=17] ITRIM_DIG_LDO RInternal. Only to be used through TI provided API. |
[18..=22] TRIMIREF RInternal. Only to be used through TI provided API. |
[23..=26] TRIMMAG RInternal. Only to be used through TI provided API. |
[27..=28] SET_RCOSC_HF_COARSE_RESISTOR RInternal. Only to be used through TI provided API. |
SHDW_ANA_TRIM @0x13c = 0x5000113c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] TRIMTEMP RInternal. Only to be used through TI provided API. |
[6..=10] TRIMBOD_EXTMODE RInternal. Only to be used through TI provided API. |
[11..=15] TRIMBOD_INTMODE RInternal. Only to be used through TI provided API. |
[16..=20] VDDR_TRIM RInternal. Only to be used through TI provided API. |
[21..=22] IPTAT_TRIM RInternal. Only to be used through TI provided API. |
[23] VDDR_OK_HYS RInternal. Only to be used through TI provided API. |
[24] VDDR_ENABLE_PG1 RInternal. Only to be used through TI provided API. |
[25..=26] BOD_BANDGAP_TRIM_CNF RInternal. Only to be used through TI provided API. |
FLASH_NUMBER @0x164 = 0x50001164
Flash number
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] LOT_NUMBER RNumber of the manufacturing lot that produced this unit. |
FLASH_COORDINATE @0x16c = 0x5000116c
Flash coordinate
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] YCOORDINATE RY coordinate of this unit on the wafer. |
[16..=31] XCOORDINATE RX coordinate of this unit on the wafer. |
FLASH_E_P @0x170 = 0x50001170
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] EVSU RInternal. Only to be used through TI provided API. |
[8..=15] PVSU RInternal. Only to be used through TI provided API. |
[16..=23] ESU RInternal. Only to be used through TI provided API. |
[24..=31] PSU RInternal. Only to be used through TI provided API. |
FLASH_C_E_P_R @0x174 = 0x50001174
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=11] CVSU RInternal. Only to be used through TI provided API. |
[12..=15] A_EXEZ_SETUP RInternal. Only to be used through TI provided API. |
[16..=23] PV_ACCESS RInternal. Only to be used through TI provided API. |
[24..=31] RVSU RInternal. Only to be used through TI provided API. |
FLASH_P_R_PV @0x178 = 0x50001178
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PVH2 RInternal. Only to be used through TI provided API. |
[8..=15] PVH RInternal. Only to be used through TI provided API. |
[16..=23] RH RInternal. Only to be used through TI provided API. |
[24..=31] PH RInternal. Only to be used through TI provided API. |
FLASH_EH_SEQ @0x17c = 0x5000117c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=11] SM_FREQUENCY RInternal. Only to be used through TI provided API. |
[12..=15] VSTAT RInternal. Only to be used through TI provided API. |
[16..=23] SEQ RInternal. Only to be used through TI provided API. |
[24..=31] EH RInternal. Only to be used through TI provided API. |
FLASH_VHV_E @0x180 = 0x50001180
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] VHV_E_STEP_HIGHT RInternal. Only to be used through TI provided API. |
[16..=31] VHV_E_START RInternal. Only to be used through TI provided API. |
FLASH_PP @0x184 = 0x50001184
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] MAX_PP RInternal. Only to be used through TI provided API. |
[24..=31] PUMP_SU RInternal. Only to be used through TI provided API. |
FLASH_PROG_EP @0x188 = 0x50001188
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] PROGRAM_PW RInternal. Only to be used through TI provided API. |
[16..=31] MAX_EP RInternal. Only to be used through TI provided API. |
FLASH_ERA_PW @0x18c = 0x5000118c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ERASE_PW RInternal. Only to be used through TI provided API. |
FLASH_VHV @0x190 = 0x50001190
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] VHV_E RInternal. Only to be used through TI provided API. |
[8..=11] TRIM13_E RInternal. Only to be used through TI provided API. |
[16..=19] VHV_P RInternal. Only to be used through TI provided API. |
[24..=27] TRIM13_P RInternal. Only to be used through TI provided API. |
FLASH_VHV_PV @0x194 = 0x50001194
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] VINH RInternal. Only to be used through TI provided API. |
[8..=15] VCG2P5 RInternal. Only to be used through TI provided API. |
[16..=19] VHV_PV RInternal. Only to be used through TI provided API. |
[24..=27] TRIM13_PV RInternal. Only to be used through TI provided API. |
FLASH_V @0x198 = 0x50001198
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[8..=15] V_READ RInternal. Only to be used through TI provided API. |
[16..=23] VWL_P RInternal. Only to be used through TI provided API. |
[24..=31] VSL_P RInternal. Only to be used through TI provided API. |
USER_ID @0x294 = 0x50001294
User Identification. Reading this register and the ICEPICK_DEVICE_ID register is the only support way of identifying a device. The value of this register will be written to AON_WUC:JTAGUSERCODE by boot FW while in safezone.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[12..=15] PROTOCOL RProtocols supported. 0x1: BLE 0x2: RF4CE 0x4: Zigbee/6lowpan 0x8: Proprietary More than one protocol can be supported on same device - values above are then combined. |
[16..=18] PKG RPackage type. 0x0: 4x4mm QFN (RHB) package 0x1: 5x5mm QFN (RSM) package 0x2: 7x7mm QFN (RGZ) package 0x3: Wafer sale package (naked die) 0x4: 2.7x2.7mm WCSP (YFV) 0x5: 7x7mm QFN package with Wettable Flanks Other values are reserved for future use. Packages available for a specific device are shown in the device datasheet. |
[19..=22] SEQUENCE RSequence. Used to differentiate between marketing/orderable product where other fields of USER_ID is the same (temp range, flash size, voltage range etc) |
[26..=27] VER RVersion number. 0x0: Bits [25:12] of this register has the stated meaning. Any other setting indicate a different encoding of these bits. |
[28..=31] PG_REV RField used to distinguish revisions of the device. |
FLASH_OTP_DATA3 @0x2b0 = 0x500012b0
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] WAIT_SYSCODE RInternal. Only to be used through TI provided API. |
[8..=15] FLASH_SIZE RInternal. Only to be used through TI provided API. |
[16..=17] TRIM_1P7 RInternal. Only to be used through TI provided API. |
[18..=21] MAX_EC_LEVEL RInternal. Only to be used through TI provided API. |
[22] DO_PRECOND RInternal. Only to be used through TI provided API. |
[23..=31] EC_STEP_SIZE RInternal. Only to be used through TI provided API. |
ANA2_TRIM @0x2b4 = 0x500012b4
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] DCDC_HIGH_EN_SEL RInternal. Only to be used through TI provided API. |
[3..=5] DCDC_LOW_EN_SEL RInternal. Only to be used through TI provided API. |
[6..=7] DEAD_TIME_TRIM RInternal. Only to be used through TI provided API. |
[8..=10] DCDC_IPEAK RInternal. Only to be used through TI provided API. |
[11] DITHER_EN RInternal. Only to be used through TI provided API. |
[16..=21] NANOAMP_RES_TRIM RInternal. Only to be used through TI provided API. |
[22] ATESTLF_UDIGLDO_IBIAS_TRIM RInternal. Only to be used through TI provided API. |
[23..=24] SET_RCOSC_HF_FINE_RESISTOR RInternal. Only to be used through TI provided API. |
[26..=30] RCOSCHFCTRIMFRACT RInternal. Only to be used through TI provided API. |
[31] RCOSCHFCTRIMFRACT_EN RInternal. Only to be used through TI provided API. |
LDO_TRIM @0x2b8 = 0x500012b8
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] VTRIM_DELTA RInternal. Only to be used through TI provided API. |
[8..=10] ITRIM_UDIGLDO RInternal. Only to be used through TI provided API. |
[11..=12] ITRIM_DIGLDO_LOAD RInternal. Only to be used through TI provided API. |
[16..=18] GLDO_CURSRC RInternal. Only to be used through TI provided API. |
[24..=28] VDDR_TRIM_SLEEP RInternal. Only to be used through TI provided API. |
BAT_RC_LDO_TRIM @0x2bc = 0x500012bc
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=1] MEASUREPER RInternal. Only to be used through TI provided API. |
[8..=11] RCOSCHF_ITUNE_TRIM RInternal. Only to be used through TI provided API. |
[16..=19] VTRIM_UDIG RInternal. Only to be used through TI provided API. |
[24..=27] VTRIM_BOD RInternal. Only to be used through TI provided API. |
MAC_BLE_0 @0x2e8 = 0x500012e8
MAC BLE Address 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ADDR_0_31 RThe first 32-bits of the 64-bit MAC BLE address |
MAC_BLE_1 @0x2ec = 0x500012ec
MAC BLE Address 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ADDR_32_63 RThe last 32-bits of the 64-bit MAC BLE address |
MAC_15_4_0 @0x2f0 = 0x500012f0
MAC IEEE 802.15.4 Address 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ADDR_0_31 RThe first 32-bits of the 64-bit MAC 15.4 address |
MAC_15_4_1 @0x2f4 = 0x500012f4
MAC IEEE 802.15.4 Address 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ADDR_32_63 RThe last 32-bits of the 64-bit MAC 15.4 address |
FLASH_OTP_DATA4 @0x308 = 0x50001308
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] VIN_AT_X_EXT_RD RInternal. Only to be used through TI provided API. |
[3] DIS_IDLE_EXT_RD RInternal. Only to be used through TI provided API. |
[4] DIS_STANDBY_EXT_RD RInternal. Only to be used through TI provided API. |
[5..=6] STANDBY_PW_SEL_EXT_RD RInternal. Only to be used through TI provided API. |
[7] STANDBY_MODE_SEL_EXT_RD RInternal. Only to be used through TI provided API. |
[8..=10] VIN_AT_X_INT_RD RInternal. Only to be used through TI provided API. |
[11] DIS_IDLE_INT_RD RInternal. Only to be used through TI provided API. |
[12] DIS_STANDBY_INT_RD RInternal. Only to be used through TI provided API. |
[13..=14] STANDBY_PW_SEL_INT_RD RInternal. Only to be used through TI provided API. |
[15] STANDBY_MODE_SEL_INT_RD RInternal. Only to be used through TI provided API. |
[16..=18] VIN_AT_X_EXT_WRT RInternal. Only to be used through TI provided API. |
[19] DIS_IDLE_EXT_WRT RInternal. Only to be used through TI provided API. |
[20] DIS_STANDBY_EXT_WRT RInternal. Only to be used through TI provided API. |
[21..=22] STANDBY_PW_SEL_EXT_WRT RInternal. Only to be used through TI provided API. |
[23] STANDBY_MODE_SEL_EXT_WRT RInternal. Only to be used through TI provided API. |
[24..=26] VIN_AT_X_INT_WRT RInternal. Only to be used through TI provided API. |
[27] DIS_IDLE_INT_WRT RInternal. Only to be used through TI provided API. |
[28] DIS_STANDBY_INT_WRT RInternal. Only to be used through TI provided API. |
[29..=30] STANDBY_PW_SEL_INT_WRT RInternal. Only to be used through TI provided API. |
[31] STANDBY_MODE_SEL_INT_WRT RInternal. Only to be used through TI provided API. |
MISC_TRIM @0x30c = 0x5000130c
Miscellaneous Trim Parameters
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TEMPVSLOPE RSigned byte value representing the TEMP slope with battery voltage, in degrees C / V, with four fractional bits. |
RCOSC_HF_TEMPCOMP @0x310 = 0x50001310
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] CTRIMFRACT_SLOPE RInternal. Only to be used through TI provided API. |
[8..=15] CTRIMFRACT_QUAD RInternal. Only to be used through TI provided API. |
[16..=23] CTRIM RInternal. Only to be used through TI provided API. |
[24..=31] FINE_RESISTOR RInternal. Only to be used through TI provided API. |
TRIM_CAL_REVISION @0x314 = 0x50001314
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] MP1 RInternal. Only to be used through TI provided API. |
[16..=31] FT1 RInternal. Only to be used through TI provided API. |
ICEPICK_DEVICE_ID @0x318 = 0x50001318
IcePick Device Identification Reading this register and the USER_ID register is the only support way of identifying a device.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=11] MANUFACTURER_ID RManufacturer code. 0x02F: Texas Instruments |
[12..=27] WAFER_ID RField used to identify silicon die. |
[28..=31] PG_REV RField used to distinguish revisions of the device. |
FCFG1_REVISION @0x31c = 0x5000131c
Factory Configuration (FCFG1) Revision
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] REV RThe revision number of the FCFG1 layout. This value will be read by application SW in order to determine which FCFG1 parameters that have valid values. This revision number must be incremented by 1 before any devices are to be produced if the FCFG1 layout has changed since the previous production of devices. Value migth change without warning. |
MISC_OTP_DATA @0x320 = 0x50001320
Misc OTP Data
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TEST_PROGRAM_REV RThe revision of the test program used in the production process when FCFG1 was programmed. Value migth change without warning. |
[8..=11] PO_TAIL_RES_TRIM RInternal. Only to be used through TI provided API. |
[12..=14] PER_E RInternal. Only to be used through TI provided API. |
[15..=19] PER_M RInternal. Only to be used through TI provided API. |
[20..=27] RCOSC_HF_CRIM RInternal. Only to be used through TI provided API. |
[28..=31] RCOSC_HF_ITUNE RInternal. Only to be used through TI provided API. |
IOCONF @0x344 = 0x50001344
IO Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=6] GPIO_CNT RNumber of available DIOs. |
CONFIG_IF_ADC @0x34c = 0x5000134c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=4] IFANALDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[5..=9] IFDIGLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[10..=13] INT2ADJ RInternal. Only to be used through TI provided API. |
[14..=15] AAFCAP RInternal. Only to be used through TI provided API. |
[16..=19] FF1ADJ RInternal. Only to be used through TI provided API. |
[20..=23] INT3ADJ RInternal. Only to be used through TI provided API. |
[24..=27] FF3ADJ RInternal. Only to be used through TI provided API. |
[28..=31] FF2ADJ RInternal. Only to be used through TI provided API. |
CONFIG_OSC_TOP @0x350 = 0x50001350
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=1] RCOSCLF_RTUNE_TRIM RInternal. Only to be used through TI provided API. |
[2..=9] RCOSCLF_CTUNE_TRIM RInternal. Only to be used through TI provided API. |
[10..=25] XOSC_HF_COLUMN_Q12 RInternal. Only to be used through TI provided API. |
[26..=29] XOSC_HF_ROW_Q12 RInternal. Only to be used through TI provided API. |
CONFIG_RF_FRONTEND @0x354 = 0x50001354
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=6] RFLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[13] PATRIMCOMPLETE_N RInternal. Only to be used through TI provided API. |
[14..=18] CTL_PA0_TRIM RInternal. Only to be used through TI provided API. |
[19..=23] IFAMP_TRIM RInternal. Only to be used through TI provided API. |
[24..=27] LNA_IB RInternal. Only to be used through TI provided API. |
[28..=31] IFAMP_IB RInternal. Only to be used through TI provided API. |
CONFIG_SYNTH @0x358 = 0x50001358
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] SLDO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[6..=11] LDOVCO_TRIM_OUTPUT RInternal. Only to be used through TI provided API. |
[12..=27] RFC_MDM_DEMIQMC0 RInternal. Only to be used through TI provided API. |
SOC_ADC_ABS_GAIN @0x35c = 0x5000135c
AUX_ADC Gain in Absolute Reference Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] SOC_ADC_ABS_GAIN_TEMP1 RSOC_ADC gain in absolute reference mode at temperature 1 (30C). Calculated in production test.. |
SOC_ADC_REL_GAIN @0x360 = 0x50001360
AUX_ADC Gain in Relative Reference Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] SOC_ADC_REL_GAIN_TEMP1 RSOC_ADC gain in relative reference mode at temperature 1 (30C). Calculated in production test.. |
SOC_ADC_OFFSET_INT @0x368 = 0x50001368
AUX_ADC Temperature Offsets in Absolute Reference Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] SOC_ADC_ABS_OFFSET_TEMP1 RSOC_ADC offset in absolute reference mode at temperature 1 (30C). Signed 8-bit number. Calculated in production test.. |
[16..=23] SOC_ADC_REL_OFFSET_TEMP1 RSOC_ADC offset in relative reference mode at temperature 1 (30C). Signed 8-bit number. Calculated in production test.. |
SOC_ADC_REF_TRIM_AND_OFFSET_EXT @0x36c = 0x5000136c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] SOC_ADC_REF_VOLTAGE_TRIM_TEMP1 RInternal. Only to be used through TI provided API. |
AMPCOMP_TH1 @0x370 = 0x50001370
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] HPMRAMP1_TH RInternal. Only to be used through TI provided API. |
[6..=9] IBIASCAP_LPTOHP_OL_CNT RInternal. Only to be used through TI provided API. |
[10..=15] HPMRAMP3_HTH RInternal. Only to be used through TI provided API. |
[18..=23] HPMRAMP3_LTH RInternal. Only to be used through TI provided API. |
AMPCOMP_TH2 @0x374 = 0x50001374
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[2..=7] ADC_COMP_AMPTH_HPM RInternal. Only to be used through TI provided API. |
[10..=15] ADC_COMP_AMPTH_LPM RInternal. Only to be used through TI provided API. |
[18..=23] LPMUPDATE_HTM RInternal. Only to be used through TI provided API. |
[26..=31] LPMUPDATE_LTH RInternal. Only to be used through TI provided API. |
AMPCOMP_CTRL1 @0x378 = 0x50001378
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] IBIASCAP_HPTOLP_OL_CNT RInternal. Only to be used through TI provided API. |
[4..=7] CAP_STEP RInternal. Only to be used through TI provided API. |
[8..=15] LPM_IBIAS_WAIT_CNT_FINAL RInternal. Only to be used through TI provided API. |
[16..=19] IBIAS_INIT RInternal. Only to be used through TI provided API. |
[20..=23] IBIAS_OFFSET RInternal. Only to be used through TI provided API. |
[30] AMPCOMP_REQ_MODE RInternal. Only to be used through TI provided API. |
ANABYPASS_VALUE2 @0x37c = 0x5000137c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=13] XOSC_HF_IBIASTHERM RInternal. Only to be used through TI provided API. |
CONFIG_MISC_ADC @0x380 = 0x50001380
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] DACTRIM RInternal. Only to be used through TI provided API. |
[6..=8] QUANTCTLTHRES RInternal. Only to be used through TI provided API. |
[9..=16] RSSI_OFFSET RInternal. Only to be used through TI provided API. |
[17] RSSITRIMCOMPLETE_N RInternal. Only to be used through TI provided API. |
VOLT_TRIM @0x388 = 0x50001388
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=4] TRIMBOD_H RInternal. Only to be used through TI provided API. |
[8..=12] VDDR_TRIM_SLEEP_H RInternal. Only to be used through TI provided API. |
[16..=20] VDDR_TRIM_H RInternal. Only to be used through TI provided API. |
[24..=28] VDDR_TRIM_HH RInternal. Only to be used through TI provided API. |
OSC_CONF @0x38c = 0x5000138c
OSC Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] HPOSC_DIV3_BYPASS RInternal. Only to be used through TI provided API. |
[1..=2] HPOSC_SERIES_CAP RInternal. Only to be used through TI provided API. |
[5..=6] HPOSC_BIAS_RECHARGE_DELAY RInternal. Only to be used through TI provided API. |
[7] HPOSC_FILTER_EN RInternal. Only to be used through TI provided API. |
[8..=11] HPOSC_BIAS_RES_SET RInternal. Only to be used through TI provided API. |
[12..=15] HPOSC_CURRMIRR_RATIO RInternal. Only to be used through TI provided API. |
[16] HPOSC_BIAS_HOLD_MODE_EN RInternal. Only to be used through TI provided API. |
[17] HPOSC_OPTION RInternal. Only to be used through TI provided API. |
[18] XOSC_OPTION R0: XOSC_HF unavailable (may not be bonded out) 1: XOSC_HF available (default) |
[19..=20] XOSC_HF_FAST_START RTrim value for DDI_0_OSC:CTL1.XOSC_HF_FAST_START. |
[21..=24] XOSCLF_CMIRRWR_RATIO RTrim value for DDI_0_OSC:LFOSCCTL.XOSCLF_CMIRRWR_RATIO. |
[25..=26] XOSCLF_REGULATOR_TRIM RTrim value for DDI_0_OSC:LFOSCCTL.XOSCLF_REGULATOR_TRIM. |
[27] ATESTLF_RCOSCLF_IBIAS_TRIM RTrim value for DDI_0_OSC:ATESTCTL.ATESTLF_RCOSCLF_IBIAS_TRIM. |
[28] ADC_SH_MODE_EN RTrim value for DDI_0_OSC:ADCDOUBLERNANOAMPCTL.ADC_SH_MODE_EN. |
[29] ADC_SH_VBUF_EN RTrim value for DDI_0_OSC:ADCDOUBLERNANOAMPCTL.ADC_SH_VBUF_EN. |
FREQ_OFFSET @0x390 = 0x50001390
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] HPOSC_COMP_P2 RInternal. Only to be used through TI provided API. |
[8..=15] HPOSC_COMP_P1 RInternal. Only to be used through TI provided API. |
[16..=31] HPOSC_COMP_P0 RInternal. Only to be used through TI provided API. |
CAP_TRIM @0x394 = 0x50001394
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] FLUX_CAP_0P4_TRIM RInternal. Only to be used through TI provided API. |
[16..=31] FLUX_CAP_0P28_TRIM RInternal. Only to be used through TI provided API. |
MISC_OTP_DATA_1 @0x398 = 0x50001398
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] IDAC_STEP RInternal. Only to be used through TI provided API. |
[4..=9] LPM_IBIAS_WAIT_CNT RInternal. Only to be used through TI provided API. |
[10..=19] HPM_IBIAS_WAIT_CNT RInternal. Only to be used through TI provided API. |
[20..=21] DBLR_LOOP_FILTER_RESET_VOLTAGE RInternal. Only to be used through TI provided API. |
[22..=23] LP_BUF_ITRIM RInternal. Only to be used through TI provided API. |
[24..=26] HP_BUF_ITRIM RInternal. Only to be used through TI provided API. |
[27..=28] PEAK_DET_ITRIM RInternal. Only to be used through TI provided API. |
PWD_CURR_20C @0x39c = 0x5000139c
Power Down Current Control 20C
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] BASELINE RWorst-case baseline maximum powerdown current, in units of 0.5uA |
[8..=15] DELTA_XOSC_LPM RAdditional maximum current, in units of 1uA, with XOSC_HF on in low-power mode |
[16..=23] DELTA_RFMEM_RET RAdditional maximum current, in 1uA units, with RF memory retention |
[24..=31] DELTA_CACHE_REF RAdditional maximum current, in units of 1uA, with cache retention |
PWD_CURR_35C @0x3a0 = 0x500013a0
Power Down Current Control 35C
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] BASELINE RWorst-case baseline maximum powerdown current, in units of 0.5uA |
[8..=15] DELTA_XOSC_LPM RAdditional maximum current, in units of 1uA, with XOSC_HF on in low-power mode |
[16..=23] DELTA_RFMEM_RET RAdditional maximum current, in 1uA units, with RF memory retention |
[24..=31] DELTA_CACHE_REF RAdditional maximum current, in units of 1uA, with cache retention |
PWD_CURR_50C @0x3a4 = 0x500013a4
Power Down Current Control 50C
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] BASELINE RWorst-case baseline maximum powerdown current, in units of 0.5uA |
[8..=15] DELTA_XOSC_LPM RAdditional maximum current, in units of 1uA, with XOSC_HF on in low-power mode |
[16..=23] DELTA_RFMEM_RET RAdditional maximum current, in 1uA units, with RF memory retention |
[24..=31] DELTA_CACHE_REF RAdditional maximum current, in units of 1uA, with cache retention |
PWD_CURR_65C @0x3a8 = 0x500013a8
Power Down Current Control 65C
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] BASELINE RWorst-case baseline maximum powerdown current, in units of 0.5uA |
[8..=15] DELTA_XOSC_LPM RAdditional maximum current, in units of 1uA, with XOSC_HF on in low-power mode |
[16..=23] DELTA_RFMEM_RET RAdditional maximum current, in 1uA units, with RF memory retention |
[24..=31] DELTA_CACHE_REF RAdditional maximum current, in units of 1uA, with cache retention |
PWD_CURR_80C @0x3ac = 0x500013ac
Power Down Current Control 80C
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] BASELINE RWorst-case baseline maximum powerdown current, in units of 0.5uA |
[8..=15] DELTA_XOSC_LPM RAdditional maximum current, in units of 1uA, with XOSC_HF on in low-power mode |
[16..=23] DELTA_RFMEM_RET RAdditional maximum current, in 1uA units, with RF memory retention |
[24..=31] DELTA_CACHE_REF RAdditional maximum current, in units of 1uA, with cache retention |
PWD_CURR_95C @0x3b0 = 0x500013b0
Power Down Current Control 95C
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] BASELINE RWorst-case baseline maximum powerdown current, in units of 0.5uA |
[8..=15] DELTA_XOSC_LPM RAdditional maximum current, in units of 1uA, with XOSC_HF on in low-power mode |
[16..=23] DELTA_RFMEM_RET RAdditional maximum current, in 1uA units, with RF memory retention |
[24..=31] DELTA_CACHE_REF RAdditional maximum current, in units of 1uA, with cache retention |
PWD_CURR_110C @0x3b4 = 0x500013b4
Power Down Current Control 110C
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] BASELINE RWorst-case baseline maximum powerdown current, in units of 0.5uA |
[8..=15] DELTA_XOSC_LPM RAdditional maximum current, in units of 1uA, with XOSC_HF on in low-power mode |
[16..=23] DELTA_RFMEM_RET RAdditional maximum current, in 1uA units, with RF memory retention |
[24..=31] DELTA_CACHE_REF RAdditional maximum current, in units of 1uA, with cache retention |
PWD_CURR_125C @0x3b8 = 0x500013b8
Power Down Current Control 125C
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] BASELINE RWorst-case baseline maximum powerdown current, in units of 0.5uA |
[8..=15] DELTA_XOSC_LPM RAdditional maximum current, in units of 1uA, with XOSC_HF on in low-power mode |
[16..=23] DELTA_RFMEM_RET RAdditional maximum current, in 1uA units, with RF memory retention |
[24..=31] DELTA_CACHE_REF RAdditional maximum current, in units of 1uA, with cache retention |
FLASH at 0x40030000 with offset=0 and size=16384:
Flash sub-system registers, includes the Flash Memory Controller (FMC), flash read path, and an integrated Efuse controller and EFUSEROM.
Registers:
STAT @0x1c = 0x4003001c
FMC and Efuse Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] POWER_MODE RPower state of the flash sub-system. 0 : Active 1 : Low power |
[1] BUSY RFast version of the FMC FMSTAT.BUSY bit. This flag is valid immediately after the operation setting it (FMSTAT.BUSY is delayed some cycles) 0 : Not busy 1 : Busy |
[2] SAMHOLD_DIS RStatus indicator of flash sample and hold sequencing logic. This bit will go to 1 some delay after CFG.DIS_IDLE is set to 1. 0: Not disabled 1: Sample and hold disabled and stable |
[8..=12] EFUSE_ERRCODE RSame as EFUSEERROR.CODE |
[13] EFUSE_CRC_ERROR REfuse scanning resulted in scan chain CRC error. 0 : No CRC error 1 : CRC Error |
[14] EFUSE_TIMEOUT REfuse scanning resulted in timeout error. 0 : No Timeout error 1 : Timeout Error |
[15] EFUSE_BLANK REfuse scanning detected if fuse ROM is blank: 0 : Not blank 1 : Blank |
CFG @0x24 = 0x40030024
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIS_IDLE RWInternal. Only to be used through TI provided API. |
[1] DIS_STANDBY RWInternal. Only to be used through TI provided API. |
[3] ENABLE_SWINTF RWInternal. Only to be used through TI provided API. |
[4] DIS_READACCESS RWInternal. Only to be used through TI provided API. |
[5] DIS_EFUSECLK RWInternal. Only to be used through TI provided API. |
[6..=7] STANDBY_PW_SEL RWInternal. Only to be used through TI provided API. |
[8] STANDBY_MODE_SEL RWInternal. Only to be used through TI provided API. |
SYSCODE_START @0x28 = 0x40030028
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=4] SYSCODE_START RWInternal. Only to be used through TI provided API. |
FLASH_SIZE @0x2c = 0x4003002c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] SECTORS RWInternal. Only to be used through TI provided API. |
FWLOCK @0x3c = 0x4003003c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] FWLOCK RWInternal. Only to be used through TI provided API. |
FWFLAG @0x40 = 0x40030040
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] FWFLAG RWInternal. Only to be used through TI provided API. |
EFUSE @0x1000 = 0x40031000
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] DUMPWORD RWInternal. Only to be used through TI provided API. |
[24..=28] INSTRUCTION RWInternal. Only to be used through TI provided API. |
EFUSEADDR @0x1004 = 0x40031004
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=10] ROW RWInternal. Only to be used through TI provided API. |
[11..=15] BLOCK RWInternal. Only to be used through TI provided API. |
DATAUPPER @0x1008 = 0x40031008
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] EEN RWInternal. Only to be used through TI provided API. |
[1] R RWInternal. Only to be used through TI provided API. |
[2] P RWInternal. Only to be used through TI provided API. |
[3..=7] SPARE RWInternal. Only to be used through TI provided API. |
DATALOWER @0x100c = 0x4003100c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] DATA RWInternal. Only to be used through TI provided API. |
EFUSECFG @0x1010 = 0x40031010
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] GATING RWInternal. Only to be used through TI provided API. |
[3..=4] SLAVEPOWER RWInternal. Only to be used through TI provided API. |
[8] IDLEGATING RWInternal. Only to be used through TI provided API. |
EFUSESTAT @0x1014 = 0x40031014
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RESETDONE RInternal. Only to be used through TI provided API. |
ACC @0x1018 = 0x40031018
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] ACCUMULATOR RInternal. Only to be used through TI provided API. |
BOUNDARY @0x101c = 0x4003101c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] INPUTENABLE RWInternal. Only to be used through TI provided API. |
[4..=7] SYS_WS_READ_STATES RWInternal. Only to be used through TI provided API. |
[8..=9] SYS_REPAIR_EN RWInternal. Only to be used through TI provided API. |
[10] SYS_DIEID_AUTOLOAD_EN RWInternal. Only to be used through TI provided API. |
[11] EFC_FDI RWInternal. Only to be used through TI provided API. |
[12] SYS_ECC_OVERRIDE_EN RWInternal. Only to be used through TI provided API. |
[13] SYS_ECC_SELF_TEST_EN RWInternal. Only to be used through TI provided API. |
[14..=17] OUTPUTENABLE RWInternal. Only to be used through TI provided API. |
[18] EFC_AUTOLOAD_ERROR RWInternal. Only to be used through TI provided API. |
[19] EFC_INSTRUCTION_ERROR RWInternal. Only to be used through TI provided API. |
[20] EFC_INSTRUCTION_INFO RWInternal. Only to be used through TI provided API. |
[21] EFC_SELF_TEST_ERROR RWInternal. Only to be used through TI provided API. |
[22] SPARE RWInternal. Only to be used through TI provided API. |
[23] DISROW0 RWInternal. Only to be used through TI provided API. |
EFUSEFLAG @0x1020 = 0x40031020
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] KEY RInternal. Only to be used through TI provided API. |
EFUSEKEY @0x1024 = 0x40031024
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CODE RWInternal. Only to be used through TI provided API. |
EFUSERELEASE @0x1028 = 0x40031028
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=4] EFUSEDAY RInternal. Only to be used through TI provided API. |
[5..=8] EFUSEMONTH RInternal. Only to be used through TI provided API. |
[9..=15] EFUSEYEAR RInternal. Only to be used through TI provided API. |
[16..=20] ODPDAY RInternal. Only to be used through TI provided API. |
[21..=24] ODPMONTH RInternal. Only to be used through TI provided API. |
[25..=31] ODPYEAR RInternal. Only to be used through TI provided API. |
EFUSEPINS @0x102c = 0x4003102c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] SYS_WS_READ_STATES RInternal. Only to be used through TI provided API. |
[4..=5] SYS_REPAIR_EN RInternal. Only to be used through TI provided API. |
[6] SYS_DIEID_AUTOLOAD_EN RInternal. Only to be used through TI provided API. |
[7] EFC_FCLRZ RInternal. Only to be used through TI provided API. |
[8] EFC_READY RInternal. Only to be used through TI provided API. |
[9] SYS_ECC_OVERRIDE_EN RInternal. Only to be used through TI provided API. |
[10] EFC_AUTOLOAD_ERROR RInternal. Only to be used through TI provided API. |
[11] EFC_INSTRUCTION_ERROR RInternal. Only to be used through TI provided API. |
[12] EFC_INSTRUCTION_INFO RInternal. Only to be used through TI provided API. |
[13] SYS_ECC_SELF_TEST_EN RInternal. Only to be used through TI provided API. |
[14] EFC_SELF_TEST_ERROR RInternal. Only to be used through TI provided API. |
[15] EFC_SELF_TEST_DONE RInternal. Only to be used through TI provided API. |
EFUSECRA @0x1030 = 0x40031030
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] DATA RWInternal. Only to be used through TI provided API. |
EFUSEREAD @0x1034 = 0x40031034
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=1] MARGIN RWInternal. Only to be used through TI provided API. |
[2] SPARE RWInternal. Only to be used through TI provided API. |
[3] DEBUG RWInternal. Only to be used through TI provided API. |
[4..=7] READCLOCK RWInternal. Only to be used through TI provided API. |
[8..=9] DATABIT RWInternal. Only to be used through TI provided API. |
EFUSEPROGRAM @0x1038 = 0x40031038
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=8] WRITECLOCK RWInternal. Only to be used through TI provided API. |
[9..=12] ITERATIONS RWInternal. Only to be used through TI provided API. |
[13] VPPTOVDD RWInternal. Only to be used through TI provided API. |
[14..=29] CLOCKSTALL RWInternal. Only to be used through TI provided API. |
[30] COMPAREDISABLE RWInternal. Only to be used through TI provided API. |
EFUSEERROR @0x103c = 0x4003103c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=4] CODE RWInternal. Only to be used through TI provided API. |
[5] DONE RWInternal. Only to be used through TI provided API. |
SINGLEBIT @0x1040 = 0x40031040
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] FROM0 RInternal. Only to be used through TI provided API. |
[1..=31] FROMN RInternal. Only to be used through TI provided API. |
TWOBIT @0x1044 = 0x40031044
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] FROM0 RInternal. Only to be used through TI provided API. |
[1..=31] FROMN RInternal. Only to be used through TI provided API. |
SELFTESTCYC @0x1048 = 0x40031048
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CYCLES RWInternal. Only to be used through TI provided API. |
SELFTESTSIGN @0x104c = 0x4003104c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] SIGNATURE RWInternal. Only to be used through TI provided API. |
FRDCTL @0x2000 = 0x40032000
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] RM RInternal. Only to be used through TI provided API. |
[8..=11] RWAIT RWInternal. Only to be used through TI provided API. |
FSPRD @0x2004 = 0x40032004
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RM0 RWInternal. Only to be used through TI provided API. |
[1] RM1 RWInternal. Only to be used through TI provided API. |
[8..=15] RMBSEM RWInternal. Only to be used through TI provided API. |
[16..=31] DIS_PREEMPT RInternal. Only to be used through TI provided API. |
FEDACCTL1 @0x2008 = 0x40032008
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] EDACEN RInternal. Only to be used through TI provided API. |
[24] SUSP_IGNR RWInternal. Only to be used through TI provided API. |
FEDACCTL2 @0x200c = 0x4003200c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] SEC_THRESHOLD RInternal. Only to be used through TI provided API. |
FCOR_ERR_CNT @0x2010 = 0x40032010
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] COR_ERR_CNT RInternal. Only to be used through TI provided API. |
FCOR_ERR_ADD @0x2014 = 0x40032014
Internal. Only to be used through TI provided API.
FCOR_ERR_POS @0x2018 = 0x40032018
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] SERR_POS RInternal. Only to be used through TI provided API. |
FEDACSTAT @0x201c = 0x4003201c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] ERR_PRF_FLG RInternal. Only to be used through TI provided API. |
[24] FSM_DONE RWInternal. Only to be used through TI provided API. |
[25] RVF_INT RWInternal. Only to be used through TI provided API. |
FUNC_ERR_ADD @0x2020 = 0x40032020
Internal. Only to be used through TI provided API.
FEDACSDIS @0x2024 = 0x40032024
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] SECTORID0 RInternal. Only to be used through TI provided API. |
FPRIM_ADD_TAG @0x2028 = 0x40032028
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] PRIM_ADD_TAG RInternal. Only to be used through TI provided API. |
FREDU_ADD_TAG @0x202c = 0x4003202c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] REDU_ADD_TAG RInternal. Only to be used through TI provided API. |
FBPROT @0x2030 = 0x40032030
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] PROTL1DIS RWInternal. Only to be used through TI provided API. |
FBSE @0x2034 = 0x40032034
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] BSE RWInternal. Only to be used through TI provided API. |
FBBUSY @0x2038 = 0x40032038
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] BUSY RInternal. Only to be used through TI provided API. |
FBAC @0x203c = 0x4003203c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] VREADS RWInternal. Only to be used through TI provided API. |
[8..=15] BAGP RWInternal. Only to be used through TI provided API. |
[16] OTPPROTDIS RWInternal. Only to be used through TI provided API. |
FBFALLBACK @0x2040 = 0x40032040
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=1] BANKPWR0 RWInternal. Only to be used through TI provided API. |
[2..=3] BANKPWR1 RWInternal. Only to be used through TI provided API. |
[4..=5] BANKPWR2 RWInternal. Only to be used through TI provided API. |
[6..=7] BANKPWR3 RWInternal. Only to be used through TI provided API. |
[8..=9] BANKPWR4 RWInternal. Only to be used through TI provided API. |
[10..=11] BANKPWR5 RWInternal. Only to be used through TI provided API. |
[12..=13] BANKPWR6 RWInternal. Only to be used through TI provided API. |
[14..=15] BANKPWR7 RWInternal. Only to be used through TI provided API. |
[16..=19] REG_PWRSAV RWInternal. Only to be used through TI provided API. |
[24..=27] FSM_PWRSAV RWInternal. Only to be used through TI provided API. |
FBPRDY @0x2044 = 0x40032044
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] BANKRDY RInternal. Only to be used through TI provided API. |
[15] PUMPRDY RInternal. Only to be used through TI provided API. |
[16] BANKBUSY RInternal. Only to be used through TI provided API. |
FPAC1 @0x2048 = 0x40032048
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=1] PUMPPWR RWInternal. Only to be used through TI provided API. |
[4..=15] PUMPRESET_PW RWInternal. Only to be used through TI provided API. |
[16..=27] PSLEEPTDIS RWInternal. Only to be used through TI provided API. |
FPAC2 @0x204c = 0x4003204c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] PAGP RWInternal. Only to be used through TI provided API. |
FMAC @0x2050 = 0x40032050
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] BANK RWInternal. Only to be used through TI provided API. |
FMSTAT @0x2054 = 0x40032054
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SLOCK RInternal. Only to be used through TI provided API. |
[1] PSUSP RInternal. Only to be used through TI provided API. |
[2] ESUSP RInternal. Only to be used through TI provided API. |
[3] VOLSTAT RInternal. Only to be used through TI provided API. |
[4] CSTAT RInternal. Only to be used through TI provided API. |
[5] INVDAT RInternal. Only to be used through TI provided API. |
[6] PGM RInternal. Only to be used through TI provided API. |
[7] ERS RInternal. Only to be used through TI provided API. |
[8] BUSY RInternal. Only to be used through TI provided API. |
[9] CV RInternal. Only to be used through TI provided API. |
[10] EV RInternal. Only to be used through TI provided API. |
[11] PCV RInternal. Only to be used through TI provided API. |
[12] PGV RInternal. Only to be used through TI provided API. |
[13] DBF RInternal. Only to be used through TI provided API. |
[14] ILA RInternal. Only to be used through TI provided API. |
[15] RVF RInternal. Only to be used through TI provided API. |
[16] RDVER RInternal. Only to be used through TI provided API. |
[17] RVSUSP RInternal. Only to be used through TI provided API. |
FEMU_DMSW @0x2058 = 0x40032058
Internal. Only to be used through TI provided API.
FEMU_DLSW @0x205c = 0x4003205c
Internal. Only to be used through TI provided API.
FEMU_ECC @0x2060 = 0x40032060
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] EMU_ECC RWInternal. Only to be used through TI provided API. |
FLOCK @0x2064 = 0x40032064
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] ENCOM RWInternal. Only to be used through TI provided API. |
FEMU_ADDR @0x2068 = 0x40032068
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] EMU_ADDR RWInternal. Only to be used through TI provided API. |
FDIAGCTL @0x206c = 0x4003206c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] DIAGMODE RWInternal. Only to be used through TI provided API. |
FRAW_DATAH @0x2070 = 0x40032070
Internal. Only to be used through TI provided API.
FRAW_DATAL @0x2074 = 0x40032074
Internal. Only to be used through TI provided API.
FRAW_ECC @0x2078 = 0x40032078
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] RAW_ECC RWInternal. Only to be used through TI provided API. |
FPAR_OVR @0x207c = 0x4003207c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] DAT_INV_PAR RWInternal. Only to be used through TI provided API. |
FVREADCT @0x2080 = 0x40032080
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] VREADCT RWInternal. Only to be used through TI provided API. |
FVHVCT1 @0x2084 = 0x40032084
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] VHVCT_PV RWInternal. Only to be used through TI provided API. |
[4..=7] TRIM13_PV RWInternal. Only to be used through TI provided API. |
[16..=19] VHVCT_E RWInternal. Only to be used through TI provided API. |
[20..=23] TRIM13_E RWInternal. Only to be used through TI provided API. |
FVHVCT2 @0x2088 = 0x40032088
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[16..=19] VHVCT_P RWInternal. Only to be used through TI provided API. |
[20..=23] TRIM13_P RWInternal. Only to be used through TI provided API. |
FVHVCT3 @0x208c = 0x4003208c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] VHVCT_READ RWInternal. Only to be used through TI provided API. |
[16..=19] WCT RWInternal. Only to be used through TI provided API. |
FVNVCT @0x2090 = 0x40032090
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=4] VIN_CT RWInternal. Only to be used through TI provided API. |
[8..=12] VCG2P5CT RWInternal. Only to be used through TI provided API. |
FVSLP @0x2094 = 0x40032094
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[12..=15] VSL_P RWInternal. Only to be used through TI provided API. |
FVWLCT @0x2098 = 0x40032098
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=4] VWLCT_P RWInternal. Only to be used through TI provided API. |
FEFUSECTL @0x209c = 0x4003209c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] EFUSE_EN RWInternal. Only to be used through TI provided API. |
[4] EF_TEST RWInternal. Only to be used through TI provided API. |
[8] EF_CLRZ RWInternal. Only to be used through TI provided API. |
[16] BP_SEL RWInternal. Only to be used through TI provided API. |
[17] WRITE_EN RWInternal. Only to be used through TI provided API. |
[24..=26] CHAIN_SEL RWInternal. Only to be used through TI provided API. |
FEFUSESTAT @0x20a0 = 0x400320a0
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SHIFT_DONE RWInternal. Only to be used through TI provided API. |
FEFUSEDATA @0x20a4 = 0x400320a4
Internal. Only to be used through TI provided API.
FSEQPMP @0x20a8 = 0x400320a8
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] SEQ_PUMP RWInternal. Only to be used through TI provided API. |
[8] VIN_BY_PASS RWInternal. Only to be used through TI provided API. |
[12..=14] VIN_AT_X RWInternal. Only to be used through TI provided API. |
[16..=19] TRIM_0P8 RWInternal. Only to be used through TI provided API. |
[20..=21] TRIM_1P7 RWInternal. Only to be used through TI provided API. |
[24..=27] TRIM_3P4 RWInternal. Only to be used through TI provided API. |
FCLKTRIM @0x20ac = 0x400320ac
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] TRIM_EN RWInternal. Only to be used through TI provided API. |
ROM_TEST @0x20b0 = 0x400320b0
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ROM_KEY RWInternal. Only to be used through TI provided API. |
FEDACSDIS2 @0x20c0 = 0x400320c0
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] SECTORID2 RWInternal. Only to be used through TI provided API. |
FBSTROBES @0x2100 = 0x40032100
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[2] TEZ RWInternal. Only to be used through TI provided API. |
[3] OTP RWInternal. Only to be used through TI provided API. |
[4] TI_OTP RWInternal. Only to be used through TI provided API. |
[5] PRECOL RWInternal. Only to be used through TI provided API. |
[6] NOCOLRED RWInternal. Only to be used through TI provided API. |
[8] CTRLENZ RWInternal. Only to be used through TI provided API. |
[16] FLCLKEN RWInternal. Only to be used through TI provided API. |
[17] RWAIT_FLCLK RWInternal. Only to be used through TI provided API. |
[18] RWAIT2_FLCLK RWInternal. Only to be used through TI provided API. |
[24] ECBIT RWInternal. Only to be used through TI provided API. |
FPSTROBES @0x2104 = 0x40032104
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] V5PWRDNZ RWInternal. Only to be used through TI provided API. |
[1] V3PWRDNZ RWInternal. Only to be used through TI provided API. |
[8] EXECUTEZ RWInternal. Only to be used through TI provided API. |
FBMODE @0x2108 = 0x40032108
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] MODE RWInternal. Only to be used through TI provided API. |
FTCR @0x210c = 0x4003210c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=6] TCR RWInternal. Only to be used through TI provided API. |
FADDR @0x2110 = 0x40032110
Internal. Only to be used through TI provided API.
FPMTCTL @0x2114 = 0x40032114
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] ADDR_INCR RInternal. Only to be used through TI provided API. |
PBISTCTL @0x2118 = 0x40032118
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] PBIST_KEY RInternal. Only to be used through TI provided API. |
FTCTL @0x211c = 0x4003211c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[1] TEST_EN RWInternal. Only to be used through TI provided API. |
[16] WDATA_BLK_CLR RWInternal. Only to be used through TI provided API. |
FWPWRITE0 @0x2120 = 0x40032120
Internal. Only to be used through TI provided API.
FWPWRITE1 @0x2124 = 0x40032124
Internal. Only to be used through TI provided API.
FWPWRITE2 @0x2128 = 0x40032128
Internal. Only to be used through TI provided API.
FWPWRITE3 @0x212c = 0x4003212c
Internal. Only to be used through TI provided API.
FWPWRITE4 @0x2130 = 0x40032130
Internal. Only to be used through TI provided API.
FWPWRITE5 @0x2134 = 0x40032134
Internal. Only to be used through TI provided API.
FWPWRITE6 @0x2138 = 0x40032138
Internal. Only to be used through TI provided API.
FWPWRITE7 @0x213c = 0x4003213c
Internal. Only to be used through TI provided API.
FWPWRITE_ECC @0x2140 = 0x40032140
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] ECCBYTES31_24 RWInternal. Only to be used through TI provided API. |
[8..=15] ECCBYTES23_16 RWInternal. Only to be used through TI provided API. |
[16..=23] ECCBYTES15_08 RWInternal. Only to be used through TI provided API. |
[24..=31] ECCBYTES07_00 RWInternal. Only to be used through TI provided API. |
FSWSTAT @0x2144 = 0x40032144
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SAFELV RInternal. Only to be used through TI provided API. |
FSM_GLBCTL @0x2200 = 0x40032200
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLKSEL RInternal. Only to be used through TI provided API. |
FSM_STATE @0x2204 = 0x40032204
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[6] OTP_ACT RInternal. Only to be used through TI provided API. |
[7] TIOTP_ACT RInternal. Only to be used through TI provided API. |
[8] FSM_ACT RInternal. Only to be used through TI provided API. |
[10] EXECUTEZ RInternal. Only to be used through TI provided API. |
[11] CTRLENZ RInternal. Only to be used through TI provided API. |
FSM_STAT @0x2208 = 0x40032208
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] INV_DAT RInternal. Only to be used through TI provided API. |
[1] OVR_PUL_CNT RInternal. Only to be used through TI provided API. |
[2] NON_OP RInternal. Only to be used through TI provided API. |
FSM_CMD @0x220c = 0x4003220c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] FSMCMD RWInternal. Only to be used through TI provided API. |
FSM_PE_OSU @0x2210 = 0x40032210
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] ERA_OSU RWInternal. Only to be used through TI provided API. |
[8..=15] PGM_OSU RWInternal. Only to be used through TI provided API. |
FSM_VSTAT @0x2214 = 0x40032214
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[12..=15] VSTAT_CNT RWInternal. Only to be used through TI provided API. |
FSM_PE_VSU @0x2218 = 0x40032218
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] ERA_VSU RWInternal. Only to be used through TI provided API. |
[8..=15] PGM_VSU RWInternal. Only to be used through TI provided API. |
FSM_CMP_VSU @0x221c = 0x4003221c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[12..=15] ADD_EXZ RWInternal. Only to be used through TI provided API. |
FSM_EX_VAL @0x2220 = 0x40032220
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] EXE_VALD RWInternal. Only to be used through TI provided API. |
[8..=15] REP_VSU RWInternal. Only to be used through TI provided API. |
FSM_RD_H @0x2224 = 0x40032224
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] RD_H RWInternal. Only to be used through TI provided API. |
FSM_P_OH @0x2228 = 0x40032228
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[8..=15] PGM_OH RWInternal. Only to be used through TI provided API. |
FSM_ERA_OH @0x222c = 0x4003222c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] ERA_OH RWInternal. Only to be used through TI provided API. |
FSM_SAV_PPUL @0x2230 = 0x40032230
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=11] SAV_P_PUL RInternal. Only to be used through TI provided API. |
FSM_PE_VH @0x2234 = 0x40032234
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] ERA_VH RInternal. Only to be used through TI provided API. |
[8..=15] PGM_VH RWInternal. Only to be used through TI provided API. |
FSM_PRG_PW @0x2240 = 0x40032240
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] PROG_PUL_WIDTH RWInternal. Only to be used through TI provided API. |
FSM_ERA_PW @0x2244 = 0x40032244
Internal. Only to be used through TI provided API.
FSM_SAV_ERA_PUL @0x2254 = 0x40032254
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=11] SAV_ERA_PUL RInternal. Only to be used through TI provided API. |
FSM_TIMER @0x2258 = 0x40032258
Internal. Only to be used through TI provided API.
FSM_MODE @0x225c = 0x4003225c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] CMD RInternal. Only to be used through TI provided API. |
[3..=5] MODE RInternal. Only to be used through TI provided API. |
[6..=8] SAV_ERA_MODE RInternal. Only to be used through TI provided API. |
[9..=11] SAV_PGM_CMD RInternal. Only to be used through TI provided API. |
[12..=13] SUBMODE RInternal. Only to be used through TI provided API. |
[14..=15] ERA_SUBMODE RInternal. Only to be used through TI provided API. |
[16..=17] PGM_SUBMODE RInternal. Only to be used through TI provided API. |
[18..=19] RDV_SUBMODE RInternal. Only to be used through TI provided API. |
FSM_PGM @0x2260 = 0x40032260
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=22] PGM_ADDR RInternal. Only to be used through TI provided API. |
[23..=25] PGM_BANK RInternal. Only to be used through TI provided API. |
FSM_ERA @0x2264 = 0x40032264
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=22] ERA_ADDR RInternal. Only to be used through TI provided API. |
[23..=25] ERA_BANK RInternal. Only to be used through TI provided API. |
FSM_PRG_PUL @0x2268 = 0x40032268
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=11] MAX_PRG_PUL RWInternal. Only to be used through TI provided API. |
[16..=19] BEG_EC_LEVEL RWInternal. Only to be used through TI provided API. |
FSM_ERA_PUL @0x226c = 0x4003226c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=11] MAX_ERA_PUL RWInternal. Only to be used through TI provided API. |
[16..=19] MAX_EC_LEVEL RWInternal. Only to be used through TI provided API. |
FSM_STEP_SIZE @0x2270 = 0x40032270
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[16..=24] EC_STEP_SIZE RWInternal. Only to be used through TI provided API. |
FSM_PUL_CNTR @0x2274 = 0x40032274
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=11] PUL_CNTR RInternal. Only to be used through TI provided API. |
[16..=24] CUR_EC_LEVEL RInternal. Only to be used through TI provided API. |
FSM_EC_STEP_HEIGHT @0x2278 = 0x40032278
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] EC_STEP_HEIGHT RWInternal. Only to be used through TI provided API. |
FSM_ST_MACHINE @0x227c = 0x4003227c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] OVERRIDE RWInternal. Only to be used through TI provided API. |
[1] INV_DATA RWInternal. Only to be used through TI provided API. |
[2] CMD_EN RWInternal. Only to be used through TI provided API. |
[3] DIS_TST_EN RWInternal. Only to be used through TI provided API. |
[4] PREC_STOP_EN RWInternal. Only to be used through TI provided API. |
[5] PGM_SEC_COF_EN RWInternal. Only to be used through TI provided API. |
[7..=10] DBG_SHORT_ROW RWInternal. Only to be used through TI provided API. |
[11] DO_REDU_COL RWInternal. Only to be used through TI provided API. |
[14] ONE_TIME_GOOD RWInternal. Only to be used through TI provided API. |
[16] RV_INT_EN RWInternal. Only to be used through TI provided API. |
[17] RV_RES RWInternal. Only to be used through TI provided API. |
[18] RV_SEC_EN RWInternal. Only to be used through TI provided API. |
[19] RANDOM RWInternal. Only to be used through TI provided API. |
[20] CMPV_ALLOWED RWInternal. Only to be used through TI provided API. |
[21] ALL_BANKS RWInternal. Only to be used through TI provided API. |
[22] FSM_INT_EN RWInternal. Only to be used through TI provided API. |
[23] DO_PRECOND RWInternal. Only to be used through TI provided API. |
FSM_FLES @0x2280 = 0x40032280
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] BLK_OTP RWInternal. Only to be used through TI provided API. |
[8..=11] BLK_TIOTP RWInternal. Only to be used through TI provided API. |
FSM_WR_ENA @0x2288 = 0x40032288
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=2] WR_ENA RWInternal. Only to be used through TI provided API. |
FSM_ACC_PP @0x228c = 0x4003228c
Internal. Only to be used through TI provided API.
FSM_ACC_EP @0x2290 = 0x40032290
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] ACC_EP RInternal. Only to be used through TI provided API. |
FSM_ADDR @0x22a0 = 0x400322a0
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=27] CUR_ADDR RInternal. Only to be used through TI provided API. |
[28..=30] BANK RInternal. Only to be used through TI provided API. |
FSM_SECTOR @0x22a4 = 0x400322a4
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] SEC_OUT RInternal. Only to be used through TI provided API. |
[4..=7] SECTOR RInternal. Only to be used through TI provided API. |
[8..=15] FSM_SECTOR_EXTENSION RInternal. Only to be used through TI provided API. |
[16..=31] SECT_ERASED RWInternal. Only to be used through TI provided API. |
FMC_REV_ID @0x22a8 = 0x400322a8
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=11] CONFIG_CRC RInternal. Only to be used through TI provided API. |
[12..=31] MOD_VERSION RInternal. Only to be used through TI provided API. |
FSM_ERR_ADDR @0x22ac = 0x400322ac
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] FSM_ERR_BANK RInternal. Only to be used through TI provided API. |
[8..=31] FSM_ERR_ADDR RInternal. Only to be used through TI provided API. |
FSM_PGM_MAXPUL @0x22b0 = 0x400322b0
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=11] FSM_PGM_MAXPUL RInternal. Only to be used through TI provided API. |
FSM_EXECUTE @0x22b4 = 0x400322b4
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=4] FSMEXECUTE RWInternal. Only to be used through TI provided API. |
[16..=19] SUSPEND_NOW RWInternal. Only to be used through TI provided API. |
EEPROM_CFG @0x22b8 = 0x400322b8
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] AUTOSTART_GRACE RWInternal. Only to be used through TI provided API. |
FSM_SECTOR1 @0x22c0 = 0x400322c0
Internal. Only to be used through TI provided API.
FSM_SECTOR2 @0x22c4 = 0x400322c4
Internal. Only to be used through TI provided API.
FSM_BSLE0 @0x22e0 = 0x400322e0
Internal. Only to be used through TI provided API.
FSM_BSLE1 @0x22e4 = 0x400322e4
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] FSM_BSL1 RWInternal. Only to be used through TI provided API. |
FSM_BSLP0 @0x22f0 = 0x400322f0
Internal. Only to be used through TI provided API.
FSM_BSLP1 @0x22f4 = 0x400322f4
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] FSM_BSL1 RWInternal. Only to be used through TI provided API. |
FCFG_BANK @0x2400 = 0x40032400
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] MAIN_NUM_BANK RInternal. Only to be used through TI provided API. |
[4..=15] MAIN_BANK_WIDTH RInternal. Only to be used through TI provided API. |
[16..=19] EE_NUM_BANK RInternal. Only to be used through TI provided API. |
[20..=31] EE_BANK_WIDTH RInternal. Only to be used through TI provided API. |
FCFG_WRAPPER @0x2404 = 0x40032404
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] CPU_TYPE1 RInternal. Only to be used through TI provided API. |
[4..=5] UERR RInternal. Only to be used through TI provided API. |
[6..=7] AUTO_SUSP RInternal. Only to be used through TI provided API. |
[8] ECCA RInternal. Only to be used through TI provided API. |
[9] SIL3 RInternal. Only to be used through TI provided API. |
[10] IFLUSH RInternal. Only to be used through TI provided API. |
[11] ROM RInternal. Only to be used through TI provided API. |
[12..=15] EE_IN_MAIN RInternal. Only to be used through TI provided API. |
[16..=19] CPU2 RInternal. Only to be used through TI provided API. |
[20] MEM_MAP RInternal. Only to be used through TI provided API. |
[24..=31] FAMILY_TYPE RInternal. Only to be used through TI provided API. |
FCFG_BNK_TYPE @0x2408 = 0x40032408
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] B0_TYPE RInternal. Only to be used through TI provided API. |
[4..=7] B1_TYPE RInternal. Only to be used through TI provided API. |
[8..=11] B2_TYPE RInternal. Only to be used through TI provided API. |
[12..=15] B3_TYPE RInternal. Only to be used through TI provided API. |
[16..=19] B4_TYPE RInternal. Only to be used through TI provided API. |
[20..=23] B5_TYPE RInternal. Only to be used through TI provided API. |
[24..=27] B6_TYPE RInternal. Only to be used through TI provided API. |
[28..=31] B7_TYPE RInternal. Only to be used through TI provided API. |
FCFG_B0_START @0x2410 = 0x40032410
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] B0_START_ADDR RInternal. Only to be used through TI provided API. |
[24..=27] B0_MUX_FACTOR RInternal. Only to be used through TI provided API. |
[28..=31] B0_MAX_SECTOR RInternal. Only to be used through TI provided API. |
FCFG_B1_START @0x2414 = 0x40032414
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] B1_START_ADDR RInternal. Only to be used through TI provided API. |
[24..=27] B1_MUX_FACTOR RInternal. Only to be used through TI provided API. |
[28..=31] B1_MAX_SECTOR RInternal. Only to be used through TI provided API. |
FCFG_B2_START @0x2418 = 0x40032418
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] B2_START_ADDR RInternal. Only to be used through TI provided API. |
[24..=27] B2_MUX_FACTOR RInternal. Only to be used through TI provided API. |
[28..=31] B2_MAX_SECTOR RInternal. Only to be used through TI provided API. |
FCFG_B3_START @0x241c = 0x4003241c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] B3_START_ADDR RInternal. Only to be used through TI provided API. |
[24..=27] B3_MUX_FACTOR RInternal. Only to be used through TI provided API. |
[28..=31] B3_MAX_SECTOR RInternal. Only to be used through TI provided API. |
FCFG_B4_START @0x2420 = 0x40032420
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] B4_START_ADDR RInternal. Only to be used through TI provided API. |
[24..=27] B4_MUX_FACTOR RInternal. Only to be used through TI provided API. |
[28..=31] B4_MAX_SECTOR RInternal. Only to be used through TI provided API. |
FCFG_B5_START @0x2424 = 0x40032424
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] B5_START_ADDR RInternal. Only to be used through TI provided API. |
[24..=27] B5_MUX_FACTOR RInternal. Only to be used through TI provided API. |
[28..=31] B5_MAX_SECTOR RInternal. Only to be used through TI provided API. |
FCFG_B6_START @0x2428 = 0x40032428
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] B6_START_ADDR RInternal. Only to be used through TI provided API. |
[24..=27] B6_MUX_FACTOR RInternal. Only to be used through TI provided API. |
[28..=31] B6_MAX_SECTOR RInternal. Only to be used through TI provided API. |
FCFG_B7_START @0x242c = 0x4003242c
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] B7_START_ADDR RInternal. Only to be used through TI provided API. |
[24..=27] B7_MUX_FACTOR RInternal. Only to be used through TI provided API. |
[28..=31] B7_MAX_SECTOR RInternal. Only to be used through TI provided API. |
FCFG_B0_SSIZE0 @0x2430 = 0x40032430
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=3] B0_SECT_SIZE RInternal. Only to be used through TI provided API. |
[16..=27] B0_NUM_SECTORS RInternal. Only to be used through TI provided API. |
FCFG_B0_SSIZE1 @0x2434 = 0x40032434
Internal. Only to be used through TI provided API.
FCFG_B0_SSIZE2 @0x2438 = 0x40032438
Internal. Only to be used through TI provided API.
FCFG_B0_SSIZE3 @0x243c = 0x4003243c
Internal. Only to be used through TI provided API.
FCFG_B1_SSIZE0 @0x2440 = 0x40032440
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] B1_SECT_SIZE RInternal. Only to be used through TI provided API. |
FCFG_B1_SSIZE1 @0x2444 = 0x40032444
Internal. Only to be used through TI provided API.
FCFG_B1_SSIZE2 @0x2448 = 0x40032448
Internal. Only to be used through TI provided API.
FCFG_B1_SSIZE3 @0x244c = 0x4003244c
Internal. Only to be used through TI provided API.
FCFG_B2_SSIZE0 @0x2450 = 0x40032450
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] B2_SECT_SIZE RInternal. Only to be used through TI provided API. |
FCFG_B2_SSIZE1 @0x2454 = 0x40032454
Internal. Only to be used through TI provided API.
FCFG_B2_SSIZE2 @0x2458 = 0x40032458
Internal. Only to be used through TI provided API.
FCFG_B2_SSIZE3 @0x245c = 0x4003245c
Internal. Only to be used through TI provided API.
FCFG_B3_SSIZE0 @0x2460 = 0x40032460
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] B3_SECT_SIZE RInternal. Only to be used through TI provided API. |
FCFG_B3_SSIZE1 @0x2464 = 0x40032464
Internal. Only to be used through TI provided API.
FCFG_B3_SSIZE2 @0x2468 = 0x40032468
Internal. Only to be used through TI provided API.
FCFG_B3_SSIZE3 @0x246c = 0x4003246c
Internal. Only to be used through TI provided API.
FCFG_B4_SSIZE0 @0x2470 = 0x40032470
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] B4_SECT_SIZE RInternal. Only to be used through TI provided API. |
FCFG_B4_SSIZE1 @0x2474 = 0x40032474
Internal. Only to be used through TI provided API.
FCFG_B4_SSIZE2 @0x2478 = 0x40032478
Internal. Only to be used through TI provided API.
FCFG_B4_SSIZE3 @0x247c = 0x4003247c
Internal. Only to be used through TI provided API.
FCFG_B5_SSIZE0 @0x2480 = 0x40032480
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] B5_SECT_SIZE RInternal. Only to be used through TI provided API. |
FCFG_B5_SSIZE1 @0x2484 = 0x40032484
Internal. Only to be used through TI provided API.
FCFG_B5_SSIZE2 @0x2488 = 0x40032488
Internal. Only to be used through TI provided API.
FCFG_B5_SSIZE3 @0x248c = 0x4003248c
Internal. Only to be used through TI provided API.
FCFG_B6_SSIZE0 @0x2490 = 0x40032490
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] B6_SECT_SIZE RInternal. Only to be used through TI provided API. |
FCFG_B6_SSIZE1 @0x2494 = 0x40032494
Internal. Only to be used through TI provided API.
FCFG_B6_SSIZE2 @0x2498 = 0x40032498
Internal. Only to be used through TI provided API.
FCFG_B6_SSIZE3 @0x249c = 0x4003249c
Internal. Only to be used through TI provided API.
FCFG_B7_SSIZE0 @0x24a0 = 0x400324a0
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] B7_SECT_SIZE RInternal. Only to be used through TI provided API. |
FCFG_B7_SSIZE1 @0x24a4 = 0x400324a4
Internal. Only to be used through TI provided API.
FCFG_B7_SSIZE2 @0x24a8 = 0x400324a8
Internal. Only to be used through TI provided API.
FCFG_B7_SSIZE3 @0x24ac = 0x400324ac
Internal. Only to be used through TI provided API.
GPIO at 0x40022000 with offset=0 and size=1024:
MCU GPIO - I/F for controlling and reading IO status and IO event status
Registers:
DOUT3_0 @0x0 = 0x40022000
Data Out 0 to 3 Alias register for byte access to each bit in DOUT31_0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO0 WSets the state of the pin that is configured as DIO#0, if the corresponding DOE31_0 bitfield is set. |
[8] DIO1 WSets the state of the pin that is configured as DIO#1, if the corresponding DOE31_0 bitfield is set. |
[16] DIO2 WSets the state of the pin that is configured as DIO#2, if the corresponding DOE31_0 bitfield is set. |
[24] DIO3 WSets the state of the pin that is configured as DIO#3, if the corresponding DOE31_0 bitfield is set. |
DOUT7_4 @0x4 = 0x40022004
Data Out 4 to 7 Alias register for byte access to each bit in DOUT31_0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO4 WSets the state of the pin that is configured as DIO#4, if the corresponding DOE31_0 bitfield is set. |
[8] DIO5 WSets the state of the pin that is configured as DIO#5, if the corresponding DOE31_0 bitfield is set. |
[16] DIO6 WSets the state of the pin that is configured as DIO#6, if the corresponding DOE31_0 bitfield is set. |
[24] DIO7 WSets the state of the pin that is configured as DIO#7, if the corresponding DOE31_0 bitfield is set. |
DOUT11_8 @0x8 = 0x40022008
Data Out 8 to 11 Alias register for byte access to each bit in DOUT31_0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO8 WSets the state of the pin that is configured as DIO#8, if the corresponding DOE31_0 bitfield is set. |
[8] DIO9 WSets the state of the pin that is configured as DIO#9, if the corresponding DOE31_0 bitfield is set. |
[16] DIO10 WSets the state of the pin that is configured as DIO#10, if the corresponding DOE31_0 bitfield is set. |
[24] DIO11 WSets the state of the pin that is configured as DIO#11, if the corresponding DOE31_0 bitfield is set. |
DOUT15_12 @0xc = 0x4002200c
Data Out 12 to 15 Alias register for byte access to each bit in DOUT31_0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO12 WSets the state of the pin that is configured as DIO#12, if the corresponding DOE31_0 bitfield is set. |
[8] DIO13 WSets the state of the pin that is configured as DIO#13, if the corresponding DOE31_0 bitfield is set. |
[16] DIO14 WSets the state of the pin that is configured as DIO#14, if the corresponding DOE31_0 bitfield is set. |
[24] DIO15 WSets the state of the pin that is configured as DIO#15, if the corresponding DOE31_0 bitfield is set. |
DOUT19_16 @0x10 = 0x40022010
Data Out 16 to 19 Alias register for byte access to each bit in DOUT31_0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO16 WSets the state of the pin that is configured as DIO#16, if the corresponding DOE31_0 bitfield is set. |
[8] DIO17 WSets the state of the pin that is configured as DIO#17, if the corresponding DOE31_0 bitfield is set. |
[16] DIO18 WSets the state of the pin that is configured as DIO#18, if the corresponding DOE31_0 bitfield is set. |
[24] DIO19 WSets the state of the pin that is configured as DIO#19, if the corresponding DOE31_0 bitfield is set. |
DOUT23_20 @0x14 = 0x40022014
Data Out 20 to 23 Alias register for byte access to each bit in DOUT31_0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO20 WSets the state of the pin that is configured as DIO#20, if the corresponding DOE31_0 bitfield is set. |
[8] DIO21 WSets the state of the pin that is configured as DIO#21, if the corresponding DOE31_0 bitfield is set. |
[16] DIO22 WSets the state of the pin that is configured as DIO#22, if the corresponding DOE31_0 bitfield is set. |
[24] DIO23 WSets the state of the pin that is configured as DIO#23, if the corresponding DOE31_0 bitfield is set. |
DOUT27_24 @0x18 = 0x40022018
Data Out 24 to 27 Alias register for byte access to each bit in DOUT31_0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO24 WSets the state of the pin that is configured as DIO#24, if the corresponding DOE31_0 bitfield is set. |
[8] DIO25 WSets the state of the pin that is configured as DIO#25, if the corresponding DOE31_0 bitfield is set. |
[16] DIO26 WSets the state of the pin that is configured as DIO#26, if the corresponding DOE31_0 bitfield is set. |
[24] DIO27 WSets the state of the pin that is configured as DIO#27, if the corresponding DOE31_0 bitfield is set. |
DOUT31_28 @0x1c = 0x4002201c
Data Out 28 to 31 Alias register for byte access to each bit in DOUT31_0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO28 WSets the state of the pin that is configured as DIO#28, if the corresponding DOE31_0 bitfield is set. |
[8] DIO29 WSets the state of the pin that is configured as DIO#29, if the corresponding DOE31_0 bitfield is set. |
[16] DIO30 WSets the state of the pin that is configured as DIO#30, if the corresponding DOE31_0 bitfield is set. |
[24] DIO31 WSets the state of the pin that is configured as DIO#31, if the corresponding DOE31_0 bitfield is set. |
DOUT31_0 @0x80 = 0x40022080
Data Output for DIO 0 to 31
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO0 RWData output for DIO 0 |
[1] DIO1 RWData output for DIO 1 |
[2] DIO2 RWData output for DIO 2 |
[3] DIO3 RWData output for DIO 3 |
[4] DIO4 RWData output for DIO 4 |
[5] DIO5 RWData output for DIO 5 |
[6] DIO6 RWData output for DIO 6 |
[7] DIO7 RWData output for DIO 7 |
[8] DIO8 RWData output for DIO 8 |
[9] DIO9 RWData output for DIO 9 |
[10] DIO10 RWData output for DIO 10 |
[11] DIO11 RWData output for DIO 11 |
[12] DIO12 RWData output for DIO 12 |
[13] DIO13 RWData output for DIO 13 |
[14] DIO14 RWData output for DIO 14 |
[15] DIO15 RWData output for DIO 15 |
[16] DIO16 RWData output for DIO 16 |
[17] DIO17 RWData output for DIO 17 |
[18] DIO18 RWData output for DIO 18 |
[19] DIO19 RWData output for DIO 19 |
[20] DIO20 RWData output for DIO 20 |
[21] DIO21 RWData output for DIO 21 |
[22] DIO22 RWData output for DIO 22 |
[23] DIO23 RWData output for DIO 23 |
[24] DIO24 RWData output for DIO 24 |
[25] DIO25 RWData output for DIO 25 |
[26] DIO26 RWData output for DIO 26 |
[27] DIO27 RWData output for DIO 27 |
[28] DIO28 RWData output for DIO 28 |
[29] DIO29 RWData output for DIO 29 |
[30] DIO30 RWData output for DIO 30 |
[31] DIO31 RWData output for DIO 31 |
DOUTSET31_0 @0x90 = 0x40022090
Data Out Set Writing 1 to a bit position sets the corresponding bit in the DOUT31_0 register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO0 WSet bit 0 |
[1] DIO1 WSet bit 1 |
[2] DIO2 WSet bit 2 |
[3] DIO3 WSet bit 3 |
[4] DIO4 WSet bit 4 |
[5] DIO5 WSet bit 5 |
[6] DIO6 WSet bit 6 |
[7] DIO7 WSet bit 7 |
[8] DIO8 WSet bit 8 |
[9] DIO9 WSet bit 9 |
[10] DIO10 WSet bit 10 |
[11] DIO11 WSet bit 11 |
[12] DIO12 WSet bit 12 |
[13] DIO13 WSet bit 13 |
[14] DIO14 WSet bit 14 |
[15] DIO15 WSet bit 15 |
[16] DIO16 WSet bit 16 |
[17] DIO17 WSet bit 17 |
[18] DIO18 WSet bit 18 |
[19] DIO19 WSet bit 19 |
[20] DIO20 WSet bit 20 |
[21] DIO21 WSet bit 21 |
[22] DIO22 WSet bit 22 |
[23] DIO23 WSet bit 23 |
[24] DIO24 WSet bit 24 |
[25] DIO25 WSet bit 25 |
[26] DIO26 WSet bit 26 |
[27] DIO27 WSet bit 27 |
[28] DIO28 WSet bit 28 |
[29] DIO29 WSet bit 29 |
[30] DIO30 WSet bit 30 |
[31] DIO31 WSet bit 31 |
DOUTCLR31_0 @0xa0 = 0x400220a0
Data Out Clear Writing 1 to a bit position clears the corresponding bit in the DOUT31_0 register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO0 WClears bit 0 |
[1] DIO1 WClears bit 1 |
[2] DIO2 WClears bit 2 |
[3] DIO3 WClears bit 3 |
[4] DIO4 WClears bit 4 |
[5] DIO5 WClears bit 5 |
[6] DIO6 WClears bit 6 |
[7] DIO7 WClears bit 7 |
[8] DIO8 WClears bit 8 |
[9] DIO9 WClears bit 9 |
[10] DIO10 WClears bit 10 |
[11] DIO11 WClears bit 11 |
[12] DIO12 WClears bit 12 |
[13] DIO13 WClears bit 13 |
[14] DIO14 WClears bit 14 |
[15] DIO15 WClears bit 15 |
[16] DIO16 WClears bit 16 |
[17] DIO17 WClears bit 17 |
[18] DIO18 WClears bit 18 |
[19] DIO19 WClears bit 19 |
[20] DIO20 WClears bit 20 |
[21] DIO21 WClears bit 21 |
[22] DIO22 WClears bit 22 |
[23] DIO23 WClears bit 23 |
[24] DIO24 WClears bit 24 |
[25] DIO25 WClears bit 25 |
[26] DIO26 WClears bit 26 |
[27] DIO27 WClears bit 27 |
[28] DIO28 WClears bit 28 |
[29] DIO29 WClears bit 29 |
[30] DIO30 WClears bit 30 |
[31] DIO31 WClears bit 31 |
DOUTTGL31_0 @0xb0 = 0x400220b0
Data Out Toggle Writing 1 to a bit position will invert the corresponding DIO output.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO0 RWToggles bit 0 |
[1] DIO1 RWToggles bit 1 |
[2] DIO2 RWToggles bit 2 |
[3] DIO3 RWToggles bit 3 |
[4] DIO4 RWToggles bit 4 |
[5] DIO5 RWToggles bit 5 |
[6] DIO6 RWToggles bit 6 |
[7] DIO7 RWToggles bit 7 |
[8] DIO8 RWToggles bit 8 |
[9] DIO9 RWToggles bit 9 |
[10] DIO10 RWToggles bit 10 |
[11] DIO11 RWToggles bit 11 |
[12] DIO12 RWToggles bit 12 |
[13] DIO13 RWToggles bit 13 |
[14] DIO14 RWToggles bit 14 |
[15] DIO15 RWToggles bit 15 |
[16] DIO16 RWToggles bit 16 |
[17] DIO17 RWToggles bit 17 |
[18] DIO18 RWToggles bit 18 |
[19] DIO19 RWToggles bit 19 |
[20] DIO20 RWToggles bit 20 |
[21] DIO21 RWToggles bit 21 |
[22] DIO22 RWToggles bit 22 |
[23] DIO23 RWToggles bit 23 |
[24] DIO24 RWToggles bit 24 |
[25] DIO25 RWToggles bit 25 |
[26] DIO26 RWToggles bit 26 |
[27] DIO27 RWToggles bit 27 |
[28] DIO28 RWToggles bit 28 |
[29] DIO29 RWToggles bit 29 |
[30] DIO30 RWToggles bit 30 |
[31] DIO31 RWToggles bit 31 |
DIN31_0 @0xc0 = 0x400220c0
Data Input from DIO 0 to 31
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO0 RData input from DIO 0 |
[1] DIO1 RData input from DIO 1 |
[2] DIO2 RData input from DIO 2 |
[3] DIO3 RData input from DIO 3 |
[4] DIO4 RData input from DIO 4 |
[5] DIO5 RData input from DIO 5 |
[6] DIO6 RData input from DIO 6 |
[7] DIO7 RData input from DIO 7 |
[8] DIO8 RData input from DIO 8 |
[9] DIO9 RData input from DIO 9 |
[10] DIO10 RData input from DIO 10 |
[11] DIO11 RData input from DIO 11 |
[12] DIO12 RData input from DIO 12 |
[13] DIO13 RData input from DIO 13 |
[14] DIO14 RData input from DIO 14 |
[15] DIO15 RData input from DIO 15 |
[16] DIO16 RData input from DIO 16 |
[17] DIO17 RData input from DIO 17 |
[18] DIO18 RData input from DIO 18 |
[19] DIO19 RData input from DIO 19 |
[20] DIO20 RData input from DIO 20 |
[21] DIO21 RData input from DIO 21 |
[22] DIO22 RData input from DIO 22 |
[23] DIO23 RData input from DIO 23 |
[24] DIO24 RData input from DIO 24 |
[25] DIO25 RData input from DIO 25 |
[26] DIO26 RData input from DIO 26 |
[27] DIO27 RData input from DIO 27 |
[28] DIO28 RData input from DIO 28 |
[29] DIO29 RData input from DIO 29 |
[30] DIO30 RData input from DIO 30 |
[31] DIO31 RData input from DIO 31 |
DOE31_0 @0xd0 = 0x400220d0
Data Output Enable for DIO 0 to 31
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO0 RWData output enable for DIO 0 |
[1] DIO1 RWData output enable for DIO 1 |
[2] DIO2 RWData output enable for DIO 2 |
[3] DIO3 RWData output enable for DIO 3 |
[4] DIO4 RWData output enable for DIO 4 |
[5] DIO5 RWData output enable for DIO 5 |
[6] DIO6 RWData output enable for DIO 6 |
[7] DIO7 RWData output enable for DIO 7 |
[8] DIO8 RWData output enable for DIO 8 |
[9] DIO9 RWData output enable for DIO 9 |
[10] DIO10 RWData output enable for DIO 10 |
[11] DIO11 RWData output enable for DIO 11 |
[12] DIO12 RWData output enable for DIO 12 |
[13] DIO13 RWData output enable for DIO 13 |
[14] DIO14 RWData output enable for DIO 14 |
[15] DIO15 RWData output enable for DIO 15 |
[16] DIO16 RWData output enable for DIO 16 |
[17] DIO17 RWData output enable for DIO 17 |
[18] DIO18 RWData output enable for DIO 18 |
[19] DIO19 RWData output enable for DIO 19 |
[20] DIO20 RWData output enable for DIO 20 |
[21] DIO21 RWData output enable for DIO 21 |
[22] DIO22 RWData output enable for DIO 22 |
[23] DIO23 RWData output enable for DIO 23 |
[24] DIO24 RWData output enable for DIO 24 |
[25] DIO25 RWData output enable for DIO 25 |
[26] DIO26 RWData output enable for DIO 26 |
[27] DIO27 RWData output enable for DIO 27 |
[28] DIO28 RWData output enable for DIO 28 |
[29] DIO29 RWData output enable for DIO 29 |
[30] DIO30 RWData output enable for DIO 30 |
[31] DIO31 RWData output enable for DIO 31 |
EVFLAGS31_0 @0xe0 = 0x400220e0
Event Register for DIO 0 to 31 Reading this registers will return 1 for triggered event and 0 for non-triggered events. Writing a 1 to a bit field will clear the event. The configuration of events is done inside MCU IOC, e.g. events for DIO #0 is configured in IOC:IOCFG0.EDGE_DET and IOC:IOCFG0.EDGE_IRQ_EN.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DIO0 RWEvent for DIO 0 |
[1] DIO1 RWEvent for DIO 1 |
[2] DIO2 RWEvent for DIO 2 |
[3] DIO3 RWEvent for DIO 3 |
[4] DIO4 RWEvent for DIO 4 |
[5] DIO5 RWEvent for DIO 5 |
[6] DIO6 RWEvent for DIO 6 |
[7] DIO7 RWEvent for DIO 7 |
[8] DIO8 RWEvent for DIO 8 |
[9] DIO9 RWEvent for DIO 9 |
[10] DIO10 RWEvent for DIO 10 |
[11] DIO11 RWEvent for DIO 11 |
[12] DIO12 RWEvent for DIO 12 |
[13] DIO13 RWEvent for DIO 13 |
[14] DIO14 RWEvent for DIO 14 |
[15] DIO15 RWEvent for DIO 15 |
[16] DIO16 RWEvent for DIO 16 |
[17] DIO17 RWEvent for DIO 17 |
[18] DIO18 RWEvent for DIO 18 |
[19] DIO19 RWEvent for DIO 19 |
[20] DIO20 RWEvent for DIO 20 |
[21] DIO21 RWEvent for DIO 21 |
[22] DIO22 RWEvent for DIO 22 |
[23] DIO23 RWEvent for DIO 23 |
[24] DIO24 RWEvent for DIO 24 |
[25] DIO25 RWEvent for DIO 25 |
[26] DIO26 RWEvent for DIO 26 |
[27] DIO27 RWEvent for DIO 27 |
[28] DIO28 RWEvent for DIO 28 |
[29] DIO29 RWEvent for DIO 29 |
[30] DIO30 RWEvent for DIO 30 |
[31] DIO31 RWEvent for DIO 31 |
GPT0 at 0x40010000 with offset=0 and size=4096:
General Purpose Timer.
Registers:
CFG @0x0 = 0x40010000
Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0..=2] CFG RWGPT Configuration 0x2- 0x3 - Reserved 0x5- 0x7 - Reserved Possible values:
|
TAMR @0x4 = 0x40010004
Timer A Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] TAMR RWGPT Timer A Mode 0x0 Reserved 0x1 One-Shot Timer mode 0x2 Periodic Timer mode 0x3 Capture mode The Timer mode is based on the timer configuration defined by bits 2:0 in the CFG register Possible values:
|
[2] TACM RWGPT Timer A Capture Mode Possible values:
|
[3] TAAMS RWGPT Timer A Alternate Mode Note: To enable PWM mode, you must also clear TACM and then configure TAMR field to 0x2. Possible values:
|
[4] TACDIR RWGPT Timer A Count Direction Possible values:
|
[5] TAMIE RWGPT Timer A Match Interrupt Enable Possible values:
|
[6] TAWOT RWGPT Timer A Wait-On-Trigger Possible values:
|
[7] TASNAPS RWGPT Timer A Snap-Shot Mode Possible values:
|
[8] TAILD RWGPT Timer A PWM Interval Load Write Possible values:
|
[9] TAPWMIE RWGPTM Timer A PWM Interrupt Enable This bit enables interrupts in PWM mode on rising, falling, or both edges of the CCP output, as defined by the CTL.TAEVENT In addition, when this bit is set and a capture event occurs, Timer A automatically generates triggers to the DMA if the trigger capability is enabled by setting the CTL.TAOTE bit and the DMAEV.CAEDMAEN bit respectively. 0 Capture event interrupt is disabled. 1 Capture event interrupt is enabled. This bit is only valid in PWM mode. Possible values:
|
[10] TAMRSU RWTimer A Match Register Update mode This bit defines when the TAMATCHR and TAPR registers are updated. If the timer is disabled (CTL.TAEN = 0) when this bit is set, TAMATCHR and TAPR are updated when the timer is enabled. If the timer is stalled (CTL.TASTALL = 1) when this bit is set, TAMATCHR and TAPR are updated according to the configuration of this bit. Possible values:
|
[11] TAPLO RWGPTM Timer A PWM Legacy Operation 0 Legacy operation with CCP pin driven Low when the TAILR register is reloaded after the timer reaches 0. 1 CCP is driven High when the TAILR register is reloaded after the timer reaches 0. This bit is only valid in PWM mode. Possible values:
|
[12] TACINTD RWOne-Shot/Periodic Interrupt Disable Possible values:
|
[13..=15] TCACT RWTimer Compare Action Select Possible values:
|
TBMR @0x8 = 0x40010008
Timer B Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] TBMR RWGPT Timer B Mode 0x0 Reserved 0x1 One-Shot Timer mode 0x2 Periodic Timer mode 0x3 Capture mode The Timer mode is based on the timer configuration defined by bits 2:0 in the CFG register Possible values:
|
[2] TBCM RWGPT Timer B Capture Mode Possible values:
|
[3] TBAMS RWGPT Timer B Alternate Mode Note: To enable PWM mode, you must also clear TBCM bit and configure TBMR field to 0x2. Possible values:
|
[4] TBCDIR RWGPT Timer B Count Direction Possible values:
|
[5] TBMIE RWGPT Timer B Match Interrupt Enable. Possible values:
|
[6] TBWOT RWGPT Timer B Wait-On-Trigger Possible values:
|
[7] TBSNAPS RWGPT Timer B Snap-Shot Mode Possible values:
|
[8] TBILD RWGPT Timer B PWM Interval Load Write Possible values:
|
[9] TBPWMIE RWGPTM Timer B PWM Interrupt Enable This bit enables interrupts in PWM mode on rising, falling, or both edges of the CCP output, as defined by the CTL.TBEVENT In addition, when this bit is set and a capture event occurs, Timer A automatically generates triggers to the DMA if the trigger capability is enabled by setting the CTL.TBOTE bit and the DMAEV.CBEDMAEN bit respectively. 0 Capture event interrupt is disabled. 1 Capture event interrupt is enabled. This bit is only valid in PWM mode. Possible values:
|
[10] TBMRSU RWTimer B Match Register Update mode This bit defines when the TBMATCHR and TBPR registers are updated If the timer is disabled (CTL.TBEN is clear) when this bit is set, TBMATCHR and TBPR are updated when the timer is enabled. If the timer is stalled (CTL.TBSTALL is set) when this bit is set, TBMATCHR and TBPR are updated according to the configuration of this bit. Possible values:
|
[11] TBPLO RWGPTM Timer B PWM Legacy Operation 0 Legacy operation with CCP pin driven Low when the TBILR register is reloaded after the timer reaches 0. 1 CCP is driven High when the TBILR register is reloaded after the timer reaches 0. This bit is only valid in PWM mode. Possible values:
|
[12] TBCINTD RWOne-Shot/Periodic Interrupt Mode Possible values:
|
[13..=15] TCACT RWTimer Compare Action Select Possible values:
|
CTL @0xc = 0x4001000c
Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] TAEN RWGPT Timer A Enable Possible values:
|
[1] TASTALL RWGPT Timer A Stall Enable Possible values:
|
[2..=3] TAEVENT RWGPT Timer A Event Mode The values in this register are defined as follows: Value Description 0x0 Positive edge 0x1 Negative edge 0x2 Reserved 0x3 Both edges Note: If PWM output inversion is enabled, edge detection interrupt behavior is reversed. Thus, if a positive-edge interrupt trigger has been set and the PWM inversion generates a postive edge, no event-trigger interrupt asserts. Instead, the interrupt is generated on the negative edge of the PWM signal. Possible values:
|
[6] TAPWML RWGPT Timer A PWM Output Level Possible values:
|
[8] TBEN RWGPT Timer B Enable Possible values:
|
[9] TBSTALL RWGPT Timer B Stall Enable Possible values:
|
[10..=11] TBEVENT RWGPT Timer B Event Mode The values in this register are defined as follows: Value Description 0x0 Positive edge 0x1 Negative edge 0x2 Reserved 0x3 Both edges Note: If PWM output inversion is enabled, edge detection interrupt behavior is reversed. Thus, if a positive-edge interrupt trigger has been set and the PWM inversion generates a postive edge, no event-trigger interrupt asserts. Instead, the interrupt is generated on the negative edge of the PWM signal. Possible values:
|
[14] TBPWML RWGPT Timer B PWM Output Level 0: Output is unaffected. 1: Output is inverted. Possible values:
|
SYNC @0x10 = 0x40010010
Synch Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] SYNC0 WSynchronize GPT Timer 0 Possible values:
|
[2..=3] SYNC1 WSynchronize GPT Timer 1 Possible values:
|
[4..=5] SYNC2 WSynchronize GPT Timer 2. Possible values:
|
[6..=7] SYNC3 WSynchronize GPT Timer 3. Possible values:
|
IMR @0x18 = 0x40010018
Interrupt Mask This register is used to enable the interrupts. Associated registers: RIS, MIS, ICLR
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] TATOIM RWEnabling this bit will make the RIS.TATORIS interrupt propagate to MIS.TATOMIS Possible values:
|
[1] CAMIM RWEnabling this bit will make the RIS.CAMRIS interrupt propagate to MIS.CAMMIS Possible values:
|
[2] CAEIM RWEnabling this bit will make the RIS.CAERIS interrupt propagate to MIS.CAEMIS Possible values:
|
[4] TAMIM RWEnabling this bit will make the RIS.TAMRIS interrupt propagate to MIS.TAMMIS Possible values:
|
[5] DMAAIM RWEnabling this bit will make the RIS.DMAARIS interrupt propagate to MIS.DMAAMIS Possible values:
|
[8] TBTOIM RWEnabling this bit will make the RIS.TBTORIS interrupt propagate to MIS.TBTOMIS Possible values:
|
[9] CBMIM RWEnabling this bit will make the RIS.CBMRIS interrupt propagate to MIS.CBMMIS Possible values:
|
[10] CBEIM RWEnabling this bit will make the RIS.CBERIS interrupt propagate to MIS.CBEMIS Possible values:
|
[11] TBMIM RWEnabling this bit will make the RIS.TBMRIS interrupt propagate to MIS.TBMMIS Possible values:
|
[13] DMABIM RWEnabling this bit will make the RIS.DMABRIS interrupt propagate to MIS.DMABMIS Possible values:
|
RIS @0x1c = 0x4001001c
Raw Interrupt Status Associated registers: IMR, MIS, ICLR
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATORIS RGPT Timer A Time-out Raw Interrupt 0: Timer A has not timed out 1: Timer A has timed out. This interrupt is asserted when a one-shot or periodic mode timer reaches its count limit. The count limit is 0 or the value loaded into TAILR, depending on the count direction. |
[1] CAMRIS RGPT Timer A Capture Mode Match Raw Interrupt 0: The capture mode match for Timer A has not occurred. 1: A capture mode match has occurred for Timer A. This interrupt asserts when the values in the TAR and TAPR match the values in the TAMATCHR and TAPMR when configured in Input Edge-Time mode. This bit is cleared by writing a 1 to the ICLR.CAMCINT bit. |
[2] CAERIS RGPT Timer A Capture Mode Event Raw Interrupt 0: The event has not occured. 1: The event has occured. This interrupt asserts when the subtimer is configured in Input Edge-Time mode |
[4] TAMRIS RGPT Timer A Match Raw Interrupt 0: The match value has not been reached 1: The match value is reached. TAMR.TAMIE is set, and the match values in TAMATCHR and optionally TAPMR have been reached when configured in one-shot or periodic mode. |
[5] DMAARIS RGPT Timer A DMA Done Raw Interrupt Status 0: Transfer has not completed 1: Transfer has completed |
[8] TBTORIS RGPT Timer B Time-out Raw Interrupt 0: Timer B has not timed out 1: Timer B has timed out. This interrupt is asserted when a one-shot or periodic mode timer reaches its count limit. The count limit is 0 or the value loaded into TBILR, depending on the count direction. |
[9] CBMRIS RGPT Timer B Capture Mode Match Raw Interrupt 0: The capture mode match for Timer B has not occurred. 1: A capture mode match has occurred for Timer B. This interrupt asserts when the values in the TBR and TBPR match the values in the TBMATCHR and TBPMR when configured in Input Edge-Time mode. This bit is cleared by writing a 1 to the ICLR.CBMCINT bit. |
[10] CBERIS RGPT Timer B Capture Mode Event Raw Interrupt 0: The event has not occured. 1: The event has occured. This interrupt asserts when the subtimer is configured in Input Edge-Time mode |
[11] TBMRIS RGPT Timer B Match Raw Interrupt 0: The match value has not been reached 1: The match value is reached. TBMR.TBMIE is set, and the match values in TBMATCHR and optionally TBPMR have been reached when configured in one-shot or periodic mode. |
[13] DMABRIS RGPT Timer B DMA Done Raw Interrupt Status 0: Transfer has not completed 1: Transfer has completed |
MIS @0x20 = 0x40010020
Masked Interrupt Status Values are result of bitwise AND operation between RIS and IMR Assosciated clear register: ICLR
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATOMIS R0: No interrupt or interrupt not enabled 1: RIS.TATORIS = 1 && IMR.TATOIM = 1 |
[1] CAMMIS R0: No interrupt or interrupt not enabled 1: RIS.CAMRIS = 1 && IMR.CAMIM = 1 |
[2] CAEMIS R0: No interrupt or interrupt not enabled 1: RIS.CAERIS = 1 && IMR.CAEIM = 1 |
[4] TAMMIS R0: No interrupt or interrupt not enabled 1: RIS.TAMRIS = 1 && IMR.TAMIM = 1 |
[5] DMAAMIS R0: No interrupt or interrupt not enabled 1: RIS.DMAARIS = 1 && IMR.DMAAIM = 1 |
[8] TBTOMIS R0: No interrupt or interrupt not enabled 1: RIS.TBTORIS = 1 && IMR.TBTOIM = 1 |
[9] CBMMIS R0: No interrupt or interrupt not enabled 1: RIS.CBMRIS = 1 && IMR.CBMIM = 1 |
[10] CBEMIS R0: No interrupt or interrupt not enabled 1: RIS.CBERIS = 1 && IMR.CBEIM = 1 |
[11] TBMMIS R0: No interrupt or interrupt not enabled 1: RIS.TBMRIS = 1 && IMR.TBMIM = 1 |
[13] DMABMIS R0: No interrupt or interrupt not enabled 1: RIS.DMABRIS = 1 && IMR.DMABIM = 1 |
ICLR @0x24 = 0x40010024
Interrupt Clear This register is used to clear status bits in the RIS and MIS registers
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATOCINT RW0: Do nothing. 1: Clear RIS.TATORIS and MIS.TATOMIS |
[1] CAMCINT RW0: Do nothing. 1: Clear RIS.CAMRIS and MIS.CAMMIS |
[2] CAECINT RW0: Do nothing. 1: Clear RIS.CAERIS and MIS.CAEMIS |
[4] TAMCINT RW0: Do nothing. 1: Clear RIS.TAMRIS and MIS.TAMMIS |
[5] DMAAINT RW0: Do nothing. 1: Clear RIS.DMAARIS and MIS.DMAAMIS |
[8] TBTOCINT RW0: Do nothing. 1: Clear RIS.TBTORIS and MIS.TBTOMIS |
[9] CBMCINT RW0: Do nothing. 1: Clear RIS.CBMRIS and MIS.CBMMIS |
[10] CBECINT RW0: Do nothing. 1: Clear RIS.CBERIS and MIS.CBEMIS |
[11] TBMCINT RW0: Do nothing. 1: Clear RIS.TBMRIS and MIS.TBMMIS |
[13] DMABINT RW0: Do nothing. 1: Clear RIS.DMABRIS and MIS.DMABMIS |
TAILR @0x28 = 0x40010028
Timer A Interval Load Register
TBILR @0x2c = 0x4001002c
Timer B Interval Load Register
TAMATCHR @0x30 = 0x40010030
Timer A Match Register Interrupts can be generated when the timer value is equal to the value in this register in one-shot or periodic mode. In Edge-Count mode, this register along with TAILR, determines how many edge events are counted. The total number of edge events counted is equal to the value in TAILR minus this value. Note that in edge-count mode, when executing an up-count, the value of TAPR and TAILR must be greater than the value of TAPMR and this register. In PWM mode, this value along with TAILR, determines the duty cycle of the output PWM signal. When a 16/32-bit GPT is configured to one of the 32-bit modes, TAMATCHR appears as a 32-bit register. (The upper 16-bits correspond to the contents TBMATCHR). In a 16-bit mode, the upper 16 bits of this register read as 0s and have no effect on the state of TBMATCHR. Note : This register is updated internally (takes effect) based on TAMR.TAMRSU
TBMATCHR @0x34 = 0x40010034
Timer B Match Register When a GPT is configured to one of the 32-bit modes, the contents of bits 15:0 in this register are loaded into the upper 16 bits of TAMATCHR. Reads from this register return the current match value of Timer B and writes are ignored. In a 16-bit mode, bits 15:0 are used for the match value. Bits 31:16 are reserved in both cases. Note : This register is updated internally (takes effect) based on TBMR.TBMRSU
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] TBMATCHR RWGPT Timer B Match Register |
TAPR @0x38 = 0x40010038
Timer A Pre-scale This register allows software to extend the range of the timers when they are used individually. When in one-shot or periodic down count modes, this register acts as a true prescaler for the timer counter. When acting as a true prescaler, the prescaler counts down to 0 before the value in TAR and TAV registers are incremented. In all other individual/split modes, this register is a linear extension of the upper range of the timer counter, holding bits 23:16 in the 16-bit modes of the 16/32-bit GPT.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TAPSR RWTimer A Pre-scale. Prescaler ratio in one-shot and periodic count mode is TAPSR + 1, that is: 0: Prescaler ratio = 1 1: Prescaler ratio = 2 2: Prescaler ratio = 3 ... 255: Prescaler ratio = 256 |
TBPR @0x3c = 0x4001003c
Timer B Pre-scale This register allows software to extend the range of the timers when they are used individually. When in one-shot or periodic down count modes, this register acts as a true prescaler for the timer counter. When acting as a true prescaler, the prescaler counts down to 0 before the value in TBR and TBV registers are incremented. In all other individual/split modes, this register is a linear extension of the upper range of the timer counter, holding bits 23:16 in the 16-bit modes of the 16/32-bit GPT.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TBPSR RWTimer B Pre-scale. Prescale ratio in one-shot and periodic count mode is TBPSR + 1, that is: 0: Prescaler ratio = 1 1: Prescaler ratio = 2 2: Prescaler ratio = 3 ... 255: Prescaler ratio = 256 |
TAPMR @0x40 = 0x40010040
Timer A Pre-scale Match This register allows software to extend the range of the TAMATCHR when used individually.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TAPSMR RWGPT Timer A Pre-scale Match. In 16 bit mode this field holds bits 23 to 16. |
TBPMR @0x44 = 0x40010044
Timer B Pre-scale Match This register allows software to extend the range of the TBMATCHR when used individually.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TBPSMR RWGPT Timer B Pre-scale Match Register. In 16 bit mode this field holds bits 23 to 16. |
TAR @0x48 = 0x40010048
Timer A Register This register shows the current value of the Timer A counter in all cases except for Input Edge Count and Time modes. In the Input Edge Count mode, this register contains the number of edges that have occurred. In the Input Edge Time mode, this register contains the time at which the last edge event took place. When a GPT is configured to one of the 32-bit modes, this register appears as a 32-bit register (the upper 16-bits correspond to the contents of the Timer B (TBR) register). In the16-bit Input Edge Count, Input Edge Time, and PWM modes, bits 15:0 contain the value of the counter and bits 23:16 contain the value of the prescaler, which is the upper 8 bits of the count. Bits 31:24 always read as 0. To read the value of the prescaler in 16-bit One-Shot and Periodic modes, read bits [23:16] in the TAV register. To read the value of the prescalar in periodic snapshot mode, read the Timer A Prescale Snapshot (TAPS) register.
TBR @0x4c = 0x4001004c
Timer B Register This register shows the current value of the Timer B counter in all cases except for Input Edge Count and Time modes. In the Input Edge Count mode, this register contains the number of edges that have occurred. In the Input Edge Time mode, this register contains the time at which the last edge event took place. When a GPTM is configured to one of the 32-bit modes, the contents of bits 15:0 in this register are loaded into the upper 16 bits of the TAR register. Reads from this register return the current value of Timer B. In a 16-bit mode, bits 15:0 contain the value of the counter and bits 23:16 contain the value of the prescaler in Input Edge Count, Input Edge Time, and PWM modes, which is the upper 8 bits of the count. Bits 31:24 always read as 0. To read the value of the prescaler in 16-bit One-Shot and Periodic modes, read bits [23:16] in the TBV register. To read the value of the prescalar in periodic snapshot mode, read the Timer B Prescale Snapshot (TBPS) register.
TAV @0x50 = 0x40010050
Timer A Value When read, this register shows the current, free-running value of Timer A in all modes. Softwarecan use this value to determine the time elapsed between an interrupt and the ISR entry when using the snapshot feature with the periodic operating mode. When written, the value written into this register is loaded into the TAR register on the next clock cycle. When a 16/32-bit GPTM is configured to one of the 32-bit modes, this register appears as a 32-bit register (the upper 16-bits correspond to the contents of the GPTM Timer B Value (TBV) register). In a 16-bit mode, bits 15:0 contain the value of the counter and bits 23:16 contain the current, free-running value of the prescaler, which is the upper 8 bits of the count in Input Edge Count, Input Edge Time, PWM and one-shot or periodic up count modes. In one-shot or periodic down count modes, the prescaler stored in 23:16 is a true prescaler, meaning bits 23:16 count down before decrementing the value in bits 15:0. The prescaler in bits 31:24 always reads as 0.
TBV @0x54 = 0x40010054
Timer B Value When read, this register shows the current, free-running value of Timer B in all modes. Software can use this value to determine the time elapsed between an interrupt and the ISR entry. When written, the value written into this register is loaded into the TBR register on the next clock cycle. When a 16/32-bit GPTM is configured to one of the 32-bit modes, the contents of bits 15:0 in this register are loaded into the upper 16 bits of the TAV register. Reads from this register return the current free-running value of Timer B. In a 16-bit mode, bits 15:0 contain the value of the counter and bits 23:16 contain the current, free-running value of the prescaler, which is the upper 8 bits of the count in Input Edge Count, Input Edge Time, PWM and one-shot or periodic up count modes. In one-shot or periodic down count modes, the prescaler stored in 23:16 is a true prescaler, meaning bits 23:16 count down before decrementing the value in bits 15:0. The prescaler in bits 31:24 always reads as 0.
TAPS @0x5c = 0x4001005c
Timer A Pre-scale Snap-shot Based on the value in the register field TAMR.TAILD, this register is updated with the value from TAPR register either on the next cycle or on the next timeout. This register shows the current value of the Timer A pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSS RGPT Timer A Pre-scaler |
TBPS @0x60 = 0x40010060
Timer B Pre-scale Snap-shot Based on the value in the register field TBMR.TBILD, this register is updated with the value from TBPR register either on the next cycle or on the next timeout. This register shows the current value of the Timer B pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSS RGPT Timer B Pre-scaler |
TAPV @0x64 = 0x40010064
Timer A Pre-scale Value This register shows the current value of the Timer A free running pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSV RGPT Timer A Pre-scaler Value |
TBPV @0x68 = 0x40010068
Timer B Pre-scale Value This register shows the current value of the Timer B free running pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSV RGPT Timer B Pre-scaler Value |
DMAEV @0x6c = 0x4001006c
DMA Event This register allows software to enable/disable GPT DMA trigger events.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATODMAEN RWGPT Timer A Time-Out DMA Trigger Enable |
[1] CAMDMAEN RWGPT Timer A Capture Match DMA Trigger Enable |
[2] CAEDMAEN RWGPT Timer A Capture Event DMA Trigger Enable |
[4] TAMDMAEN RWGPT Timer A Match DMA Trigger Enable |
[8] TBTODMAEN RWGPT Timer B Time-Out DMA Trigger Enable |
[9] CBMDMAEN RWGPT Timer B Capture Match DMA Trigger Enable |
[10] CBEDMAEN RWGPT Timer B Capture Event DMA Trigger Enable |
[11] TBMDMAEN RWGPT Timer B Match DMA Trigger Enable |
VERSION @0xfb0 = 0x40010fb0
Peripheral Version This register provides information regarding the GPT version
ANDCCP @0xfb4 = 0x40010fb4
Combined CCP Output This register is used to logically AND CCP output pairs for each timer
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CCP_AND_EN RWEnables AND operation of the CCP outputs for timers A and B. 0 : PWM outputs of Timer A and Timer B are the internal generated PWM signals of the respective timers. 1 : PWM output of Timer A is ANDed version of Timer A and Timer B PWM signals and Timer B PWM ouput is Timer B PWM signal only. |
GPT1 at 0x40011000 with offset=0 and size=4096:
General Purpose Timer.
Registers:
CFG @0x0 = 0x40011000
Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0..=2] CFG RWGPT Configuration 0x2- 0x3 - Reserved 0x5- 0x7 - Reserved Possible values:
|
TAMR @0x4 = 0x40011004
Timer A Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] TAMR RWGPT Timer A Mode 0x0 Reserved 0x1 One-Shot Timer mode 0x2 Periodic Timer mode 0x3 Capture mode The Timer mode is based on the timer configuration defined by bits 2:0 in the CFG register Possible values:
|
[2] TACM RWGPT Timer A Capture Mode Possible values:
|
[3] TAAMS RWGPT Timer A Alternate Mode Note: To enable PWM mode, you must also clear TACM and then configure TAMR field to 0x2. Possible values:
|
[4] TACDIR RWGPT Timer A Count Direction Possible values:
|
[5] TAMIE RWGPT Timer A Match Interrupt Enable Possible values:
|
[6] TAWOT RWGPT Timer A Wait-On-Trigger Possible values:
|
[7] TASNAPS RWGPT Timer A Snap-Shot Mode Possible values:
|
[8] TAILD RWGPT Timer A PWM Interval Load Write Possible values:
|
[9] TAPWMIE RWGPTM Timer A PWM Interrupt Enable This bit enables interrupts in PWM mode on rising, falling, or both edges of the CCP output, as defined by the CTL.TAEVENT In addition, when this bit is set and a capture event occurs, Timer A automatically generates triggers to the DMA if the trigger capability is enabled by setting the CTL.TAOTE bit and the DMAEV.CAEDMAEN bit respectively. 0 Capture event interrupt is disabled. 1 Capture event interrupt is enabled. This bit is only valid in PWM mode. Possible values:
|
[10] TAMRSU RWTimer A Match Register Update mode This bit defines when the TAMATCHR and TAPR registers are updated. If the timer is disabled (CTL.TAEN = 0) when this bit is set, TAMATCHR and TAPR are updated when the timer is enabled. If the timer is stalled (CTL.TASTALL = 1) when this bit is set, TAMATCHR and TAPR are updated according to the configuration of this bit. Possible values:
|
[11] TAPLO RWGPTM Timer A PWM Legacy Operation 0 Legacy operation with CCP pin driven Low when the TAILR register is reloaded after the timer reaches 0. 1 CCP is driven High when the TAILR register is reloaded after the timer reaches 0. This bit is only valid in PWM mode. Possible values:
|
[12] TACINTD RWOne-Shot/Periodic Interrupt Disable Possible values:
|
[13..=15] TCACT RWTimer Compare Action Select Possible values:
|
TBMR @0x8 = 0x40011008
Timer B Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] TBMR RWGPT Timer B Mode 0x0 Reserved 0x1 One-Shot Timer mode 0x2 Periodic Timer mode 0x3 Capture mode The Timer mode is based on the timer configuration defined by bits 2:0 in the CFG register Possible values:
|
[2] TBCM RWGPT Timer B Capture Mode Possible values:
|
[3] TBAMS RWGPT Timer B Alternate Mode Note: To enable PWM mode, you must also clear TBCM bit and configure TBMR field to 0x2. Possible values:
|
[4] TBCDIR RWGPT Timer B Count Direction Possible values:
|
[5] TBMIE RWGPT Timer B Match Interrupt Enable. Possible values:
|
[6] TBWOT RWGPT Timer B Wait-On-Trigger Possible values:
|
[7] TBSNAPS RWGPT Timer B Snap-Shot Mode Possible values:
|
[8] TBILD RWGPT Timer B PWM Interval Load Write Possible values:
|
[9] TBPWMIE RWGPTM Timer B PWM Interrupt Enable This bit enables interrupts in PWM mode on rising, falling, or both edges of the CCP output, as defined by the CTL.TBEVENT In addition, when this bit is set and a capture event occurs, Timer A automatically generates triggers to the DMA if the trigger capability is enabled by setting the CTL.TBOTE bit and the DMAEV.CBEDMAEN bit respectively. 0 Capture event interrupt is disabled. 1 Capture event interrupt is enabled. This bit is only valid in PWM mode. Possible values:
|
[10] TBMRSU RWTimer B Match Register Update mode This bit defines when the TBMATCHR and TBPR registers are updated If the timer is disabled (CTL.TBEN is clear) when this bit is set, TBMATCHR and TBPR are updated when the timer is enabled. If the timer is stalled (CTL.TBSTALL is set) when this bit is set, TBMATCHR and TBPR are updated according to the configuration of this bit. Possible values:
|
[11] TBPLO RWGPTM Timer B PWM Legacy Operation 0 Legacy operation with CCP pin driven Low when the TBILR register is reloaded after the timer reaches 0. 1 CCP is driven High when the TBILR register is reloaded after the timer reaches 0. This bit is only valid in PWM mode. Possible values:
|
[12] TBCINTD RWOne-Shot/Periodic Interrupt Mode Possible values:
|
[13..=15] TCACT RWTimer Compare Action Select Possible values:
|
CTL @0xc = 0x4001100c
Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] TAEN RWGPT Timer A Enable Possible values:
|
[1] TASTALL RWGPT Timer A Stall Enable Possible values:
|
[2..=3] TAEVENT RWGPT Timer A Event Mode The values in this register are defined as follows: Value Description 0x0 Positive edge 0x1 Negative edge 0x2 Reserved 0x3 Both edges Note: If PWM output inversion is enabled, edge detection interrupt behavior is reversed. Thus, if a positive-edge interrupt trigger has been set and the PWM inversion generates a postive edge, no event-trigger interrupt asserts. Instead, the interrupt is generated on the negative edge of the PWM signal. Possible values:
|
[6] TAPWML RWGPT Timer A PWM Output Level Possible values:
|
[8] TBEN RWGPT Timer B Enable Possible values:
|
[9] TBSTALL RWGPT Timer B Stall Enable Possible values:
|
[10..=11] TBEVENT RWGPT Timer B Event Mode The values in this register are defined as follows: Value Description 0x0 Positive edge 0x1 Negative edge 0x2 Reserved 0x3 Both edges Note: If PWM output inversion is enabled, edge detection interrupt behavior is reversed. Thus, if a positive-edge interrupt trigger has been set and the PWM inversion generates a postive edge, no event-trigger interrupt asserts. Instead, the interrupt is generated on the negative edge of the PWM signal. Possible values:
|
[14] TBPWML RWGPT Timer B PWM Output Level 0: Output is unaffected. 1: Output is inverted. Possible values:
|
SYNC @0x10 = 0x40011010
Synch Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] SYNC0 WSynchronize GPT Timer 0 Possible values:
|
[2..=3] SYNC1 WSynchronize GPT Timer 1 Possible values:
|
[4..=5] SYNC2 WSynchronize GPT Timer 2. Possible values:
|
[6..=7] SYNC3 WSynchronize GPT Timer 3. Possible values:
|
IMR @0x18 = 0x40011018
Interrupt Mask This register is used to enable the interrupts. Associated registers: RIS, MIS, ICLR
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] TATOIM RWEnabling this bit will make the RIS.TATORIS interrupt propagate to MIS.TATOMIS Possible values:
|
[1] CAMIM RWEnabling this bit will make the RIS.CAMRIS interrupt propagate to MIS.CAMMIS Possible values:
|
[2] CAEIM RWEnabling this bit will make the RIS.CAERIS interrupt propagate to MIS.CAEMIS Possible values:
|
[4] TAMIM RWEnabling this bit will make the RIS.TAMRIS interrupt propagate to MIS.TAMMIS Possible values:
|
[5] DMAAIM RWEnabling this bit will make the RIS.DMAARIS interrupt propagate to MIS.DMAAMIS Possible values:
|
[8] TBTOIM RWEnabling this bit will make the RIS.TBTORIS interrupt propagate to MIS.TBTOMIS Possible values:
|
[9] CBMIM RWEnabling this bit will make the RIS.CBMRIS interrupt propagate to MIS.CBMMIS Possible values:
|
[10] CBEIM RWEnabling this bit will make the RIS.CBERIS interrupt propagate to MIS.CBEMIS Possible values:
|
[11] TBMIM RWEnabling this bit will make the RIS.TBMRIS interrupt propagate to MIS.TBMMIS Possible values:
|
[13] DMABIM RWEnabling this bit will make the RIS.DMABRIS interrupt propagate to MIS.DMABMIS Possible values:
|
RIS @0x1c = 0x4001101c
Raw Interrupt Status Associated registers: IMR, MIS, ICLR
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATORIS RGPT Timer A Time-out Raw Interrupt 0: Timer A has not timed out 1: Timer A has timed out. This interrupt is asserted when a one-shot or periodic mode timer reaches its count limit. The count limit is 0 or the value loaded into TAILR, depending on the count direction. |
[1] CAMRIS RGPT Timer A Capture Mode Match Raw Interrupt 0: The capture mode match for Timer A has not occurred. 1: A capture mode match has occurred for Timer A. This interrupt asserts when the values in the TAR and TAPR match the values in the TAMATCHR and TAPMR when configured in Input Edge-Time mode. This bit is cleared by writing a 1 to the ICLR.CAMCINT bit. |
[2] CAERIS RGPT Timer A Capture Mode Event Raw Interrupt 0: The event has not occured. 1: The event has occured. This interrupt asserts when the subtimer is configured in Input Edge-Time mode |
[4] TAMRIS RGPT Timer A Match Raw Interrupt 0: The match value has not been reached 1: The match value is reached. TAMR.TAMIE is set, and the match values in TAMATCHR and optionally TAPMR have been reached when configured in one-shot or periodic mode. |
[5] DMAARIS RGPT Timer A DMA Done Raw Interrupt Status 0: Transfer has not completed 1: Transfer has completed |
[8] TBTORIS RGPT Timer B Time-out Raw Interrupt 0: Timer B has not timed out 1: Timer B has timed out. This interrupt is asserted when a one-shot or periodic mode timer reaches its count limit. The count limit is 0 or the value loaded into TBILR, depending on the count direction. |
[9] CBMRIS RGPT Timer B Capture Mode Match Raw Interrupt 0: The capture mode match for Timer B has not occurred. 1: A capture mode match has occurred for Timer B. This interrupt asserts when the values in the TBR and TBPR match the values in the TBMATCHR and TBPMR when configured in Input Edge-Time mode. This bit is cleared by writing a 1 to the ICLR.CBMCINT bit. |
[10] CBERIS RGPT Timer B Capture Mode Event Raw Interrupt 0: The event has not occured. 1: The event has occured. This interrupt asserts when the subtimer is configured in Input Edge-Time mode |
[11] TBMRIS RGPT Timer B Match Raw Interrupt 0: The match value has not been reached 1: The match value is reached. TBMR.TBMIE is set, and the match values in TBMATCHR and optionally TBPMR have been reached when configured in one-shot or periodic mode. |
[13] DMABRIS RGPT Timer B DMA Done Raw Interrupt Status 0: Transfer has not completed 1: Transfer has completed |
MIS @0x20 = 0x40011020
Masked Interrupt Status Values are result of bitwise AND operation between RIS and IMR Assosciated clear register: ICLR
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATOMIS R0: No interrupt or interrupt not enabled 1: RIS.TATORIS = 1 && IMR.TATOIM = 1 |
[1] CAMMIS R0: No interrupt or interrupt not enabled 1: RIS.CAMRIS = 1 && IMR.CAMIM = 1 |
[2] CAEMIS R0: No interrupt or interrupt not enabled 1: RIS.CAERIS = 1 && IMR.CAEIM = 1 |
[4] TAMMIS R0: No interrupt or interrupt not enabled 1: RIS.TAMRIS = 1 && IMR.TAMIM = 1 |
[5] DMAAMIS R0: No interrupt or interrupt not enabled 1: RIS.DMAARIS = 1 && IMR.DMAAIM = 1 |
[8] TBTOMIS R0: No interrupt or interrupt not enabled 1: RIS.TBTORIS = 1 && IMR.TBTOIM = 1 |
[9] CBMMIS R0: No interrupt or interrupt not enabled 1: RIS.CBMRIS = 1 && IMR.CBMIM = 1 |
[10] CBEMIS R0: No interrupt or interrupt not enabled 1: RIS.CBERIS = 1 && IMR.CBEIM = 1 |
[11] TBMMIS R0: No interrupt or interrupt not enabled 1: RIS.TBMRIS = 1 && IMR.TBMIM = 1 |
[13] DMABMIS R0: No interrupt or interrupt not enabled 1: RIS.DMABRIS = 1 && IMR.DMABIM = 1 |
ICLR @0x24 = 0x40011024
Interrupt Clear This register is used to clear status bits in the RIS and MIS registers
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATOCINT RW0: Do nothing. 1: Clear RIS.TATORIS and MIS.TATOMIS |
[1] CAMCINT RW0: Do nothing. 1: Clear RIS.CAMRIS and MIS.CAMMIS |
[2] CAECINT RW0: Do nothing. 1: Clear RIS.CAERIS and MIS.CAEMIS |
[4] TAMCINT RW0: Do nothing. 1: Clear RIS.TAMRIS and MIS.TAMMIS |
[5] DMAAINT RW0: Do nothing. 1: Clear RIS.DMAARIS and MIS.DMAAMIS |
[8] TBTOCINT RW0: Do nothing. 1: Clear RIS.TBTORIS and MIS.TBTOMIS |
[9] CBMCINT RW0: Do nothing. 1: Clear RIS.CBMRIS and MIS.CBMMIS |
[10] CBECINT RW0: Do nothing. 1: Clear RIS.CBERIS and MIS.CBEMIS |
[11] TBMCINT RW0: Do nothing. 1: Clear RIS.TBMRIS and MIS.TBMMIS |
[13] DMABINT RW0: Do nothing. 1: Clear RIS.DMABRIS and MIS.DMABMIS |
TAILR @0x28 = 0x40011028
Timer A Interval Load Register
TBILR @0x2c = 0x4001102c
Timer B Interval Load Register
TAMATCHR @0x30 = 0x40011030
Timer A Match Register Interrupts can be generated when the timer value is equal to the value in this register in one-shot or periodic mode. In Edge-Count mode, this register along with TAILR, determines how many edge events are counted. The total number of edge events counted is equal to the value in TAILR minus this value. Note that in edge-count mode, when executing an up-count, the value of TAPR and TAILR must be greater than the value of TAPMR and this register. In PWM mode, this value along with TAILR, determines the duty cycle of the output PWM signal. When a 16/32-bit GPT is configured to one of the 32-bit modes, TAMATCHR appears as a 32-bit register. (The upper 16-bits correspond to the contents TBMATCHR). In a 16-bit mode, the upper 16 bits of this register read as 0s and have no effect on the state of TBMATCHR. Note : This register is updated internally (takes effect) based on TAMR.TAMRSU
TBMATCHR @0x34 = 0x40011034
Timer B Match Register When a GPT is configured to one of the 32-bit modes, the contents of bits 15:0 in this register are loaded into the upper 16 bits of TAMATCHR. Reads from this register return the current match value of Timer B and writes are ignored. In a 16-bit mode, bits 15:0 are used for the match value. Bits 31:16 are reserved in both cases. Note : This register is updated internally (takes effect) based on TBMR.TBMRSU
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] TBMATCHR RWGPT Timer B Match Register |
TAPR @0x38 = 0x40011038
Timer A Pre-scale This register allows software to extend the range of the timers when they are used individually. When in one-shot or periodic down count modes, this register acts as a true prescaler for the timer counter. When acting as a true prescaler, the prescaler counts down to 0 before the value in TAR and TAV registers are incremented. In all other individual/split modes, this register is a linear extension of the upper range of the timer counter, holding bits 23:16 in the 16-bit modes of the 16/32-bit GPT.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TAPSR RWTimer A Pre-scale. Prescaler ratio in one-shot and periodic count mode is TAPSR + 1, that is: 0: Prescaler ratio = 1 1: Prescaler ratio = 2 2: Prescaler ratio = 3 ... 255: Prescaler ratio = 256 |
TBPR @0x3c = 0x4001103c
Timer B Pre-scale This register allows software to extend the range of the timers when they are used individually. When in one-shot or periodic down count modes, this register acts as a true prescaler for the timer counter. When acting as a true prescaler, the prescaler counts down to 0 before the value in TBR and TBV registers are incremented. In all other individual/split modes, this register is a linear extension of the upper range of the timer counter, holding bits 23:16 in the 16-bit modes of the 16/32-bit GPT.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TBPSR RWTimer B Pre-scale. Prescale ratio in one-shot and periodic count mode is TBPSR + 1, that is: 0: Prescaler ratio = 1 1: Prescaler ratio = 2 2: Prescaler ratio = 3 ... 255: Prescaler ratio = 256 |
TAPMR @0x40 = 0x40011040
Timer A Pre-scale Match This register allows software to extend the range of the TAMATCHR when used individually.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TAPSMR RWGPT Timer A Pre-scale Match. In 16 bit mode this field holds bits 23 to 16. |
TBPMR @0x44 = 0x40011044
Timer B Pre-scale Match This register allows software to extend the range of the TBMATCHR when used individually.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TBPSMR RWGPT Timer B Pre-scale Match Register. In 16 bit mode this field holds bits 23 to 16. |
TAR @0x48 = 0x40011048
Timer A Register This register shows the current value of the Timer A counter in all cases except for Input Edge Count and Time modes. In the Input Edge Count mode, this register contains the number of edges that have occurred. In the Input Edge Time mode, this register contains the time at which the last edge event took place. When a GPT is configured to one of the 32-bit modes, this register appears as a 32-bit register (the upper 16-bits correspond to the contents of the Timer B (TBR) register). In the16-bit Input Edge Count, Input Edge Time, and PWM modes, bits 15:0 contain the value of the counter and bits 23:16 contain the value of the prescaler, which is the upper 8 bits of the count. Bits 31:24 always read as 0. To read the value of the prescaler in 16-bit One-Shot and Periodic modes, read bits [23:16] in the TAV register. To read the value of the prescalar in periodic snapshot mode, read the Timer A Prescale Snapshot (TAPS) register.
TBR @0x4c = 0x4001104c
Timer B Register This register shows the current value of the Timer B counter in all cases except for Input Edge Count and Time modes. In the Input Edge Count mode, this register contains the number of edges that have occurred. In the Input Edge Time mode, this register contains the time at which the last edge event took place. When a GPTM is configured to one of the 32-bit modes, the contents of bits 15:0 in this register are loaded into the upper 16 bits of the TAR register. Reads from this register return the current value of Timer B. In a 16-bit mode, bits 15:0 contain the value of the counter and bits 23:16 contain the value of the prescaler in Input Edge Count, Input Edge Time, and PWM modes, which is the upper 8 bits of the count. Bits 31:24 always read as 0. To read the value of the prescaler in 16-bit One-Shot and Periodic modes, read bits [23:16] in the TBV register. To read the value of the prescalar in periodic snapshot mode, read the Timer B Prescale Snapshot (TBPS) register.
TAV @0x50 = 0x40011050
Timer A Value When read, this register shows the current, free-running value of Timer A in all modes. Softwarecan use this value to determine the time elapsed between an interrupt and the ISR entry when using the snapshot feature with the periodic operating mode. When written, the value written into this register is loaded into the TAR register on the next clock cycle. When a 16/32-bit GPTM is configured to one of the 32-bit modes, this register appears as a 32-bit register (the upper 16-bits correspond to the contents of the GPTM Timer B Value (TBV) register). In a 16-bit mode, bits 15:0 contain the value of the counter and bits 23:16 contain the current, free-running value of the prescaler, which is the upper 8 bits of the count in Input Edge Count, Input Edge Time, PWM and one-shot or periodic up count modes. In one-shot or periodic down count modes, the prescaler stored in 23:16 is a true prescaler, meaning bits 23:16 count down before decrementing the value in bits 15:0. The prescaler in bits 31:24 always reads as 0.
TBV @0x54 = 0x40011054
Timer B Value When read, this register shows the current, free-running value of Timer B in all modes. Software can use this value to determine the time elapsed between an interrupt and the ISR entry. When written, the value written into this register is loaded into the TBR register on the next clock cycle. When a 16/32-bit GPTM is configured to one of the 32-bit modes, the contents of bits 15:0 in this register are loaded into the upper 16 bits of the TAV register. Reads from this register return the current free-running value of Timer B. In a 16-bit mode, bits 15:0 contain the value of the counter and bits 23:16 contain the current, free-running value of the prescaler, which is the upper 8 bits of the count in Input Edge Count, Input Edge Time, PWM and one-shot or periodic up count modes. In one-shot or periodic down count modes, the prescaler stored in 23:16 is a true prescaler, meaning bits 23:16 count down before decrementing the value in bits 15:0. The prescaler in bits 31:24 always reads as 0.
TAPS @0x5c = 0x4001105c
Timer A Pre-scale Snap-shot Based on the value in the register field TAMR.TAILD, this register is updated with the value from TAPR register either on the next cycle or on the next timeout. This register shows the current value of the Timer A pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSS RGPT Timer A Pre-scaler |
TBPS @0x60 = 0x40011060
Timer B Pre-scale Snap-shot Based on the value in the register field TBMR.TBILD, this register is updated with the value from TBPR register either on the next cycle or on the next timeout. This register shows the current value of the Timer B pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSS RGPT Timer B Pre-scaler |
TAPV @0x64 = 0x40011064
Timer A Pre-scale Value This register shows the current value of the Timer A free running pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSV RGPT Timer A Pre-scaler Value |
TBPV @0x68 = 0x40011068
Timer B Pre-scale Value This register shows the current value of the Timer B free running pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSV RGPT Timer B Pre-scaler Value |
DMAEV @0x6c = 0x4001106c
DMA Event This register allows software to enable/disable GPT DMA trigger events.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATODMAEN RWGPT Timer A Time-Out DMA Trigger Enable |
[1] CAMDMAEN RWGPT Timer A Capture Match DMA Trigger Enable |
[2] CAEDMAEN RWGPT Timer A Capture Event DMA Trigger Enable |
[4] TAMDMAEN RWGPT Timer A Match DMA Trigger Enable |
[8] TBTODMAEN RWGPT Timer B Time-Out DMA Trigger Enable |
[9] CBMDMAEN RWGPT Timer B Capture Match DMA Trigger Enable |
[10] CBEDMAEN RWGPT Timer B Capture Event DMA Trigger Enable |
[11] TBMDMAEN RWGPT Timer B Match DMA Trigger Enable |
VERSION @0xfb0 = 0x40011fb0
Peripheral Version This register provides information regarding the GPT version
ANDCCP @0xfb4 = 0x40011fb4
Combined CCP Output This register is used to logically AND CCP output pairs for each timer
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CCP_AND_EN RWEnables AND operation of the CCP outputs for timers A and B. 0 : PWM outputs of Timer A and Timer B are the internal generated PWM signals of the respective timers. 1 : PWM output of Timer A is ANDed version of Timer A and Timer B PWM signals and Timer B PWM ouput is Timer B PWM signal only. |
GPT2 at 0x40012000 with offset=0 and size=4096:
General Purpose Timer.
Registers:
CFG @0x0 = 0x40012000
Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0..=2] CFG RWGPT Configuration 0x2- 0x3 - Reserved 0x5- 0x7 - Reserved Possible values:
|
TAMR @0x4 = 0x40012004
Timer A Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] TAMR RWGPT Timer A Mode 0x0 Reserved 0x1 One-Shot Timer mode 0x2 Periodic Timer mode 0x3 Capture mode The Timer mode is based on the timer configuration defined by bits 2:0 in the CFG register Possible values:
|
[2] TACM RWGPT Timer A Capture Mode Possible values:
|
[3] TAAMS RWGPT Timer A Alternate Mode Note: To enable PWM mode, you must also clear TACM and then configure TAMR field to 0x2. Possible values:
|
[4] TACDIR RWGPT Timer A Count Direction Possible values:
|
[5] TAMIE RWGPT Timer A Match Interrupt Enable Possible values:
|
[6] TAWOT RWGPT Timer A Wait-On-Trigger Possible values:
|
[7] TASNAPS RWGPT Timer A Snap-Shot Mode Possible values:
|
[8] TAILD RWGPT Timer A PWM Interval Load Write Possible values:
|
[9] TAPWMIE RWGPTM Timer A PWM Interrupt Enable This bit enables interrupts in PWM mode on rising, falling, or both edges of the CCP output, as defined by the CTL.TAEVENT In addition, when this bit is set and a capture event occurs, Timer A automatically generates triggers to the DMA if the trigger capability is enabled by setting the CTL.TAOTE bit and the DMAEV.CAEDMAEN bit respectively. 0 Capture event interrupt is disabled. 1 Capture event interrupt is enabled. This bit is only valid in PWM mode. Possible values:
|
[10] TAMRSU RWTimer A Match Register Update mode This bit defines when the TAMATCHR and TAPR registers are updated. If the timer is disabled (CTL.TAEN = 0) when this bit is set, TAMATCHR and TAPR are updated when the timer is enabled. If the timer is stalled (CTL.TASTALL = 1) when this bit is set, TAMATCHR and TAPR are updated according to the configuration of this bit. Possible values:
|
[11] TAPLO RWGPTM Timer A PWM Legacy Operation 0 Legacy operation with CCP pin driven Low when the TAILR register is reloaded after the timer reaches 0. 1 CCP is driven High when the TAILR register is reloaded after the timer reaches 0. This bit is only valid in PWM mode. Possible values:
|
[12] TACINTD RWOne-Shot/Periodic Interrupt Disable Possible values:
|
[13..=15] TCACT RWTimer Compare Action Select Possible values:
|
TBMR @0x8 = 0x40012008
Timer B Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] TBMR RWGPT Timer B Mode 0x0 Reserved 0x1 One-Shot Timer mode 0x2 Periodic Timer mode 0x3 Capture mode The Timer mode is based on the timer configuration defined by bits 2:0 in the CFG register Possible values:
|
[2] TBCM RWGPT Timer B Capture Mode Possible values:
|
[3] TBAMS RWGPT Timer B Alternate Mode Note: To enable PWM mode, you must also clear TBCM bit and configure TBMR field to 0x2. Possible values:
|
[4] TBCDIR RWGPT Timer B Count Direction Possible values:
|
[5] TBMIE RWGPT Timer B Match Interrupt Enable. Possible values:
|
[6] TBWOT RWGPT Timer B Wait-On-Trigger Possible values:
|
[7] TBSNAPS RWGPT Timer B Snap-Shot Mode Possible values:
|
[8] TBILD RWGPT Timer B PWM Interval Load Write Possible values:
|
[9] TBPWMIE RWGPTM Timer B PWM Interrupt Enable This bit enables interrupts in PWM mode on rising, falling, or both edges of the CCP output, as defined by the CTL.TBEVENT In addition, when this bit is set and a capture event occurs, Timer A automatically generates triggers to the DMA if the trigger capability is enabled by setting the CTL.TBOTE bit and the DMAEV.CBEDMAEN bit respectively. 0 Capture event interrupt is disabled. 1 Capture event interrupt is enabled. This bit is only valid in PWM mode. Possible values:
|
[10] TBMRSU RWTimer B Match Register Update mode This bit defines when the TBMATCHR and TBPR registers are updated If the timer is disabled (CTL.TBEN is clear) when this bit is set, TBMATCHR and TBPR are updated when the timer is enabled. If the timer is stalled (CTL.TBSTALL is set) when this bit is set, TBMATCHR and TBPR are updated according to the configuration of this bit. Possible values:
|
[11] TBPLO RWGPTM Timer B PWM Legacy Operation 0 Legacy operation with CCP pin driven Low when the TBILR register is reloaded after the timer reaches 0. 1 CCP is driven High when the TBILR register is reloaded after the timer reaches 0. This bit is only valid in PWM mode. Possible values:
|
[12] TBCINTD RWOne-Shot/Periodic Interrupt Mode Possible values:
|
[13..=15] TCACT RWTimer Compare Action Select Possible values:
|
CTL @0xc = 0x4001200c
Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] TAEN RWGPT Timer A Enable Possible values:
|
[1] TASTALL RWGPT Timer A Stall Enable Possible values:
|
[2..=3] TAEVENT RWGPT Timer A Event Mode The values in this register are defined as follows: Value Description 0x0 Positive edge 0x1 Negative edge 0x2 Reserved 0x3 Both edges Note: If PWM output inversion is enabled, edge detection interrupt behavior is reversed. Thus, if a positive-edge interrupt trigger has been set and the PWM inversion generates a postive edge, no event-trigger interrupt asserts. Instead, the interrupt is generated on the negative edge of the PWM signal. Possible values:
|
[6] TAPWML RWGPT Timer A PWM Output Level Possible values:
|
[8] TBEN RWGPT Timer B Enable Possible values:
|
[9] TBSTALL RWGPT Timer B Stall Enable Possible values:
|
[10..=11] TBEVENT RWGPT Timer B Event Mode The values in this register are defined as follows: Value Description 0x0 Positive edge 0x1 Negative edge 0x2 Reserved 0x3 Both edges Note: If PWM output inversion is enabled, edge detection interrupt behavior is reversed. Thus, if a positive-edge interrupt trigger has been set and the PWM inversion generates a postive edge, no event-trigger interrupt asserts. Instead, the interrupt is generated on the negative edge of the PWM signal. Possible values:
|
[14] TBPWML RWGPT Timer B PWM Output Level 0: Output is unaffected. 1: Output is inverted. Possible values:
|
SYNC @0x10 = 0x40012010
Synch Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] SYNC0 WSynchronize GPT Timer 0 Possible values:
|
[2..=3] SYNC1 WSynchronize GPT Timer 1 Possible values:
|
[4..=5] SYNC2 WSynchronize GPT Timer 2. Possible values:
|
[6..=7] SYNC3 WSynchronize GPT Timer 3. Possible values:
|
IMR @0x18 = 0x40012018
Interrupt Mask This register is used to enable the interrupts. Associated registers: RIS, MIS, ICLR
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] TATOIM RWEnabling this bit will make the RIS.TATORIS interrupt propagate to MIS.TATOMIS Possible values:
|
[1] CAMIM RWEnabling this bit will make the RIS.CAMRIS interrupt propagate to MIS.CAMMIS Possible values:
|
[2] CAEIM RWEnabling this bit will make the RIS.CAERIS interrupt propagate to MIS.CAEMIS Possible values:
|
[4] TAMIM RWEnabling this bit will make the RIS.TAMRIS interrupt propagate to MIS.TAMMIS Possible values:
|
[5] DMAAIM RWEnabling this bit will make the RIS.DMAARIS interrupt propagate to MIS.DMAAMIS Possible values:
|
[8] TBTOIM RWEnabling this bit will make the RIS.TBTORIS interrupt propagate to MIS.TBTOMIS Possible values:
|
[9] CBMIM RWEnabling this bit will make the RIS.CBMRIS interrupt propagate to MIS.CBMMIS Possible values:
|
[10] CBEIM RWEnabling this bit will make the RIS.CBERIS interrupt propagate to MIS.CBEMIS Possible values:
|
[11] TBMIM RWEnabling this bit will make the RIS.TBMRIS interrupt propagate to MIS.TBMMIS Possible values:
|
[13] DMABIM RWEnabling this bit will make the RIS.DMABRIS interrupt propagate to MIS.DMABMIS Possible values:
|
RIS @0x1c = 0x4001201c
Raw Interrupt Status Associated registers: IMR, MIS, ICLR
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATORIS RGPT Timer A Time-out Raw Interrupt 0: Timer A has not timed out 1: Timer A has timed out. This interrupt is asserted when a one-shot or periodic mode timer reaches its count limit. The count limit is 0 or the value loaded into TAILR, depending on the count direction. |
[1] CAMRIS RGPT Timer A Capture Mode Match Raw Interrupt 0: The capture mode match for Timer A has not occurred. 1: A capture mode match has occurred for Timer A. This interrupt asserts when the values in the TAR and TAPR match the values in the TAMATCHR and TAPMR when configured in Input Edge-Time mode. This bit is cleared by writing a 1 to the ICLR.CAMCINT bit. |
[2] CAERIS RGPT Timer A Capture Mode Event Raw Interrupt 0: The event has not occured. 1: The event has occured. This interrupt asserts when the subtimer is configured in Input Edge-Time mode |
[4] TAMRIS RGPT Timer A Match Raw Interrupt 0: The match value has not been reached 1: The match value is reached. TAMR.TAMIE is set, and the match values in TAMATCHR and optionally TAPMR have been reached when configured in one-shot or periodic mode. |
[5] DMAARIS RGPT Timer A DMA Done Raw Interrupt Status 0: Transfer has not completed 1: Transfer has completed |
[8] TBTORIS RGPT Timer B Time-out Raw Interrupt 0: Timer B has not timed out 1: Timer B has timed out. This interrupt is asserted when a one-shot or periodic mode timer reaches its count limit. The count limit is 0 or the value loaded into TBILR, depending on the count direction. |
[9] CBMRIS RGPT Timer B Capture Mode Match Raw Interrupt 0: The capture mode match for Timer B has not occurred. 1: A capture mode match has occurred for Timer B. This interrupt asserts when the values in the TBR and TBPR match the values in the TBMATCHR and TBPMR when configured in Input Edge-Time mode. This bit is cleared by writing a 1 to the ICLR.CBMCINT bit. |
[10] CBERIS RGPT Timer B Capture Mode Event Raw Interrupt 0: The event has not occured. 1: The event has occured. This interrupt asserts when the subtimer is configured in Input Edge-Time mode |
[11] TBMRIS RGPT Timer B Match Raw Interrupt 0: The match value has not been reached 1: The match value is reached. TBMR.TBMIE is set, and the match values in TBMATCHR and optionally TBPMR have been reached when configured in one-shot or periodic mode. |
[13] DMABRIS RGPT Timer B DMA Done Raw Interrupt Status 0: Transfer has not completed 1: Transfer has completed |
MIS @0x20 = 0x40012020
Masked Interrupt Status Values are result of bitwise AND operation between RIS and IMR Assosciated clear register: ICLR
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATOMIS R0: No interrupt or interrupt not enabled 1: RIS.TATORIS = 1 && IMR.TATOIM = 1 |
[1] CAMMIS R0: No interrupt or interrupt not enabled 1: RIS.CAMRIS = 1 && IMR.CAMIM = 1 |
[2] CAEMIS R0: No interrupt or interrupt not enabled 1: RIS.CAERIS = 1 && IMR.CAEIM = 1 |
[4] TAMMIS R0: No interrupt or interrupt not enabled 1: RIS.TAMRIS = 1 && IMR.TAMIM = 1 |
[5] DMAAMIS R0: No interrupt or interrupt not enabled 1: RIS.DMAARIS = 1 && IMR.DMAAIM = 1 |
[8] TBTOMIS R0: No interrupt or interrupt not enabled 1: RIS.TBTORIS = 1 && IMR.TBTOIM = 1 |
[9] CBMMIS R0: No interrupt or interrupt not enabled 1: RIS.CBMRIS = 1 && IMR.CBMIM = 1 |
[10] CBEMIS R0: No interrupt or interrupt not enabled 1: RIS.CBERIS = 1 && IMR.CBEIM = 1 |
[11] TBMMIS R0: No interrupt or interrupt not enabled 1: RIS.TBMRIS = 1 && IMR.TBMIM = 1 |
[13] DMABMIS R0: No interrupt or interrupt not enabled 1: RIS.DMABRIS = 1 && IMR.DMABIM = 1 |
ICLR @0x24 = 0x40012024
Interrupt Clear This register is used to clear status bits in the RIS and MIS registers
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATOCINT RW0: Do nothing. 1: Clear RIS.TATORIS and MIS.TATOMIS |
[1] CAMCINT RW0: Do nothing. 1: Clear RIS.CAMRIS and MIS.CAMMIS |
[2] CAECINT RW0: Do nothing. 1: Clear RIS.CAERIS and MIS.CAEMIS |
[4] TAMCINT RW0: Do nothing. 1: Clear RIS.TAMRIS and MIS.TAMMIS |
[5] DMAAINT RW0: Do nothing. 1: Clear RIS.DMAARIS and MIS.DMAAMIS |
[8] TBTOCINT RW0: Do nothing. 1: Clear RIS.TBTORIS and MIS.TBTOMIS |
[9] CBMCINT RW0: Do nothing. 1: Clear RIS.CBMRIS and MIS.CBMMIS |
[10] CBECINT RW0: Do nothing. 1: Clear RIS.CBERIS and MIS.CBEMIS |
[11] TBMCINT RW0: Do nothing. 1: Clear RIS.TBMRIS and MIS.TBMMIS |
[13] DMABINT RW0: Do nothing. 1: Clear RIS.DMABRIS and MIS.DMABMIS |
TAILR @0x28 = 0x40012028
Timer A Interval Load Register
TBILR @0x2c = 0x4001202c
Timer B Interval Load Register
TAMATCHR @0x30 = 0x40012030
Timer A Match Register Interrupts can be generated when the timer value is equal to the value in this register in one-shot or periodic mode. In Edge-Count mode, this register along with TAILR, determines how many edge events are counted. The total number of edge events counted is equal to the value in TAILR minus this value. Note that in edge-count mode, when executing an up-count, the value of TAPR and TAILR must be greater than the value of TAPMR and this register. In PWM mode, this value along with TAILR, determines the duty cycle of the output PWM signal. When a 16/32-bit GPT is configured to one of the 32-bit modes, TAMATCHR appears as a 32-bit register. (The upper 16-bits correspond to the contents TBMATCHR). In a 16-bit mode, the upper 16 bits of this register read as 0s and have no effect on the state of TBMATCHR. Note : This register is updated internally (takes effect) based on TAMR.TAMRSU
TBMATCHR @0x34 = 0x40012034
Timer B Match Register When a GPT is configured to one of the 32-bit modes, the contents of bits 15:0 in this register are loaded into the upper 16 bits of TAMATCHR. Reads from this register return the current match value of Timer B and writes are ignored. In a 16-bit mode, bits 15:0 are used for the match value. Bits 31:16 are reserved in both cases. Note : This register is updated internally (takes effect) based on TBMR.TBMRSU
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] TBMATCHR RWGPT Timer B Match Register |
TAPR @0x38 = 0x40012038
Timer A Pre-scale This register allows software to extend the range of the timers when they are used individually. When in one-shot or periodic down count modes, this register acts as a true prescaler for the timer counter. When acting as a true prescaler, the prescaler counts down to 0 before the value in TAR and TAV registers are incremented. In all other individual/split modes, this register is a linear extension of the upper range of the timer counter, holding bits 23:16 in the 16-bit modes of the 16/32-bit GPT.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TAPSR RWTimer A Pre-scale. Prescaler ratio in one-shot and periodic count mode is TAPSR + 1, that is: 0: Prescaler ratio = 1 1: Prescaler ratio = 2 2: Prescaler ratio = 3 ... 255: Prescaler ratio = 256 |
TBPR @0x3c = 0x4001203c
Timer B Pre-scale This register allows software to extend the range of the timers when they are used individually. When in one-shot or periodic down count modes, this register acts as a true prescaler for the timer counter. When acting as a true prescaler, the prescaler counts down to 0 before the value in TBR and TBV registers are incremented. In all other individual/split modes, this register is a linear extension of the upper range of the timer counter, holding bits 23:16 in the 16-bit modes of the 16/32-bit GPT.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TBPSR RWTimer B Pre-scale. Prescale ratio in one-shot and periodic count mode is TBPSR + 1, that is: 0: Prescaler ratio = 1 1: Prescaler ratio = 2 2: Prescaler ratio = 3 ... 255: Prescaler ratio = 256 |
TAPMR @0x40 = 0x40012040
Timer A Pre-scale Match This register allows software to extend the range of the TAMATCHR when used individually.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TAPSMR RWGPT Timer A Pre-scale Match. In 16 bit mode this field holds bits 23 to 16. |
TBPMR @0x44 = 0x40012044
Timer B Pre-scale Match This register allows software to extend the range of the TBMATCHR when used individually.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TBPSMR RWGPT Timer B Pre-scale Match Register. In 16 bit mode this field holds bits 23 to 16. |
TAR @0x48 = 0x40012048
Timer A Register This register shows the current value of the Timer A counter in all cases except for Input Edge Count and Time modes. In the Input Edge Count mode, this register contains the number of edges that have occurred. In the Input Edge Time mode, this register contains the time at which the last edge event took place. When a GPT is configured to one of the 32-bit modes, this register appears as a 32-bit register (the upper 16-bits correspond to the contents of the Timer B (TBR) register). In the16-bit Input Edge Count, Input Edge Time, and PWM modes, bits 15:0 contain the value of the counter and bits 23:16 contain the value of the prescaler, which is the upper 8 bits of the count. Bits 31:24 always read as 0. To read the value of the prescaler in 16-bit One-Shot and Periodic modes, read bits [23:16] in the TAV register. To read the value of the prescalar in periodic snapshot mode, read the Timer A Prescale Snapshot (TAPS) register.
TBR @0x4c = 0x4001204c
Timer B Register This register shows the current value of the Timer B counter in all cases except for Input Edge Count and Time modes. In the Input Edge Count mode, this register contains the number of edges that have occurred. In the Input Edge Time mode, this register contains the time at which the last edge event took place. When a GPTM is configured to one of the 32-bit modes, the contents of bits 15:0 in this register are loaded into the upper 16 bits of the TAR register. Reads from this register return the current value of Timer B. In a 16-bit mode, bits 15:0 contain the value of the counter and bits 23:16 contain the value of the prescaler in Input Edge Count, Input Edge Time, and PWM modes, which is the upper 8 bits of the count. Bits 31:24 always read as 0. To read the value of the prescaler in 16-bit One-Shot and Periodic modes, read bits [23:16] in the TBV register. To read the value of the prescalar in periodic snapshot mode, read the Timer B Prescale Snapshot (TBPS) register.
TAV @0x50 = 0x40012050
Timer A Value When read, this register shows the current, free-running value of Timer A in all modes. Softwarecan use this value to determine the time elapsed between an interrupt and the ISR entry when using the snapshot feature with the periodic operating mode. When written, the value written into this register is loaded into the TAR register on the next clock cycle. When a 16/32-bit GPTM is configured to one of the 32-bit modes, this register appears as a 32-bit register (the upper 16-bits correspond to the contents of the GPTM Timer B Value (TBV) register). In a 16-bit mode, bits 15:0 contain the value of the counter and bits 23:16 contain the current, free-running value of the prescaler, which is the upper 8 bits of the count in Input Edge Count, Input Edge Time, PWM and one-shot or periodic up count modes. In one-shot or periodic down count modes, the prescaler stored in 23:16 is a true prescaler, meaning bits 23:16 count down before decrementing the value in bits 15:0. The prescaler in bits 31:24 always reads as 0.
TBV @0x54 = 0x40012054
Timer B Value When read, this register shows the current, free-running value of Timer B in all modes. Software can use this value to determine the time elapsed between an interrupt and the ISR entry. When written, the value written into this register is loaded into the TBR register on the next clock cycle. When a 16/32-bit GPTM is configured to one of the 32-bit modes, the contents of bits 15:0 in this register are loaded into the upper 16 bits of the TAV register. Reads from this register return the current free-running value of Timer B. In a 16-bit mode, bits 15:0 contain the value of the counter and bits 23:16 contain the current, free-running value of the prescaler, which is the upper 8 bits of the count in Input Edge Count, Input Edge Time, PWM and one-shot or periodic up count modes. In one-shot or periodic down count modes, the prescaler stored in 23:16 is a true prescaler, meaning bits 23:16 count down before decrementing the value in bits 15:0. The prescaler in bits 31:24 always reads as 0.
TAPS @0x5c = 0x4001205c
Timer A Pre-scale Snap-shot Based on the value in the register field TAMR.TAILD, this register is updated with the value from TAPR register either on the next cycle or on the next timeout. This register shows the current value of the Timer A pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSS RGPT Timer A Pre-scaler |
TBPS @0x60 = 0x40012060
Timer B Pre-scale Snap-shot Based on the value in the register field TBMR.TBILD, this register is updated with the value from TBPR register either on the next cycle or on the next timeout. This register shows the current value of the Timer B pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSS RGPT Timer B Pre-scaler |
TAPV @0x64 = 0x40012064
Timer A Pre-scale Value This register shows the current value of the Timer A free running pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSV RGPT Timer A Pre-scaler Value |
TBPV @0x68 = 0x40012068
Timer B Pre-scale Value This register shows the current value of the Timer B free running pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSV RGPT Timer B Pre-scaler Value |
DMAEV @0x6c = 0x4001206c
DMA Event This register allows software to enable/disable GPT DMA trigger events.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATODMAEN RWGPT Timer A Time-Out DMA Trigger Enable |
[1] CAMDMAEN RWGPT Timer A Capture Match DMA Trigger Enable |
[2] CAEDMAEN RWGPT Timer A Capture Event DMA Trigger Enable |
[4] TAMDMAEN RWGPT Timer A Match DMA Trigger Enable |
[8] TBTODMAEN RWGPT Timer B Time-Out DMA Trigger Enable |
[9] CBMDMAEN RWGPT Timer B Capture Match DMA Trigger Enable |
[10] CBEDMAEN RWGPT Timer B Capture Event DMA Trigger Enable |
[11] TBMDMAEN RWGPT Timer B Match DMA Trigger Enable |
VERSION @0xfb0 = 0x40012fb0
Peripheral Version This register provides information regarding the GPT version
ANDCCP @0xfb4 = 0x40012fb4
Combined CCP Output This register is used to logically AND CCP output pairs for each timer
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CCP_AND_EN RWEnables AND operation of the CCP outputs for timers A and B. 0 : PWM outputs of Timer A and Timer B are the internal generated PWM signals of the respective timers. 1 : PWM output of Timer A is ANDed version of Timer A and Timer B PWM signals and Timer B PWM ouput is Timer B PWM signal only. |
GPT3 at 0x40013000 with offset=0 and size=4096:
General Purpose Timer.
Registers:
CFG @0x0 = 0x40013000
Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0..=2] CFG RWGPT Configuration 0x2- 0x3 - Reserved 0x5- 0x7 - Reserved Possible values:
|
TAMR @0x4 = 0x40013004
Timer A Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] TAMR RWGPT Timer A Mode 0x0 Reserved 0x1 One-Shot Timer mode 0x2 Periodic Timer mode 0x3 Capture mode The Timer mode is based on the timer configuration defined by bits 2:0 in the CFG register Possible values:
|
[2] TACM RWGPT Timer A Capture Mode Possible values:
|
[3] TAAMS RWGPT Timer A Alternate Mode Note: To enable PWM mode, you must also clear TACM and then configure TAMR field to 0x2. Possible values:
|
[4] TACDIR RWGPT Timer A Count Direction Possible values:
|
[5] TAMIE RWGPT Timer A Match Interrupt Enable Possible values:
|
[6] TAWOT RWGPT Timer A Wait-On-Trigger Possible values:
|
[7] TASNAPS RWGPT Timer A Snap-Shot Mode Possible values:
|
[8] TAILD RWGPT Timer A PWM Interval Load Write Possible values:
|
[9] TAPWMIE RWGPTM Timer A PWM Interrupt Enable This bit enables interrupts in PWM mode on rising, falling, or both edges of the CCP output, as defined by the CTL.TAEVENT In addition, when this bit is set and a capture event occurs, Timer A automatically generates triggers to the DMA if the trigger capability is enabled by setting the CTL.TAOTE bit and the DMAEV.CAEDMAEN bit respectively. 0 Capture event interrupt is disabled. 1 Capture event interrupt is enabled. This bit is only valid in PWM mode. Possible values:
|
[10] TAMRSU RWTimer A Match Register Update mode This bit defines when the TAMATCHR and TAPR registers are updated. If the timer is disabled (CTL.TAEN = 0) when this bit is set, TAMATCHR and TAPR are updated when the timer is enabled. If the timer is stalled (CTL.TASTALL = 1) when this bit is set, TAMATCHR and TAPR are updated according to the configuration of this bit. Possible values:
|
[11] TAPLO RWGPTM Timer A PWM Legacy Operation 0 Legacy operation with CCP pin driven Low when the TAILR register is reloaded after the timer reaches 0. 1 CCP is driven High when the TAILR register is reloaded after the timer reaches 0. This bit is only valid in PWM mode. Possible values:
|
[12] TACINTD RWOne-Shot/Periodic Interrupt Disable Possible values:
|
[13..=15] TCACT RWTimer Compare Action Select Possible values:
|
TBMR @0x8 = 0x40013008
Timer B Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] TBMR RWGPT Timer B Mode 0x0 Reserved 0x1 One-Shot Timer mode 0x2 Periodic Timer mode 0x3 Capture mode The Timer mode is based on the timer configuration defined by bits 2:0 in the CFG register Possible values:
|
[2] TBCM RWGPT Timer B Capture Mode Possible values:
|
[3] TBAMS RWGPT Timer B Alternate Mode Note: To enable PWM mode, you must also clear TBCM bit and configure TBMR field to 0x2. Possible values:
|
[4] TBCDIR RWGPT Timer B Count Direction Possible values:
|
[5] TBMIE RWGPT Timer B Match Interrupt Enable. Possible values:
|
[6] TBWOT RWGPT Timer B Wait-On-Trigger Possible values:
|
[7] TBSNAPS RWGPT Timer B Snap-Shot Mode Possible values:
|
[8] TBILD RWGPT Timer B PWM Interval Load Write Possible values:
|
[9] TBPWMIE RWGPTM Timer B PWM Interrupt Enable This bit enables interrupts in PWM mode on rising, falling, or both edges of the CCP output, as defined by the CTL.TBEVENT In addition, when this bit is set and a capture event occurs, Timer A automatically generates triggers to the DMA if the trigger capability is enabled by setting the CTL.TBOTE bit and the DMAEV.CBEDMAEN bit respectively. 0 Capture event interrupt is disabled. 1 Capture event interrupt is enabled. This bit is only valid in PWM mode. Possible values:
|
[10] TBMRSU RWTimer B Match Register Update mode This bit defines when the TBMATCHR and TBPR registers are updated If the timer is disabled (CTL.TBEN is clear) when this bit is set, TBMATCHR and TBPR are updated when the timer is enabled. If the timer is stalled (CTL.TBSTALL is set) when this bit is set, TBMATCHR and TBPR are updated according to the configuration of this bit. Possible values:
|
[11] TBPLO RWGPTM Timer B PWM Legacy Operation 0 Legacy operation with CCP pin driven Low when the TBILR register is reloaded after the timer reaches 0. 1 CCP is driven High when the TBILR register is reloaded after the timer reaches 0. This bit is only valid in PWM mode. Possible values:
|
[12] TBCINTD RWOne-Shot/Periodic Interrupt Mode Possible values:
|
[13..=15] TCACT RWTimer Compare Action Select Possible values:
|
CTL @0xc = 0x4001300c
Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] TAEN RWGPT Timer A Enable Possible values:
|
[1] TASTALL RWGPT Timer A Stall Enable Possible values:
|
[2..=3] TAEVENT RWGPT Timer A Event Mode The values in this register are defined as follows: Value Description 0x0 Positive edge 0x1 Negative edge 0x2 Reserved 0x3 Both edges Note: If PWM output inversion is enabled, edge detection interrupt behavior is reversed. Thus, if a positive-edge interrupt trigger has been set and the PWM inversion generates a postive edge, no event-trigger interrupt asserts. Instead, the interrupt is generated on the negative edge of the PWM signal. Possible values:
|
[6] TAPWML RWGPT Timer A PWM Output Level Possible values:
|
[8] TBEN RWGPT Timer B Enable Possible values:
|
[9] TBSTALL RWGPT Timer B Stall Enable Possible values:
|
[10..=11] TBEVENT RWGPT Timer B Event Mode The values in this register are defined as follows: Value Description 0x0 Positive edge 0x1 Negative edge 0x2 Reserved 0x3 Both edges Note: If PWM output inversion is enabled, edge detection interrupt behavior is reversed. Thus, if a positive-edge interrupt trigger has been set and the PWM inversion generates a postive edge, no event-trigger interrupt asserts. Instead, the interrupt is generated on the negative edge of the PWM signal. Possible values:
|
[14] TBPWML RWGPT Timer B PWM Output Level 0: Output is unaffected. 1: Output is inverted. Possible values:
|
SYNC @0x10 = 0x40013010
Synch Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=1] SYNC0 WSynchronize GPT Timer 0 Possible values:
|
[2..=3] SYNC1 WSynchronize GPT Timer 1 Possible values:
|
[4..=5] SYNC2 WSynchronize GPT Timer 2. Possible values:
|
[6..=7] SYNC3 WSynchronize GPT Timer 3. Possible values:
|
IMR @0x18 = 0x40013018
Interrupt Mask This register is used to enable the interrupts. Associated registers: RIS, MIS, ICLR
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] TATOIM RWEnabling this bit will make the RIS.TATORIS interrupt propagate to MIS.TATOMIS Possible values:
|
[1] CAMIM RWEnabling this bit will make the RIS.CAMRIS interrupt propagate to MIS.CAMMIS Possible values:
|
[2] CAEIM RWEnabling this bit will make the RIS.CAERIS interrupt propagate to MIS.CAEMIS Possible values:
|
[4] TAMIM RWEnabling this bit will make the RIS.TAMRIS interrupt propagate to MIS.TAMMIS Possible values:
|
[5] DMAAIM RWEnabling this bit will make the RIS.DMAARIS interrupt propagate to MIS.DMAAMIS Possible values:
|
[8] TBTOIM RWEnabling this bit will make the RIS.TBTORIS interrupt propagate to MIS.TBTOMIS Possible values:
|
[9] CBMIM RWEnabling this bit will make the RIS.CBMRIS interrupt propagate to MIS.CBMMIS Possible values:
|
[10] CBEIM RWEnabling this bit will make the RIS.CBERIS interrupt propagate to MIS.CBEMIS Possible values:
|
[11] TBMIM RWEnabling this bit will make the RIS.TBMRIS interrupt propagate to MIS.TBMMIS Possible values:
|
[13] DMABIM RWEnabling this bit will make the RIS.DMABRIS interrupt propagate to MIS.DMABMIS Possible values:
|
RIS @0x1c = 0x4001301c
Raw Interrupt Status Associated registers: IMR, MIS, ICLR
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATORIS RGPT Timer A Time-out Raw Interrupt 0: Timer A has not timed out 1: Timer A has timed out. This interrupt is asserted when a one-shot or periodic mode timer reaches its count limit. The count limit is 0 or the value loaded into TAILR, depending on the count direction. |
[1] CAMRIS RGPT Timer A Capture Mode Match Raw Interrupt 0: The capture mode match for Timer A has not occurred. 1: A capture mode match has occurred for Timer A. This interrupt asserts when the values in the TAR and TAPR match the values in the TAMATCHR and TAPMR when configured in Input Edge-Time mode. This bit is cleared by writing a 1 to the ICLR.CAMCINT bit. |
[2] CAERIS RGPT Timer A Capture Mode Event Raw Interrupt 0: The event has not occured. 1: The event has occured. This interrupt asserts when the subtimer is configured in Input Edge-Time mode |
[4] TAMRIS RGPT Timer A Match Raw Interrupt 0: The match value has not been reached 1: The match value is reached. TAMR.TAMIE is set, and the match values in TAMATCHR and optionally TAPMR have been reached when configured in one-shot or periodic mode. |
[5] DMAARIS RGPT Timer A DMA Done Raw Interrupt Status 0: Transfer has not completed 1: Transfer has completed |
[8] TBTORIS RGPT Timer B Time-out Raw Interrupt 0: Timer B has not timed out 1: Timer B has timed out. This interrupt is asserted when a one-shot or periodic mode timer reaches its count limit. The count limit is 0 or the value loaded into TBILR, depending on the count direction. |
[9] CBMRIS RGPT Timer B Capture Mode Match Raw Interrupt 0: The capture mode match for Timer B has not occurred. 1: A capture mode match has occurred for Timer B. This interrupt asserts when the values in the TBR and TBPR match the values in the TBMATCHR and TBPMR when configured in Input Edge-Time mode. This bit is cleared by writing a 1 to the ICLR.CBMCINT bit. |
[10] CBERIS RGPT Timer B Capture Mode Event Raw Interrupt 0: The event has not occured. 1: The event has occured. This interrupt asserts when the subtimer is configured in Input Edge-Time mode |
[11] TBMRIS RGPT Timer B Match Raw Interrupt 0: The match value has not been reached 1: The match value is reached. TBMR.TBMIE is set, and the match values in TBMATCHR and optionally TBPMR have been reached when configured in one-shot or periodic mode. |
[13] DMABRIS RGPT Timer B DMA Done Raw Interrupt Status 0: Transfer has not completed 1: Transfer has completed |
MIS @0x20 = 0x40013020
Masked Interrupt Status Values are result of bitwise AND operation between RIS and IMR Assosciated clear register: ICLR
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATOMIS R0: No interrupt or interrupt not enabled 1: RIS.TATORIS = 1 && IMR.TATOIM = 1 |
[1] CAMMIS R0: No interrupt or interrupt not enabled 1: RIS.CAMRIS = 1 && IMR.CAMIM = 1 |
[2] CAEMIS R0: No interrupt or interrupt not enabled 1: RIS.CAERIS = 1 && IMR.CAEIM = 1 |
[4] TAMMIS R0: No interrupt or interrupt not enabled 1: RIS.TAMRIS = 1 && IMR.TAMIM = 1 |
[5] DMAAMIS R0: No interrupt or interrupt not enabled 1: RIS.DMAARIS = 1 && IMR.DMAAIM = 1 |
[8] TBTOMIS R0: No interrupt or interrupt not enabled 1: RIS.TBTORIS = 1 && IMR.TBTOIM = 1 |
[9] CBMMIS R0: No interrupt or interrupt not enabled 1: RIS.CBMRIS = 1 && IMR.CBMIM = 1 |
[10] CBEMIS R0: No interrupt or interrupt not enabled 1: RIS.CBERIS = 1 && IMR.CBEIM = 1 |
[11] TBMMIS R0: No interrupt or interrupt not enabled 1: RIS.TBMRIS = 1 && IMR.TBMIM = 1 |
[13] DMABMIS R0: No interrupt or interrupt not enabled 1: RIS.DMABRIS = 1 && IMR.DMABIM = 1 |
ICLR @0x24 = 0x40013024
Interrupt Clear This register is used to clear status bits in the RIS and MIS registers
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATOCINT RW0: Do nothing. 1: Clear RIS.TATORIS and MIS.TATOMIS |
[1] CAMCINT RW0: Do nothing. 1: Clear RIS.CAMRIS and MIS.CAMMIS |
[2] CAECINT RW0: Do nothing. 1: Clear RIS.CAERIS and MIS.CAEMIS |
[4] TAMCINT RW0: Do nothing. 1: Clear RIS.TAMRIS and MIS.TAMMIS |
[5] DMAAINT RW0: Do nothing. 1: Clear RIS.DMAARIS and MIS.DMAAMIS |
[8] TBTOCINT RW0: Do nothing. 1: Clear RIS.TBTORIS and MIS.TBTOMIS |
[9] CBMCINT RW0: Do nothing. 1: Clear RIS.CBMRIS and MIS.CBMMIS |
[10] CBECINT RW0: Do nothing. 1: Clear RIS.CBERIS and MIS.CBEMIS |
[11] TBMCINT RW0: Do nothing. 1: Clear RIS.TBMRIS and MIS.TBMMIS |
[13] DMABINT RW0: Do nothing. 1: Clear RIS.DMABRIS and MIS.DMABMIS |
TAILR @0x28 = 0x40013028
Timer A Interval Load Register
TBILR @0x2c = 0x4001302c
Timer B Interval Load Register
TAMATCHR @0x30 = 0x40013030
Timer A Match Register Interrupts can be generated when the timer value is equal to the value in this register in one-shot or periodic mode. In Edge-Count mode, this register along with TAILR, determines how many edge events are counted. The total number of edge events counted is equal to the value in TAILR minus this value. Note that in edge-count mode, when executing an up-count, the value of TAPR and TAILR must be greater than the value of TAPMR and this register. In PWM mode, this value along with TAILR, determines the duty cycle of the output PWM signal. When a 16/32-bit GPT is configured to one of the 32-bit modes, TAMATCHR appears as a 32-bit register. (The upper 16-bits correspond to the contents TBMATCHR). In a 16-bit mode, the upper 16 bits of this register read as 0s and have no effect on the state of TBMATCHR. Note : This register is updated internally (takes effect) based on TAMR.TAMRSU
TBMATCHR @0x34 = 0x40013034
Timer B Match Register When a GPT is configured to one of the 32-bit modes, the contents of bits 15:0 in this register are loaded into the upper 16 bits of TAMATCHR. Reads from this register return the current match value of Timer B and writes are ignored. In a 16-bit mode, bits 15:0 are used for the match value. Bits 31:16 are reserved in both cases. Note : This register is updated internally (takes effect) based on TBMR.TBMRSU
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] TBMATCHR RWGPT Timer B Match Register |
TAPR @0x38 = 0x40013038
Timer A Pre-scale This register allows software to extend the range of the timers when they are used individually. When in one-shot or periodic down count modes, this register acts as a true prescaler for the timer counter. When acting as a true prescaler, the prescaler counts down to 0 before the value in TAR and TAV registers are incremented. In all other individual/split modes, this register is a linear extension of the upper range of the timer counter, holding bits 23:16 in the 16-bit modes of the 16/32-bit GPT.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TAPSR RWTimer A Pre-scale. Prescaler ratio in one-shot and periodic count mode is TAPSR + 1, that is: 0: Prescaler ratio = 1 1: Prescaler ratio = 2 2: Prescaler ratio = 3 ... 255: Prescaler ratio = 256 |
TBPR @0x3c = 0x4001303c
Timer B Pre-scale This register allows software to extend the range of the timers when they are used individually. When in one-shot or periodic down count modes, this register acts as a true prescaler for the timer counter. When acting as a true prescaler, the prescaler counts down to 0 before the value in TBR and TBV registers are incremented. In all other individual/split modes, this register is a linear extension of the upper range of the timer counter, holding bits 23:16 in the 16-bit modes of the 16/32-bit GPT.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TBPSR RWTimer B Pre-scale. Prescale ratio in one-shot and periodic count mode is TBPSR + 1, that is: 0: Prescaler ratio = 1 1: Prescaler ratio = 2 2: Prescaler ratio = 3 ... 255: Prescaler ratio = 256 |
TAPMR @0x40 = 0x40013040
Timer A Pre-scale Match This register allows software to extend the range of the TAMATCHR when used individually.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TAPSMR RWGPT Timer A Pre-scale Match. In 16 bit mode this field holds bits 23 to 16. |
TBPMR @0x44 = 0x40013044
Timer B Pre-scale Match This register allows software to extend the range of the TBMATCHR when used individually.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] TBPSMR RWGPT Timer B Pre-scale Match Register. In 16 bit mode this field holds bits 23 to 16. |
TAR @0x48 = 0x40013048
Timer A Register This register shows the current value of the Timer A counter in all cases except for Input Edge Count and Time modes. In the Input Edge Count mode, this register contains the number of edges that have occurred. In the Input Edge Time mode, this register contains the time at which the last edge event took place. When a GPT is configured to one of the 32-bit modes, this register appears as a 32-bit register (the upper 16-bits correspond to the contents of the Timer B (TBR) register). In the16-bit Input Edge Count, Input Edge Time, and PWM modes, bits 15:0 contain the value of the counter and bits 23:16 contain the value of the prescaler, which is the upper 8 bits of the count. Bits 31:24 always read as 0. To read the value of the prescaler in 16-bit One-Shot and Periodic modes, read bits [23:16] in the TAV register. To read the value of the prescalar in periodic snapshot mode, read the Timer A Prescale Snapshot (TAPS) register.
TBR @0x4c = 0x4001304c
Timer B Register This register shows the current value of the Timer B counter in all cases except for Input Edge Count and Time modes. In the Input Edge Count mode, this register contains the number of edges that have occurred. In the Input Edge Time mode, this register contains the time at which the last edge event took place. When a GPTM is configured to one of the 32-bit modes, the contents of bits 15:0 in this register are loaded into the upper 16 bits of the TAR register. Reads from this register return the current value of Timer B. In a 16-bit mode, bits 15:0 contain the value of the counter and bits 23:16 contain the value of the prescaler in Input Edge Count, Input Edge Time, and PWM modes, which is the upper 8 bits of the count. Bits 31:24 always read as 0. To read the value of the prescaler in 16-bit One-Shot and Periodic modes, read bits [23:16] in the TBV register. To read the value of the prescalar in periodic snapshot mode, read the Timer B Prescale Snapshot (TBPS) register.
TAV @0x50 = 0x40013050
Timer A Value When read, this register shows the current, free-running value of Timer A in all modes. Softwarecan use this value to determine the time elapsed between an interrupt and the ISR entry when using the snapshot feature with the periodic operating mode. When written, the value written into this register is loaded into the TAR register on the next clock cycle. When a 16/32-bit GPTM is configured to one of the 32-bit modes, this register appears as a 32-bit register (the upper 16-bits correspond to the contents of the GPTM Timer B Value (TBV) register). In a 16-bit mode, bits 15:0 contain the value of the counter and bits 23:16 contain the current, free-running value of the prescaler, which is the upper 8 bits of the count in Input Edge Count, Input Edge Time, PWM and one-shot or periodic up count modes. In one-shot or periodic down count modes, the prescaler stored in 23:16 is a true prescaler, meaning bits 23:16 count down before decrementing the value in bits 15:0. The prescaler in bits 31:24 always reads as 0.
TBV @0x54 = 0x40013054
Timer B Value When read, this register shows the current, free-running value of Timer B in all modes. Software can use this value to determine the time elapsed between an interrupt and the ISR entry. When written, the value written into this register is loaded into the TBR register on the next clock cycle. When a 16/32-bit GPTM is configured to one of the 32-bit modes, the contents of bits 15:0 in this register are loaded into the upper 16 bits of the TAV register. Reads from this register return the current free-running value of Timer B. In a 16-bit mode, bits 15:0 contain the value of the counter and bits 23:16 contain the current, free-running value of the prescaler, which is the upper 8 bits of the count in Input Edge Count, Input Edge Time, PWM and one-shot or periodic up count modes. In one-shot or periodic down count modes, the prescaler stored in 23:16 is a true prescaler, meaning bits 23:16 count down before decrementing the value in bits 15:0. The prescaler in bits 31:24 always reads as 0.
TAPS @0x5c = 0x4001305c
Timer A Pre-scale Snap-shot Based on the value in the register field TAMR.TAILD, this register is updated with the value from TAPR register either on the next cycle or on the next timeout. This register shows the current value of the Timer A pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSS RGPT Timer A Pre-scaler |
TBPS @0x60 = 0x40013060
Timer B Pre-scale Snap-shot Based on the value in the register field TBMR.TBILD, this register is updated with the value from TBPR register either on the next cycle or on the next timeout. This register shows the current value of the Timer B pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSS RGPT Timer B Pre-scaler |
TAPV @0x64 = 0x40013064
Timer A Pre-scale Value This register shows the current value of the Timer A free running pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSV RGPT Timer A Pre-scaler Value |
TBPV @0x68 = 0x40013068
Timer B Pre-scale Value This register shows the current value of the Timer B free running pre-scaler in the 16-bit mode.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] PSV RGPT Timer B Pre-scaler Value |
DMAEV @0x6c = 0x4001306c
DMA Event This register allows software to enable/disable GPT DMA trigger events.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TATODMAEN RWGPT Timer A Time-Out DMA Trigger Enable |
[1] CAMDMAEN RWGPT Timer A Capture Match DMA Trigger Enable |
[2] CAEDMAEN RWGPT Timer A Capture Event DMA Trigger Enable |
[4] TAMDMAEN RWGPT Timer A Match DMA Trigger Enable |
[8] TBTODMAEN RWGPT Timer B Time-Out DMA Trigger Enable |
[9] CBMDMAEN RWGPT Timer B Capture Match DMA Trigger Enable |
[10] CBEDMAEN RWGPT Timer B Capture Event DMA Trigger Enable |
[11] TBMDMAEN RWGPT Timer B Match DMA Trigger Enable |
VERSION @0xfb0 = 0x40013fb0
Peripheral Version This register provides information regarding the GPT version
ANDCCP @0xfb4 = 0x40013fb4
Combined CCP Output This register is used to logically AND CCP output pairs for each timer
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CCP_AND_EN RWEnables AND operation of the CCP outputs for timers A and B. 0 : PWM outputs of Timer A and Timer B are the internal generated PWM signals of the respective timers. 1 : PWM output of Timer A is ANDed version of Timer A and Timer B PWM signals and Timer B PWM ouput is Timer B PWM signal only. |
I2C0 at 0x40002000 with offset=0 and size=4096:
I2CMaster/Slave Serial Controler
Registers:
SOAR @0x0 = 0x40002000
Slave Own Address This register consists of seven address bits that identify this I2C device on the I2C bus.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=6] OAR RWI2C slave own address This field specifies bits a6 through a0 of the slave address. |
SSTAT @0x4 = 0x40002004
Slave Status Note: This register shares address with SCTL, meaning that this register functions as a control register when written, and a status register when read.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RREQ RReceive request 0: No outstanding receive data 1: The I2C controller has outstanding receive data from the I2C master and is using clock stretching to delay the master until data has been read from the SDR register. |
[1] TREQ RTransmit request 0: No outstanding transmit request. 1: The I2C controller has been addressed as a slave transmitter and is using clock stretching to delay the master until data has been written to the SDR register. |
[2] FBR RFirst byte received 0: The first byte has not been received. 1: The first byte following the slave's own address has been received. This bit is only valid when the RREQ bit is set and is automatically cleared when data has been read from the SDR register. Note: This bit is not used for slave transmit operations. |
SCTL @0x4 = 0x40002004
Slave Control Note: This register shares address with SSTAT, meaning that this register functions as a control register when written, and a status register when read.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DA WDevice active 0: Disables the I2C slave operation 1: Enables the I2C slave operation |
SDR @0x8 = 0x40002008
Slave Data This register contains the data to be transmitted when in the Slave Transmit state, and the data received when in the Slave Receive state.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] DATA RWData for transfer This field contains the data for transfer during a slave receive or transmit operation. When written the register data is used as transmit data. When read, this register returns the last data received. Data is stored until next update, either by a system write for transmit or by an external master for receive. |
SIMR @0xc = 0x4000200c
Slave Interrupt Mask This register controls whether a raw interrupt is promoted to a controller interrupt.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||
[0] DATAIM RWData interrupt mask 0: The SRIS.DATARIS interrupt is suppressed and not sent to the interrupt controller. 1: The SRIS.DATARIS interrupt is enabled and sent to the interrupt controller. |
[1] STARTIM RWStart condition interrupt mask 0: The SRIS.STARTRIS interrupt is suppressed and not sent to the interrupt controller. 1: The SRIS.STARTRIS interrupt is enabled and sent to the interrupt controller. Possible values:
|
[2] STOPIM RWStop condition interrupt mask 0: The SRIS.STOPRIS interrupt is suppressed and not sent to the interrupt controller. 1: The SRIS.STOPRIS interrupt is enabled and sent to the interrupt controller. Possible values:
|
SRIS @0x10 = 0x40002010
Slave Raw Interrupt Status This register shows the unmasked interrupt status.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DATARIS RData raw interrupt status 0: No interrupt 1: A data received or data requested interrupt is pending. This bit is cleared by writing a 1 to the SICR.DATAIC. |
[1] STARTRIS RStart condition raw interrupt status 0: No interrupt 1: A Start condition interrupt is pending. This bit is cleared by writing a 1 to SICR.STARTIC. |
[2] STOPRIS RStop condition raw interrupt status 0: No interrupt 1: A Stop condition interrupt is pending. This bit is cleared by writing a 1 to SICR.STOPIC. |
SMIS @0x14 = 0x40002014
Slave Masked Interrupt Status This register show which interrupt is active (based on result from SRIS and SIMR).
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DATAMIS RData masked interrupt status 0: An interrupt has not occurred or is masked/disabled. 1: An unmasked data received or data requested interrupt is pending. This bit is cleared by writing a 1 to the SICR.DATAIC. |
[1] STARTMIS RStart condition masked interrupt status 0: An interrupt has not occurred or is masked/disabled. 1: An unmasked Start condition interrupt is pending. This bit is cleared by writing a 1 to the SICR.STARTIC. |
[2] STOPMIS RStop condition masked interrupt status 0: An interrupt has not occurred or is masked/disabled. 1: An unmasked Stop condition interrupt is pending. This bit is cleared by writing a 1 to the SICR.STOPIC. |
SICR @0x18 = 0x40002018
Slave Interrupt Clear This register clears the raw interrupt SRIS.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] DATAIC WData interrupt clear Writing 1 to this bit clears SRIS.DATARIS SMIS.DATAMIS. |
[1] STARTIC WStart condition interrupt clear Writing 1 to this bit clears SRIS.STARTRIS SMIS.STARTMIS. |
[2] STOPIC WStop condition interrupt clear Writing 1 to this bit clears SRIS.STOPRIS and SMIS.STOPMIS. |
MSA @0x800 = 0x40002800
Master Salve Address This register contains seven address bits of the slave to be accessed by the master (a6-a0), and an RS bit determining if the next operation is a receive or transmit.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0] RS RWReceive or Send This bit-field specifies if the next operation is a receive (high) or a transmit/send (low) from the addressed slave SA. Possible values:
|
[1..=7] SA RWI2C master slave address Defines which slave is addressed for the transaction in master mode |
MSTAT @0x804 = 0x40002804
Master Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] BUSY RI2C busy 0: The controller is idle. 1: The controller is busy. When this bit-field is set, the other status bits are not valid. Note: The I2C controller requires four SYSBUS clock cycles to assert the BUSY status after I2C master operation has been initiated through MCTRL register. Hence after programming MCTRL register, application is requested to wait for four SYSBUS clock cycles before issuing a controller status inquiry through MSTAT register. Any prior inquiry would result in wrong status being reported. |
[1] ERR RError 0: No error was detected on the last operation. 1: An error occurred on the last operation. |
[2] ADRACK_N RAddress Was Not Acknowledge 0: The transmitted address was acknowledged. 1: The transmitted address was not acknowledged. |
[3] DATACK_N RData Was Not Acknowledge 0: The transmitted data was acknowledged. 1: The transmitted data was not acknowledged. |
[4] ARBLST RArbitration lost 0: The I2C controller won arbitration. 1: The I2C controller lost arbitration. |
[5] IDLE RI2C idle 0: The I2C controller is not idle. 1: The I2C controller is idle. |
[6] BUSBSY RBus busy 0: The I2C bus is idle. 1: The I2C bus is busy. The bit changes based on the MCTRL.START and MCTRL.STOP conditions. |
MCTRL @0x804 = 0x40002804
Master Control This register accesses status bits when read and control bits when written. When read, the status register indicates the state of the I2C bus controller as stated in MSTAT. When written, the control register configures the I2C controller operation. To generate a single transmit cycle, the I2C Master Slave Address (MSA) register is written with the desired address, the MSA.RS bit is cleared, and this register is written with * ACK=X (0 or 1), * STOP=1, * START=1, * RUN=1 to perform the operation and stop. When the operation is completed (or aborted due an error), an interrupt becomes active and the data may be read from the MDR register.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||
[0] RUN WI2C master enable 0: The master is disabled. 1: The master is enabled to transmit or receive data. Possible values:
|
[1] START WThis bit-field generates the Start or Repeated Start condition. 0: The controller does not generate the Start condition. 1: The controller generates the Start condition. Possible values:
|
[2] STOP WThis bit-field determines if the cycle stops at the end of the data cycle or continues on to a repeated START condition. 0: The controller does not generate the Stop condition. 1: The controller generates the Stop condition. Possible values:
|
[3] ACK WData acknowledge enable 0: The received data byte is not acknowledged automatically by the master. 1: The received data byte is acknowledged automatically by the master. This bit-field must be cleared when the I2C bus controller requires no further data to be transmitted from the slave transmitter. Possible values:
|
MDR @0x808 = 0x40002808
Master Data This register contains the data to be transmitted when in the Master Transmit state and the data received when in the Master Receive state.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] DATA RWWhen Read: Last RX Data is returned When Written: Data is transferred during TX transaction |
MTPR @0x80c = 0x4000280c
I2C Master Timer Period This register specifies the period of the SCL clock.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=6] TPR RWSCL clock period This field specifies the period of the SCL clock. SCL_PRD = 2*(1+TPR)*(SCL_LP + SCL_HP)*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 system clock period in ns. |
[7] TPR_7 RWMust be set to 0 to set TPR. If set to 1, a write to TPR will be ignored. |
MIMR @0x810 = 0x40002810
Master Interrupt Mask This register controls whether a raw interrupt is promoted to a controller interrupt.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0] IM RWInterrupt mask 0: The MRIS.RIS interrupt is suppressed and not sent to the interrupt controller. 1: The master interrupt is sent to the interrupt controller when the MRIS.RIS is set. Possible values:
|
MRIS @0x814 = 0x40002814
Master Raw Interrupt Status This register show the unmasked interrupt status.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RIS RRaw interrupt status 0: No interrupt 1: A master interrupt is pending. This bit is cleared by writing 1 to the MICR.IC bit . |
MMIS @0x818 = 0x40002818
Master Masked Interrupt Status This register show which interrupt is active (based on result from MRIS and MIMR).
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] MIS RMasked interrupt status 0: An interrupt has not occurred or is masked. 1: A master interrupt is pending. This bit is cleared by writing 1 to the MICR.IC bit . |
MICR @0x81c = 0x4000281c
Master Interrupt Clear This register clears the raw and masked interrupt.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] IC WInterrupt clear Writing 1 to this bit clears MRIS.RIS and MMIS.MIS . Reading this register returns no meaningful data. |
MCR @0x820 = 0x40002820
Master Configuration This register configures the mode (Master or Slave) and sets the interface for test mode loopback.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||
[0] LPBK RWI2C loopback 0: Normal operation 1: Loopback operation (test mode) Possible values:
|
[4] MFE RWI2C master function enable Possible values:
|
[5] SFE RWI2C slave function enable Possible values:
|
I2S0 at 0x40021000 with offset=0 and size=4096:
I2S Audio DMA module supporting formats I2S, LJF, RJF and DSP
Registers:
AIFWCLKSRC @0x0 = 0x40021000
WCLK Source Selection
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0..=1] WCLK_SRC RWSelects WCLK source for AIF (should be the same as the BCLK source). The BCLK source is defined in the PRCM:I2SBCLKSEL.SRC Possible values:
|
[2] WCLK_INV RWInverts WCLK source (pad or internal) when set. 0: Not inverted 1: Inverted |
AIFDMACFG @0x4 = 0x40021004
DMA Buffer Size Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] END_FRAME_IDX RWDefines the length of the DMA buffer. Writing a non-zero value to this register field enables and initializes AIF. Note that before doing so, all other configuration must have been done, and AIFINPTRNEXT/AIFOUTPTRNEXT must have been loaded. |
AIFDIRCFG @0x8 = 0x40021008
Pin Direction
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||
[0..=1] AD0 RWConfigures the AD0 audio data pin usage: 0x3: Reserved Possible values:
|
[4..=5] AD1 RWConfigures the AD1 audio data pin usage: 0x3: Reserved Possible values:
|
AIFFMTCFG @0xc = 0x4002100c
Serial Interface Format Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||
[0..=4] WORD_LEN RWNumber of bits per word (8-24): In single-phase format, this is the exact number of bits per word. In dual-phase format, this is the maximum number of bits per word. Values below 8 and above 24 give undefined behavior. Data written to memory is always aligned to 16 or 24 bits as defined by MEM_LEN_24. Bit widths that differ from this alignment will either be truncated or zero padded. |
[5] DUAL_PHASE RWSelects dual- or single-phase format. 0: Single-phase: DSP format 1: Dual-phase: I2S, LJF and RJF formats |
[6] SMPL_EDGE RWOn the serial audio interface, data (and wclk) is sampled and clocked out on opposite edges of BCLK. Possible values:
|
[7] MEM_LEN_24 RWThe size of each word stored to or loaded from memory: Possible values:
|
[8..=15] DATA_DELAY RWThe number of BCLK periods between a WCLK edge and MSB of the first word in a phase: 0x00: LJF and DSP format 0x01: I2S and DSP format 0x02: RJF format ... 0xFF: RJF format Note: When 0, MSB of the next word will be output in the idle period between LSB of the previous word and the start of the next word. Otherwise logical 0 will be output until the data delay has expired. |
AIFWMASK0 @0x10 = 0x40021010
Word Selection Bit Mask for Pin 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] MASK RWBit-mask indicating valid channels in a frame on AD0. In single-phase mode, each bit represents one channel, starting with LSB for the first word in the frame. A frame can contain up to 8 channels. Channels that are not included in the mask will not be sampled and stored in memory, and clocked out as '0'. In dual-phase mode, only the two LSBs are considered. For a stereo configuration, set both bits. For a mono configuration, set bit 0 only. In mono mode, only channel 0 will be sampled and stored to memory, and channel 0 will be repeated when clocked out. In mono mode, only channel 0 will be sampled and stored to memory, and channel 0 will be repeated in the second phase when clocked out. If all bits are zero, no input words will be stored to memory, and the output data lines will be constant '0'. This can be utilized when PWM debug output is desired without any actively used output pins. |
AIFWMASK1 @0x14 = 0x40021014
Word Selection Bit Mask for Pin 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] MASK RWBit-mask indicating valid channels in a frame on AD1. In single-phase mode, each bit represents one channel, starting with LSB for the first word in the frame. A frame can contain up to 8 channels. Channels that are not included in the mask will not be sampled and stored in memory, and clocked out as '0'. In dual-phase mode, only the two LSBs are considered. For a stereo configuration, set both bits. For a mono configuration, set bit 0 only. In mono mode, only channel 0 will be sampled and stored to memory, and channel 0 will be repeated when clocked out. In mono mode, only channel 0 will be sampled and stored to memory, and channel 0 will be repeated in the second phase when clocked out. If all bits are zero, no input words will be stored to memory, and the output data lines will be constant '0'. This can be utilized when PWM debug output is desired without any actively used output pins. |
AIFWMASK2 @0x18 = 0x40021018
Internal. Only to be used through TI provided API.
AIFPWMVALUE @0x1c = 0x4002101c
Audio Interface PWM Debug Value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] PULSE_WIDTH RWThe value written to this register determines the width of the active high PWM pulse (pwm_debug), which starts together with MSB of the first output word in a DMA buffer: 0x0000: Constant low 0x0001: Width of the pulse (number of BCLK cycles, here 1). ... 0xFFFE: Width of the pulse (number of BCLK cycles, here 65534). 0xFFFF: Constant high |
AIFINPTRNEXT @0x20 = 0x40021020
DMA Input Buffer Next Pointer
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] PTR RWPointer to the first byte in the next DMA input buffer. The read value equals the last written value until the currently used DMA input buffer is completed, and then becomes null when the last written value is transferred to the DMA controller to start on the next buffer. This event is signalized by IRQFLAGS.AIF_DMA_IN. At startup, the value must be written once before and once after configuring the DMA buffer size in AIFDMACFG. The next pointer must be written to this register while the DMA function uses the previously written pointer. If not written in time, IRQFLAGS.PTR_ERR will be raised and all input pins will be disabled. |
AIFINPTR @0x24 = 0x40021024
DMA Input Buffer Current Pointer
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] PTR RValue of the DMA input buffer pointer currently used by the DMA controller. Incremented by 1 (byte) or 2 (word) for each AHB access. |
AIFOUTPTRNEXT @0x28 = 0x40021028
DMA Output Buffer Next Pointer
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] PTR RWPointer to the first byte in the next DMA output buffer. The read value equals the last written value until the currently used DMA output buffer is completed, and then becomes null when the last written value is transferred to the DMA controller to start on the next buffer. This event is signalized by IRQFLAGS.AIF_DMA_OUT. At startup, the value must be written once before and once after configuring the DMA buffer size in AIFDMACFG. At this time, the first two samples will be fetched from memory. The next pointer must be written to this register while the DMA function uses the previously written pointer. If not written in time, IRQFLAGS.PTR_ERR will be raised and all output pins will be disabled. |
AIFOUTPTR @0x2c = 0x4002102c
DMA Output Buffer Current Pointer
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] PTR RValue of the DMA output buffer pointer currently used by the DMA controller Incremented by 1 (byte) or 2 (word) for each AHB access. |
STMPCTL @0x34 = 0x40021034
Samplestamp Generator Control Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STMP_EN RWEnables the samplestamp generator. The samplestamp generator must only be enabled after it has been properly configured. When cleared, all samplestamp generator counters and capture values are cleared. |
[1] IN_RDY RLow until the input pins are ready to be started by the samplestamp generator. When started (that is STMPINTRIG equals the WCLK counter) the bit goes back low. |
[2] OUT_RDY RLow until the output pins are ready to be started by the samplestamp generator. When started (that is STMPOUTTRIG equals the WCLK counter) the bit goes back low. |
STMPXCNTCAPT0 @0x38 = 0x40021038
Captured XOSC Counter Value, Capture Channel 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] CAPT_VALUE RThe value of the samplestamp XOSC counter (STMPXCNT.CURR_VALUE) last time an event was pulsed (event source selected in [EVENT.I2SSTMPSEL0.EV] for channel 0). This number corresponds to the number of 24 MHz clock cycles since the last positive edge of the selected WCLK. The value is cleared when STMPCTL.STMP_EN = 0. Note: Due to buffering and synchronization, WCLK is delayed by a small number of BCLK periods and clk periods. Note: When calculating the fractional part of the sample stamp, STMPXPER may be less than this bit field. |
STMPXPER @0x3c = 0x4002103c
XOSC Period Value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] VALUE RThe number of 24 MHz clock cycles in the previous WCLK period (that is - the next value of the XOSC counter at the positive WCLK edge, had it not been reset to 0). The value is cleared when STMPCTL.STMP_EN = 0. |
STMPWCNTCAPT0 @0x40 = 0x40021040
Captured WCLK Counter Value, Capture Channel 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] CAPT_VALUE RThe value of the samplestamp WCLK counter (STMPWCNT.CURR_VALUE) last time an event was pulsed (event source selected in EVENT:I2SSTMPSEL0.EV for channel 0). This number corresponds to the number of positive WCLK edges since the samplestamp generator was enabled (not taking modification through STMPWADD/STMPWSET into account). The value is cleared when STMPCTL.STMP_EN = 0. |
STMPWPER @0x44 = 0x40021044
WCLK Counter Period Value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] VALUE RWUsed to define when STMPWCNT is to be reset so number of WCLK edges are found for the size of the sample buffer. This is thus a modulo value for the WCLK counter. This number must correspond to the size of the sample buffer used by the system (that is the index of the last sample plus 1). |
STMPINTRIG @0x48 = 0x40021048
WCLK Counter Trigger Value for Input Pins
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] IN_START_WCNT RWCompare value used to start the incoming audio streams. This bit field shall equal the WCLK counter value during the WCLK period in which the first input word(s) are sampled and stored to memory (that is the sample at the start of the very first DMA input buffer). The value of this register takes effect when the following conditions are met: - One or more pins are configured as inputs in AIFDIRCFG. - AIFDMACFG has been configured for the correct buffer size, and at least 32 BCLK cycle ticks have happened. Note: To avoid false triggers, this bit field should be set higher than STMPWPER.VALUE. |
STMPOUTTRIG @0x4c = 0x4002104c
WCLK Counter Trigger Value for Output Pins
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] OUT_START_WCNT RWCompare value used to start the outgoing audio streams. This bit field must equal the WCLK counter value during the WCLK period in which the first output word(s) read from memory are clocked out (that is the sample at the start of the very first DMA output buffer). The value of this register takes effect when the following conditions are met: - One or more pins are configured as outputs in AIFDIRCFG. - AIFDMACFG has been configured for the correct buffer size, and 32 BCLK cycle ticks have happened. - 2 samples have been preloaded from memory (examine the AIFOUTPTR register if necessary). Note: The memory read access is only performed when required, that is channels 0/1 must be selected in AIFWMASK0/AIFWMASK1. Note: To avoid false triggers, this bit field should be set higher than STMPWPER.VALUE. |
STMPWSET @0x50 = 0x40021050
WCLK Counter Set Operation
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] VALUE RWWCLK counter modification: Sets the running WCLK counter equal to the written value. |
STMPWADD @0x54 = 0x40021054
WCLK Counter Add Operation
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] VALUE_INC RWWCLK counter modification: Adds the written value to the running WCLK counter. If a positive edge of WCLK occurs at the same time as the operation, this will be taken into account. To add a negative value, write "STMPWPER.VALUE - value". |
STMPXPERMIN @0x58 = 0x40021058
XOSC Minimum Period Value Minimum Value of STMPXPER
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] VALUE RWEach time STMPXPER is updated, the value is also loaded into this register, provided that the value is smaller than the current value in this register. When written, the register is reset to 0xFFFF (65535), regardless of the value written. The minimum value can be used to detect extra WCLK pulses (this registers value will be significantly smaller than STMPXPER.VALUE). |
STMPWCNT @0x5c = 0x4002105c
Current Value of WCNT
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] CURR_VALUE RCurrent value of the WCLK counter |
STMPXCNT @0x60 = 0x40021060
Current Value of XCNT
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] CURR_VALUE RCurrent value of the XOSC counter, latched when reading STMPWCNT. |
STMPXCNTCAPT1 @0x64 = 0x40021064
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] CAPT_VALUE RInternal. Only to be used through TI provided API. |
STMPWCNTCAPT1 @0x68 = 0x40021068
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] CAPT_VALUE RInternal. Only to be used through TI provided API. |
IRQMASK @0x70 = 0x40021070
Interrupt Mask Register Selects mask states of the flags in IRQFLAGS that contribute to the I2S_IRQ event.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] PTR_ERR RWIRQFLAGS.PTR_ERR interrupt mask. 0: Disable 1: Enable |
[1] WCLK_ERR RWIRQFLAGS.WCLK_ERR interrupt mask 0: Disable 1: Enable |
[2] BUS_ERR RWIRQFLAGS.BUS_ERR interrupt mask 0: Disable 1: Enable |
[3] WCLK_TIMEOUT RWIRQFLAGS.WCLK_TIMEOUT interrupt mask 0: Disable 1: Enable |
[4] AIF_DMA_OUT RWIRQFLAGS.AIF_DMA_OUT interrupt mask 0: Disable 1: Enable |
[5] AIF_DMA_IN RWIRQFLAGS.AIF_DMA_IN interrupt mask 0: Disable 1: Enable |
IRQFLAGS @0x74 = 0x40021074
Raw Interrupt Status Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] PTR_ERR RSet when AIFINPTRNEXT or AIFOUTPTRNEXT has not been loaded with the next block address in time. This error requires a complete restart since word synchronization has been lost. The bit is sticky and may only be cleared by software (by writing '1' to IRQCLR.PTR_ERR). |
[1] WCLK_ERR RSet when: - An unexpected WCLK edge occurs during the data delay period of a phase. Note unexpected WCLK edges during the word and idle periods of the phase are not detected. - In dual-phase mode, when two WCLK edges are less than 4 BCLK cycles apart. - In single-phase mode, when a WCLK pulse occurs before the last channel. This error requires a complete restart since word synchronization has been lost. The bit is sticky and may only be cleared by software (by writing '1' to IRQCLR.WCLK_ERR). |
[2] BUS_ERR RSet when a DMA operation is not completed in time (that is audio output buffer underflow, or audio input buffer overflow). This error requires a complete restart since word synchronization has been lost. The bit is sticky and may only be cleared by software (by writing '1' to IRQCLR.BUS_ERR). Note that DMA initiated transactions to illegal addresses will not trigger an interrupt. The response to such transactions is undefined. |
[3] WCLK_TIMEOUT RSet when the sample stamp generator does not detect a positive WCLK edge for 65535 clk periods. This signalizes that the internal or external BCLK and WCLK generator source has been disabled. The bit is sticky and may only be cleared by software (by writing '1' to IRQCLR.WCLK_TIMEOUT). |
[4] AIF_DMA_OUT RSet when condition for this bit field event occurs (auto cleared when output pointer is updated - AIFOUTPTRNEXT), see description of AIFOUTPTRNEXT register for details |
[5] AIF_DMA_IN RSet when condition for this bit field event occurs (auto cleared when input pointer is updated - AIFINPTRNEXT), see description of AIFINPTRNEXT register for details. |
IRQSET @0x78 = 0x40021078
Interrupt Set Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] PTR_ERR W1: Sets the interrupt of IRQFLAGS.PTR_ERR |
[1] WCLK_ERR W1: Sets the interrupt of IRQFLAGS.WCLK_ERR |
[2] BUS_ERR W1: Sets the interrupt of IRQFLAGS.BUS_ERR |
[3] WCLK_TIMEOUT W1: Sets the interrupt of IRQFLAGS.WCLK_TIMEOUT |
[4] AIF_DMA_OUT W1: Sets the interrupt of IRQFLAGS.AIF_DMA_OUT (unless a auto clear criteria was given at the same time, in which the set will be ignored) |
[5] AIF_DMA_IN W1: Sets the interrupt of IRQFLAGS.AIF_DMA_IN (unless a auto clear criteria was given at the same time, in which the set will be ignored) |
IRQCLR @0x7c = 0x4002107c
Interrupt Clear Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] PTR_ERR W1: Clears the interrupt of IRQFLAGS.PTR_ERR (unless a set criteria was given at the same time in which the clear will be ignored) |
[1] WCLK_ERR W1: Clears the interrupt of IRQFLAGS.WCLK_ERR (unless a set criteria was given at the same time in which the clear will be ignored) |
[2] BUS_ERR W1: Clears the interrupt of IRQFLAGS.BUS_ERR (unless a set criteria was given at the same time in which the clear will be ignored) |
[3] WCLK_TIMEOUT W1: Clears the interrupt of IRQFLAGS.WCLK_TIMEOUT (unless a set criteria was given at the same time in which the clear will be ignored) |
[4] AIF_DMA_OUT W1: Clears the interrupt of IRQFLAGS.AIF_DMA_OUT (unless a set criteria was given at the same time in which the clear will be ignored) |
[5] AIF_DMA_IN W1: Clears the interrupt of IRQFLAGS.AIF_DMA_IN (unless a set criteria was given at the same time in which the clear will be ignored) |
IOC at 0x40081000 with offset=0 and size=4096:
IO Controller (IOC) - configures all the DIOs and resides in the MCU domain.
Registers:
IOCFG0 @0x0 = 0x40081000
Configuration of DIO0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO0 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG1 @0x4 = 0x40081004
Configuration of DIO1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO1 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG2 @0x8 = 0x40081008
Configuration of DIO2
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO2 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG3 @0xc = 0x4008100c
Configuration of DIO3
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO3 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG4 @0x10 = 0x40081010
Configuration of DIO4
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO4 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG5 @0x14 = 0x40081014
Configuration of DIO5
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO5 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG6 @0x18 = 0x40081018
Configuration of DIO6
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO6 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG7 @0x1c = 0x4008101c
Configuration of DIO7
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO7 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG8 @0x20 = 0x40081020
Configuration of DIO8
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO8 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG9 @0x24 = 0x40081024
Configuration of DIO9
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO9 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG10 @0x28 = 0x40081028
Configuration of DIO10
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO10 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG11 @0x2c = 0x4008102c
Configuration of DIO11
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO11 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG12 @0x30 = 0x40081030
Configuration of DIO12
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO12 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG13 @0x34 = 0x40081034
Configuration of DIO13
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO13 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG14 @0x38 = 0x40081038
Configuration of DIO14
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO14 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG15 @0x3c = 0x4008103c
Configuration of DIO15
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO15 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG16 @0x40 = 0x40081040
Configuration of DIO16
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO16 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG17 @0x44 = 0x40081044
Configuration of DIO17
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO17 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG18 @0x48 = 0x40081048
Configuration of DIO18
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO18 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG19 @0x4c = 0x4008104c
Configuration of DIO19
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO19 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG20 @0x50 = 0x40081050
Configuration of DIO20
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO20 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG21 @0x54 = 0x40081054
Configuration of DIO21
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO21 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG22 @0x58 = 0x40081058
Configuration of DIO22
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO22 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG23 @0x5c = 0x4008105c
Configuration of DIO23
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO23 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG24 @0x60 = 0x40081060
Configuration of DIO24
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO24 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG25 @0x64 = 0x40081064
Configuration of DIO25
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO25 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG26 @0x68 = 0x40081068
Configuration of DIO26
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO26 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG27 @0x6c = 0x4008106c
Configuration of DIO27
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO27 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG28 @0x70 = 0x40081070
Configuration of DIO28
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO28 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG29 @0x74 = 0x40081074
Configuration of DIO29
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO29 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG30 @0x78 = 0x40081078
Configuration of DIO30
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO30 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
IOCFG31 @0x7c = 0x4008107c
Configuration of DIO31
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=5] PORT_ID RWSelects usage for DIO31 Possible values:
|
[8..=9] IOSTR RWSelect source for drive strength control of this IO. This setting controls the drive strength of the Low-Current (LC) mode. Higher drive strength can be selected in IOCURR Possible values:
|
[10..=11] IOCURR RWSelects IO current mode of this IO. Possible values:
|
[12] SLEW_RED RW0: Normal slew rate 1: Enables reduced slew rate in output driver. |
[13..=14] PULL_CTL RWPull control Possible values:
|
[16..=17] EDGE_DET RWEnable generation of edge detection events on this IO Possible values:
|
[18] EDGE_IRQ_EN RW0: No interrupt generation 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is enabled) |
[24..=26] IOMODE RWIO Mode N/A for IO configured for AON periph. signals and AUX ie. PORT_ID 0x01-0x08 AUX has its own open_source/drain configuration. 0x2: Reserved. Undefined behavior. 0x3: Reserved. Undefined behavior. Possible values:
|
[27..=28] WU_CFG RWIf DIO is configured GPIO or non-AON peripheral signals, i.e. PORT_ID 0x00 or >0x08: 00: No wake-up 01: No wake-up 10: Wakes up from shutdown if this pad is going low. 11: Wakes up from shutdown if this pad is going high. If IO is configured for AON peripheral signals or AUX ie. PORT_ID 0x01-0x08, this register only sets wakeup enable or not. 00, 01: Wakeup disabled 10, 11: Wakeup enabled Polarity is controlled from AON registers. Note:When the MSB is set, the IOC will deactivate the output enable for the DIO. |
[29] IE RW0: Input disabled 1: Input enabled Note: If IO is configured for AUX ie. PORT_ID = 0x08, the enable will be ignored. |
[30] HYST_EN RW0: Input hysteresis disable 1: Input hysteresis enable |
PRCM at 0x40082000 with offset=0 and size=4096:
Power, Reset and Clock Management
Registers:
INFRCLKDIVR @0x0 = 0x40082000
Infrastructure Clock Division Factor For Run Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0..=1] RATIO RWDivision rate for clocks driving modules in the MCU_AON domain when system CPU is in run mode. Division ratio affects both infrastructure clock and perbusull clock. Possible values:
|
INFRCLKDIVS @0x4 = 0x40082004
Infrastructure Clock Division Factor For Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0..=1] RATIO RWDivision rate for clocks driving modules in the MCU_AON domain when system CPU is in sleep mode. Division ratio affects both infrastructure clock and perbusull clock. Possible values:
|
INFRCLKDIVDS @0x8 = 0x40082008
Infrastructure Clock Division Factor For DeepSleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0..=1] RATIO RWDivision rate for clocks driving modules in the MCU_AON domain when system CPU is in seepsleep mode. Division ratio affects both infrastructure clock and perbusull clock. Possible values:
|
VDCTL @0xc = 0x4008200c
MCU Voltage Domain Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ULDO RWRequest WUC to switch to uLDO. 0: No request 1: Assert request when possible The bit will have no effect before the following requirements are met: 1. PDCTL1.CPU_ON = 0 2. PDCTL1.VIMS_MODE = 0 3. SECDMACLKGDS.DMA_CLK_EN = 0 (Note: Setting must be loaded with CLKLOADCTL.LOAD) 4. SECDMACLKGDS.CRYPTO_CLK_EN = 0 (Note: Setting must be loaded with CLKLOADCTL.LOAD) 5. RFC do no request access to BUS 6. System CPU in deepsleep |
[2] MCU_VD RWRequest WUC to power down the MCU voltage domain 0: No request 1: Assert request when possible. An asserted power down request will result in a boot of the MCU system when powered up again. The bit will have no effect before the following requirements are met: 1. PDCTL1.CPU_ON = 0 2. PDCTL1.VIMS_MODE = 0 3. SECDMACLKGDS.DMA_CLK_EN = 0 (Note: Setting must be loaded with CLKLOADCTL.LOAD) 4. SECDMACLKGDS.CRYPTO_CLK_EN = 0 (Note: Setting must be loaded with CLKLOADCTL.LOAD) 5. RFC do no request access to BUS 6. System CPU in deepsleep |
CLKLOADCTL @0x28 = 0x40082028
Load PRCM Settings To CLKCTRL Power Domain
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] LOAD W0: No action 1: Load settings to CLKCTRL. Bit is HW cleared. Multiple changes to settings may be done before LOAD is written once so all changes takes place at the same time. LOAD can also be done after single setting updates. Registers that needs to be followed by LOAD before settings being applied are: - RFCCLKG - VIMSCLKG - SECDMACLKGR - SECDMACLKGS - SECDMACLKGDS - GPIOCLKGR - GPIOCLKGS - GPIOCLKGDS - GPTCLKGR - GPTCLKGS - GPTCLKGDS - GPTCLKDIV - I2CCLKGR - I2CCLKGS - I2CCLKGDS - SSICLKGR - SSICLKGS - SSICLKGDS - UARTCLKGR - UARTCLKGS - UARTCLKGDS - I2SCLKGR - I2SCLKGS - I2SCLKGDS - I2SBCLKSEL - I2SCLKCTL - I2SMCLKDIV - I2SBCLKDIV - I2SWCLKDIV |
[1] LOAD_DONE RStatus of LOAD. Will be cleared to 0 when any of the registers requiring a LOAD is written to, and be set to 1 when a LOAD is done. Note that writing no change to a register will result in the LOAD_DONE being cleared. 0 : One or more registers have been write accessed after last LOAD 1 : No registers are write accessed after last LOAD |
RFCCLKG @0x2c = 0x4008202c
RFC Clock Gate
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RW0: Disable clock 1: Enable clock if RFC power domain is on For changes to take effect, CLKLOADCTL.LOAD needs to be written |
VIMSCLKG @0x30 = 0x40082030
VIMS Clock Gate
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=1] CLK_EN RW00: Disable clock 01: Disable clock when system CPU is in DeepSleep 11: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
SECDMACLKGR @0x3c = 0x4008203c
TRNG, CRYPTO And UDMA Clock Gate For Run Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CRYPTO_CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
[1] TRNG_CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
[8] DMA_CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
SECDMACLKGS @0x40 = 0x40082040
TRNG, CRYPTO And UDMA Clock Gate For Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CRYPTO_CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
[1] TRNG_CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
[8] DMA_CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
SECDMACLKGDS @0x44 = 0x40082044
TRNG, CRYPTO And UDMA Clock Gate For Deep Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CRYPTO_CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
[1] TRNG_CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
[8] DMA_CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
GPIOCLKGR @0x48 = 0x40082048
GPIO Clock Gate For Run Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
GPIOCLKGS @0x4c = 0x4008204c
GPIO Clock Gate For Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
GPIOCLKGDS @0x50 = 0x40082050
GPIO Clock Gate For Deep Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
GPTCLKGR @0x54 = 0x40082054
GPT Clock Gate For Run Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0..=3] CLK_EN RWEach bit below has the following meaning: 0: Disable clock 1: Enable clock ENUMs can be combined For changes to take effect, CLKLOADCTL.LOAD needs to be written Possible values:
|
GPTCLKGS @0x58 = 0x40082058
GPT Clock Gate For Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0..=3] CLK_EN RWEach bit below has the following meaning: 0: Disable clock 1: Enable clock ENUMs can be combined For changes to take effect, CLKLOADCTL.LOAD needs to be written Possible values:
|
GPTCLKGDS @0x5c = 0x4008205c
GPT Clock Gate For Deep Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||
[0..=3] CLK_EN RWEach bit below has the following meaning: 0: Disable clock 1: Enable clock ENUMs can be combined For changes to take effect, CLKLOADCTL.LOAD needs to be written Possible values:
|
I2CCLKGR @0x60 = 0x40082060
I2C Clock Gate For Run Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
I2CCLKGS @0x64 = 0x40082064
I2C Clock Gate For Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
I2CCLKGDS @0x68 = 0x40082068
I2C Clock Gate For Deep Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
UARTCLKGR @0x6c = 0x4008206c
UART Clock Gate For Run Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
UARTCLKGS @0x70 = 0x40082070
UART Clock Gate For Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
UARTCLKGDS @0x74 = 0x40082074
UART Clock Gate For Deep Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
SSICLKGR @0x78 = 0x40082078
SSI Clock Gate For Run Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0..=1] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written Possible values:
|
SSICLKGS @0x7c = 0x4008207c
SSI Clock Gate For Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0..=1] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written Possible values:
|
SSICLKGDS @0x80 = 0x40082080
SSI Clock Gate For Deep Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0..=1] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written Possible values:
|
I2SCLKGR @0x84 = 0x40082084
I2S Clock Gate For Run Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
I2SCLKGS @0x88 = 0x40082088
I2S Clock Gate For Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
I2SCLKGDS @0x8c = 0x4008208c
I2S Clock Gate For Deep Sleep Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CLK_EN RW0: Disable clock 1: Enable clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
CPUCLKDIV @0xb8 = 0x400820b8
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||
[0] RATIO RWInternal. Only to be used through TI provided API. Possible values:
|
PERBUSDMACLKDIV @0xc0 = 0x400820c0
Internal. Only to be used through TI provided API.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] SPARE RWInternal. Only to be used through TI provided API. |
I2SBCLKSEL @0xc8 = 0x400820c8
I2S Clock Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] SRC RWBCLK source selector 0: Use external BCLK 1: Use internally generated clock For changes to take effect, CLKLOADCTL.LOAD needs to be written |
[1..=31] SPARE RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
GPTCLKDIV @0xcc = 0x400820cc
GPT Scalar
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||
[0..=3] RATIO RWScalar used for GPTs. The division rate will be constant and ungated for Run / Sleep / DeepSleep mode. For changes to take effect, CLKLOADCTL.LOAD needs to be written Other values are not supported. Possible values:
|
I2SCLKCTL @0xd0 = 0x400820d0
I2S Clock Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] EN RW0: MCLK, BCLK and WCLK will be static low 1: Enables the generation of MCLK, BCLK and WCLK For changes to take effect, CLKLOADCTL.LOAD needs to be written |
[1..=2] WCLK_PHASE RWDecides how the WCLK division ratio is calculated and used to generate different duty cycles (See I2SWCLKDIV.WDIV). 0: Single phase 1: Dual phase 2: User Defined 3: Reserved/Undefined For changes to take effect, CLKLOADCTL.LOAD needs to be written |
[3] SMPL_ON_POSEDGE RWOn the I2S serial interface, data and WCLK is sampled and clocked out on opposite edges of BCLK. 0 - data and WCLK are sampled on the negative edge and clocked out on the positive edge. 1 - data and WCLK are sampled on the positive edge and clocked out on the negative edge. For changes to take effect, CLKLOADCTL.LOAD needs to be written |
I2SMCLKDIV @0xd4 = 0x400820d4
MCLK Division Ratio
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=9] MDIV RWAn unsigned factor of the division ratio used to generate MCLK [2-1024]: MCLK = MCUCLK/MDIV[Hz] MCUCLK is 48MHz in normal mode. For powerdown mode the frequency is defined by AON_WUC:MCUCLK.PWR_DWN_SRC A value of 0 is interpreted as 1024. A value of 1 is invalid. If MDIV is odd the low phase of the clock is one MCUCLK period longer than the high phase. For changes to take effect, CLKLOADCTL.LOAD needs to be written |
I2SBCLKDIV @0xd8 = 0x400820d8
BCLK Division Ratio
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=9] BDIV RWAn unsigned factor of the division ratio used to generate I2S BCLK [2-1024]: BCLK = MCUCLK/BDIV[Hz] MCUCLK is 48MHz in normal mode. For powerdown mode the frequency is defined by AON_WUC:MCUCLK.PWR_DWN_SRC A value of 0 is interpreted as 1024. A value of 1 is invalid. If BDIV is odd and I2SCLKCTL.SMPL_ON_POSEDGE = 0, the low phase of the clock is one MCUCLK period longer than the high phase. If BDIV is odd and I2SCLKCTL.SMPL_ON_POSEDGE = 1 , the high phase of the clock is one MCUCLK period longer than the low phase. For changes to take effect, CLKLOADCTL.LOAD needs to be written |
I2SWCLKDIV @0xdc = 0x400820dc
WCLK Division Ratio
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] WDIV RWIf I2SCLKCTL.WCLK_PHASE = 0, Single phase. WCLK is high one BCLK period and low WDIV[9:0] (unsigned, [1-1023]) BCLK periods. WCLK = MCUCLK / BDIV*(WDIV[9:0] + 1) [Hz] MCUCLK is 48MHz in normal mode. For powerdown mode the frequency is defined by AON_WUC:MCUCLK.PWR_DWN_SRC If I2SCLKCTL.WCLK_PHASE = 1, Dual phase. Each phase on WCLK (50% duty cycle) is WDIV[9:0] (unsigned, [1-1023]) BCLK periods. WCLK = MCUCLK / BDIV*(2*WDIV[9:0]) [Hz] If I2SCLKCTL.WCLK_PHASE = 2, User defined. WCLK is high WDIV[7:0] (unsigned, [1-255]) BCLK periods and low WDIV[15:8] (unsigned, [1-255]) BCLK periods. WCLK = MCUCLK / (BDIV*(WDIV[7:0] + WDIV[15:8]) [Hz] For changes to take effect, CLKLOADCTL.LOAD needs to be written |
SWRESET @0x10c = 0x4008210c
SW Initiated Resets
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[2] MCU WInternal. Only to be used through TI provided API. |
WARMRESET @0x110 = 0x40082110
WARM Reset Control And Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] WDT_STAT R0: No registered event 1: A WDT event has occured since last SW clear of the register. A read of this register clears both WDT_STAT and LOCKUP_STAT. |
[1] LOCKUP_STAT R0: No registred event 1: A system CPU LOCKUP event has occured since last SW clear of the register. A read of this register clears both WDT_STAT and LOCKUP_STAT. |
[2] WR_TO_PINRESET RW0: No action 1: A warm system reset event triggered by the below listed sources will result in an emulated pin reset. Warm reset sources included: ICEPick sysreset System CPU reset request, CPU_SCS:AIRCR.SYSRESETREQ System CPU Lockup WDT timeout An active ICEPick block system reset will gate all sources except ICEPick sysreset SW can read AON_SYSCTL:RESETCTL.RESET_SRC to find the source of the last reset resulting in a full power up sequence. WARMRESET in this register is set in the scenario that WR_TO_PINRESET=1 and one of the above listed sources is triggered. |
PDCTL0 @0x12c = 0x4008212c
Power Domain Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RFC_ON RW0: RFC power domain powered off if also PDCTL1.RFC_ON = 0 1: RFC power domain powered on |
[1] SERIAL_ON RWSERIAL Power domain. 0: SERIAL power domain is powered down 1: SERIAL power domain is powered up |
[2] PERIPH_ON RWPERIPH Power domain. 0: PERIPH power domain is powered down 1: PERIPH power domain is powered up |
PDCTL0RFC @0x130 = 0x40082130
RFC Power Domain Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ON RWAlias for PDCTL0.RFC_ON |
PDCTL0SERIAL @0x134 = 0x40082134
SERIAL Power Domain Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ON RWAlias for PDCTL0.SERIAL_ON |
PDCTL0PERIPH @0x138 = 0x40082138
PERIPH Power Domain Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ON RWAlias for PDCTL0.PERIPH_ON |
PDSTAT0 @0x140 = 0x40082140
Power Domain Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RFC_ON RRFC Power domain 0: Domain may be powered down 1: Domain powered up (guaranteed) |
[1] SERIAL_ON RSERIAL Power domain. 0: Domain may be powered down 1: Domain powered up (guaranteed) |
[2] PERIPH_ON RPERIPH Power domain. 0: Domain may be powered down 1: Domain powered up (guaranteed) |
PDSTAT0RFC @0x144 = 0x40082144
RFC Power Domain Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ON RAlias for PDSTAT0.RFC_ON |
PDSTAT0SERIAL @0x148 = 0x40082148
SERIAL Power Domain Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ON RAlias for PDSTAT0.SERIAL_ON |
PDSTAT0PERIPH @0x14c = 0x4008214c
PERIPH Power Domain Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ON RAlias for PDSTAT0.PERIPH_ON |
PDCTL1 @0x17c = 0x4008217c
Power Domain Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[1] CPU_ON RW0: Causes a power down of the CPU power domain when system CPU indicates it is idle. 1: Initiates power-on of the CPU power domain. This bit is automatically set by a WIC power-on event. |
[2] RFC_ON RW0: RFC power domain powered off if also PDCTL0.RFC_ON = 0 1: RFC power domain powered on Bit shall be used by RFC in autonomus mode but there is no HW restrictions fom system CPU to access the bit. |
[3] VIMS_MODE RW0: VIMS power domain is only powered when CPU power domain is powered. 1: VIMS power domain is powered whenever the BUS power domain is powered. |
PDCTL1CPU @0x184 = 0x40082184
CPU Power Domain Direct Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ON RWThis is an alias for PDCTL1.CPU_ON |
PDCTL1RFC @0x188 = 0x40082188
RFC Power Domain Direct Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ON RWThis is an alias for PDCTL1.RFC_ON |
PDCTL1VIMS @0x18c = 0x4008218c
VIMS Mode Direct Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ON RWThis is an alias for PDCTL1.VIMS_MODE |
PDSTAT1 @0x194 = 0x40082194
Power Manager Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[1] CPU_ON R0: CPU and BUS domain not accessible 1: CPU and BUS domains are both currently accessible |
[2] RFC_ON R0: RFC domain not accessible 1: RFC domain is currently accessible |
[3] VIMS_MODE R0: VIMS domain not accessible 1: VIMS domain is currently accessible |
[4] BUS_ON R0: BUS domain not accessible 1: BUS domain is currently accessible |
PDSTAT1BUS @0x198 = 0x40082198
BUS Power Domain Direct Read Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ON RThis is an alias for PDSTAT1.BUS_ON |
PDSTAT1RFC @0x19c = 0x4008219c
RFC Power Domain Direct Read Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ON RThis is an alias for PDSTAT1.RFC_ON |
PDSTAT1CPU @0x1a0 = 0x400821a0
CPU Power Domain Direct Read Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ON RThis is an alias for PDSTAT1.CPU_ON |
PDSTAT1VIMS @0x1a4 = 0x400821a4
VIMS Mode Direct Read Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ON RThis is an alias for PDSTAT1.VIMS_MODE |
RFCBITS @0x1cc = 0x400821cc
Control To RFC
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] READ RWControl bits for RFC. The RF core CPE processor will automatically check this register when it boots, and it can be used to immediately instruct CPE to perform some tasks at its start-up. The supported functionality is ROM-defined and may vary. See the technical reference manual for more details. |
RFCMODESEL @0x1d0 = 0x400821d0
Selected RFC Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||
[0..=2] CURR RWSelects the set of commands that the RFC will accept. Only modes permitted by RFCMODEHWOPT.AVAIL are writeable. See the technical reference manual for details. Possible values:
|
RFCMODEHWOPT @0x1d4 = 0x400821d4
Allowed RFC Modes
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||
[0..=7] AVAIL RPermitted RFC modes. More than one mode can be permitted. Possible values:
|
PWRPROFSTAT @0x1e0 = 0x400821e0
Power Profiler Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] VALUE RWSW can use these bits to timestamp the application. These bits are also available through the testtap and can thus be used by the emulator to profile in real time. |
RAMRETEN @0x224 = 0x40082224
Memory Retention Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=1] VIMS RW0: Memory retention disabled 1: Memory retention enabled Bit 0: VIMS_TRAM Bit 1: VIMS_CRAM Legal modes depend on settings in VIMS:CTL.MODE 00: VIMS:CTL.MODE must be OFF before DEEPSLEEP is asserted - must be set to CACHE or SPLIT mode after waking up again 01: VIMS:CTL.MODE must be GPRAM before DEEPSLEEP is asserted. Must remain in GPRAM mode after wake up, alternatively select OFF mode first and then CACHE or SPILT mode. 10: Illegal mode 11: No restrictions |
[2] RFC RW0: Retention for RFC SRAM disabled 1: Retention for RFC SRAM enabled Memories controlled: CPERAM MCERAM RFERAM |
RFC_DBELL at 0x40041000 with offset=0 and size=64:
RF Core Doorbell
Registers:
CMDR @0x0 = 0x40041000
Doorbell Command Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CMD RWCommand register. Raises an interrupt to the Command and packet engine (CPE) upon write. |
CMDSTA @0x4 = 0x40041004
Doorbell Command Status Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] STAT RStatus of the last command used |
RFHWIFG @0x8 = 0x40041008
Interrupt Flags From RF Hardware Modules
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[1] FSCA RWFrequency synthesizer calibration accelerator interrupt flag. Write zero to clear flag. Write to one has no effect. |
[2] MDMDONE RWModem command done interrupt flag. Write zero to clear flag. Write to one has no effect. |
[3] MDMIN RWModem FIFO input interrupt flag. Write zero to clear flag. Write to one has no effect. |
[4] MDMOUT RWModem FIFO output interrupt flag. Write zero to clear flag. Write to one has no effect. |
[5] MDMSOFT RWModem synchronization word detection interrupt flag. This interrupt will be raised by modem when the synchronization word is received. The CPE may decide to reject the packet based on its header (protocol specific). Write zero to clear flag. Write to one has no effect. |
[6] TRCTK RWDebug tracer system tick interrupt flag. Write zero to clear flag. Write to one has no effect. |
[8] RFEDONE RWRF engine command done interrupt flag. Write zero to clear flag. Write to one has no effect. |
[9] RFESOFT0 RWRF engine software defined interrupt 0 flag. Write zero to clear flag. Write to one has no effect. |
[10] RFESOFT1 RWRF engine software defined interrupt 1 flag. Write zero to clear flag. Write to one has no effect. |
[11] RFESOFT2 RWRF engine software defined interrupt 2 flag. Write zero to clear flag. Write to one has no effect. |
[12] RATCH0 RWRadio timer channel 0 interrupt flag. Write zero to clear flag. Write to one has no effect. |
[13] RATCH1 RWRadio timer channel 1 interrupt flag. Write zero to clear flag. Write to one has no effect. |
[14] RATCH2 RWRadio timer channel 2 interrupt flag. Write zero to clear flag. Write to one has no effect. |
[15] RATCH3 RWRadio timer channel 3 interrupt flag. Write zero to clear flag. Write to one has no effect. |
[16] RATCH4 RWRadio timer channel 4 interrupt flag. Write zero to clear flag. Write to one has no effect. |
[17] RATCH5 RWRadio timer channel 5 interrupt flag. Write zero to clear flag. Write to one has no effect. |
[18] RATCH6 RWRadio timer channel 6 interrupt flag. Write zero to clear flag. Write to one has no effect. |
[19] RATCH7 RWRadio timer channel 7 interrupt flag. Write zero to clear flag. Write to one has no effect. |
RFHWIEN @0xc = 0x4004100c
Interrupt Enable For RF Hardware Modules
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[1] FSCA RWInterrupt enable for RFHWIFG.FSCA. |
[2] MDMDONE RWInterrupt enable for RFHWIFG.MDMDONE. |
[3] MDMIN RWInterrupt enable for RFHWIFG.MDMIN. |
[4] MDMOUT RWInterrupt enable for RFHWIFG.MDMOUT. |
[5] MDMSOFT RWInterrupt enable for RFHWIFG.MDMSOFT. |
[6] TRCTK RWInterrupt enable for RFHWIFG.TRCTK. |
[8] RFEDONE RWInterrupt enable for RFHWIFG.RFEDONE. |
[9] RFESOFT0 RWInterrupt enable for RFHWIFG.RFESOFT0. |
[10] RFESOFT1 RWInterrupt enable for RFHWIFG.RFESOFT1. |
[11] RFESOFT2 RWInterrupt enable for RFHWIFG.RFESOFT2. |
[12] RATCH0 RWInterrupt enable for RFHWIFG.RATCH0. |
[13] RATCH1 RWInterrupt enable for RFHWIFG.RATCH1. |
[14] RATCH2 RWInterrupt enable for RFHWIFG.RATCH2. |
[15] RATCH3 RWInterrupt enable for RFHWIFG.RATCH3. |
[16] RATCH4 RWInterrupt enable for RFHWIFG.RATCH4. |
[17] RATCH5 RWInterrupt enable for RFHWIFG.RATCH5. |
[18] RATCH6 RWInterrupt enable for RFHWIFG.RATCH6. |
[19] RATCH7 RWInterrupt enable for RFHWIFG.RATCH7. |
RFCPEIFG @0x10 = 0x40041010
Interrupt Flags For Command and Packet Engine Generated Interrupts
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] COMMAND_DONE RWInterrupt flag 0. A radio operation has finished. (IEEE 802.15.4 mode: A background level radio operation command has finished.) Write zero to clear flag. Write to one has no effect. |
[1] LAST_COMMAND_DONE RWInterrupt flag 1. The last radio operation command in a chain of commands has finished. (IEEE 802.15.4 mode: The last background level radio operation command in a chain of commands has finished.) Write zero to clear flag. Write to one has no effect. |
[2] FG_COMMAND_DONE RWInterrupt flag 2. IEEE 802.15.4 mode only: A foreground radio operation command has finished. Write zero to clear flag. Write to one has no effect. |
[3] LAST_FG_COMMAND_DONE RWInterrupt flag 3. IEEE 802.15.4 mode only: The last foreground radio operation command in a chain of commands has finished. Write zero to clear flag. Write to one has no effect. |
[4] TX_DONE RWInterrupt flag 4. Packet transmitted. (BLE mode: A packet has been transmitted.) (IEEE 802.15.4 mode: A frame has been transmitted). Write zero to clear flag. Write to one has no effect. |
[5] TX_ACK RWInterrupt flag 5. BLE mode: Acknowledgement received on a transmitted packet. IEEE 802.15.4 mode: Transmitted automatic ACK frame. Write zero to clear flag. Write to one has no effect. |
[6] TX_CTRL RWInterrupt flag 6. BLE mode: Transmitted LL control packet. Write zero to clear flag. Write to one has no effect. |
[7] TX_CTRL_ACK RWInterrupt flag 7. BLE mode: Acknowledgement received on a transmitted LL control packet. Write zero to clear flag. Write to one has no effect. |
[8] TX_CTRL_ACK_ACK RWInterrupt flag 8. BLE mode only: Acknowledgement received on a transmitted LL control packet, and acknowledgement transmitted for that packet. Write zero to clear flag. Write to one has no effect. |
[9] TX_RETRANS RWInterrupt flag 9. BLE mode only: Packet retransmitted. Write zero to clear flag. Write to one has no effect. |
[10] TX_ENTRY_DONE RWInterrupt flag 10. Tx queue data entry state changed to finished. Write zero to clear flag. Write to one has no effect. |
[11] TX_BUFFER_CHANGED RWInterrupt flag 11. BLE mode only: A buffer change is complete after CMD_BLE_ADV_PAYLOAD. Write zero to clear flag. Write to one has no effect. |
[12] IRQ12 RWInterrupt flag 12. Write zero to clear flag. Write to one has no effect. |
[13] IRQ13 RWInterrupt flag 13. Write zero to clear flag. Write to one has no effect. |
[14] IRQ14 RWInterrupt flag 14. Write zero to clear flag. Write to one has no effect. |
[15] IRQ15 RWInterrupt flag 15. Write zero to clear flag. Write to one has no effect. |
[16] RX_OK RWInterrupt flag 16. Packet received correctly. BLE mode: Packet received with CRC OK, payload, and not to be ignored. IEEE 802.15.4 mode: Frame received with CRC OK. Write zero to clear flag. Write to one has no effect. |
[17] RX_NOK RWInterrupt flag 17. Packet received with CRC error. BLE mode: Packet received with CRC error. IEEE 802.15.4 mode: Frame received with CRC error. Write zero to clear flag. Write to one has no effect. |
[18] RX_IGNORED RWInterrupt flag 18. Packet received, but can be ignored. BLE mode: Packet received with CRC OK, but to be ignored. IEEE 802.15.4 mode: Frame received with ignore flag set. Write zero to clear flag. Write to one has no effect. |
[19] RX_EMPTY RWInterrupt flag 19. BLE mode only: Packet received with CRC OK, not to be ignored, no payload. Write zero to clear flag. Write to one has no effect. |
[20] RX_CTRL RWInterrupt flag 20. BLE mode only: LL control packet received with CRC OK, not to be ignored. Write zero to clear flag. Write to one has no effect. |
[21] RX_CTRL_ACK RWInterrupt flag 21. BLE mode only: LL control packet received with CRC OK, not to be ignored, then acknowledgement sent. Write zero to clear flag. Write to one has no effect. |
[22] RX_BUF_FULL RWInterrupt flag 22. Packet received that did not fit in Rx queue. BLE mode: Packet received that did not fit in the Rx queue. IEEE 802.15.4 mode: Frame received that did not fit in the Rx queue. Write zero to clear flag. Write to one has no effect. |
[23] RX_ENTRY_DONE RWInterrupt flag 23. Rx queue data entry changing state to finished. Write zero to clear flag. Write to one has no effect. |
[24] RX_DATA_WRITTEN RWInterrupt flag 24. Data written to partial read Rx buffer. Write zero to clear flag. Write to one has no effect. |
[25] RX_N_DATA_WRITTEN RWInterrupt flag 25. Specified number of bytes written to partial read Rx buffer. Write zero to clear flag. Write to one has no effect. |
[26] RX_ABORTED RWInterrupt flag 26. Packet reception stopped before packet was done. Write zero to clear flag. Write to one has no effect. |
[27] IRQ27 RWInterrupt flag 27. Write zero to clear flag. Write to one has no effect. |
[28] SYNTH_NO_LOCK RWInterrupt flag 28. The phase-locked loop in frequency synthesizer has reported loss of lock. Write zero to clear flag. Write to one has no effect. |
[29] MODULES_UNLOCKED RWInterrupt flag 29. As part of command and packet engine (CPE) boot process, it has opened access to RF Core modules and memories. Write zero to clear flag. Write to one has no effect. |
[30] BOOT_DONE RWInterrupt flag 30. The command and packet engine (CPE) boot is finished. Write zero to clear flag. Write to one has no effect. |
[31] INTERNAL_ERROR RWInterrupt flag 31. The command and packet engine (CPE) has observed an unexpected error. A reset of the CPE is needed. This can be done by switching the RF Core power domain off and on in PRCM:PDCTL1RFC. Write zero to clear flag. Write to one has no effect. |
RFCPEIEN @0x14 = 0x40041014
Interrupt Enable For Command and Packet Engine Generated Interrupts
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] COMMAND_DONE RWInterrupt enable for RFCPEIFG.COMMAND_DONE. |
[1] LAST_COMMAND_DONE RWInterrupt enable for RFCPEIFG.LAST_COMMAND_DONE. |
[2] FG_COMMAND_DONE RWInterrupt enable for RFCPEIFG.FG_COMMAND_DONE. |
[3] LAST_FG_COMMAND_DONE RWInterrupt enable for RFCPEIFG.LAST_FG_COMMAND_DONE. |
[4] TX_DONE RWInterrupt enable for RFCPEIFG.TX_DONE. |
[5] TX_ACK RWInterrupt enable for RFCPEIFG.TX_ACK. |
[6] TX_CTRL RWInterrupt enable for RFCPEIFG.TX_CTRL. |
[7] TX_CTRL_ACK RWInterrupt enable for RFCPEIFG.TX_CTRL_ACK. |
[8] TX_CTRL_ACK_ACK RWInterrupt enable for RFCPEIFG.TX_CTRL_ACK_ACK. |
[9] TX_RETRANS RWInterrupt enable for RFCPEIFG.TX_RETRANS. |
[10] TX_ENTRY_DONE RWInterrupt enable for RFCPEIFG.TX_ENTRY_DONE. |
[11] TX_BUFFER_CHANGED RWInterrupt enable for RFCPEIFG.TX_BUFFER_CHANGED. |
[12] IRQ12 RWInterrupt enable for RFCPEIFG.IRQ12. |
[13] IRQ13 RWInterrupt enable for RFCPEIFG.IRQ13. |
[14] IRQ14 RWInterrupt enable for RFCPEIFG.IRQ14. |
[15] IRQ15 RWInterrupt enable for RFCPEIFG.IRQ15. |
[16] RX_OK RWInterrupt enable for RFCPEIFG.RX_OK. |
[17] RX_NOK RWInterrupt enable for RFCPEIFG.RX_NOK. |
[18] RX_IGNORED RWInterrupt enable for RFCPEIFG.RX_IGNORED. |
[19] RX_EMPTY RWInterrupt enable for RFCPEIFG.RX_EMPTY. |
[20] RX_CTRL RWInterrupt enable for RFCPEIFG.RX_CTRL. |
[21] RX_CTRL_ACK RWInterrupt enable for RFCPEIFG.RX_CTRL_ACK. |
[22] RX_BUF_FULL RWInterrupt enable for RFCPEIFG.RX_BUF_FULL. |
[23] RX_ENTRY_DONE RWInterrupt enable for RFCPEIFG.RX_ENTRY_DONE. |
[24] RX_DATA_WRITTEN RWInterrupt enable for RFCPEIFG.RX_DATA_WRITTEN. |
[25] RX_N_DATA_WRITTEN RWInterrupt enable for RFCPEIFG.RX_N_DATA_WRITTEN. |
[26] RX_ABORTED RWInterrupt enable for RFCPEIFG.RX_ABORTED. |
[27] IRQ27 RWInterrupt enable for RFCPEIFG.IRQ27. |
[28] SYNTH_NO_LOCK RWInterrupt enable for RFCPEIFG.SYNTH_NO_LOCK. |
[29] MODULES_UNLOCKED RWInterrupt enable for RFCPEIFG.MODULES_UNLOCKED. |
[30] BOOT_DONE RWInterrupt enable for RFCPEIFG.BOOT_DONE. |
[31] INTERNAL_ERROR RWInterrupt enable for RFCPEIFG.INTERNAL_ERROR. |
RFCPEISL @0x18 = 0x40041018
Interrupt Vector Selection For Command and Packet Engine Generated Interrupts
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] COMMAND_DONE RWSelect which CPU interrupt vector the RFCPEIFG.COMMAND_DONE interrupt should use. Possible values:
|
[1] LAST_COMMAND_DONE RWSelect which CPU interrupt vector the RFCPEIFG.LAST_COMMAND_DONE interrupt should use. Possible values:
|
[2] FG_COMMAND_DONE RWSelect which CPU interrupt vector the RFCPEIFG.FG_COMMAND_DONE interrupt should use. Possible values:
|
[3] LAST_FG_COMMAND_DONE RWSelect which CPU interrupt vector the RFCPEIFG.LAST_FG_COMMAND_DONE interrupt should use. Possible values:
|
[4] TX_DONE RWSelect which CPU interrupt vector the RFCPEIFG.TX_DONE interrupt should use. Possible values:
|
[5] TX_ACK RWSelect which CPU interrupt vector the RFCPEIFG.TX_ACK interrupt should use. Possible values:
|
[6] TX_CTRL RWSelect which CPU interrupt vector the RFCPEIFG.TX_CTRL interrupt should use. Possible values:
|
[7] TX_CTRL_ACK RWSelect which CPU interrupt vector the RFCPEIFG.TX_CTRL_ACK interrupt should use. Possible values:
|
[8] TX_CTRL_ACK_ACK RWSelect which CPU interrupt vector the RFCPEIFG.TX_CTRL_ACK_ACK interrupt should use. Possible values:
|
[9] TX_RETRANS RWSelect which CPU interrupt vector the RFCPEIFG.TX_RETRANS interrupt should use. Possible values:
|
[10] TX_ENTRY_DONE RWSelect which CPU interrupt vector the RFCPEIFG.TX_ENTRY_DONE interrupt should use. Possible values:
|
[11] TX_BUFFER_CHANGED RWSelect which CPU interrupt vector the RFCPEIFG.TX_BUFFER_CHANGED interrupt should use. Possible values:
|
[12] IRQ12 RWSelect which CPU interrupt vector the RFCPEIFG.IRQ12 interrupt should use. Possible values:
|
[13] IRQ13 RWSelect which CPU interrupt vector the RFCPEIFG.IRQ13 interrupt should use. Possible values:
|
[14] IRQ14 RWSelect which CPU interrupt vector the RFCPEIFG.IRQ14 interrupt should use. Possible values:
|
[15] IRQ15 RWSelect which CPU interrupt vector the RFCPEIFG.IRQ15 interrupt should use. Possible values:
|
[16] RX_OK RWSelect which CPU interrupt vector the RFCPEIFG.RX_OK interrupt should use. Possible values:
|
[17] RX_NOK RWSelect which CPU interrupt vector the RFCPEIFG.RX_NOK interrupt should use. Possible values:
|
[18] RX_IGNORED RWSelect which CPU interrupt vector the RFCPEIFG.RX_IGNORED interrupt should use. Possible values:
|
[19] RX_EMPTY RWSelect which CPU interrupt vector the RFCPEIFG.RX_EMPTY interrupt should use. Possible values:
|
[20] RX_CTRL RWSelect which CPU interrupt vector the RFCPEIFG.RX_CTRL interrupt should use. Possible values:
|
[21] RX_CTRL_ACK RWSelect which CPU interrupt vector the RFCPEIFG.RX_CTRL_ACK interrupt should use. Possible values:
|
[22] RX_BUF_FULL RWSelect which CPU interrupt vector the RFCPEIFG.RX_BUF_FULL interrupt should use. Possible values:
|
[23] RX_ENTRY_DONE RWSelect which CPU interrupt vector the RFCPEIFG.RX_ENTRY_DONE interrupt should use. Possible values:
|
[24] RX_DATA_WRITTEN RWSelect which CPU interrupt vector the RFCPEIFG.RX_DATA_WRITTEN interrupt should use. Possible values:
|
[25] RX_N_DATA_WRITTEN RWSelect which CPU interrupt vector the RFCPEIFG.RX_N_DATA_WRITTEN interrupt should use. Possible values:
|
[26] RX_ABORTED RWSelect which CPU interrupt vector the RFCPEIFG.RX_ABORTED interrupt should use. Possible values:
|
[27] IRQ27 RWSelect which CPU interrupt vector the RFCPEIFG.IRQ27 interrupt should use. Possible values:
|
[28] SYNTH_NO_LOCK RWSelect which CPU interrupt vector the RFCPEIFG.SYNTH_NO_LOCK interrupt should use. Possible values:
|
[29] MODULES_UNLOCKED RWSelect which CPU interrupt vector the RFCPEIFG.MODULES_UNLOCKED interrupt should use. Possible values:
|
[30] BOOT_DONE RWSelect which CPU interrupt vector the RFCPEIFG.BOOT_DONE interrupt should use. Possible values:
|
[31] INTERNAL_ERROR RWSelect which CPU interrupt vector the RFCPEIFG.INTERNAL_ERROR interrupt should use. Possible values:
|
RFACKIFG @0x1c = 0x4004101c
Doorbell Command Acknowledgement Interrupt Flag
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] ACKFLAG RWInterrupt flag for Command ACK |
SYSGPOCTL @0x20 = 0x40041020
RF Core General Purpose Output Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=3] GPOCTL0 RWRF Core GPO control bit 0. Selects which signal to output on the RF Core GPO line 0. Possible values:
|
[4..=7] GPOCTL1 RWRF Core GPO control bit 1. Selects which signal to output on the RF Core GPO line 1. Possible values:
|
[8..=11] GPOCTL2 RWRF Core GPO control bit 2. Selects which signal to output on the RF Core GPO line 2. Possible values:
|
[12..=15] GPOCTL3 RWRF Core GPO control bit 3. Selects which signal to output on the RF Core GPO line 3. Possible values:
|
RFC_PWR at 0x40040000 with offset=0 and size=4:
RF Core Power Management
Registers:
PWMCLKEN @0x0 = 0x40040000
RF Core Power Management and Clock Enable
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RFC REnable essential clocks for the RF Core interface. This includes the interconnect, the radio doorbell DBELL command interface, the power management (PWR) clock control module, and bus clock (sclk) for the CPE. To remove possibility of locking yourself out from the RF Core, this bit can not be cleared. If you need to disable all clocks to the RF Core, see the PRCM:RFCCLKG.CLK_EN register. |
[1] CPE RWEnable processor clock (hclk) to the Command and Packet Engine (CPE). As part of RF Core initialization, set this bit together with CPERAM bit to enable CPE to boot. |
[2] CPERAM RWEnable clock to the Command and Packet Engine (CPE) RAM module. As part of RF Core initialization, set this bit together with CPE bit to enable CPE to boot. |
[3] MDM RWEnable clock to the Modem (MDM) module. |
[4] MDMRAM RWEnable clock to the Modem RAM module. |
[5] RFE RWEnable clock to the RF Engine (RFE) module. |
[6] RFERAM RWEnable clock to the RF Engine RAM module. |
[7] RAT RWEnable clock to the Radio Timer (RAT) module. |
[8] PHA RWEnable clock to the Packet Handling Accelerator (PHA) module. |
[9] FSCA RWEnable clock to the Frequency Synthesizer Calibration Accelerator (FSCA) module. |
[10] RFCTRC RWEnable clock to the RF Core Tracer (RFCTRC) module. |
RFC_RAT at 0x40043000 with offset=0 and size=256:
RF Core Radio Timer
Registers:
RATCNT @0x4 = 0x40043004
Radio Timer Counter Value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CNT RWCounter value. This is not writable while radio timer counter is enabled. |
RATCH0VAL @0x80 = 0x40043080
Timer Channel 0 Capture/Compare Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VAL RWCapture/compare value. The system CPU can safely read this register, but it is recommended to use the CPE API commands to configure it for compare mode. |
RATCH1VAL @0x84 = 0x40043084
Timer Channel 1 Capture/Compare Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VAL RWCapture/compare value. The system CPU can safely read this register, but it is recommended to use the CPE API commands to configure it for compare mode. |
RATCH2VAL @0x88 = 0x40043088
Timer Channel 2 Capture/Compare Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VAL RWCapture/compare value. The system CPU can safely read this register, but it is recommended to use the CPE API commands to configure it for compare mode. |
RATCH3VAL @0x8c = 0x4004308c
Timer Channel 3 Capture/Compare Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VAL RWCapture/compare value. The system CPU can safely read this register, but it is recommended to use the CPE API commands to configure it for compare mode. |
RATCH4VAL @0x90 = 0x40043090
Timer Channel 4 Capture/Compare Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VAL RWCapture/compare value. The system CPU can safely read this register, but it is recommended to use the CPE API commands to configure it for compare mode. |
RATCH5VAL @0x94 = 0x40043094
Timer Channel 5 Capture/Compare Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VAL RWCapture/compare value. The system CPU can safely read this register, but it is recommended to use the CPE API commands to configure it for compare mode. |
RATCH6VAL @0x98 = 0x40043098
Timer Channel 6 Capture/Compare Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VAL RWCapture/compare value. The system CPU can safely read this register, but it is recommended to use the CPE API commands to configure it for compare mode. |
RATCH7VAL @0x9c = 0x4004309c
Timer Channel 7 Capture/Compare Register
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VAL RWCapture/compare value. The system CPU can safely read this register, but it is recommended to use the CPE API commands to configure it for compare mode. |
SMPH at 0x40084000 with offset=0 and size=4096:
MCU Semaphore Module This module provides 32 binary semaphores. The state of a binary semaphore is either taken or available. A semaphore does not implement any ownership attribute. Still, a semaphore can be used to handle mutual exclusion scenarios.
Registers:
SMPH0 @0x0 = 0x40084000
MCU SEMAPHORE 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH1 @0x4 = 0x40084004
MCU SEMAPHORE 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH2 @0x8 = 0x40084008
MCU SEMAPHORE 2
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH3 @0xc = 0x4008400c
MCU SEMAPHORE 3
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH4 @0x10 = 0x40084010
MCU SEMAPHORE 4
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH5 @0x14 = 0x40084014
MCU SEMAPHORE 5
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH6 @0x18 = 0x40084018
MCU SEMAPHORE 6
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH7 @0x1c = 0x4008401c
MCU SEMAPHORE 7
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH8 @0x20 = 0x40084020
MCU SEMAPHORE 8
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH9 @0x24 = 0x40084024
MCU SEMAPHORE 9
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH10 @0x28 = 0x40084028
MCU SEMAPHORE 10
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH11 @0x2c = 0x4008402c
MCU SEMAPHORE 11
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH12 @0x30 = 0x40084030
MCU SEMAPHORE 12
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH13 @0x34 = 0x40084034
MCU SEMAPHORE 13
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH14 @0x38 = 0x40084038
MCU SEMAPHORE 14
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH15 @0x3c = 0x4008403c
MCU SEMAPHORE 15
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH16 @0x40 = 0x40084040
MCU SEMAPHORE 16
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH17 @0x44 = 0x40084044
MCU SEMAPHORE 17
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH18 @0x48 = 0x40084048
MCU SEMAPHORE 18
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH19 @0x4c = 0x4008404c
MCU SEMAPHORE 19
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH20 @0x50 = 0x40084050
MCU SEMAPHORE 20
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH21 @0x54 = 0x40084054
MCU SEMAPHORE 21
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH22 @0x58 = 0x40084058
MCU SEMAPHORE 22
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH23 @0x5c = 0x4008405c
MCU SEMAPHORE 23
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH24 @0x60 = 0x40084060
MCU SEMAPHORE 24
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH25 @0x64 = 0x40084064
MCU SEMAPHORE 25
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH26 @0x68 = 0x40084068
MCU SEMAPHORE 26
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH27 @0x6c = 0x4008406c
MCU SEMAPHORE 27
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH28 @0x70 = 0x40084070
MCU SEMAPHORE 28
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH29 @0x74 = 0x40084074
MCU SEMAPHORE 29
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH30 @0x78 = 0x40084078
MCU SEMAPHORE 30
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
SMPH31 @0x7c = 0x4008407c
MCU SEMAPHORE 31
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RWStatus when reading: 0: Semaphore is taken 1: Semaphore is available Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1. |
PEEK0 @0x800 = 0x40084800
MCU SEMAPHORE 0 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK1 @0x804 = 0x40084804
MCU SEMAPHORE 1 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK2 @0x808 = 0x40084808
MCU SEMAPHORE 2 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK3 @0x80c = 0x4008480c
MCU SEMAPHORE 3 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK4 @0x810 = 0x40084810
MCU SEMAPHORE 4 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK5 @0x814 = 0x40084814
MCU SEMAPHORE 5 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK6 @0x818 = 0x40084818
MCU SEMAPHORE 6 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK7 @0x81c = 0x4008481c
MCU SEMAPHORE 7 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK8 @0x820 = 0x40084820
MCU SEMAPHORE 8 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK9 @0x824 = 0x40084824
MCU SEMAPHORE 9 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK10 @0x828 = 0x40084828
MCU SEMAPHORE 10 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK11 @0x82c = 0x4008482c
MCU SEMAPHORE 11 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK12 @0x830 = 0x40084830
MCU SEMAPHORE 12 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK13 @0x834 = 0x40084834
MCU SEMAPHORE 13 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK14 @0x838 = 0x40084838
MCU SEMAPHORE 14 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK15 @0x83c = 0x4008483c
MCU SEMAPHORE 15 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK16 @0x840 = 0x40084840
MCU SEMAPHORE 16 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK17 @0x844 = 0x40084844
MCU SEMAPHORE 17 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK18 @0x848 = 0x40084848
MCU SEMAPHORE 18 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK19 @0x84c = 0x4008484c
MCU SEMAPHORE 19 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK20 @0x850 = 0x40084850
MCU SEMAPHORE 20 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK21 @0x854 = 0x40084854
MCU SEMAPHORE 21 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK22 @0x858 = 0x40084858
MCU SEMAPHORE 22 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK23 @0x85c = 0x4008485c
MCU SEMAPHORE 23 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK24 @0x860 = 0x40084860
MCU SEMAPHORE 24 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK25 @0x864 = 0x40084864
MCU SEMAPHORE 25 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK26 @0x868 = 0x40084868
MCU SEMAPHORE 26 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK27 @0x86c = 0x4008486c
MCU SEMAPHORE 27 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK28 @0x870 = 0x40084870
MCU SEMAPHORE 28 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK29 @0x874 = 0x40084874
MCU SEMAPHORE 29 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK30 @0x878 = 0x40084878
MCU SEMAPHORE 30 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
PEEK31 @0x87c = 0x4008487c
MCU SEMAPHORE 31 ALIAS
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RStatus when reading: 0: Semaphore is taken 1: Semaphore is available Used for semaphore debugging. A read operation will not change register value. Register writing is not possible. |
SSI0 at 0x40000000 with offset=0 and size=4096:
Synchronous Serial Interface with master and slave capabilities
Registers:
CR0 @0x0 = 0x40000000
Control 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=3] DSS RWData Size Select. Values 0b0000, 0b0001, 0b0010 are reserved and shall not be used. Possible values:
|
[4..=5] FRF RWFrame format. The supported frame formats are Motorola SPI, TI synchronous serial and National Microwire. Value 0'b11 is reserved and shall not be used. Possible values:
|
[6] SPO RWCLKOUT polarity (Motorola SPI frame format only) Possible values:
|
[7] SPH RWCLKOUT phase (Motorola SPI frame format only) This bit selects the clock edge that captures data and enables it to change state. It has the most impact on the first bit transmitted by either permitting or not permitting a clock transition before the first data capture edge. Possible values:
|
[8..=15] SCR RWSerial clock rate: This is used to generate the transmit and receive bit rate of the SSI. The bit rate is (SSI's clock frequency)/((SCR+1)*CPSR.CPSDVSR). SCR is a value from 0-255. |
CR1 @0x4 = 0x40000004
Control 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||
[0] LBM RWLoop back mode: 0: Normal serial port operation enabled. 1: Output of transmit serial shifter is connected to input of receive serial shifter internally. |
[1] SSE RWSynchronous serial interface enable. Possible values:
|
[2] MS RWMaster or slave mode select. This bit can be modified only when SSI is disabled, SSE=0. Possible values:
|
[3] SOD RWSlave-mode output disabled This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an SSI master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, this bitfield can be set if the SSI slave is not supposed to drive the TXD line: 0: SSI can drive the TXD output in slave mode. 1: SSI cannot drive the TXD output in slave mode. |
DR @0x8 = 0x40000008
Data 16-bits wide data register: When read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When written, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the TXD output pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] DATA RWTransmit/receive data The values read from this field or written to this field must be right-justified when SSI is programmed for a data size that is less than 16 bits (CR0.DSS != 0b1111). Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies. |
SR @0xc = 0x4000000c
Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TFE RTransmit FIFO empty: 0: Transmit FIFO is not empty. 1: Transmit FIFO is empty. |
[1] TNF RTransmit FIFO not full: 0: Transmit FIFO is full. 1: Transmit FIFO is not full. |
[2] RNE RReceive FIFO not empty 0: Receive FIFO is empty. 1: Receive FIFO is not empty. |
[3] RFF RReceive FIFO full: 0: Receive FIFO is not full. 1: Receive FIFO is full. |
[4] BSY RSerial interface busy: 0: SSI is idle 1: SSI is currently transmitting and/or receiving a frame or the transmit FIFO is not empty. |
CPSR @0x10 = 0x40000010
Clock Prescale
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] CPSDVSR RWClock prescale divisor: This field specifies the division factor by which the input system clock to SSI must be internally divided before further use. The value programmed into this field must be an even non-zero number (2-254). The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero. |
IMSC @0x14 = 0x40000014
Interrupt Mask Set and Clear
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RORIM RWReceive overrun interrupt mask: A read returns the current mask for receive overrun interrupt. On a write of 1, the mask for receive overrun interrupt is set which means the interrupt state will be reflected in MIS.RORMIS. A write of 0 clears the mask which means MIS.RORMIS will not reflect the interrupt. |
[1] RTIM RWReceive timeout interrupt mask: A read returns the current mask for receive timeout interrupt. On a write of 1, the mask for receive timeout interrupt is set which means the interrupt state will be reflected in MIS.RTMIS. A write of 0 clears the mask which means MIS.RTMIS will not reflect the interrupt. |
[2] RXIM RWReceive FIFO interrupt mask: A read returns the current mask for receive FIFO interrupt. On a write of 1, the mask for receive FIFO interrupt is set which means the interrupt state will be reflected in MIS.RXMIS. A write of 0 clears the mask which means MIS.RXMIS will not reflect the interrupt. |
[3] TXIM RWTransmit FIFO interrupt mask: A read returns the current mask for transmit FIFO interrupt. On a write of 1, the mask for transmit FIFO interrupt is set which means the interrupt state will be reflected in MIS.TXMIS. A write of 0 clears the mask which means MIS.TXMIS will not reflect the interrupt. |
RIS @0x18 = 0x40000018
Raw Interrupt Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RORRIS RRaw interrupt state of receive overrun interrupt: The receive overrun interrupt is asserted when the FIFO is already full and an additional data frame is received, causing an overrun of the FIFO. Data is over-written in the receive shift register, but not the FIFO so the FIFO contents stay valid. It can also be cleared by writing to ICR.RORIC. |
[1] RTRIS RRaw interrupt state of receive timeout interrupt: The receive timeout interrupt is asserted when the receive FIFO is not empty and SSI has remained idle for a fixed 32 bit period. This mechanism can be used to notify the user that data is still present in the receive FIFO and requires servicing. This interrupt is deasserted if the receive FIFO becomes empty by subsequent reads, or if new data is received on RXD. It can also be cleared by writing to ICR.RTIC. |
[2] RXRIS RRaw interrupt state of receive FIFO interrupt: The receive interrupt is asserted when there are four or more valid entries in the receive FIFO. |
[3] TXRIS RRaw transmit FIFO interrupt status: The transmit interrupt is asserted when there are four or fewer valid entries in the transmit FIFO. The transmit interrupt is not qualified with the SSI enable signal. Therefore one of the following ways can be used: - data can be written to the transmit FIFO prior to enabling the SSI and the interrupts. - SSI and interrupts can be enabled so that data can be written to the transmit FIFO by an interrupt service routine. |
MIS @0x1c = 0x4000001c
Masked Interrupt Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RORMIS RMasked interrupt state of receive overrun interrupt: This field returns the masked interrupt state of receive overrun interrupt which is the AND product of raw interrupt state RIS.RORRIS and the mask setting IMSC.RORIM. |
[1] RTMIS RMasked interrupt state of receive timeout interrupt: This field returns the masked interrupt state of receive timeout interrupt which is the AND product of raw interrupt state RIS.RTRIS and the mask setting IMSC.RTIM. |
[2] RXMIS RMasked interrupt state of receive FIFO interrupt: This field returns the masked interrupt state of receive FIFO interrupt which is the AND product of raw interrupt state RIS.RXRIS and the mask setting IMSC.RXIM. |
[3] TXMIS RMasked interrupt state of transmit FIFO interrupt: This field returns the masked interrupt state of transmit FIFO interrupt which is the AND product of raw interrupt state RIS.TXRIS and the mask setting IMSC.TXIM. |
ICR @0x20 = 0x40000020
Interrupt Clear On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RORIC WClear the receive overrun interrupt: Writing 1 to this field clears the overrun error interrupt (RIS.RORRIS). Writing 0 has no effect. |
[1] RTIC WClear the receive timeout interrupt: Writing 1 to this field clears the timeout interrupt (RIS.RTRIS). Writing 0 has no effect. |
DMACR @0x24 = 0x40000024
DMA Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RXDMAE RWReceive DMA enable. If this bit is set to 1, DMA for the receive FIFO is enabled. |
[1] TXDMAE RWTransmit DMA enable. If this bit is set to 1, DMA for the transmit FIFO is enabled. |
RESERVED1 @0x28 = 0x40000028
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
RESERVED2 @0x90 = 0x40000090
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
SSI1 at 0x40008000 with offset=0 and size=4096:
Synchronous Serial Interface with master and slave capabilities
Registers:
CR0 @0x0 = 0x40008000
Control 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0..=3] DSS RWData Size Select. Values 0b0000, 0b0001, 0b0010 are reserved and shall not be used. Possible values:
|
[4..=5] FRF RWFrame format. The supported frame formats are Motorola SPI, TI synchronous serial and National Microwire. Value 0'b11 is reserved and shall not be used. Possible values:
|
[6] SPO RWCLKOUT polarity (Motorola SPI frame format only) Possible values:
|
[7] SPH RWCLKOUT phase (Motorola SPI frame format only) This bit selects the clock edge that captures data and enables it to change state. It has the most impact on the first bit transmitted by either permitting or not permitting a clock transition before the first data capture edge. Possible values:
|
[8..=15] SCR RWSerial clock rate: This is used to generate the transmit and receive bit rate of the SSI. The bit rate is (SSI's clock frequency)/((SCR+1)*CPSR.CPSDVSR). SCR is a value from 0-255. |
CR1 @0x4 = 0x40008004
Control 1
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||
[0] LBM RWLoop back mode: 0: Normal serial port operation enabled. 1: Output of transmit serial shifter is connected to input of receive serial shifter internally. |
[1] SSE RWSynchronous serial interface enable. Possible values:
|
[2] MS RWMaster or slave mode select. This bit can be modified only when SSI is disabled, SSE=0. Possible values:
|
[3] SOD RWSlave-mode output disabled This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an SSI master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, this bitfield can be set if the SSI slave is not supposed to drive the TXD line: 0: SSI can drive the TXD output in slave mode. 1: SSI cannot drive the TXD output in slave mode. |
DR @0x8 = 0x40008008
Data 16-bits wide data register: When read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When written, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the TXD output pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] DATA RWTransmit/receive data The values read from this field or written to this field must be right-justified when SSI is programmed for a data size that is less than 16 bits (CR0.DSS != 0b1111). Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies. |
SR @0xc = 0x4000800c
Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] TFE RTransmit FIFO empty: 0: Transmit FIFO is not empty. 1: Transmit FIFO is empty. |
[1] TNF RTransmit FIFO not full: 0: Transmit FIFO is full. 1: Transmit FIFO is not full. |
[2] RNE RReceive FIFO not empty 0: Receive FIFO is empty. 1: Receive FIFO is not empty. |
[3] RFF RReceive FIFO full: 0: Receive FIFO is not full. 1: Receive FIFO is full. |
[4] BSY RSerial interface busy: 0: SSI is idle 1: SSI is currently transmitting and/or receiving a frame or the transmit FIFO is not empty. |
CPSR @0x10 = 0x40008010
Clock Prescale
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] CPSDVSR RWClock prescale divisor: This field specifies the division factor by which the input system clock to SSI must be internally divided before further use. The value programmed into this field must be an even non-zero number (2-254). The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero. |
IMSC @0x14 = 0x40008014
Interrupt Mask Set and Clear
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RORIM RWReceive overrun interrupt mask: A read returns the current mask for receive overrun interrupt. On a write of 1, the mask for receive overrun interrupt is set which means the interrupt state will be reflected in MIS.RORMIS. A write of 0 clears the mask which means MIS.RORMIS will not reflect the interrupt. |
[1] RTIM RWReceive timeout interrupt mask: A read returns the current mask for receive timeout interrupt. On a write of 1, the mask for receive timeout interrupt is set which means the interrupt state will be reflected in MIS.RTMIS. A write of 0 clears the mask which means MIS.RTMIS will not reflect the interrupt. |
[2] RXIM RWReceive FIFO interrupt mask: A read returns the current mask for receive FIFO interrupt. On a write of 1, the mask for receive FIFO interrupt is set which means the interrupt state will be reflected in MIS.RXMIS. A write of 0 clears the mask which means MIS.RXMIS will not reflect the interrupt. |
[3] TXIM RWTransmit FIFO interrupt mask: A read returns the current mask for transmit FIFO interrupt. On a write of 1, the mask for transmit FIFO interrupt is set which means the interrupt state will be reflected in MIS.TXMIS. A write of 0 clears the mask which means MIS.TXMIS will not reflect the interrupt. |
RIS @0x18 = 0x40008018
Raw Interrupt Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RORRIS RRaw interrupt state of receive overrun interrupt: The receive overrun interrupt is asserted when the FIFO is already full and an additional data frame is received, causing an overrun of the FIFO. Data is over-written in the receive shift register, but not the FIFO so the FIFO contents stay valid. It can also be cleared by writing to ICR.RORIC. |
[1] RTRIS RRaw interrupt state of receive timeout interrupt: The receive timeout interrupt is asserted when the receive FIFO is not empty and SSI has remained idle for a fixed 32 bit period. This mechanism can be used to notify the user that data is still present in the receive FIFO and requires servicing. This interrupt is deasserted if the receive FIFO becomes empty by subsequent reads, or if new data is received on RXD. It can also be cleared by writing to ICR.RTIC. |
[2] RXRIS RRaw interrupt state of receive FIFO interrupt: The receive interrupt is asserted when there are four or more valid entries in the receive FIFO. |
[3] TXRIS RRaw transmit FIFO interrupt status: The transmit interrupt is asserted when there are four or fewer valid entries in the transmit FIFO. The transmit interrupt is not qualified with the SSI enable signal. Therefore one of the following ways can be used: - data can be written to the transmit FIFO prior to enabling the SSI and the interrupts. - SSI and interrupts can be enabled so that data can be written to the transmit FIFO by an interrupt service routine. |
MIS @0x1c = 0x4000801c
Masked Interrupt Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RORMIS RMasked interrupt state of receive overrun interrupt: This field returns the masked interrupt state of receive overrun interrupt which is the AND product of raw interrupt state RIS.RORRIS and the mask setting IMSC.RORIM. |
[1] RTMIS RMasked interrupt state of receive timeout interrupt: This field returns the masked interrupt state of receive timeout interrupt which is the AND product of raw interrupt state RIS.RTRIS and the mask setting IMSC.RTIM. |
[2] RXMIS RMasked interrupt state of receive FIFO interrupt: This field returns the masked interrupt state of receive FIFO interrupt which is the AND product of raw interrupt state RIS.RXRIS and the mask setting IMSC.RXIM. |
[3] TXMIS RMasked interrupt state of transmit FIFO interrupt: This field returns the masked interrupt state of transmit FIFO interrupt which is the AND product of raw interrupt state RIS.TXRIS and the mask setting IMSC.TXIM. |
ICR @0x20 = 0x40008020
Interrupt Clear On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RORIC WClear the receive overrun interrupt: Writing 1 to this field clears the overrun error interrupt (RIS.RORRIS). Writing 0 has no effect. |
[1] RTIC WClear the receive timeout interrupt: Writing 1 to this field clears the timeout interrupt (RIS.RTRIS). Writing 0 has no effect. |
DMACR @0x24 = 0x40008024
DMA Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RXDMAE RWReceive DMA enable. If this bit is set to 1, DMA for the receive FIFO is enabled. |
[1] TXDMAE RWTransmit DMA enable. If this bit is set to 1, DMA for the transmit FIFO is enabled. |
RESERVED1 @0x28 = 0x40008028
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
RESERVED2 @0x90 = 0x40008090
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
TRNG at 0x40028000 with offset=0 and size=8192:
True Random Number Generator
Registers:
OUT0 @0x0 = 0x40028000
Random Number Lower Word Readout Value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VALUE_31_0 RLSW of 64- bit random value. New value ready when IRQFLAGSTAT.RDY = 1. |
OUT1 @0x4 = 0x40028004
Random Number Upper Word Readout Value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] VALUE_63_32 RMSW of 64-bit random value. New value ready when IRQFLAGSTAT.RDY = 1. |
IRQFLAGSTAT @0x8 = 0x40028008
Interrupt Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RDY R1: Data are available in OUT0 and OUT1. Acknowledging this state by writing '1' to IRQFLAGCLR.RDY clears this bit to '0'. If a new number is already available in the internal register of the TRNG, the number is directly clocked into the result register. In this case the status bit is asserted again, after one clock cycle. |
[1] SHUTDOWN_OVF R1: The number of FROs shut down (i.e. the number of '1' bits in the ALARMSTOP register) has exceeded the threshold set by ALARMCNT.SHUTDOWN_THR Writing '1' to IRQFLAGCLR.SHUTDOWN_OVF clears this bit to '0' again. |
[31] NEED_CLOCK R1: Indicates that the TRNG is busy generating entropy or is in one of its test modes - clocks may not be turned off and the power supply voltage must be kept stable. 0: TRNG is idle and can be shut down |
IRQFLAGMASK @0xc = 0x4002800c
Interrupt Mask
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RDY RW1: Allow IRQFLAGSTAT.RDY to activate the interrupt from this module. |
[1] SHUTDOWN_OVF RW1: Allow IRQFLAGSTAT.SHUTDOWN_OVF to activate the interrupt from this module. |
IRQFLAGCLR @0x10 = 0x40028010
Interrupt Flag Clear
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RDY W1: Clear IRQFLAGSTAT.RDY. |
[1] SHUTDOWN_OVF W1: Clear IRQFLAGSTAT.SHUTDOWN_OVF. |
CTL @0x14 = 0x40028014
Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[1] TEST_MODE RW1: Enables access to the TESTCNT and LFSR0/LFSR1/LFSR2 registers (the latter are automatically cleared before enabling access) and keeps IRQFLAGSTAT.NEED_CLOCK at '1'. This bit shall not be used unless you need to change the LFSR seed prior to creating a new random value. All other testing is done external to register control. |
[2] NO_LFSR_FB RW1: Remove XNOR feedback from the main LFSR, converting it into a normal shift register for the XOR-ed outputs of the FROs (shifting data in on the LSB side). A '1' also forces the LFSR to sample continuously. This bit can only be set to '1' when TEST_MODE is also set to '1' and should not be used for other than test purposes |
[10] TRNG_EN RW0: Forces all TRNG logic back into the idle state immediately. 1: Starts TRNG, gathering entropy from the FROs for the number of samples determined by STARTUP_CYCLES. |
[16..=31] STARTUP_CYCLES RWThis field determines the number of samples (between 2^8 and 2^24) taken to gather entropy from the FROs during startup. If the written value of this field is zero, the number of samples is 2^24, otherwise the number of samples equals the written value times 2^8. 0x0000: 2^24 samples 0x0001: 1*2^8 samples 0x0002: 2*2^8 samples 0x0003: 3*2^8 samples ... 0x8000: 32768*2^8 samples 0xC000: 49152*2^8 samples ... 0xFFFF: 65535*2^8 samples This field can only be modified while TRNG_EN is 0. If 1 an update will be ignored. |
CFG0 @0x18 = 0x40028018
Configuration 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] MIN_REFILL_CYCLES RWThis field determines the minimum number of samples (between 2^6 and 2^14) taken to re-generate entropy from the FROs after reading out a 64 bits random number. If the value of this field is zero, the number of samples is fixed to the value determined by the MAX_REFILL_CYCLES field, otherwise the minimum number of samples equals the written value times 64 (which can be up to 2^14). To ensure same entropy in all generated random numbers the value 0 should be used. Then MAX_REFILL_CYCLES controls the minimum refill interval. The number of samples defined here cannot be higher than the number defined by the 'max_refill_cycles' field (i.e. that field takes precedence). No random value will be created if min refill > max refill. This field can only be modified while CTL.TRNG_EN = 0. 0x00: Minimum samples = MAX_REFILL_CYCLES (all numbers have same entropy) 0x01: 1*2^6 samples 0x02: 2*2^6 samples ... 0xFF: 255*2^6 samples |
[8..=11] SMPL_DIV RWThis field directly controls the number of clock cycles between samples taken from the FROs. Default value 0 indicates that samples are taken every clock cycle, maximum value 0xF takes one sample every 16 clock cycles. This field must be set to a value such that the slowest FRO (even under worst-case conditions) has a cycle time less than twice the sample period. This field can only be modified while CTL.TRNG_EN is '0'. |
[16..=31] MAX_REFILL_CYCLES RWThis field determines the maximum number of samples (between 2^8 and 2^24) taken to re-generate entropy from the FROs after reading out a 64 bits random number. If the written value of this field is zero, the number of samples is 2^24, otherwise the number of samples equals the written value times 2^8. 0x0000: 2^24 samples 0x0001: 1*2^8 samples 0x0002: 2*2^8 samples 0x0003: 3*2^8 samples ... 0x8000: 32768*2^8 samples 0xC000: 49152*2^8 samples ... 0xFFFF: 65535*2^8 samples This field can only be modified while CTL.TRNG_EN is 0. |
ALARMCNT @0x1c = 0x4002801c
Alarm Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] ALARM_THR RWAlarm detection threshold for the repeating pattern detectors on each FRO. An FRO 'alarm event' is declared when a repeating pattern (of up to four samples length) is detected continuously for the number of samples defined by this field's value. Reset value 0xFF should keep the number of 'alarm events' to a manageable level. |
[16..=20] SHUTDOWN_THR RWThreshold setting for generating IRQFLAGSTAT.SHUTDOWN_OVF interrupt. The interrupt is triggered when SHUTDOWN_CNT value exceeds this bit field. |
[24..=29] SHUTDOWN_CNT RWRead-only, indicates the number of '1' bits in ALARMSTOP register. The maximum value equals the number of FROs. |
FROEN @0x20 = 0x40028020
FRO Enable
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] FRO_MASK RWEnable bits for the individual FROs. A '1' in bit [n] enables FRO 'n'. Default state is all '1's to enable all FROs after power-up. Note that they are not actually started up before the CTL.TRNG_EN bit is set to '1'. Bits are automatically forced to '0' here (and cannot be written to '1') while the corresponding bit in ALARMSTOP.FRO_FLAGS has value '1'. |
FRODETUNE @0x24 = 0x40028024
FRO De-tune Bit
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] FRO_MASK RWDe-tune bits for the individual FROs. A '1' in bit [n] lets FRO 'n' run approximately 5% faster. The value of one of these bits may only be changed while the corresponding FRO is turned off (by temporarily writing a '0' in the corresponding bit of the FROEN.FRO_MASK register). |
ALARMMASK @0x28 = 0x40028028
Alarm Event
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] FRO_MASK RWLogging bits for the 'alarm events' of individual FROs. A '1' in bit [n] indicates FRO 'n' experienced an 'alarm event'. |
ALARMSTOP @0x2c = 0x4002802c
Alarm Shutdown
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=23] FRO_FLAGS RWLogging bits for the 'alarm events' of individual FROs. A '1' in bit [n] indicates FRO 'n' experienced more than one 'alarm event' in quick succession and has been turned off. A '1' in this field forces the corresponding bit in FROEN.FRO_MASK to '0'. |
LFSR0 @0x30 = 0x40028030
LFSR Readout Value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] LFSR_31_0 RWBits [31:0] of the main entropy accumulation LFSR. Register can only be accessed when CTL.TEST_MODE = 1. Register contents will be cleared to zero before access is enabled. |
LFSR1 @0x34 = 0x40028034
LFSR Readout Value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] LFSR_63_32 RWBits [63:32] of the main entropy accumulation LFSR. Register can only be accessed when CTL.TEST_MODE = 1. Register contents will be cleared to zero before access is enabled. |
LFSR2 @0x38 = 0x40028038
LFSR Readout Value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=16] LFSR_80_64 RWBits [80:64] of the main entropy accumulation LFSR. Register can only be accessed when CTL.TEST_MODE = 1. Register contents will be cleared to zero before access is enabled. |
HWOPT @0x78 = 0x40028078
TRNG Engine Options Information
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[6..=11] NR_OF_FROS RNumber of FROs implemented in this TRNG, value 24 (decimal). |
HWVER0 @0x7c = 0x4002807c
HW Version 0 EIP Number And Core Revision
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] EIP_NUM R8 bits binary encoding of the module number. This TRNG gives 0x4B. |
[8..=15] EIP_NUM_COMPL RBit-by-bit logic complement of bits [7:0]. This TRNG gives 0xB4. |
[16..=19] HW_PATCH_LVL R4 bits binary encoding of the hardware patch level, initial release will carry value zero. |
[20..=23] HW_MINOR_VER R4 bits binary encoding of the minor hardware revision number. |
[24..=27] HW_MAJOR_VER R4 bits binary encoding of the major hardware revision number. |
IRQSTATMASK @0x1fd8 = 0x40029fd8
Interrupt Status After Masking
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RDY RNew random value available (result of IRQFLAGSTAT.RDY AND'ed with IRQFLAGMASK.RDY) |
[1] SHUTDOWN_OVF RShutdown Overflow (result of IRQFLAGSTAT.SHUTDOWN_OVF AND'ed with IRQFLAGMASK.SHUTDOWN_OVF) |
HWVER1 @0x1fe0 = 0x40029fe0
HW Version 1 TRNG Revision Number
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] REV RThe revision number of this module is Rev 2.0. |
IRQSET @0x1fec = 0x40029fec
Interrupt Set
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] RDY RWSoftware should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
SWRESET @0x1ff0 = 0x40029ff0
SW Reset Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RESET RWWrite '1' to soft reset , reset will be low for 4-5 clock cycles. Poll to 0 for reset to be completed. |
IRQSTAT @0x1ff8 = 0x40029ff8
Interrupt Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STAT RTRNG Interrupt status. OR'ed version of IRQFLAGSTAT.SHUTDOWN_OVF and IRQFLAGSTAT.RDY |
UART0 at 0x40001000 with offset=0 and size=4096:
Universal Asynchronous Receiver/Transmitter (UART) interface
Registers:
DR @0x0 = 0x40001000
Data For words to be transmitted: - if the FIFOs are enabled (LCRH.FEN = 1), data written to this location is pushed onto the transmit FIFO - if the FIFOs are not enabled (LCRH.FEN = 0), data is stored in the transmitter holding register (the bottom word of the transmit FIFO). The write operation initiates transmission from the UART. The data is prefixed with a start bit, appended with the appropriate parity bit (if parity is enabled), and a stop bit. The resultant word is then transmitted. For received words: - if the FIFOs are enabled (LCRH.FEN = 1), the data byte and the 4-bit status (break, frame, parity, and overrun) is pushed onto the 12-bit wide receive FIFO - if the FIFOs are not enabled (LCRH.FEN = 0), the data byte and status are stored in the receiving holding register (the bottom word of the receive FIFO). The received data byte is read by performing reads from this register along with the corresponding status information. The status information can also be read by a read of the RSR register.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=7] DATA RWData transmitted or received: On writes, the transmit data character is pushed into the FIFO. On reads, the oldest received data character since the last read is returned. |
[8] FE RUART Framing Error: When set to 1, it indicates that the received character did not have a valid stop bit (a valid stop bit is 1). In FIFO mode, this error is associated with the character at the top of the FIFO (i.e., the oldest received data character since last read). |
[9] PE RUART Parity Error: When set to 1, it indicates that the parity of the received data character does not match the parity that the LCRH.EPS and LCRH.SPS select. In FIFO mode, this error is associated with the character at the top of the FIFO (i.e., the oldest received data character since last read). |
[10] BE RUART Break Error: This bit is set to 1 if a break condition was detected, indicating that the received data input (UARTRXD input pin) was held LOW for longer than a full-word transmission time (defined as start, data, parity and stop bits). In FIFO mode, this error is associated with the character at the top of the FIFO (i.e., the oldest received data character since last read). When a break occurs, a 0 character is loaded into the FIFO. The next character is enabled after the receive data input (UARTRXD input pin) goes to a 1 (marking state), and the next valid start bit is received. |
[11] OE RUART Overrun Error: This bit is set to 1 if data is received and the receive FIFO is already full. The FIFO contents remain valid because no more data is written when the FIFO is full, , only the contents of the shift register are overwritten. This is cleared to 0 once there is an empty space in the FIFO and a new character can be written to it. |
RSR @0x4 = 0x40001004
Status This register is mapped to the same address as ECR register. Reads from this address are associated with RSR register and return the receive status. Writes to this address are associated with ECR register and clear the receive status flags (framing, parity, break, and overrun errors). If the status is read from this register, then the status information for break, framing and parity corresponds to the data character read from the Data Register, DR prior to reading the RSR. The status information for overrun is set immediately when an overrun condition occurs.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] FE RUART Framing Error: When set to 1, it indicates that the received character did not have a valid stop bit (a valid stop bit is 1). |
[1] PE RUART Parity Error: When set to 1, it indicates that the parity of the received data character does not match the parity that the LCRH.EPS and LCRH.SPS select. |
[2] BE RUART Break Error: This bit is set to 1 if a break condition was detected, indicating that the received data input (UARTRXD input pin) was held LOW for longer than a full-word transmission time (defined as start, data, parity and stop bits). When a break occurs, a 0 character is loaded into the FIFO. The next character is enabled after the receive data input (UARTRXD input pin) goes to a 1 (marking state), and the next valid start bit is received. |
[3] OE RUART Overrun Error: This bit is set to 1 if data is received and the receive FIFO is already full. The FIFO contents remain valid because no more data is written when the FIFO is full, , only the contents of the shift register are overwritten. This is cleared to 0 once there is an empty space in the FIFO and a new character can be written to it. |
ECR @0x4 = 0x40001004
Error Clear This register is mapped to the same address as RSR register. Reads from this address are associated with RSR register and return the receive status. Writes to this address are associated with ECR register and clear the receive status flags (framing, parity, break, and overrun errors).
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] FE WThe framing (FE), parity (PE), break (BE) and overrun (OE) errors are cleared to 0 by any write to this register. |
[1] PE WThe framing (FE), parity (PE), break (BE) and overrun (OE) errors are cleared to 0 by any write to this register. |
[2] BE WThe framing (FE), parity (PE), break (BE) and overrun (OE) errors are cleared to 0 by any write to this register. |
[3] OE WThe framing (FE), parity (PE), break (BE) and overrun (OE) errors are cleared to 0 by any write to this register. |
RESERVED0 @0x8 = 0x40001008
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
FR @0x18 = 0x40001018
Flag Reads from this register return the UART flags.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CTS RClear To Send: This bit is the complement of the active-low UART CTS input pin. That is, the bit is 1 when CTS input pin is LOW. |
[3] BUSY RUART Busy: If this bit is set to 1, the UART is busy transmitting data. This bit remains set until the complete byte, including all the stop bits, has been sent from the shift register. This bit is set as soon as the transmit FIFO becomes non-empty, regardless of whether the UART is enabled or not. |
[4] RXFE RUART Receive FIFO Empty: Receive FIFO empty. The meaning of this bit depends on the state of LCRH.FEN. - If the FIFO is disabled, this bit is set when the receive holding register is empty. - If the FIFO is enabled, this bit is set when the receive FIFO is empty. |
[5] TXFF RUART Transmit FIFO Full: Transmit FIFO full. The meaning of this bit depends on the state of LCRH.FEN. - If the FIFO is disabled, this bit is set when the transmit holding register is full. - If the FIFO is enabled, this bit is set when the transmit FIFO is full. |
[6] RXFF RUART Receive FIFO Full: The meaning of this bit depends on the state of LCRH.FEN. - If the FIFO is disabled, this bit is set when the receive holding register is full. - If the FIFO is enabled, this bit is set when the receive FIFO is full. |
[7] TXFE RUART Transmit FIFO Empty: The meaning of this bit depends on the state of LCRH.FEN . - If the FIFO is disabled, this bit is set when the transmit holding register is empty. - If the FIFO is enabled, this bit is set when the transmit FIFO is empty. This bit does not indicate if there is data in the transmit shift register. |
RESERVED2 @0x1c = 0x4000101c
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
IBRD @0x24 = 0x40001024
Integer Baud-Rate Divisor If this register is modified while trasmission or reception is on-going, the baudrate will not be updated until transmission or reception of the current character is complete.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=15] DIVINT RWThe integer baud rate divisor: The baud rate divisor is calculated using the formula below: Baud rate divisor = (UART reference clock frequency) / (16 * Baud rate) Baud rate divisor must be minimum 1 and maximum 65535. That is, DIVINT=0 does not give a valid baud rate. Similarly, if DIVINT=0xFFFF, any non-zero values in FBRD.DIVFRAC will be illegal. A valid value must be written to this field before the UART can be used for RX or TX operations. |
FBRD @0x28 = 0x40001028
Fractional Baud-Rate Divisor If this register is modified while trasmission or reception is on-going, the baudrate will not be updated until transmission or reception of the current character is complete.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=5] DIVFRAC RWFractional Baud-Rate Divisor: The baud rate divisor is calculated using the formula below: Baud rate divisor = (UART reference clock frequency) / (16 * Baud rate) Baud rate divisor must be minimum 1 and maximum 65535. That is, IBRD.DIVINT=0 does not give a valid baud rate. Similarly, if IBRD.DIVINT=0xFFFF, any non-zero values in DIVFRAC will be illegal. A valid value must be written to this field before the UART can be used for RX or TX operations. |
LCRH @0x2c = 0x4000102c
Line Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||
[0] BRK RWUART Send Break If this bit is set to 1, a low-level is continually output on the UARTTXD output pin, after completing transmission of the current character. For the proper execution of the break command, the software must set this bit for at least two complete frames. For normal use, this bit must be cleared to 0. |
[1] PEN RWUART Parity Enable This bit controls generation and checking of parity bit. Possible values:
|
[2] EPS RWUART Even Parity Select Possible values:
|
[3] STP2 RWUART Two Stop Bits Select: If this bit is set to 1, two stop bits are transmitted at the end of the frame. The receive logic does not check for two stop bits being received. |
[4] FEN RWUART Enable FIFOs Possible values:
|
[5..=6] WLEN RWUART Word Length: These bits indicate the number of data bits transmitted or received in a frame. Possible values:
|
[7] SPS RWUART Stick Parity Select: 0: Stick parity is disabled 1: The parity bit is transmitted and checked as invert of EPS field (i.e. the parity bit is transmitted and checked as 1 when EPS = 0). This bit has no effect when PEN disables parity checking and generation. |
CTL @0x30 = 0x40001030
Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] UARTEN RWUART Enable Possible values:
|
[7] LBE RWUART Loop Back Enable: Enabling the loop-back mode connects the UARTTXD output from the UART to UARTRXD input of the UART. Possible values:
|
[8] TXE RWUART Transmit Enable If the UART is disabled in the middle of transmission, it completes the current character before stopping. Possible values:
|
[9] RXE RWUART Receive Enable If the UART is disabled in the middle of reception, it completes the current character before stopping. Possible values:
|
[11] RTS RWRequest to Send This bit is the complement of the active-low UART RTS output. That is, when the bit is programmed to a 1 then RTS output on the pins is LOW. |
[14] RTSEN RWRTS hardware flow control enable Possible values:
|
[15] CTSEN RWCTS hardware flow control enable Possible values:
|
IFLS @0x34 = 0x40001034
Interrupt FIFO Level Select
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||||||
[0..=2] TXSEL RWTransmit interrupt FIFO level select: This field sets the trigger points for the transmit interrupt. Values 0b101-0b111 are reserved. Possible values:
|
[3..=5] RXSEL RWReceive interrupt FIFO level select: This field sets the trigger points for the receive interrupt. Values 0b101-0b111 are reserved. Possible values:
|
IMSC @0x38 = 0x40001038
Interrupt Mask Set/Clear
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[1] CTSMIM RWClear to Send (CTS) modem interrupt mask. A read returns the current mask for UART's clear to send interrupt. On a write of 1, the mask of the overrun error interrupt is set which means the interrupt state will be reflected in MIS.CTSMMIS. A write of 0 clears the mask which means MIS.CTSMMIS will not reflect the interrupt. |
[4] RXIM RWReceive interrupt mask. A read returns the current mask for UART's receive interrupt. On a write of 1, the mask of the overrun error interrupt is set which means the interrupt state will be reflected in MIS.RXMIS. A write of 0 clears the mask which means MIS.RXMIS will not reflect the interrupt. |
[5] TXIM RWTransmit interrupt mask. A read returns the current mask for UART's transmit interrupt. On a write of 1, the mask of the overrun error interrupt is set which means the interrupt state will be reflected in MIS.TXMIS. A write of 0 clears the mask which means MIS.TXMIS will not reflect the interrupt. |
[6] RTIM RWReceive timeout interrupt mask. A read returns the current mask for UART's receive timeout interrupt. On a write of 1, the mask of the overrun error interrupt is set which means the interrupt state will be reflected in MIS.RTMIS. A write of 0 clears the mask which means this bitfield will not reflect the interrupt. The raw interrupt for receive timeout RIS.RTRIS cannot be set unless the mask is set (RTIM = 1). This is because the mask acts as an enable for power saving. That is, the same status can be read from MIS.RTMIS and RIS.RTRIS. |
[7] FEIM RWFraming error interrupt mask. A read returns the current mask for UART's framing error interrupt. On a write of 1, the mask of the overrun error interrupt is set which means the interrupt state will be reflected in MIS.FEMIS. A write of 0 clears the mask which means MIS.FEMIS will not reflect the interrupt. |
[8] PEIM RWParity error interrupt mask. A read returns the current mask for UART's parity error interrupt. On a write of 1, the mask of the overrun error interrupt is set which means the interrupt state will be reflected in MIS.PEMIS. A write of 0 clears the mask which means MIS.PEMIS will not reflect the interrupt. |
[9] BEIM RWBreak error interrupt mask. A read returns the current mask for UART's break error interrupt. On a write of 1, the mask of the overrun error interrupt is set which means the interrupt state will be reflected in MIS.BEMIS. A write of 0 clears the mask which means MIS.BEMIS will not reflect the interrupt. |
[10] OEIM RWOverrun error interrupt mask. A read returns the current mask for UART's overrun error interrupt. On a write of 1, the mask of the overrun error interrupt is set which means the interrupt state will be reflected in MIS.OEMIS. A write of 0 clears the mask which means MIS.OEMIS will not reflect the interrupt. |
RIS @0x3c = 0x4000103c
Raw Interrupt Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[1] CTSRMIS RClear to Send (CTS) modem interrupt status: This field returns the raw interrupt state of UART's clear to send interrupt. |
[4] RXRIS RReceive interrupt status: This field returns the raw interrupt state of UART's receive interrupt. When FIFOs are enabled (LCRH.FEN = 1), the receive interrupt is asserted if the receive FIFO reaches the programmed trigger level (IFLS.RXSEL). The receive interrupt is cleared by reading data from the receive FIFO until it becomes less than the trigger level, or by clearing the interrupt through ICR.RXIC. When FIFOs are disabled (LCRH.FEN = 0), that is they have a depth of one location, the receive interrupt is asserted if data is received thereby filling the location. The receive interrupt is cleared by performing a single read of the receive FIFO, or by clearing the interrupt through ICR.RXIC. |
[5] TXRIS RTransmit interrupt status: This field returns the raw interrupt state of UART's transmit interrupt. When FIFOs are enabled (LCRH.FEN = 1), the transmit interrupt is asserted if the number of bytes in transmit FIFO is equal to or lower than the programmed trigger level (IFLS.TXSEL). The transmit interrupt is cleared by writing data to the transmit FIFO until it becomes greater than the trigger level, or by clearing the interrupt through ICR.TXIC. When FIFOs are disabled (LCRH.FEN = 0), that is they have a depth of one location, the transmit interrupt is asserted if there is no data present in the transmitters single location. It is cleared by performing a single write to the transmit FIFO, or by clearing the interrupt through ICR.TXIC. |
[6] RTRIS RReceive timeout interrupt status: This field returns the raw interrupt state of UART's receive timeout interrupt. The receive timeout interrupt is asserted when the receive FIFO is not empty, and no more data is received during a 32-bit period. The receive timeout interrupt is cleared either when the FIFO becomes empty through reading all the data, or when a 1 is written to ICR.RTIC. The raw interrupt for receive timeout cannot be set unless the mask is set (IMSC.RTIM = 1). This is because the mask acts as an enable for power saving. That is, the same status can be read from MIS.RTMIS and RTRIS. |
[7] FERIS RFraming error interrupt status: This field returns the raw interrupt state of UART's framing error interrupt. Framing error is set if the received character does not have a valid stop bit (a valid stop bit is 1). |
[8] PERIS RParity error interrupt status: This field returns the raw interrupt state of UART's parity error interrupt. Parity error is set if the parity of the received data character does not match the parity that the LCRH.EPS and LCRH.SPS select. |
[9] BERIS RBreak error interrupt status: This field returns the raw interrupt state of UART's break error interrupt. Break error is set when a break condition is detected, indicating that the received data input (UARTRXD input pin) was held LOW for longer than a full-word transmission time (defined as start, data, parity and stop bits). |
[10] OERIS ROverrun error interrupt status: This field returns the raw interrupt state of UART's overrun error interrupt. Overrun error occurs if data is received and the receive FIFO is full. |
MIS @0x40 = 0x40001040
Masked Interrupt Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[1] CTSMMIS RClear to Send (CTS) modem masked interrupt status: This field returns the masked interrupt state of the clear to send interrupt which is the AND product of raw interrupt state RIS.CTSRMIS and the mask setting IMSC.CTSMIM. |
[4] RXMIS RReceive masked interrupt status: This field returns the masked interrupt state of the receive interrupt which is the AND product of raw interrupt state RIS.RXRIS and the mask setting IMSC.RXIM. |
[5] TXMIS RTransmit masked interrupt status: This field returns the masked interrupt state of the transmit interrupt which is the AND product of raw interrupt state RIS.TXRIS and the mask setting IMSC.TXIM. |
[6] RTMIS RReceive timeout masked interrupt status: Returns the masked interrupt state of the receive timeout interrupt. The raw interrupt for receive timeout cannot be set unless the mask is set (IMSC.RTIM = 1). This is because the mask acts as an enable for power saving. That is, the same status can be read from RTMIS and RIS.RTRIS. |
[7] FEMIS RFraming error masked interrupt status: Returns the masked interrupt state of the framing error interrupt which is the AND product of raw interrupt state RIS.FERIS and the mask setting IMSC.FEIM. |
[8] PEMIS RParity error masked interrupt status: This field returns the masked interrupt state of the parity error interrupt which is the AND product of raw interrupt state RIS.PERIS and the mask setting IMSC.PEIM. |
[9] BEMIS RBreak error masked interrupt status: This field returns the masked interrupt state of the break error interrupt which is the AND product of raw interrupt state RIS.BERIS and the mask setting IMSC.BEIM. |
[10] OEMIS ROverrun error masked interrupt status: This field returns the masked interrupt state of the overrun interrupt which is the AND product of raw interrupt state RIS.OERIS and the mask setting IMSC.OEIM. |
ICR @0x44 = 0x40001044
Interrupt Clear On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[1] CTSMIC WClear to Send (CTS) modem interrupt clear: Writing 1 to this field clears the clear to send interrupt (RIS.CTSRMIS). Writing 0 has no effect. |
[4] RXIC WReceive interrupt clear: Writing 1 to this field clears the receive interrupt (RIS.RXRIS). Writing 0 has no effect. |
[5] TXIC WTransmit interrupt clear: Writing 1 to this field clears the transmit interrupt (RIS.TXRIS). Writing 0 has no effect. |
[6] RTIC WReceive timeout interrupt clear: Writing 1 to this field clears the receive timeout interrupt (RIS.RTRIS). Writing 0 has no effect. |
[7] FEIC WFraming error interrupt clear: Writing 1 to this field clears the framing error interrupt (RIS.FERIS). Writing 0 has no effect. |
[8] PEIC WParity error interrupt clear: Writing 1 to this field clears the parity error interrupt (RIS.PERIS). Writing 0 has no effect. |
[9] BEIC WBreak error interrupt clear: Writing 1 to this field clears the break error interrupt (RIS.BERIS). Writing 0 has no effect. |
[10] OEIC WOverrun error interrupt clear: Writing 1 to this field clears the overrun error interrupt (RIS.OERIS). Writing 0 has no effect. |
DMACTL @0x48 = 0x40001048
DMA Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] RXDMAE RWReceive DMA enable. If this bit is set to 1, DMA for the receive FIFO is enabled. |
[1] TXDMAE RWTransmit DMA enable. If this bit is set to 1, DMA for the transmit FIFO is enabled. |
[2] DMAONERR RWDMA on error. If this bit is set to 1, the DMA receive request outputs (for single and burst requests) are disabled when the UART error interrupt is asserted (more specifically if any of the error interrupts RIS.PERIS, RIS.BERIS, RIS.FERIS or RIS.OERIS are asserted). |
RESERVED1 @0x4c = 0x4000104c
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
RESERVED3 @0x90 = 0x40001090
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
RESERVED4 @0xfd0 = 0x40001fd0
Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
UDMA0 at 0x40020000 with offset=0 and size=4096:
ARM Micro Direct Memory Access Controller
Registers:
STATUS @0x0 = 0x40020000
Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] MASTERENABLE RShows the enable status of the controller as configured by CFG.MASTERENABLE: 0: Controller is disabled 1: Controller is enabled |
[4..=7] STATE RCurrent state of the control state machine. State can be one of the following: 0x0: Idle 0x1: Reading channel controller data 0x2: Reading source data end pointer 0x3: Reading destination data end pointer 0x4: Reading source data 0x5: Writing destination data 0x6: Waiting for uDMA request to clear 0x7: Writing channel controller data 0x8: Stalled 0x9: Done 0xA: Peripheral scatter-gather transition 0xB: Undefined ... 0xF: Undefined. |
[16..=20] TOTALCHANNELS RRegister value returns number of available uDMA channels minus one. For example a read out value of: 0x00: Show that the controller is configured to use 1 uDMA channel 0x01: Shows that the controller is configured to use 2 uDMA channels ... 0x1F: Shows that the controller is configured to use 32 uDMA channels (32-1=31=0x1F) |
[28..=31] TEST R0x0: Controller does not include the integration test logic 0x1: Controller includes the integration test logic 0x2: Undefined ... 0xF: Undefined |
CFG @0x4 = 0x40020004
Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] MASTERENABLE WEnables the controller: 0: Disables the controller 1: Enables the controller |
[5..=7] PRTOCTRL WSets the AHB-Lite bus protocol protection state by controlling the AHB signal HProt[3:1] as follows: Bit [7] Controls HProt[3] to indicate if a cacheable access is occurring. Bit [6] Controls HProt[2] to indicate if a bufferable access is occurring. Bit [5] Controls HProt[1] to indicate if a privileged access is occurring. When bit [n] = 1 then the corresponding HProt bit is high. When bit [n] = 0 then the corresponding HProt bit is low. This field controls HProt[3:1] signal for all transactions initiated by uDMA except two transactions below: - the read from the address indicated by source address pointer - the write to the address indicated by destination address pointer HProt[3:1] for these two exceptions can be controlled by dedicated fields in the channel configutation descriptor. |
CTRL @0x8 = 0x40020008
Channel Control Data Base Pointer
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[10..=31] BASEPTR RWThis register point to the base address for the primary data structures of each DMA channel. This is not stored in module, but in system memory, thus space must be allocated for this usage when DMA is in usage |
ALTCTRL @0xc = 0x4002000c
Channel Alternate Control Data Base Pointer
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] BASEPTR RThis register shows the base address for the alternate data structures and is calculated by module, thus read only |
WAITONREQ @0x10 = 0x40020010
Channel Wait On Request Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLSTATUS RChannel wait on request status: Bit [Ch] = 0: Once uDMA receives a single or burst request on channel Ch, this channel may come out of active state even if request is still present. Bit [Ch] = 1: Once uDMA receives a single or burst request on channel Ch, it keeps channel Ch in active state until the requests are deasserted. This handshake is necessary for channels where the requester is in an asynchronous domain or can run at slower clock speed than uDMA |
SOFTREQ @0x14 = 0x40020014
Channel Software Request
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLS WSet the appropriate bit to generate a software uDMA request on the corresponding uDMA channel Bit [Ch] = 0: Does not create a uDMA request for channel Ch Bit [Ch] = 1: Creates a uDMA request for channel Ch Writing to a bit where a uDMA channel is not implemented does not create a uDMA request for that channel |
SETBURST @0x18 = 0x40020018
Channel Set UseBurst
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLS RWReturns the useburst status, or disables individual channels from generating single uDMA requests. The value R is the arbitration rate and stored in the controller data structure. Read as: Bit [Ch] = 0: uDMA channel Ch responds to both burst and single requests on channel C. The controller performs 2^R, or single, bus transfers. Bit [Ch] = 1: uDMA channel Ch does not respond to single transfer requests. The controller only responds to burst transfer requests and performs 2^R transfers. Write as: Bit [Ch] = 0: No effect. Use the CLEARBURST.CHNLS to set bit [Ch] to 0. Bit [Ch] = 1: Disables single transfer requests on channel Ch. The controller performs 2^R transfers for burst requests. Writing to a bit where a uDMA channel is not implemented has no effect |
CLEARBURST @0x1c = 0x4002001c
Channel Clear UseBurst
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLS WSet the appropriate bit to enable single transfer requests. Write as: Bit [Ch] = 0: No effect. Use the SETBURST.CHNLS to disable single transfer requests. Bit [Ch] = 1: Enables single transfer requests on channel Ch. Writing to a bit where a DMA channel is not implemented has no effect. |
SETREQMASK @0x20 = 0x40020020
Channel Set Request Mask
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLS RWReturns the burst and single request mask status, or disables the corresponding channel from generating uDMA requests. Read as: Bit [Ch] = 0: External requests are enabled for channel Ch. Bit [Ch] = 1: External requests are disabled for channel Ch. Write as: Bit [Ch] = 0: No effect. Use the CLEARREQMASK.CHNLS to enable uDMA requests. Bit [Ch] = 1: Disables uDMA burst request channel [C] and uDMA single request channel [C] input from generating uDMA requests. Writing to a bit where a uDMA channel is not implemented has no effect |
CLEARREQMASK @0x24 = 0x40020024
Clear Channel Request Mask
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLS WSet the appropriate bit to enable DMA request for the channel. Write as: Bit [Ch] = 0: No effect. Use the SETREQMASK.CHNLS to disable channel C from generating requests. Bit [Ch] = 1: Enables channel [C] to generate DMA requests. Writing to a bit where a DMA channel is not implemented has no effect. |
SETCHANNELEN @0x28 = 0x40020028
Set Channel Enable
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLS RWReturns the enable status of the channels, or enables the corresponding channels. Read as: Bit [Ch] = 0: Channel Ch is disabled. Bit [Ch] = 1: Channel Ch is enabled. Write as: Bit [Ch] = 0: No effect. Use the CLEARCHANNELEN.CHNLS to disable a channel Bit [Ch] = 1: Enables channel Ch Writing to a bit where a DMA channel is not implemented has no effect |
CLEARCHANNELEN @0x2c = 0x4002002c
Clear Channel Enable
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLS WSet the appropriate bit to disable the corresponding uDMA channel. Write as: Bit [Ch] = 0: No effect. Use the SETCHANNELEN.CHNLS to enable uDMA channels. Bit [Ch] = 1: Disables channel Ch Writing to a bit where a uDMA channel is not implemented has no effect |
SETCHNLPRIALT @0x30 = 0x40020030
Channel Set Primary-Alternate
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLS RWReturns the channel control data structure status, or selects the alternate data structure for the corresponding uDMA channel. Read as: Bit [Ch] = 0: uDMA channel Ch is using the primary data structure. Bit [Ch] = 1: uDMA channel Ch is using the alternate data structure. Write as: Bit [Ch] = 0: No effect. Use the CLEARCHNLPRIALT.CHNLS to disable a channel Bit [Ch] = 1: Selects the alternate data structure for channel Ch Writing to a bit where a uDMA channel is not implemented has no effect |
CLEARCHNLPRIALT @0x34 = 0x40020034
Channel Clear Primary-Alternate
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLS WClears the appropriate bit to select the primary data structure for the corresponding uDMA channel. Write as: Bit [Ch] = 0: No effect. Use the SETCHNLPRIALT.CHNLS to select the alternate data structure. Bit [Ch] = 1: Selects the primary data structure for channel Ch. Writing to a bit where a uDMA channel is not implemented has no effect |
SETCHNLPRIORITY @0x38 = 0x40020038
Set Channel Priority
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLS RWReturns the channel priority mask status, or sets the channel priority to high. Read as: Bit [Ch] = 0: uDMA channel Ch is using the default priority level. Bit [Ch] = 1: uDMA channel Ch is using a high priority level. Write as: Bit [Ch] = 0: No effect. Use the CLEARCHNLPRIORITY.CHNLS to set channel Ch to the default priority level. Bit [Ch] = 1: Channel Ch uses the high priority level. Writing to a bit where a uDMA channel is not implemented has no effect |
CLEARCHNLPRIORITY @0x3c = 0x4002003c
Clear Channel Priority
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLS WClear the appropriate bit to select the default priority level for the specified uDMA channel. Write as: Bit [Ch] = 0: No effect. Use the SETCHNLPRIORITY.CHNLS to set channel Ch to the high priority level. Bit [Ch] = 1: Channel Ch uses the default priority level. Writing to a bit where a uDMA channel is not implemented has no effect |
ERROR @0x4c = 0x4002004c
Error Status and Clear
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] STATUS RWReturns the status of bus error flag in uDMA, or clears this bit Read as: 0: No bus error detected 1: Bus error detected Write as: 0: No effect, status of bus error flag is unchanged. 1: Clears the bus error flag. |
REQDONE @0x504 = 0x40020504
Channel Request Done
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLS RWReflects the uDMA done status for the given channel, channel [Ch]. It's a sticky done bit. Unless cleared by writing a 1, it holds the value of 1. Read as: Bit [Ch] = 0: Request has not completed for channel Ch Bit [Ch] = 1: Request has completed for the channel Ch Writing a 1 to individual bits would clear the corresponding bit. Write as: Bit [Ch] = 0: No effect. Bit [Ch] = 1: The corresponding [Ch] bit is cleared and is set to 0 |
DONEMASK @0x520 = 0x40020520
Channel Request Done Mask
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] CHNLS RWControls the propagation of the uDMA done and active state to the assigned peripheral. Specifically used for software channels. Read as: Bit [Ch] = 0: uDMA done and active state for channel Ch is not blocked from reaching to the peripherals. Note that the uDMA done state for channel [Ch] is blocked from contributing to generation of combined uDMA done signal Bit [Ch] = 1: uDMA done and active state for channel Ch is blocked from reaching to the peripherals. Note that the uDMA done state for channel [Ch] is not blocked from contributing to generation of combined uDMA done signal Write as: Bit [Ch] = 0: Allows uDMA done and active stat to propagate to the peripherals. Note that this disables uDMA done state for channel [Ch] from contributing to generation of combined uDMA done signal Bit [Ch] = 1: Blocks uDMA done and active state to propagate to the peripherals. Note that this enables uDMA done for channel [Ch] to contribute to generation of combined uDMA done signal. |
VIMS at 0x40034000 with offset=0 and size=1024:
Versatile Instruction Memory System Controls memory access to the Flash and encapsulates the following instruction memories: - Boot ROM - Cache / GPRAM
Registers:
STAT @0x0 = 0x40034000
Status Displays current VIMS mode and line buffer status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||
[0..=1] MODE RCurrent VIMS mode Possible values:
|
[2] INV RThis bit is set when invalidation of the cache memory is active / ongoing |
[3] MODE_CHANGING RVIMS mode change status 0: VIMS is in the mode defined by MODE 1: VIMS is in the process of changing to the mode given in CTL.MODE |
[4] SYSBUS_LB_DIS RSysbus flash line buffer control 0: Enabled or in transition to disabled 1: Disabled and flushed |
[5] IDCODE_LB_DIS RIcode/Dcode flash line buffer status 0: Enabled or in transition to disabled 1: Disabled and flushed |
CTL @0x4 = 0x40034004
Control Configure VIMS mode and line buffer settings
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||
[0..=1] MODE RWVIMS mode request. Write accesses to this field will be blocked while STAT.MODE_CHANGING is set to 1. Note: Transaction from CACHE mode to GPRAM mode should be done through OFF mode to minimize flash block delay. Possible values:
|
[2] PREF_EN RWTag prefetch control 0: Disabled 1: Enabled |
[3] ARB_CFG RWIcode/Dcode and sysbus arbitation scheme 0: Static arbitration (icode/docde > sysbus) 1: Round-robin arbitration |
[4] SYSBUS_LB_DIS RWSysbus flash line buffer control 0: Enable 1: Disable |
[5] IDCODE_LB_DIS RWIcode/Dcode flash line buffer control 0: Enable 1: Disable |
[29] DYN_CG_EN RW0: The in-built clock gate functionality is bypassed. 1: The in-built clock gate functionality is enabled, automatically gating the clock when not needed. |
[30] STATS_EN RWSet this bit to enable statistic counters. |
[31] STATS_CLR RWSet this bit to clear statistic counters. |
WDT at 0x40080000 with offset=0 and size=4096:
Watchdog Timer
Registers:
LOAD @0x0 = 0x40080000
Configuration
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] WDTLOAD RWThis register is the 32-bit interval value used by the 32-bit counter. When this register is written, the value is immediately loaded and the counter is restarted to count down from the new value. If this register is loaded with 0x0000.0000, an interrupt is immediately generated. |
VALUE @0x4 = 0x40080004
Current Count Value
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] WDTVALUE RThis register contains the current count value of the timer. |
CTL @0x8 = 0x40080008
Control
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |||||||||||||||||||||||||||
[0] INTEN RWWDT Interrupt Enable 0: Interrupt event disabled. 1: Interrupt event enabled. Once set, this bit can only be cleared by a hardware reset. Possible values:
|
[1] RESEN RWWDT Reset Enable. Defines the function of the WDT reset source (see PRCM:WARMRESET.WDT_STAT if enabled) 0: Disabled. 1: Enable the Watchdog reset output. Possible values:
|
[2] INTTYPE RWWDT Interrupt Type 0: WDT interrupt is a standard interrupt. 1: WDT interrupt is a non-maskable interrupt. Possible values:
|
ICR @0xc = 0x4008000c
Interrupt Clear
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] WDTICR WThis register is the interrupt clear register. A write of any value to this register clears the WDT interrupt and reloads the 32-bit counter from the LOAD register. |
RIS @0x10 = 0x40080010
Raw Interrupt Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] WDTRIS RThis register is the raw interrupt status register. WDT interrupt events can be monitored via this register if the controller interrupt is masked. Value Description 0: The WDT has not timed out 1: A WDT time-out event has occurred |
MIS @0x14 = 0x40080014
Masked Interrupt Status
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] WDTMIS RThis register is the masked interrupt status register. The value of this register is the logical AND of the raw interrupt bit and the WDT interrupt enable bit CTL.INTEN. Value Description 0: The WDT has not timed out or is masked. 1: An unmasked WDT time-out event has occurred. |
TEST @0x418 = 0x40080418
Test Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||
[0] TEST_EN RWThe test enable bit 0: Enable external reset 1: Disables the generation of an external reset. Instead bit 1 of the INT_CAUS register is set and an interrupt is generated Possible values:
|
[8] STALL RWWDT Stall Enable 0: The WDT timer continues counting if the CPU is stopped with a debugger. 1: If the CPU is stopped with a debugger, the WDT stops counting. Once the CPU is restarted, the WDT resumes counting. Possible values:
|
INT_CAUS @0x41c = 0x4008041c
Interrupt Cause Test Mode
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0] CAUSE_INTR RReplica of RIS.WDTRIS |
[1] CAUSE_RESET RIndicates that the cause of an interrupt was a reset generated but blocked due to TEST.TEST_EN (only possible when TEST.TEST_EN is set). |
LOCK @0xc00 = 0x40080c00
Lock
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
[0..=31] WDTLOCK RWWDT Lock: A write of the value 0x1ACC.E551 unlocks the watchdog registers for write access. A write of any other value reapplies the lock, preventing any register updates (NOTE: TEST.TEST_EN bit is not lockable). A read of this register returns the following values: 0x0000.0000: Unlocked 0x0000.0001: Locked |