\n
address_offset : 0x0 Bytes (0x0)
size : 0x10000 byte (0x0)
mem_usage : registers
protection :
Power Mode Control
address_offset : 0x0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
POWER_MODE : Current power mode of the device. Note that this field cannot be read in all power modes on actual silicon.
bits : 0 - 3 (4 bit)
access : read-only
Enumeration:
0 : RESET
RESET state
1 : ACTIVE
ACTIVE state
2 : SLEEP
SLEEP state
3 : DEEP_SLEEP
DEEP_SLEEP state
End of enumeration elements list.
DEBUG_SESSION : Indicates whether a debug session is active (CDBGPWRUPREQ signal is 1)
bits : 4 - 8 (5 bit)
access : read-only
Enumeration:
0 : NO_SESSION
No debug session active
1 : SESSION_ACTIVE
Debug session is active
End of enumeration elements list.
LPM_READY : Indicates whether the low power mode regulator is ready to enter DEEPSLEEP mode. 0: If DEEPSLEEP mode is requested, device will enter SLEEP mode. When low power regulators are ready, device will automatically enter the originally requested mode. 1: Normal operation. DEEPSLEEP works as described.
bits : 5 - 10 (6 bit)
access : read-only
OVER_TEMP_EN : Enables the die over temperature sensor. Must be enabled when using the TEMP_HIGH interrupt.
bits : 16 - 32 (17 bit)
access : read-write
OVER_TEMP_THRESH : Over-temperature threshold. 0: TEMP_HIGH condition occurs between 120C and 125C. 1: TEMP_HIGH condition occurs between 60C and 75C (used for testing).
bits : 17 - 34 (18 bit)
access : read-write
SPARE : Spare AHB readback bits that are hooked to PWR_PWRSYS_TRIM1.SPARE_TRIM[1:0] through spare logic equivalent to bitwise inversion. Engineering only.
bits : 18 - 37 (20 bit)
access : read-only
EXT_VCCD : Always write 0 except as noted below. PSoC4-S0 and Streetfighter CapSense products may set this bit if Vccd is provided externally (on Vccd pin). Setting this bit turns off the active regulator and will lead to system reset (BOD) unless both Vddd and Vccd pins are supplied externally. This register bit only resets for XRES, POR, or a detected BOD.
bits : 23 - 46 (24 bit)
access : read-write
Test Mode Control Register
address_offset : 0x14 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
SWD_CONNECTED : 0: SWD not active 1: SWD activated (Line Reset and Connect sequence passed) (Note: this bit replaces TST_CTRL.SWD_CONNECTED and is present in all M0S8 products except TSG4)
bits : 2 - 4 (3 bit)
access : read-only
BLOCK_ALT_XRES : Relevant only for parts that have the alternate XRES mechanism of overloading a GPIO pin temporarily as alternate XRES during test. When set, this bit blocks the alternate XRES function, such that the pin can be used for normal I/O or for ddft/adft observation. See SAS Part-V and Part-IX for details. This register bit only resets for XRES, POR, or a detected BOD.
bits : 28 - 56 (29 bit)
access : read-write
TEST_KEY_DFT_EN : This bit is set when a XRES test mode key is shifted in. It is the value of the test_key_dft_en signal. When this bit is set, the BootROM will not yield execution to the FLASH image (same function as setting TEST_MODE bit below).
bits : 30 - 60 (31 bit)
access : read-only
TEST_MODE : 0: Normal operation mode 1: Test mode (any test mode) Setting this bit will prevent BootROM from yielding execution to Flash image.
bits : 31 - 62 (32 bit)
access : read-write
Clock Select Register
address_offset : 0x28 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
HFCLK_SEL : Selects a source for clk_hf and dsi_in[0]. Note that not all products support all clock sources. Selecting a clock source that is not supported will result in undefined behavior.
bits : 0 - 1 (2 bit)
access : read-write
Enumeration:
0 : IMO
IMO - Internal R/C Oscillator
1 : EXTCLK
EXTCLK - External Clock Pin
2 : ECO
ECO - External-Crystal Oscillator or PLL subsystem output
End of enumeration elements list.
HFCLK_DIV : Selects clk_hf predivider value.
bits : 2 - 5 (4 bit)
access : read-write
Enumeration:
0 : NO_DIV
Transparent mode, feed through selected clock source w/o dividing.
1 : DIV_BY_2
Divide selected clock source by 2
2 : DIV_BY_4
Divide selected clock source by 4
3 : DIV_BY_8
Divide selected clock source by 8
End of enumeration elements list.
PUMP_SEL : Selects clock source for charge pump clock. This clock is not guaranteed to be glitch free when changing any of its sources or settings.
bits : 4 - 9 (6 bit)
access : read-write
Enumeration:
0 : GND
No clock, connect to gnd
1 : IMO
Use main IMO output
2 : HFCLK
Use clk_hf (using selected source after predivider but before prescaler)
End of enumeration elements list.
SYSCLK_DIV : Select clk_sys prescaler value.
bits : 6 - 13 (8 bit)
access : read-write
Enumeration:
0 : NO_DIV
clk_sys= clk_hf/1
1 : DIV_BY_2
clk_sys= clk_hf/2
2 : DIV_BY_4
clk_sys= clk_hf/4
3 : DIV_BY_8
clk_sys= clk_hf/8
End of enumeration elements list.
ILO Configuration
address_offset : 0x2C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
ENABLE : Master enable for ILO oscillator. This bit is hardware set whenever the WD_DISABLE_KEY is not set to the magic value.
bits : 31 - 62 (32 bit)
access : read-write
IMO Configuration
address_offset : 0x30 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
ENABLE : Master enable for IMO oscillator. Clearing this bit will disable the IMO. Don't do this if the system is running off it.
bits : 31 - 62 (32 bit)
access : read-write
Clock DFT Mode Selection Register
address_offset : 0x34 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DFT_SEL0 : Select signal for DFT output #0
bits : 0 - 3 (4 bit)
access : read-write
Enumeration:
0 : NC
Disabled - output is 0
1 : ILO
clk_ilo: ILO output
2 : IMO
clk_imo: IMO primary output
3 : ECO
clk_eco: ECO output
4 : EXTCLK
clk_ext: external clock input
5 : HFCLK
clk_hf: root of the high-speed clock tree
6 : LFCLK
clk_lf: root of the low-speed clock tree
7 : SYSCLK
clk_sys: root of the CPU/AHB clock tree (gated version of clk_hf)
8 : PUMPCLK
clk_pump: clock provided to charge pumps in FLASH and PA
9 : SLPCTRLCLK
clk_slpctrl: clock provided to SleepController
End of enumeration elements list.
DFT_DIV0 : DFT Output Divide Down.
bits : 4 - 9 (6 bit)
access : read-write
Enumeration:
0 : NO_DIV
Direct Output
1 : DIV_BY_2
Divide by 2
2 : DIV_BY_4
Divide by 4
3 : DIV_BY_8
Divide by 8
End of enumeration elements list.
DFT_EDGE0 : Edge sensitivity for in-line divider on output #0 (only relevant when DIV0>0).
bits : 6 - 12 (7 bit)
access : read-write
Enumeration:
0 : POSEDGE
Use posedge for divider
1 : NEGEDGE
Use negedge for divider
End of enumeration elements list.
DFT_SEL1 : Select signal for DFT output #1
bits : 8 - 19 (12 bit)
access : read-write
Enumeration:
0 : NC
Disabled - output is 0
1 : ILO
clk_ilo: ILO output
2 : IMO
clk_imo: IMO primary output
3 : ECO
clk_eco: ECO output
4 : EXTCLK
clk_ext: external clock input
5 : HFCLK
clk_hf: root of the high-speed clock tree
6 : LFCLK
clk_lf: root of the low-speed clock tree
7 : SYSCLK
clk_sys: root of the CPU/AHB clock tree (gated version of clk_hf)
8 : PUMPCLK
clk_pump: clock provided to charge pumps in FLASH and PA
9 : SLPCTRLCLK
clk_slpctrl: clock provided to SleepController
End of enumeration elements list.
DFT_DIV1 : DFT Output Divide Down.
bits : 12 - 25 (14 bit)
access : read-write
Enumeration:
0 : NO_DIV
Direct Output
1 : DIV_BY_2
Divide by 2
2 : DIV_BY_4
Divide by 4
3 : DIV_BY_8
Divide by 8
End of enumeration elements list.
DFT_EDGE1 : Edge sensitivity for in-line divider on output #1 (only relevant when DIV1>0).
bits : 14 - 28 (15 bit)
access : read-write
Enumeration:
0 : POSEDGE
Use posedge for divider
1 : NEGEDGE
Use negedge for divider
End of enumeration elements list.
Watchdog Disable Key Register
address_offset : 0x38 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
KEY : Disables WDT reset when equal to 0xACED8865. The WDT reset functions normally for any other setting.
bits : 0 - 31 (32 bit)
access : read-write
Watchdog Counter Register
address_offset : 0x3C Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
COUNTER : Current value of WDT Counter
bits : 0 - 15 (16 bit)
access : read-only
Power System Key and Delay Register
address_offset : 0x4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
WAKEUP_HOLDOFF : Delay to wait for references to settle on wakeup from deepsleep. BOD is ignored and system does not resume until this delay expires. Note that the same delay on POR is hard-coded. The default assumes the output of the predivider is 48MHz + 3 percent. Firmware may scale this setting according to the fastest actual clock frequency that can occur when waking from DEEPSLEEP.
bits : 0 - 9 (10 bit)
access : read-write
Watchdog Match Register
address_offset : 0x40 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
MATCH : Match value for Watchdog counter. Every time WDT_COUNTER reaches MATCH an interrupt is generated. Two unserviced interrupts will lead to a system reset (i.e. at the third match).
bits : 0 - 15 (16 bit)
access : read-write
IGNORE_BITS : The number of MSB bits of the watchdog timer that are NOT checked against MATCH. This value provides control over the time-to-reset of the watchdog (which happens after 3 successive matches). Note that certain products may enforce a minimum value for this register through design time configuration.
bits : 16 - 35 (20 bit)
access : read-write
SRSS Interrupt Register
address_offset : 0x44 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
WDT_MATCH : WDT Interrupt Request. This bit is set each time WDT_COUNTR==WDT_MATCH. Clearing this bit also feeds the watch dog. Missing 2 interrupts in a row will generate brown-out reset. Due to internal synchronization, it takes 2 SYSCLK cycles to update after a W1C.
bits : 0 - 0 (1 bit)
access : read-write
TEMP_HIGH : Regulator over-temp interrupt. This interrupt can occur when a short circuit exists on the vccd pin or when extreme loads are applied on IO-cells causing the die to overheat. Firmware is encourage to shutdown all IO cells and then go to DeepSleep mode when this interrupt occurs if protection against such conditions is desired.
bits : 1 - 2 (2 bit)
access : read-write
SRSS Interrupt Set Register
address_offset : 0x48 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
TEMP_HIGH : Writing 1 to this bit internally sets the overtemp interrupt. This can be observed by reading SRSS_INTR.TEMP_HIGH. This bit always reads back as zero.
bits : 1 - 2 (2 bit)
access : read-write
SRSS Interrupt Mask Register
address_offset : 0x4C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
WDT_MATCH : Clearing this bit will not forward the interrupt to the CPU. It will not, however, disable the WDT reset generation on 2 missed interrupts.
bits : 0 - 0 (1 bit)
access : read-write
TEMP_HIGH : Masks REG_OVERTEMP interrupt
bits : 1 - 2 (2 bit)
access : read-write
Reset Cause Observation Register
address_offset : 0x54 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
RESET_WDT : A WatchDog Timer reset has occurred since last power cycle.
bits : 0 - 0 (1 bit)
access : read-write
RESET_PROT_FAULT : A protection violation occurred that requires a RESET. This includes, but is not limited to, hitting a debug breakpoint while in Privileged Mode.
bits : 3 - 6 (4 bit)
access : read-write
RESET_SOFT : Cortex-M0 requested a system reset through it's SYSRESETREQ. This can be done via a debugger probe or in firmware.
bits : 4 - 8 (5 bit)
access : read-write
Power DDFT Mode Selection Register
address_offset : 0xC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DDFT0_SEL : Select signal for power DDFT output #0
bits : 0 - 3 (4 bit)
access : read-write
Enumeration:
0 : WAKEUP
wakeup
1 : AWAKE
awake
2 : ACT_POWER_EN
act_power_en
3 : ACT_POWER_UP
act_power_up
4 : ACT_POWER_GOOD
act_power_good
5 : ACT_REF_EN
srss_adft_control_act_ref_en
6 : ACT_COMP_EN
srss_adft_control_act_comp_en
7 : DPSLP_REF_EN
srss_adft_control_dpslp_ref_en
8 : DPSLP_REG_EN
srss_adft_control_dpslp_reg_en
9 : DPSLP_COMP_EN
srss_adft_control_dpslp_comp_en
10 : OVER_TEMP_EN
pwr_control_over_temp_en
11 : SLEEPHOLDREQ_N
sleepholdreq_n
12 : ADFT_BUF_EN
adft_buf_en
13 : ATPG_OBSERVE
ATPG observe point (no functional purpose)
14 : GND
1'b0
15 : PWR
1'b1
End of enumeration elements list.
DDFT1_SEL : Select signal for power DDFT output #1
bits : 4 - 11 (8 bit)
access : read-write
Enumeration:
0 : WAKEUP
wakeup
1 : AWAKE
awake
2 : ACT_POWER_EN
act_power_en
3 : ACT_POWER_UP
act_power_up
4 : ACT_POWER_GOOD
act_power_good
5 : ACT_REF_VALID
act_ref_valid
6 : ACT_REG_VALID
act_reg_valid
7 : ACT_COMP_OUT
act_comp_out
8 : ACT_TEMP_HIGH
act_temp_high
9 : DPSLP_COMP_OUT
dpslp_comp_out
10 : DPSLP_POWER_UP
dpslp_power_up
11 : AWAKE_DELAYED
awake_delayed
12 : LPM_READY
lpm_ready
13 : SLEEPHOLDACK_N
sleepholdack_n
14 : GND
1'b0
15 : PWR
1'b1
End of enumeration elements list.
Bandgap Trim Register
address_offset : 0xF00 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
REF_VTRIM : Trims the bandgap reference voltage output. Used to trim the VBG to the voltage where its temperature curvature is minimal. Bit [5] is unused within the bandgap block.
bits : 0 - 5 (6 bit)
access : read-write
Bandgap Trim Register
address_offset : 0xF04 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
REF_ITRIM : Trims the bandgap reference current output. Used to trim the IBG to the voltage where its temperature curvature is minimal.
bits : 0 - 5 (6 bit)
access : read-write
IMO Frequency Select Register
address_offset : 0xF08 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
FREQ : Select operating frequency
bits : 0 - 2 (3 bit)
access : read-write
Enumeration:
0 : 24_MHZ
IMO runs at 24 MHz
1 : 28_MHZ
IMO runs at 28 MHz
2 : 32_MHZ
IMO runs at 32 MHz
3 : 36_MHZ
IMO runs at 36 MHz
4 : 40_MHZ
IMO runs at 40 MHz
5 : 44_MHZ
IMO runs at 44 MHz
6 : 48_MHZ
IMO runs at 48 MHz
End of enumeration elements list.
IMO Trim Register
address_offset : 0xF0C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
OFFSET : Frequency trim bits. These bits are determined at manufacturing time for each FREQ setting (IMO_TRIM2) and stored in SFLASH. This field is hardware updated during USB osclock mode. This field is mapped to the most significant bits of the IMO trim imo_clk_trim[10:3]. The step size of 1 LSB on this field is approximately 120 kHz.
bits : 0 - 7 (8 bit)
access : read-write
IMO Trim Register
address_offset : 0xF10 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
FSOFFSET : Frequency trim bits. These bits are not trimmed during manufacturing and kept at 0 under normal operation. This field is hardware updated during USB osclock mode. This field is mapped to the least significant bits of the IMO trim imo_clk_trim[2:0]. The step size of 1 LSB on this field is approximately 15 kHz.
bits : 0 - 2 (3 bit)
access : read-write
Power System Trim Register
address_offset : 0xF14 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DPSLP_REF_TRIM : Trims the DeepSleep reference that is used by the DeepSleep regulator and DeepSleep power comparator.
bits : 0 - 3 (4 bit)
access : read-write
SPARE_TRIM : Active-Reference temperature compensation trim (repurposed from spare bits). Bits [7:6] - trim the Active-Reference IREF temperature coefficient (TC). 00: TC = 0 (unchanged) 01: TC = +80ppm/C 10: TC = -80ppm/C 11: TC = -150ppm/C Bits [5:4] - trim the Active-Reference VREF temperature coefficient (TC). 00: TC = 0 (unchanged) 01: TC = -50ppm/C 10: TC = -80ppm/C 11: TC = +150ppm/C
bits : 4 - 11 (8 bit)
access : read-write
IMO Trim Register
address_offset : 0xF18 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
STEPSIZE : IMO trim stepsize bits. These bits are determined at manufacturing time to adjust for process variation. They are used to tune the stepsize of the FSOFFSET and OFFSET trims.
bits : 0 - 4 (5 bit)
access : read-write
TCTRIM : IMO temperature compesation trim. These bits are determined at manufacturing time to adjust for temperature dependence. This bits are dependent on frequency and need to be changed using the Cypress provided frequency change algorithm.
bits : 5 - 11 (7 bit)
access : read-write
Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !
This website is sponsored by Embeetle, an IDE designed from scratch for embedded software developers.