Lancaster University's (short term!) clone of mbed-src for micro:bit. This is a copy of the github branch https://github.com/lancaster-university/mbed-classic

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Fri Jul 17 09:15:10 2015 +0100
Revision:
592:a274ee790e56
Parent:
579:53297373a894
Synchronized with git revision e7144f83a8d75df80c4877936b6ffe552b0be9e6

Full URL: https://github.com/mbedmicro/mbed/commit/e7144f83a8d75df80c4877936b6ffe552b0be9e6/

More API implementation for SAMR21

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 579:53297373a894 1 #ifndef _SAMD21_NVMCTRL_COMPONENT_
mbed_official 579:53297373a894 2 #define _SAMD21_NVMCTRL_COMPONENT_
mbed_official 579:53297373a894 3
mbed_official 579:53297373a894 4 /* ========================================================================== */
mbed_official 579:53297373a894 5 /** SOFTWARE API DEFINITION FOR NVMCTRL */
mbed_official 579:53297373a894 6 /* ========================================================================== */
mbed_official 579:53297373a894 7 /** \addtogroup SAMD21_NVMCTRL Non-Volatile Memory Controller */
mbed_official 579:53297373a894 8 /*@{*/
mbed_official 579:53297373a894 9
mbed_official 579:53297373a894 10 #define NVMCTRL_U2207
mbed_official 579:53297373a894 11 #define REV_NVMCTRL 0x106
mbed_official 579:53297373a894 12
mbed_official 579:53297373a894 13 /* -------- NVMCTRL_CTRLA : (NVMCTRL Offset: 0x00) (R/W 16) Control A -------- */
mbed_official 579:53297373a894 14 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
mbed_official 579:53297373a894 15 typedef union {
mbed_official 579:53297373a894 16 struct {
mbed_official 579:53297373a894 17 uint16_t CMD:7; /*!< bit: 0.. 6 Command */
mbed_official 579:53297373a894 18 uint16_t :1; /*!< bit: 7 Reserved */
mbed_official 579:53297373a894 19 uint16_t CMDEX:8; /*!< bit: 8..15 Command Execution */
mbed_official 579:53297373a894 20 } bit; /*!< Structure used for bit access */
mbed_official 579:53297373a894 21 uint16_t reg; /*!< Type used for register access */
mbed_official 579:53297373a894 22 } NVMCTRL_CTRLA_Type;
mbed_official 579:53297373a894 23 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
mbed_official 579:53297373a894 24
mbed_official 579:53297373a894 25 #define NVMCTRL_CTRLA_OFFSET 0x00 /**< \brief (NVMCTRL_CTRLA offset) Control A */
mbed_official 579:53297373a894 26 #define NVMCTRL_CTRLA_RESETVALUE 0x0000ul /**< \brief (NVMCTRL_CTRLA reset_value) Control A */
mbed_official 579:53297373a894 27
mbed_official 579:53297373a894 28 #define NVMCTRL_CTRLA_CMD_Pos 0 /**< \brief (NVMCTRL_CTRLA) Command */
mbed_official 579:53297373a894 29 #define NVMCTRL_CTRLA_CMD_Msk (0x7Ful << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 30 #define NVMCTRL_CTRLA_CMD(value) ((NVMCTRL_CTRLA_CMD_Msk & ((value) << NVMCTRL_CTRLA_CMD_Pos)))
mbed_official 579:53297373a894 31 #define NVMCTRL_CTRLA_CMD_ER_Val 0x2ul /**< \brief (NVMCTRL_CTRLA) Erase Row - Erases the row addressed by the ADDR register. */
mbed_official 579:53297373a894 32 #define NVMCTRL_CTRLA_CMD_WP_Val 0x4ul /**< \brief (NVMCTRL_CTRLA) Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register. */
mbed_official 579:53297373a894 33 #define NVMCTRL_CTRLA_CMD_EAR_Val 0x5ul /**< \brief (NVMCTRL_CTRLA) Erase Auxiliary Row - Erases the auxiliary row addressed by the ADDR register. This command can be given only when the security bit is not set and only to the user configuration row. */
mbed_official 579:53297373a894 34 #define NVMCTRL_CTRLA_CMD_WAP_Val 0x6ul /**< \brief (NVMCTRL_CTRLA) Write Auxiliary Page - Writes the contents of the page buffer to the page addressed by the ADDR register. This command can be given only when the security bit is not set and only to the user configuration row. */
mbed_official 579:53297373a894 35 #define NVMCTRL_CTRLA_CMD_SF_Val 0xAul /**< \brief (NVMCTRL_CTRLA) Security Flow Command */
mbed_official 579:53297373a894 36 #define NVMCTRL_CTRLA_CMD_WL_Val 0xFul /**< \brief (NVMCTRL_CTRLA) Write lockbits */
mbed_official 579:53297373a894 37 #define NVMCTRL_CTRLA_CMD_LR_Val 0x40ul /**< \brief (NVMCTRL_CTRLA) Lock Region - Locks the region containing the address location in the ADDR register. */
mbed_official 579:53297373a894 38 #define NVMCTRL_CTRLA_CMD_UR_Val 0x41ul /**< \brief (NVMCTRL_CTRLA) Unlock Region - Unlocks the region containing the address location in the ADDR register. */
mbed_official 579:53297373a894 39 #define NVMCTRL_CTRLA_CMD_SPRM_Val 0x42ul /**< \brief (NVMCTRL_CTRLA) Sets the power reduction mode. */
mbed_official 579:53297373a894 40 #define NVMCTRL_CTRLA_CMD_CPRM_Val 0x43ul /**< \brief (NVMCTRL_CTRLA) Clears the power reduction mode. */
mbed_official 579:53297373a894 41 #define NVMCTRL_CTRLA_CMD_PBC_Val 0x44ul /**< \brief (NVMCTRL_CTRLA) Page Buffer Clear - Clears the page buffer. */
mbed_official 579:53297373a894 42 #define NVMCTRL_CTRLA_CMD_SSB_Val 0x45ul /**< \brief (NVMCTRL_CTRLA) Set Security Bit - Sets the security bit by writing 0x00 to the first byte in the lockbit row. */
mbed_official 579:53297373a894 43 #define NVMCTRL_CTRLA_CMD_INVALL_Val 0x46ul /**< \brief (NVMCTRL_CTRLA) Invalidates all cache lines. */
mbed_official 579:53297373a894 44 #define NVMCTRL_CTRLA_CMD_ER (NVMCTRL_CTRLA_CMD_ER_Val << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 45 #define NVMCTRL_CTRLA_CMD_WP (NVMCTRL_CTRLA_CMD_WP_Val << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 46 #define NVMCTRL_CTRLA_CMD_EAR (NVMCTRL_CTRLA_CMD_EAR_Val << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 47 #define NVMCTRL_CTRLA_CMD_WAP (NVMCTRL_CTRLA_CMD_WAP_Val << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 48 #define NVMCTRL_CTRLA_CMD_SF (NVMCTRL_CTRLA_CMD_SF_Val << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 49 #define NVMCTRL_CTRLA_CMD_WL (NVMCTRL_CTRLA_CMD_WL_Val << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 50 #define NVMCTRL_CTRLA_CMD_LR (NVMCTRL_CTRLA_CMD_LR_Val << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 51 #define NVMCTRL_CTRLA_CMD_UR (NVMCTRL_CTRLA_CMD_UR_Val << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 52 #define NVMCTRL_CTRLA_CMD_SPRM (NVMCTRL_CTRLA_CMD_SPRM_Val << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 53 #define NVMCTRL_CTRLA_CMD_CPRM (NVMCTRL_CTRLA_CMD_CPRM_Val << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 54 #define NVMCTRL_CTRLA_CMD_PBC (NVMCTRL_CTRLA_CMD_PBC_Val << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 55 #define NVMCTRL_CTRLA_CMD_SSB (NVMCTRL_CTRLA_CMD_SSB_Val << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 56 #define NVMCTRL_CTRLA_CMD_INVALL (NVMCTRL_CTRLA_CMD_INVALL_Val << NVMCTRL_CTRLA_CMD_Pos)
mbed_official 579:53297373a894 57 #define NVMCTRL_CTRLA_CMDEX_Pos 8 /**< \brief (NVMCTRL_CTRLA) Command Execution */
mbed_official 579:53297373a894 58 #define NVMCTRL_CTRLA_CMDEX_Msk (0xFFul << NVMCTRL_CTRLA_CMDEX_Pos)
mbed_official 579:53297373a894 59 #define NVMCTRL_CTRLA_CMDEX(value) ((NVMCTRL_CTRLA_CMDEX_Msk & ((value) << NVMCTRL_CTRLA_CMDEX_Pos)))
mbed_official 579:53297373a894 60 #define NVMCTRL_CTRLA_CMDEX_KEY_Val 0xA5ul /**< \brief (NVMCTRL_CTRLA) Execution Key */
mbed_official 579:53297373a894 61 #define NVMCTRL_CTRLA_CMDEX_KEY (NVMCTRL_CTRLA_CMDEX_KEY_Val << NVMCTRL_CTRLA_CMDEX_Pos)
mbed_official 579:53297373a894 62 #define NVMCTRL_CTRLA_MASK 0xFF7Ful /**< \brief (NVMCTRL_CTRLA) MASK Register */
mbed_official 579:53297373a894 63
mbed_official 579:53297373a894 64 /* -------- NVMCTRL_CTRLB : (NVMCTRL Offset: 0x04) (R/W 32) Control B -------- */
mbed_official 579:53297373a894 65 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
mbed_official 579:53297373a894 66 typedef union {
mbed_official 579:53297373a894 67 struct {
mbed_official 579:53297373a894 68 uint32_t :1; /*!< bit: 0 Reserved */
mbed_official 579:53297373a894 69 uint32_t RWS:4; /*!< bit: 1.. 4 NVM Read Wait States */
mbed_official 579:53297373a894 70 uint32_t :2; /*!< bit: 5.. 6 Reserved */
mbed_official 579:53297373a894 71 uint32_t MANW:1; /*!< bit: 7 Manual Write */
mbed_official 579:53297373a894 72 uint32_t SLEEPPRM:2; /*!< bit: 8.. 9 Power Reduction Mode during Sleep */
mbed_official 579:53297373a894 73 uint32_t :6; /*!< bit: 10..15 Reserved */
mbed_official 579:53297373a894 74 uint32_t READMODE:2; /*!< bit: 16..17 NVMCTRL Read Mode */
mbed_official 579:53297373a894 75 uint32_t CACHEDIS:1; /*!< bit: 18 Cache Disable */
mbed_official 579:53297373a894 76 uint32_t :13; /*!< bit: 19..31 Reserved */
mbed_official 579:53297373a894 77 } bit; /*!< Structure used for bit access */
mbed_official 579:53297373a894 78 uint32_t reg; /*!< Type used for register access */
mbed_official 579:53297373a894 79 } NVMCTRL_CTRLB_Type;
mbed_official 579:53297373a894 80 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
mbed_official 579:53297373a894 81
mbed_official 579:53297373a894 82 #define NVMCTRL_CTRLB_OFFSET 0x04 /**< \brief (NVMCTRL_CTRLB offset) Control B */
mbed_official 579:53297373a894 83 #define NVMCTRL_CTRLB_RESETVALUE 0x00000000ul /**< \brief (NVMCTRL_CTRLB reset_value) Control B */
mbed_official 579:53297373a894 84
mbed_official 579:53297373a894 85 #define NVMCTRL_CTRLB_RWS_Pos 1 /**< \brief (NVMCTRL_CTRLB) NVM Read Wait States */
mbed_official 579:53297373a894 86 #define NVMCTRL_CTRLB_RWS_Msk (0xFul << NVMCTRL_CTRLB_RWS_Pos)
mbed_official 579:53297373a894 87 #define NVMCTRL_CTRLB_RWS(value) ((NVMCTRL_CTRLB_RWS_Msk & ((value) << NVMCTRL_CTRLB_RWS_Pos)))
mbed_official 579:53297373a894 88 #define NVMCTRL_CTRLB_RWS_SINGLE_Val 0x0ul /**< \brief (NVMCTRL_CTRLB) Single Auto Wait State */
mbed_official 579:53297373a894 89 #define NVMCTRL_CTRLB_RWS_HALF_Val 0x1ul /**< \brief (NVMCTRL_CTRLB) Half Auto Wait State */
mbed_official 579:53297373a894 90 #define NVMCTRL_CTRLB_RWS_DUAL_Val 0x2ul /**< \brief (NVMCTRL_CTRLB) Dual Auto Wait State */
mbed_official 579:53297373a894 91 #define NVMCTRL_CTRLB_RWS_SINGLE (NVMCTRL_CTRLB_RWS_SINGLE_Val << NVMCTRL_CTRLB_RWS_Pos)
mbed_official 579:53297373a894 92 #define NVMCTRL_CTRLB_RWS_HALF (NVMCTRL_CTRLB_RWS_HALF_Val << NVMCTRL_CTRLB_RWS_Pos)
mbed_official 579:53297373a894 93 #define NVMCTRL_CTRLB_RWS_DUAL (NVMCTRL_CTRLB_RWS_DUAL_Val << NVMCTRL_CTRLB_RWS_Pos)
mbed_official 579:53297373a894 94 #define NVMCTRL_CTRLB_MANW_Pos 7 /**< \brief (NVMCTRL_CTRLB) Manual Write */
mbed_official 579:53297373a894 95 #define NVMCTRL_CTRLB_MANW (0x1ul << NVMCTRL_CTRLB_MANW_Pos)
mbed_official 579:53297373a894 96 #define NVMCTRL_CTRLB_SLEEPPRM_Pos 8 /**< \brief (NVMCTRL_CTRLB) Power Reduction Mode during Sleep */
mbed_official 579:53297373a894 97 #define NVMCTRL_CTRLB_SLEEPPRM_Msk (0x3ul << NVMCTRL_CTRLB_SLEEPPRM_Pos)
mbed_official 579:53297373a894 98 #define NVMCTRL_CTRLB_SLEEPPRM(value) ((NVMCTRL_CTRLB_SLEEPPRM_Msk & ((value) << NVMCTRL_CTRLB_SLEEPPRM_Pos)))
mbed_official 579:53297373a894 99 #define NVMCTRL_CTRLB_SLEEPPRM_WAKEONACCESS_Val 0x0ul /**< \brief (NVMCTRL_CTRLB) NVM block enters low-power mode when entering sleep.NVM block exits low-power mode upon first access. */
mbed_official 579:53297373a894 100 #define NVMCTRL_CTRLB_SLEEPPRM_WAKEUPINSTANT_Val 0x1ul /**< \brief (NVMCTRL_CTRLB) NVM block enters low-power mode when entering sleep.NVM block exits low-power mode when exiting sleep. */
mbed_official 579:53297373a894 101 #define NVMCTRL_CTRLB_SLEEPPRM_DISABLED_Val 0x3ul /**< \brief (NVMCTRL_CTRLB) Auto power reduction disabled. */
mbed_official 579:53297373a894 102 #define NVMCTRL_CTRLB_SLEEPPRM_WAKEONACCESS (NVMCTRL_CTRLB_SLEEPPRM_WAKEONACCESS_Val << NVMCTRL_CTRLB_SLEEPPRM_Pos)
mbed_official 579:53297373a894 103 #define NVMCTRL_CTRLB_SLEEPPRM_WAKEUPINSTANT (NVMCTRL_CTRLB_SLEEPPRM_WAKEUPINSTANT_Val << NVMCTRL_CTRLB_SLEEPPRM_Pos)
mbed_official 579:53297373a894 104 #define NVMCTRL_CTRLB_SLEEPPRM_DISABLED (NVMCTRL_CTRLB_SLEEPPRM_DISABLED_Val << NVMCTRL_CTRLB_SLEEPPRM_Pos)
mbed_official 579:53297373a894 105 #define NVMCTRL_CTRLB_READMODE_Pos 16 /**< \brief (NVMCTRL_CTRLB) NVMCTRL Read Mode */
mbed_official 579:53297373a894 106 #define NVMCTRL_CTRLB_READMODE_Msk (0x3ul << NVMCTRL_CTRLB_READMODE_Pos)
mbed_official 579:53297373a894 107 #define NVMCTRL_CTRLB_READMODE(value) ((NVMCTRL_CTRLB_READMODE_Msk & ((value) << NVMCTRL_CTRLB_READMODE_Pos)))
mbed_official 579:53297373a894 108 #define NVMCTRL_CTRLB_READMODE_NO_MISS_PENALTY_Val 0x0ul /**< \brief (NVMCTRL_CTRLB) The NVM Controller (cache system) does not insert wait states on a cache miss. Gives the best system performance. */
mbed_official 579:53297373a894 109 #define NVMCTRL_CTRLB_READMODE_LOW_POWER_Val 0x1ul /**< \brief (NVMCTRL_CTRLB) Reduces power consumption of the cache system, but inserts a wait state each time there is a cache miss. This mode may not be relevant if CPU performance is required, as the application will be stalled and may lead to increase run time. */
mbed_official 579:53297373a894 110 #define NVMCTRL_CTRLB_READMODE_DETERMINISTIC_Val 0x2ul /**< \brief (NVMCTRL_CTRLB) The cache system ensures that a cache hit or miss takes the same amount of time, determined by the number of programmed flash wait states. This mode can be used for real-time applications that require deterministic execution timings. */
mbed_official 579:53297373a894 111 #define NVMCTRL_CTRLB_READMODE_NO_MISS_PENALTY (NVMCTRL_CTRLB_READMODE_NO_MISS_PENALTY_Val << NVMCTRL_CTRLB_READMODE_Pos)
mbed_official 579:53297373a894 112 #define NVMCTRL_CTRLB_READMODE_LOW_POWER (NVMCTRL_CTRLB_READMODE_LOW_POWER_Val << NVMCTRL_CTRLB_READMODE_Pos)
mbed_official 579:53297373a894 113 #define NVMCTRL_CTRLB_READMODE_DETERMINISTIC (NVMCTRL_CTRLB_READMODE_DETERMINISTIC_Val << NVMCTRL_CTRLB_READMODE_Pos)
mbed_official 579:53297373a894 114 #define NVMCTRL_CTRLB_CACHEDIS_Pos 18 /**< \brief (NVMCTRL_CTRLB) Cache Disable */
mbed_official 579:53297373a894 115 #define NVMCTRL_CTRLB_CACHEDIS (0x1ul << NVMCTRL_CTRLB_CACHEDIS_Pos)
mbed_official 579:53297373a894 116 #define NVMCTRL_CTRLB_MASK 0x0007039Eul /**< \brief (NVMCTRL_CTRLB) MASK Register */
mbed_official 579:53297373a894 117
mbed_official 579:53297373a894 118 /* -------- NVMCTRL_PARAM : (NVMCTRL Offset: 0x08) (R/W 32) NVM Parameter -------- */
mbed_official 579:53297373a894 119 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
mbed_official 579:53297373a894 120 typedef union {
mbed_official 579:53297373a894 121 struct {
mbed_official 579:53297373a894 122 uint32_t NVMP:16; /*!< bit: 0..15 NVM Pages */
mbed_official 579:53297373a894 123 uint32_t PSZ:3; /*!< bit: 16..18 Page Size */
mbed_official 579:53297373a894 124 uint32_t :13; /*!< bit: 19..31 Reserved */
mbed_official 579:53297373a894 125 } bit; /*!< Structure used for bit access */
mbed_official 579:53297373a894 126 uint32_t reg; /*!< Type used for register access */
mbed_official 579:53297373a894 127 } NVMCTRL_PARAM_Type;
mbed_official 579:53297373a894 128 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
mbed_official 579:53297373a894 129
mbed_official 579:53297373a894 130 #define NVMCTRL_PARAM_OFFSET 0x08 /**< \brief (NVMCTRL_PARAM offset) NVM Parameter */
mbed_official 579:53297373a894 131 #define NVMCTRL_PARAM_RESETVALUE 0x00000000ul /**< \brief (NVMCTRL_PARAM reset_value) NVM Parameter */
mbed_official 579:53297373a894 132
mbed_official 579:53297373a894 133 #define NVMCTRL_PARAM_NVMP_Pos 0 /**< \brief (NVMCTRL_PARAM) NVM Pages */
mbed_official 579:53297373a894 134 #define NVMCTRL_PARAM_NVMP_Msk (0xFFFFul << NVMCTRL_PARAM_NVMP_Pos)
mbed_official 579:53297373a894 135 #define NVMCTRL_PARAM_NVMP(value) ((NVMCTRL_PARAM_NVMP_Msk & ((value) << NVMCTRL_PARAM_NVMP_Pos)))
mbed_official 579:53297373a894 136 #define NVMCTRL_PARAM_PSZ_Pos 16 /**< \brief (NVMCTRL_PARAM) Page Size */
mbed_official 579:53297373a894 137 #define NVMCTRL_PARAM_PSZ_Msk (0x7ul << NVMCTRL_PARAM_PSZ_Pos)
mbed_official 579:53297373a894 138 #define NVMCTRL_PARAM_PSZ(value) ((NVMCTRL_PARAM_PSZ_Msk & ((value) << NVMCTRL_PARAM_PSZ_Pos)))
mbed_official 579:53297373a894 139 #define NVMCTRL_PARAM_PSZ_8_Val 0x0ul /**< \brief (NVMCTRL_PARAM) 8 bytes */
mbed_official 579:53297373a894 140 #define NVMCTRL_PARAM_PSZ_16_Val 0x1ul /**< \brief (NVMCTRL_PARAM) 16 bytes */
mbed_official 579:53297373a894 141 #define NVMCTRL_PARAM_PSZ_32_Val 0x2ul /**< \brief (NVMCTRL_PARAM) 32 bytes */
mbed_official 579:53297373a894 142 #define NVMCTRL_PARAM_PSZ_64_Val 0x3ul /**< \brief (NVMCTRL_PARAM) 64 bytes */
mbed_official 579:53297373a894 143 #define NVMCTRL_PARAM_PSZ_128_Val 0x4ul /**< \brief (NVMCTRL_PARAM) 128 bytes */
mbed_official 579:53297373a894 144 #define NVMCTRL_PARAM_PSZ_256_Val 0x5ul /**< \brief (NVMCTRL_PARAM) 256 bytes */
mbed_official 579:53297373a894 145 #define NVMCTRL_PARAM_PSZ_512_Val 0x6ul /**< \brief (NVMCTRL_PARAM) 512 bytes */
mbed_official 579:53297373a894 146 #define NVMCTRL_PARAM_PSZ_1024_Val 0x7ul /**< \brief (NVMCTRL_PARAM) 1024 bytes */
mbed_official 579:53297373a894 147 #define NVMCTRL_PARAM_PSZ_8 (NVMCTRL_PARAM_PSZ_8_Val << NVMCTRL_PARAM_PSZ_Pos)
mbed_official 579:53297373a894 148 #define NVMCTRL_PARAM_PSZ_16 (NVMCTRL_PARAM_PSZ_16_Val << NVMCTRL_PARAM_PSZ_Pos)
mbed_official 579:53297373a894 149 #define NVMCTRL_PARAM_PSZ_32 (NVMCTRL_PARAM_PSZ_32_Val << NVMCTRL_PARAM_PSZ_Pos)
mbed_official 579:53297373a894 150 #define NVMCTRL_PARAM_PSZ_64 (NVMCTRL_PARAM_PSZ_64_Val << NVMCTRL_PARAM_PSZ_Pos)
mbed_official 579:53297373a894 151 #define NVMCTRL_PARAM_PSZ_128 (NVMCTRL_PARAM_PSZ_128_Val << NVMCTRL_PARAM_PSZ_Pos)
mbed_official 579:53297373a894 152 #define NVMCTRL_PARAM_PSZ_256 (NVMCTRL_PARAM_PSZ_256_Val << NVMCTRL_PARAM_PSZ_Pos)
mbed_official 579:53297373a894 153 #define NVMCTRL_PARAM_PSZ_512 (NVMCTRL_PARAM_PSZ_512_Val << NVMCTRL_PARAM_PSZ_Pos)
mbed_official 579:53297373a894 154 #define NVMCTRL_PARAM_PSZ_1024 (NVMCTRL_PARAM_PSZ_1024_Val << NVMCTRL_PARAM_PSZ_Pos)
mbed_official 579:53297373a894 155 #define NVMCTRL_PARAM_MASK 0x0007FFFFul /**< \brief (NVMCTRL_PARAM) MASK Register */
mbed_official 579:53297373a894 156
mbed_official 579:53297373a894 157 /* -------- NVMCTRL_INTENCLR : (NVMCTRL Offset: 0x0C) (R/W 8) Interrupt Enable Clear -------- */
mbed_official 579:53297373a894 158 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
mbed_official 579:53297373a894 159 typedef union {
mbed_official 579:53297373a894 160 struct {
mbed_official 579:53297373a894 161 uint8_t READY:1; /*!< bit: 0 NVM Ready Interrupt Enable */
mbed_official 579:53297373a894 162 uint8_t ERROR:1; /*!< bit: 1 Error Interrupt Enable */
mbed_official 579:53297373a894 163 uint8_t :6; /*!< bit: 2.. 7 Reserved */
mbed_official 579:53297373a894 164 } bit; /*!< Structure used for bit access */
mbed_official 579:53297373a894 165 uint8_t reg; /*!< Type used for register access */
mbed_official 579:53297373a894 166 } NVMCTRL_INTENCLR_Type;
mbed_official 579:53297373a894 167 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
mbed_official 579:53297373a894 168
mbed_official 579:53297373a894 169 #define NVMCTRL_INTENCLR_OFFSET 0x0C /**< \brief (NVMCTRL_INTENCLR offset) Interrupt Enable Clear */
mbed_official 579:53297373a894 170 #define NVMCTRL_INTENCLR_RESETVALUE 0x00ul /**< \brief (NVMCTRL_INTENCLR reset_value) Interrupt Enable Clear */
mbed_official 579:53297373a894 171
mbed_official 579:53297373a894 172 #define NVMCTRL_INTENCLR_READY_Pos 0 /**< \brief (NVMCTRL_INTENCLR) NVM Ready Interrupt Enable */
mbed_official 579:53297373a894 173 #define NVMCTRL_INTENCLR_READY (0x1ul << NVMCTRL_INTENCLR_READY_Pos)
mbed_official 579:53297373a894 174 #define NVMCTRL_INTENCLR_ERROR_Pos 1 /**< \brief (NVMCTRL_INTENCLR) Error Interrupt Enable */
mbed_official 579:53297373a894 175 #define NVMCTRL_INTENCLR_ERROR (0x1ul << NVMCTRL_INTENCLR_ERROR_Pos)
mbed_official 579:53297373a894 176 #define NVMCTRL_INTENCLR_MASK 0x03ul /**< \brief (NVMCTRL_INTENCLR) MASK Register */
mbed_official 579:53297373a894 177
mbed_official 579:53297373a894 178 /* -------- NVMCTRL_INTENSET : (NVMCTRL Offset: 0x10) (R/W 8) Interrupt Enable Set -------- */
mbed_official 579:53297373a894 179 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
mbed_official 579:53297373a894 180 typedef union {
mbed_official 579:53297373a894 181 struct {
mbed_official 579:53297373a894 182 uint8_t READY:1; /*!< bit: 0 NVM Ready Interrupt Enable */
mbed_official 579:53297373a894 183 uint8_t ERROR:1; /*!< bit: 1 Error Interrupt Enable */
mbed_official 579:53297373a894 184 uint8_t :6; /*!< bit: 2.. 7 Reserved */
mbed_official 579:53297373a894 185 } bit; /*!< Structure used for bit access */
mbed_official 579:53297373a894 186 uint8_t reg; /*!< Type used for register access */
mbed_official 579:53297373a894 187 } NVMCTRL_INTENSET_Type;
mbed_official 579:53297373a894 188 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
mbed_official 579:53297373a894 189
mbed_official 579:53297373a894 190 #define NVMCTRL_INTENSET_OFFSET 0x10 /**< \brief (NVMCTRL_INTENSET offset) Interrupt Enable Set */
mbed_official 579:53297373a894 191 #define NVMCTRL_INTENSET_RESETVALUE 0x00ul /**< \brief (NVMCTRL_INTENSET reset_value) Interrupt Enable Set */
mbed_official 579:53297373a894 192
mbed_official 579:53297373a894 193 #define NVMCTRL_INTENSET_READY_Pos 0 /**< \brief (NVMCTRL_INTENSET) NVM Ready Interrupt Enable */
mbed_official 579:53297373a894 194 #define NVMCTRL_INTENSET_READY (0x1ul << NVMCTRL_INTENSET_READY_Pos)
mbed_official 579:53297373a894 195 #define NVMCTRL_INTENSET_ERROR_Pos 1 /**< \brief (NVMCTRL_INTENSET) Error Interrupt Enable */
mbed_official 579:53297373a894 196 #define NVMCTRL_INTENSET_ERROR (0x1ul << NVMCTRL_INTENSET_ERROR_Pos)
mbed_official 579:53297373a894 197 #define NVMCTRL_INTENSET_MASK 0x03ul /**< \brief (NVMCTRL_INTENSET) MASK Register */
mbed_official 579:53297373a894 198
mbed_official 579:53297373a894 199 /* -------- NVMCTRL_INTFLAG : (NVMCTRL Offset: 0x14) (R/W 8) Interrupt Flag Status and Clear -------- */
mbed_official 579:53297373a894 200 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
mbed_official 579:53297373a894 201 typedef union {
mbed_official 579:53297373a894 202 struct {
mbed_official 579:53297373a894 203 uint8_t READY:1; /*!< bit: 0 NVM Ready */
mbed_official 579:53297373a894 204 uint8_t ERROR:1; /*!< bit: 1 Error */
mbed_official 579:53297373a894 205 uint8_t :6; /*!< bit: 2.. 7 Reserved */
mbed_official 579:53297373a894 206 } bit; /*!< Structure used for bit access */
mbed_official 579:53297373a894 207 uint8_t reg; /*!< Type used for register access */
mbed_official 579:53297373a894 208 } NVMCTRL_INTFLAG_Type;
mbed_official 579:53297373a894 209 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
mbed_official 579:53297373a894 210
mbed_official 579:53297373a894 211 #define NVMCTRL_INTFLAG_OFFSET 0x14 /**< \brief (NVMCTRL_INTFLAG offset) Interrupt Flag Status and Clear */
mbed_official 579:53297373a894 212 #define NVMCTRL_INTFLAG_RESETVALUE 0x00ul /**< \brief (NVMCTRL_INTFLAG reset_value) Interrupt Flag Status and Clear */
mbed_official 579:53297373a894 213
mbed_official 579:53297373a894 214 #define NVMCTRL_INTFLAG_READY_Pos 0 /**< \brief (NVMCTRL_INTFLAG) NVM Ready */
mbed_official 579:53297373a894 215 #define NVMCTRL_INTFLAG_READY (0x1ul << NVMCTRL_INTFLAG_READY_Pos)
mbed_official 579:53297373a894 216 #define NVMCTRL_INTFLAG_ERROR_Pos 1 /**< \brief (NVMCTRL_INTFLAG) Error */
mbed_official 579:53297373a894 217 #define NVMCTRL_INTFLAG_ERROR (0x1ul << NVMCTRL_INTFLAG_ERROR_Pos)
mbed_official 579:53297373a894 218 #define NVMCTRL_INTFLAG_MASK 0x03ul /**< \brief (NVMCTRL_INTFLAG) MASK Register */
mbed_official 579:53297373a894 219
mbed_official 579:53297373a894 220 /* -------- NVMCTRL_STATUS : (NVMCTRL Offset: 0x18) (R/W 16) Status -------- */
mbed_official 579:53297373a894 221 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
mbed_official 579:53297373a894 222 typedef union {
mbed_official 579:53297373a894 223 struct {
mbed_official 579:53297373a894 224 uint16_t PRM:1; /*!< bit: 0 Power Reduction Mode */
mbed_official 579:53297373a894 225 uint16_t LOAD:1; /*!< bit: 1 NVM Page Buffer Active Loading */
mbed_official 579:53297373a894 226 uint16_t PROGE:1; /*!< bit: 2 Programming Error Status */
mbed_official 579:53297373a894 227 uint16_t LOCKE:1; /*!< bit: 3 Lock Error Status */
mbed_official 579:53297373a894 228 uint16_t NVME:1; /*!< bit: 4 NVM Error */
mbed_official 579:53297373a894 229 uint16_t :3; /*!< bit: 5.. 7 Reserved */
mbed_official 579:53297373a894 230 uint16_t SB:1; /*!< bit: 8 Security Bit Status */
mbed_official 579:53297373a894 231 uint16_t :7; /*!< bit: 9..15 Reserved */
mbed_official 579:53297373a894 232 } bit; /*!< Structure used for bit access */
mbed_official 579:53297373a894 233 uint16_t reg; /*!< Type used for register access */
mbed_official 579:53297373a894 234 } NVMCTRL_STATUS_Type;
mbed_official 579:53297373a894 235 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
mbed_official 579:53297373a894 236
mbed_official 579:53297373a894 237 #define NVMCTRL_STATUS_OFFSET 0x18 /**< \brief (NVMCTRL_STATUS offset) Status */
mbed_official 579:53297373a894 238 #define NVMCTRL_STATUS_RESETVALUE 0x0000ul /**< \brief (NVMCTRL_STATUS reset_value) Status */
mbed_official 579:53297373a894 239
mbed_official 579:53297373a894 240 #define NVMCTRL_STATUS_PRM_Pos 0 /**< \brief (NVMCTRL_STATUS) Power Reduction Mode */
mbed_official 579:53297373a894 241 #define NVMCTRL_STATUS_PRM (0x1ul << NVMCTRL_STATUS_PRM_Pos)
mbed_official 579:53297373a894 242 #define NVMCTRL_STATUS_LOAD_Pos 1 /**< \brief (NVMCTRL_STATUS) NVM Page Buffer Active Loading */
mbed_official 579:53297373a894 243 #define NVMCTRL_STATUS_LOAD (0x1ul << NVMCTRL_STATUS_LOAD_Pos)
mbed_official 579:53297373a894 244 #define NVMCTRL_STATUS_PROGE_Pos 2 /**< \brief (NVMCTRL_STATUS) Programming Error Status */
mbed_official 579:53297373a894 245 #define NVMCTRL_STATUS_PROGE (0x1ul << NVMCTRL_STATUS_PROGE_Pos)
mbed_official 579:53297373a894 246 #define NVMCTRL_STATUS_LOCKE_Pos 3 /**< \brief (NVMCTRL_STATUS) Lock Error Status */
mbed_official 579:53297373a894 247 #define NVMCTRL_STATUS_LOCKE (0x1ul << NVMCTRL_STATUS_LOCKE_Pos)
mbed_official 579:53297373a894 248 #define NVMCTRL_STATUS_NVME_Pos 4 /**< \brief (NVMCTRL_STATUS) NVM Error */
mbed_official 579:53297373a894 249 #define NVMCTRL_STATUS_NVME (0x1ul << NVMCTRL_STATUS_NVME_Pos)
mbed_official 579:53297373a894 250 #define NVMCTRL_STATUS_SB_Pos 8 /**< \brief (NVMCTRL_STATUS) Security Bit Status */
mbed_official 579:53297373a894 251 #define NVMCTRL_STATUS_SB (0x1ul << NVMCTRL_STATUS_SB_Pos)
mbed_official 579:53297373a894 252 #define NVMCTRL_STATUS_MASK 0x011Ful /**< \brief (NVMCTRL_STATUS) MASK Register */
mbed_official 579:53297373a894 253
mbed_official 579:53297373a894 254 /* -------- NVMCTRL_ADDR : (NVMCTRL Offset: 0x1C) (R/W 32) Address -------- */
mbed_official 579:53297373a894 255 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
mbed_official 579:53297373a894 256 typedef union {
mbed_official 579:53297373a894 257 struct {
mbed_official 579:53297373a894 258 uint32_t ADDR:22; /*!< bit: 0..21 NVM Address */
mbed_official 579:53297373a894 259 uint32_t :10; /*!< bit: 22..31 Reserved */
mbed_official 579:53297373a894 260 } bit; /*!< Structure used for bit access */
mbed_official 579:53297373a894 261 uint32_t reg; /*!< Type used for register access */
mbed_official 579:53297373a894 262 } NVMCTRL_ADDR_Type;
mbed_official 579:53297373a894 263 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
mbed_official 579:53297373a894 264
mbed_official 579:53297373a894 265 #define NVMCTRL_ADDR_OFFSET 0x1C /**< \brief (NVMCTRL_ADDR offset) Address */
mbed_official 579:53297373a894 266 #define NVMCTRL_ADDR_RESETVALUE 0x00000000ul /**< \brief (NVMCTRL_ADDR reset_value) Address */
mbed_official 579:53297373a894 267
mbed_official 579:53297373a894 268 #define NVMCTRL_ADDR_ADDR_Pos 0 /**< \brief (NVMCTRL_ADDR) NVM Address */
mbed_official 579:53297373a894 269 #define NVMCTRL_ADDR_ADDR_Msk (0x3FFFFFul << NVMCTRL_ADDR_ADDR_Pos)
mbed_official 579:53297373a894 270 #define NVMCTRL_ADDR_ADDR(value) ((NVMCTRL_ADDR_ADDR_Msk & ((value) << NVMCTRL_ADDR_ADDR_Pos)))
mbed_official 579:53297373a894 271 #define NVMCTRL_ADDR_MASK 0x003FFFFFul /**< \brief (NVMCTRL_ADDR) MASK Register */
mbed_official 579:53297373a894 272
mbed_official 579:53297373a894 273 /* -------- NVMCTRL_LOCK : (NVMCTRL Offset: 0x20) (R/W 16) Lock Section -------- */
mbed_official 579:53297373a894 274 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
mbed_official 579:53297373a894 275 typedef union {
mbed_official 579:53297373a894 276 struct {
mbed_official 579:53297373a894 277 uint16_t LOCK:16; /*!< bit: 0..15 Region Lock Bits */
mbed_official 579:53297373a894 278 } bit; /*!< Structure used for bit access */
mbed_official 579:53297373a894 279 uint16_t reg; /*!< Type used for register access */
mbed_official 579:53297373a894 280 } NVMCTRL_LOCK_Type;
mbed_official 579:53297373a894 281 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
mbed_official 579:53297373a894 282
mbed_official 579:53297373a894 283 #define NVMCTRL_LOCK_OFFSET 0x20 /**< \brief (NVMCTRL_LOCK offset) Lock Section */
mbed_official 579:53297373a894 284
mbed_official 579:53297373a894 285 #define NVMCTRL_LOCK_LOCK_Pos 0 /**< \brief (NVMCTRL_LOCK) Region Lock Bits */
mbed_official 579:53297373a894 286 #define NVMCTRL_LOCK_LOCK_Msk (0xFFFFul << NVMCTRL_LOCK_LOCK_Pos)
mbed_official 579:53297373a894 287 #define NVMCTRL_LOCK_LOCK(value) ((NVMCTRL_LOCK_LOCK_Msk & ((value) << NVMCTRL_LOCK_LOCK_Pos)))
mbed_official 579:53297373a894 288 #define NVMCTRL_LOCK_MASK 0xFFFFul /**< \brief (NVMCTRL_LOCK) MASK Register */
mbed_official 579:53297373a894 289
mbed_official 579:53297373a894 290 /** \brief NVMCTRL APB hardware registers */
mbed_official 579:53297373a894 291 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
mbed_official 579:53297373a894 292 typedef struct {
mbed_official 579:53297373a894 293 __IO NVMCTRL_CTRLA_Type CTRLA; /**< \brief Offset: 0x00 (R/W 16) Control A */
mbed_official 579:53297373a894 294 RoReg8 Reserved1[0x2];
mbed_official 579:53297373a894 295 __IO NVMCTRL_CTRLB_Type CTRLB; /**< \brief Offset: 0x04 (R/W 32) Control B */
mbed_official 579:53297373a894 296 __IO NVMCTRL_PARAM_Type PARAM; /**< \brief Offset: 0x08 (R/W 32) NVM Parameter */
mbed_official 579:53297373a894 297 __IO NVMCTRL_INTENCLR_Type INTENCLR; /**< \brief Offset: 0x0C (R/W 8) Interrupt Enable Clear */
mbed_official 579:53297373a894 298 RoReg8 Reserved2[0x3];
mbed_official 579:53297373a894 299 __IO NVMCTRL_INTENSET_Type INTENSET; /**< \brief Offset: 0x10 (R/W 8) Interrupt Enable Set */
mbed_official 579:53297373a894 300 RoReg8 Reserved3[0x3];
mbed_official 579:53297373a894 301 __IO NVMCTRL_INTFLAG_Type INTFLAG; /**< \brief Offset: 0x14 (R/W 8) Interrupt Flag Status and Clear */
mbed_official 579:53297373a894 302 RoReg8 Reserved4[0x3];
mbed_official 579:53297373a894 303 __IO NVMCTRL_STATUS_Type STATUS; /**< \brief Offset: 0x18 (R/W 16) Status */
mbed_official 579:53297373a894 304 RoReg8 Reserved5[0x2];
mbed_official 579:53297373a894 305 __IO NVMCTRL_ADDR_Type ADDR; /**< \brief Offset: 0x1C (R/W 32) Address */
mbed_official 579:53297373a894 306 __IO NVMCTRL_LOCK_Type LOCK; /**< \brief Offset: 0x20 (R/W 16) Lock Section */
mbed_official 579:53297373a894 307 } Nvmctrl;
mbed_official 579:53297373a894 308 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
mbed_official 579:53297373a894 309 #define SECTION_NVMCTRL_CAL
mbed_official 579:53297373a894 310 #define SECTION_NVMCTRL_LOCKBIT
mbed_official 579:53297373a894 311 #define SECTION_NVMCTRL_OTP1
mbed_official 579:53297373a894 312 #define SECTION_NVMCTRL_OTP2
mbed_official 579:53297373a894 313 #define SECTION_NVMCTRL_OTP4
mbed_official 579:53297373a894 314 #define SECTION_NVMCTRL_TEMP_LOG
mbed_official 579:53297373a894 315 #define SECTION_NVMCTRL_USER
mbed_official 579:53297373a894 316
mbed_official 579:53297373a894 317 /*@}*/
mbed_official 579:53297373a894 318
mbed_official 579:53297373a894 319 /* ************************************************************************** */
mbed_official 579:53297373a894 320 /** SOFTWARE PERIPHERAL API DEFINITION FOR NON-VOLATILE FUSES */
mbed_official 579:53297373a894 321 /* ************************************************************************** */
mbed_official 579:53297373a894 322 /** \addtogroup fuses_api Peripheral Software API */
mbed_official 579:53297373a894 323 /*@{*/
mbed_official 579:53297373a894 324
mbed_official 579:53297373a894 325
mbed_official 579:53297373a894 326 #define ADC_FUSES_BIASCAL_ADDR (NVMCTRL_OTP4 + 4)
mbed_official 579:53297373a894 327 #define ADC_FUSES_BIASCAL_Pos 3 /**< \brief (NVMCTRL_OTP4) ADC Bias Calibration */
mbed_official 579:53297373a894 328 #define ADC_FUSES_BIASCAL_Msk (0x7ul << ADC_FUSES_BIASCAL_Pos)
mbed_official 579:53297373a894 329 #define ADC_FUSES_BIASCAL(value) ((ADC_FUSES_BIASCAL_Msk & ((value) << ADC_FUSES_BIASCAL_Pos)))
mbed_official 579:53297373a894 330
mbed_official 579:53297373a894 331 #define ADC_FUSES_LINEARITY_0_ADDR NVMCTRL_OTP4
mbed_official 579:53297373a894 332 #define ADC_FUSES_LINEARITY_0_Pos 27 /**< \brief (NVMCTRL_OTP4) ADC Linearity bits 4:0 */
mbed_official 579:53297373a894 333 #define ADC_FUSES_LINEARITY_0_Msk (0x1Ful << ADC_FUSES_LINEARITY_0_Pos)
mbed_official 579:53297373a894 334 #define ADC_FUSES_LINEARITY_0(value) ((ADC_FUSES_LINEARITY_0_Msk & ((value) << ADC_FUSES_LINEARITY_0_Pos)))
mbed_official 579:53297373a894 335
mbed_official 579:53297373a894 336 #define ADC_FUSES_LINEARITY_1_ADDR (NVMCTRL_OTP4 + 4)
mbed_official 579:53297373a894 337 #define ADC_FUSES_LINEARITY_1_Pos 0 /**< \brief (NVMCTRL_OTP4) ADC Linearity bits 7:5 */
mbed_official 579:53297373a894 338 #define ADC_FUSES_LINEARITY_1_Msk (0x7ul << ADC_FUSES_LINEARITY_1_Pos)
mbed_official 579:53297373a894 339 #define ADC_FUSES_LINEARITY_1(value) ((ADC_FUSES_LINEARITY_1_Msk & ((value) << ADC_FUSES_LINEARITY_1_Pos)))
mbed_official 579:53297373a894 340
mbed_official 579:53297373a894 341 #define FUSES_BOD33USERLEVEL_ADDR NVMCTRL_USER
mbed_official 579:53297373a894 342 #define FUSES_BOD33USERLEVEL_Pos 8 /**< \brief (NVMCTRL_USER) BOD33 User Level */
mbed_official 579:53297373a894 343 #define FUSES_BOD33USERLEVEL_Msk (0x3Ful << FUSES_BOD33USERLEVEL_Pos)
mbed_official 579:53297373a894 344 #define FUSES_BOD33USERLEVEL(value) ((FUSES_BOD33USERLEVEL_Msk & ((value) << FUSES_BOD33USERLEVEL_Pos)))
mbed_official 579:53297373a894 345
mbed_official 579:53297373a894 346 #define FUSES_BOD33_ACTION_ADDR NVMCTRL_USER
mbed_official 579:53297373a894 347 #define FUSES_BOD33_ACTION_Pos 15 /**< \brief (NVMCTRL_USER) BOD33 Action */
mbed_official 579:53297373a894 348 #define FUSES_BOD33_ACTION_Msk (0x3ul << FUSES_BOD33_ACTION_Pos)
mbed_official 579:53297373a894 349 #define FUSES_BOD33_ACTION(value) ((FUSES_BOD33_ACTION_Msk & ((value) << FUSES_BOD33_ACTION_Pos)))
mbed_official 579:53297373a894 350
mbed_official 579:53297373a894 351 #define FUSES_BOD33_EN_ADDR NVMCTRL_USER
mbed_official 579:53297373a894 352 #define FUSES_BOD33_EN_Pos 14 /**< \brief (NVMCTRL_USER) BOD33 Enable */
mbed_official 579:53297373a894 353 #define FUSES_BOD33_EN_Msk (0x1ul << FUSES_BOD33_EN_Pos)
mbed_official 579:53297373a894 354
mbed_official 579:53297373a894 355 #define FUSES_BOD33_HYST_ADDR (NVMCTRL_USER + 4)
mbed_official 579:53297373a894 356 #define FUSES_BOD33_HYST_Pos 8 /**< \brief (NVMCTRL_USER) BOD33 Hysteresis */
mbed_official 579:53297373a894 357 #define FUSES_BOD33_HYST_Msk (0x1ul << FUSES_BOD33_HYST_Pos)
mbed_official 579:53297373a894 358
mbed_official 579:53297373a894 359 #define FUSES_DFLL48M_COARSE_CAL_ADDR (NVMCTRL_OTP4 + 4)
mbed_official 579:53297373a894 360 #define FUSES_DFLL48M_COARSE_CAL_Pos 26 /**< \brief (NVMCTRL_OTP4) DFLL48M Coarse Calibration */
mbed_official 579:53297373a894 361 #define FUSES_DFLL48M_COARSE_CAL_Msk (0x3Ful << FUSES_DFLL48M_COARSE_CAL_Pos)
mbed_official 579:53297373a894 362 #define FUSES_DFLL48M_COARSE_CAL(value) ((FUSES_DFLL48M_COARSE_CAL_Msk & ((value) << FUSES_DFLL48M_COARSE_CAL_Pos)))
mbed_official 579:53297373a894 363
mbed_official 579:53297373a894 364 #define FUSES_DFLL48M_FINE_CAL_ADDR (NVMCTRL_OTP4 + 8)
mbed_official 579:53297373a894 365 #define FUSES_DFLL48M_FINE_CAL_Pos 0 /**< \brief (NVMCTRL_OTP4) DFLL48M Fine Calibration */
mbed_official 579:53297373a894 366 #define FUSES_DFLL48M_FINE_CAL_Msk (0x3FFul << FUSES_DFLL48M_FINE_CAL_Pos)
mbed_official 579:53297373a894 367 #define FUSES_DFLL48M_FINE_CAL(value) ((FUSES_DFLL48M_FINE_CAL_Msk & ((value) << FUSES_DFLL48M_FINE_CAL_Pos)))
mbed_official 579:53297373a894 368
mbed_official 579:53297373a894 369 #define FUSES_HOT_ADC_VAL_ADDR (NVMCTRL_TEMP_LOG + 4)
mbed_official 579:53297373a894 370 #define FUSES_HOT_ADC_VAL_Pos 20 /**< \brief (NVMCTRL_TEMP_LOG) 12-bit ADC conversion at hot temperature */
mbed_official 579:53297373a894 371 #define FUSES_HOT_ADC_VAL_Msk (0xFFFul << FUSES_HOT_ADC_VAL_Pos)
mbed_official 579:53297373a894 372 #define FUSES_HOT_ADC_VAL(value) ((FUSES_HOT_ADC_VAL_Msk & ((value) << FUSES_HOT_ADC_VAL_Pos)))
mbed_official 579:53297373a894 373
mbed_official 579:53297373a894 374 #define FUSES_HOT_INT1V_VAL_ADDR (NVMCTRL_TEMP_LOG + 4)
mbed_official 579:53297373a894 375 #define FUSES_HOT_INT1V_VAL_Pos 0 /**< \brief (NVMCTRL_TEMP_LOG) 2's complement of the internal 1V reference drift at hot temperature (versus a 1.0 centered value) */
mbed_official 579:53297373a894 376 #define FUSES_HOT_INT1V_VAL_Msk (0xFFul << FUSES_HOT_INT1V_VAL_Pos)
mbed_official 579:53297373a894 377 #define FUSES_HOT_INT1V_VAL(value) ((FUSES_HOT_INT1V_VAL_Msk & ((value) << FUSES_HOT_INT1V_VAL_Pos)))
mbed_official 579:53297373a894 378
mbed_official 579:53297373a894 379 #define FUSES_HOT_TEMP_VAL_DEC_ADDR NVMCTRL_TEMP_LOG
mbed_official 579:53297373a894 380 #define FUSES_HOT_TEMP_VAL_DEC_Pos 20 /**< \brief (NVMCTRL_TEMP_LOG) Decimal part of hot temperature */
mbed_official 579:53297373a894 381 #define FUSES_HOT_TEMP_VAL_DEC_Msk (0xFul << FUSES_HOT_TEMP_VAL_DEC_Pos)
mbed_official 579:53297373a894 382 #define FUSES_HOT_TEMP_VAL_DEC(value) ((FUSES_HOT_TEMP_VAL_DEC_Msk & ((value) << FUSES_HOT_TEMP_VAL_DEC_Pos)))
mbed_official 579:53297373a894 383
mbed_official 579:53297373a894 384 #define FUSES_HOT_TEMP_VAL_INT_ADDR NVMCTRL_TEMP_LOG
mbed_official 579:53297373a894 385 #define FUSES_HOT_TEMP_VAL_INT_Pos 12 /**< \brief (NVMCTRL_TEMP_LOG) Integer part of hot temperature in oC */
mbed_official 579:53297373a894 386 #define FUSES_HOT_TEMP_VAL_INT_Msk (0xFFul << FUSES_HOT_TEMP_VAL_INT_Pos)
mbed_official 579:53297373a894 387 #define FUSES_HOT_TEMP_VAL_INT(value) ((FUSES_HOT_TEMP_VAL_INT_Msk & ((value) << FUSES_HOT_TEMP_VAL_INT_Pos)))
mbed_official 579:53297373a894 388
mbed_official 579:53297373a894 389 #define FUSES_OSC32K_CAL_ADDR (NVMCTRL_OTP4 + 4)
mbed_official 579:53297373a894 390 #define FUSES_OSC32K_CAL_Pos 6 /**< \brief (NVMCTRL_OTP4) OSC32K Calibration */
mbed_official 579:53297373a894 391 #define FUSES_OSC32K_CAL_Msk (0x7Ful << FUSES_OSC32K_CAL_Pos)
mbed_official 579:53297373a894 392 #define FUSES_OSC32K_CAL(value) ((FUSES_OSC32K_CAL_Msk & ((value) << FUSES_OSC32K_CAL_Pos)))
mbed_official 579:53297373a894 393
mbed_official 579:53297373a894 394 #define FUSES_ROOM_ADC_VAL_ADDR (NVMCTRL_TEMP_LOG + 4)
mbed_official 579:53297373a894 395 #define FUSES_ROOM_ADC_VAL_Pos 8 /**< \brief (NVMCTRL_TEMP_LOG) 12-bit ADC conversion at room temperature */
mbed_official 579:53297373a894 396 #define FUSES_ROOM_ADC_VAL_Msk (0xFFFul << FUSES_ROOM_ADC_VAL_Pos)
mbed_official 579:53297373a894 397 #define FUSES_ROOM_ADC_VAL(value) ((FUSES_ROOM_ADC_VAL_Msk & ((value) << FUSES_ROOM_ADC_VAL_Pos)))
mbed_official 579:53297373a894 398
mbed_official 579:53297373a894 399 #define FUSES_ROOM_INT1V_VAL_ADDR NVMCTRL_TEMP_LOG
mbed_official 579:53297373a894 400 #define FUSES_ROOM_INT1V_VAL_Pos 24 /**< \brief (NVMCTRL_TEMP_LOG) 2's complement of the internal 1V reference drift at room temperature (versus a 1.0 centered value) */
mbed_official 579:53297373a894 401 #define FUSES_ROOM_INT1V_VAL_Msk (0xFFul << FUSES_ROOM_INT1V_VAL_Pos)
mbed_official 579:53297373a894 402 #define FUSES_ROOM_INT1V_VAL(value) ((FUSES_ROOM_INT1V_VAL_Msk & ((value) << FUSES_ROOM_INT1V_VAL_Pos)))
mbed_official 579:53297373a894 403
mbed_official 579:53297373a894 404 #define FUSES_ROOM_TEMP_VAL_DEC_ADDR NVMCTRL_TEMP_LOG
mbed_official 579:53297373a894 405 #define FUSES_ROOM_TEMP_VAL_DEC_Pos 8 /**< \brief (NVMCTRL_TEMP_LOG) Decimal part of room temperature */
mbed_official 579:53297373a894 406 #define FUSES_ROOM_TEMP_VAL_DEC_Msk (0xFul << FUSES_ROOM_TEMP_VAL_DEC_Pos)
mbed_official 579:53297373a894 407 #define FUSES_ROOM_TEMP_VAL_DEC(value) ((FUSES_ROOM_TEMP_VAL_DEC_Msk & ((value) << FUSES_ROOM_TEMP_VAL_DEC_Pos)))
mbed_official 579:53297373a894 408
mbed_official 579:53297373a894 409 #define FUSES_ROOM_TEMP_VAL_INT_ADDR NVMCTRL_TEMP_LOG
mbed_official 579:53297373a894 410 #define FUSES_ROOM_TEMP_VAL_INT_Pos 0 /**< \brief (NVMCTRL_TEMP_LOG) Integer part of room temperature in oC */
mbed_official 579:53297373a894 411 #define FUSES_ROOM_TEMP_VAL_INT_Msk (0xFFul << FUSES_ROOM_TEMP_VAL_INT_Pos)
mbed_official 579:53297373a894 412 #define FUSES_ROOM_TEMP_VAL_INT(value) ((FUSES_ROOM_TEMP_VAL_INT_Msk & ((value) << FUSES_ROOM_TEMP_VAL_INT_Pos)))
mbed_official 579:53297373a894 413
mbed_official 579:53297373a894 414 #define NVMCTRL_FUSES_BOOTPROT_ADDR NVMCTRL_USER
mbed_official 579:53297373a894 415 #define NVMCTRL_FUSES_BOOTPROT_Pos 0 /**< \brief (NVMCTRL_USER) Bootloader Size */
mbed_official 579:53297373a894 416 #define NVMCTRL_FUSES_BOOTPROT_Msk (0x7ul << NVMCTRL_FUSES_BOOTPROT_Pos)
mbed_official 579:53297373a894 417 #define NVMCTRL_FUSES_BOOTPROT(value) ((NVMCTRL_FUSES_BOOTPROT_Msk & ((value) << NVMCTRL_FUSES_BOOTPROT_Pos)))
mbed_official 579:53297373a894 418
mbed_official 579:53297373a894 419 #define NVMCTRL_FUSES_EEPROM_SIZE_ADDR NVMCTRL_USER
mbed_official 579:53297373a894 420 #define NVMCTRL_FUSES_EEPROM_SIZE_Pos 4 /**< \brief (NVMCTRL_USER) EEPROM Size */
mbed_official 579:53297373a894 421 #define NVMCTRL_FUSES_EEPROM_SIZE_Msk (0x7ul << NVMCTRL_FUSES_EEPROM_SIZE_Pos)
mbed_official 579:53297373a894 422 #define NVMCTRL_FUSES_EEPROM_SIZE(value) ((NVMCTRL_FUSES_EEPROM_SIZE_Msk & ((value) << NVMCTRL_FUSES_EEPROM_SIZE_Pos)))
mbed_official 579:53297373a894 423
mbed_official 579:53297373a894 424 /* Compabible definition for previous driver (begin 1) */
mbed_official 579:53297373a894 425 #define NVMCTRL_FUSES_HOT_ADC_VAL_ADDR (NVMCTRL_TEMP_LOG + 4)
mbed_official 579:53297373a894 426 #define NVMCTRL_FUSES_HOT_ADC_VAL_Pos 20 /**< \brief (NVMCTRL_TEMP_LOG) 12-bit ADC conversion at hot temperature */
mbed_official 579:53297373a894 427 #define NVMCTRL_FUSES_HOT_ADC_VAL_Msk (0xFFFu << NVMCTRL_FUSES_HOT_ADC_VAL_Pos)
mbed_official 579:53297373a894 428 #define NVMCTRL_FUSES_HOT_ADC_VAL(value) ((NVMCTRL_FUSES_HOT_ADC_VAL_Msk & ((value) << NVMCTRL_FUSES_HOT_ADC_VAL_Pos)))
mbed_official 579:53297373a894 429
mbed_official 579:53297373a894 430 #define NVMCTRL_FUSES_HOT_INT1V_VAL_ADDR (NVMCTRL_TEMP_LOG + 4)
mbed_official 579:53297373a894 431 #define NVMCTRL_FUSES_HOT_INT1V_VAL_Pos 0 /**< \brief (NVMCTRL_TEMP_LOG) 2's complement of the internal 1V reference drift at hot temperature (versus a 1.0 centered value) */
mbed_official 579:53297373a894 432 #define NVMCTRL_FUSES_HOT_INT1V_VAL_Msk (0xFFu << NVMCTRL_FUSES_HOT_INT1V_VAL_Pos)
mbed_official 579:53297373a894 433 #define NVMCTRL_FUSES_HOT_INT1V_VAL(value) ((NVMCTRL_FUSES_HOT_INT1V_VAL_Msk & ((value) << NVMCTRL_FUSES_HOT_INT1V_VAL_Pos)))
mbed_official 579:53297373a894 434
mbed_official 579:53297373a894 435 #define NVMCTRL_FUSES_HOT_TEMP_VAL_DEC_ADDR NVMCTRL_TEMP_LOG
mbed_official 579:53297373a894 436 #define NVMCTRL_FUSES_HOT_TEMP_VAL_DEC_Pos 20 /**< \brief (NVMCTRL_TEMP_LOG) Decimal part of hot temperature */
mbed_official 579:53297373a894 437 #define NVMCTRL_FUSES_HOT_TEMP_VAL_DEC_Msk (0xFu << NVMCTRL_FUSES_HOT_TEMP_VAL_DEC_Pos)
mbed_official 579:53297373a894 438 #define NVMCTRL_FUSES_HOT_TEMP_VAL_DEC(value) ((NVMCTRL_FUSES_HOT_TEMP_VAL_DEC_Msk & ((value) << NVMCTRL_FUSES_HOT_TEMP_VAL_DEC_Pos)))
mbed_official 579:53297373a894 439
mbed_official 579:53297373a894 440 #define NVMCTRL_FUSES_HOT_TEMP_VAL_INT_ADDR NVMCTRL_TEMP_LOG
mbed_official 579:53297373a894 441 #define NVMCTRL_FUSES_HOT_TEMP_VAL_INT_Pos 12 /**< \brief (NVMCTRL_TEMP_LOG) Integer part of hot temperature in oC */
mbed_official 579:53297373a894 442 #define NVMCTRL_FUSES_HOT_TEMP_VAL_INT_Msk (0xFFu << NVMCTRL_FUSES_HOT_TEMP_VAL_INT_Pos)
mbed_official 579:53297373a894 443 #define NVMCTRL_FUSES_HOT_TEMP_VAL_INT(value) ((NVMCTRL_FUSES_HOT_TEMP_VAL_INT_Msk & ((value) << NVMCTRL_FUSES_HOT_TEMP_VAL_INT_Pos)))
mbed_official 579:53297373a894 444 /* Compabible definition for previous driver (end 1) */
mbed_official 579:53297373a894 445
mbed_official 579:53297373a894 446 #define NVMCTRL_FUSES_NVMP_ADDR NVMCTRL_OTP1
mbed_official 579:53297373a894 447 #define NVMCTRL_FUSES_NVMP_Pos 16 /**< \brief (NVMCTRL_OTP1) Number of NVM Pages */
mbed_official 579:53297373a894 448 #define NVMCTRL_FUSES_NVMP_Msk (0xFFFFul << NVMCTRL_FUSES_NVMP_Pos)
mbed_official 579:53297373a894 449 #define NVMCTRL_FUSES_NVMP(value) ((NVMCTRL_FUSES_NVMP_Msk & ((value) << NVMCTRL_FUSES_NVMP_Pos)))
mbed_official 579:53297373a894 450
mbed_official 579:53297373a894 451 #define NVMCTRL_FUSES_NVM_LOCK_ADDR NVMCTRL_OTP1
mbed_official 579:53297373a894 452 #define NVMCTRL_FUSES_NVM_LOCK_Pos 0 /**< \brief (NVMCTRL_OTP1) NVM Lock */
mbed_official 579:53297373a894 453 #define NVMCTRL_FUSES_NVM_LOCK_Msk (0xFFul << NVMCTRL_FUSES_NVM_LOCK_Pos)
mbed_official 579:53297373a894 454 #define NVMCTRL_FUSES_NVM_LOCK(value) ((NVMCTRL_FUSES_NVM_LOCK_Msk & ((value) << NVMCTRL_FUSES_NVM_LOCK_Pos)))
mbed_official 579:53297373a894 455
mbed_official 579:53297373a894 456 #define NVMCTRL_FUSES_PSZ_ADDR NVMCTRL_OTP1
mbed_official 579:53297373a894 457 #define NVMCTRL_FUSES_PSZ_Pos 8 /**< \brief (NVMCTRL_OTP1) NVM Page Size */
mbed_official 579:53297373a894 458 #define NVMCTRL_FUSES_PSZ_Msk (0xFul << NVMCTRL_FUSES_PSZ_Pos)
mbed_official 579:53297373a894 459 #define NVMCTRL_FUSES_PSZ(value) ((NVMCTRL_FUSES_PSZ_Msk & ((value) << NVMCTRL_FUSES_PSZ_Pos)))
mbed_official 579:53297373a894 460
mbed_official 579:53297373a894 461 #define NVMCTRL_FUSES_REGION_LOCKS_ADDR (NVMCTRL_USER + 4)
mbed_official 579:53297373a894 462 #define NVMCTRL_FUSES_REGION_LOCKS_Pos 16 /**< \brief (NVMCTRL_USER) NVM Region Locks */
mbed_official 579:53297373a894 463 #define NVMCTRL_FUSES_REGION_LOCKS_Msk (0xFFFFul << NVMCTRL_FUSES_REGION_LOCKS_Pos)
mbed_official 579:53297373a894 464 #define NVMCTRL_FUSES_REGION_LOCKS(value) ((NVMCTRL_FUSES_REGION_LOCKS_Msk & ((value) << NVMCTRL_FUSES_REGION_LOCKS_Pos)))
mbed_official 579:53297373a894 465
mbed_official 579:53297373a894 466 /* Compabible definition for previous driver (begin 2) */
mbed_official 579:53297373a894 467 #define NVMCTRL_FUSES_ROOM_ADC_VAL_ADDR (NVMCTRL_TEMP_LOG + 4)
mbed_official 579:53297373a894 468 #define NVMCTRL_FUSES_ROOM_ADC_VAL_Pos 8 /**< \brief (NVMCTRL_TEMP_LOG) 12-bit ADC conversion at room temperature */
mbed_official 579:53297373a894 469 #define NVMCTRL_FUSES_ROOM_ADC_VAL_Msk (0xFFFu << NVMCTRL_FUSES_ROOM_ADC_VAL_Pos)
mbed_official 579:53297373a894 470 #define NVMCTRL_FUSES_ROOM_ADC_VAL(value) ((NVMCTRL_FUSES_ROOM_ADC_VAL_Msk & ((value) << NVMCTRL_FUSES_ROOM_ADC_VAL_Pos)))
mbed_official 579:53297373a894 471
mbed_official 579:53297373a894 472 #define NVMCTRL_FUSES_ROOM_INT1V_VAL_ADDR NVMCTRL_TEMP_LOG
mbed_official 579:53297373a894 473 #define NVMCTRL_FUSES_ROOM_INT1V_VAL_Pos 24 /**< \brief (NVMCTRL_TEMP_LOG) 2's complement of the internal 1V reference drift at room temperature (versus a 1.0 centered value) */
mbed_official 579:53297373a894 474 #define NVMCTRL_FUSES_ROOM_INT1V_VAL_Msk (0xFFu << NVMCTRL_FUSES_ROOM_INT1V_VAL_Pos)
mbed_official 579:53297373a894 475 #define NVMCTRL_FUSES_ROOM_INT1V_VAL(value) ((NVMCTRL_FUSES_ROOM_INT1V_VAL_Msk & ((value) << NVMCTRL_FUSES_ROOM_INT1V_VAL_Pos)))
mbed_official 579:53297373a894 476
mbed_official 579:53297373a894 477 #define NVMCTRL_FUSES_ROOM_TEMP_VAL_DEC_ADDR NVMCTRL_TEMP_LOG
mbed_official 579:53297373a894 478 #define NVMCTRL_FUSES_ROOM_TEMP_VAL_DEC_Pos 8 /**< \brief (NVMCTRL_TEMP_LOG) Decimal part of room temperature */
mbed_official 579:53297373a894 479 #define NVMCTRL_FUSES_ROOM_TEMP_VAL_DEC_Msk (0xFu << NVMCTRL_FUSES_ROOM_TEMP_VAL_DEC_Pos)
mbed_official 579:53297373a894 480 #define NVMCTRL_FUSES_ROOM_TEMP_VAL_DEC(value) ((NVMCTRL_FUSES_ROOM_TEMP_VAL_DEC_Msk & ((value) << NVMCTRL_FUSES_ROOM_TEMP_VAL_DEC_Pos)))
mbed_official 579:53297373a894 481
mbed_official 579:53297373a894 482 #define NVMCTRL_FUSES_ROOM_TEMP_VAL_INT_ADDR NVMCTRL_TEMP_LOG
mbed_official 579:53297373a894 483 #define NVMCTRL_FUSES_ROOM_TEMP_VAL_INT_Pos 0 /**< \brief (NVMCTRL_TEMP_LOG) Integer part of room temperature in oC */
mbed_official 579:53297373a894 484 #define NVMCTRL_FUSES_ROOM_TEMP_VAL_INT_Msk (0xFFu << NVMCTRL_FUSES_ROOM_TEMP_VAL_INT_Pos)
mbed_official 579:53297373a894 485 #define NVMCTRL_FUSES_ROOM_TEMP_VAL_INT(value) ((NVMCTRL_FUSES_ROOM_TEMP_VAL_INT_Msk & ((value) << NVMCTRL_FUSES_ROOM_TEMP_VAL_INT_Pos)))
mbed_official 579:53297373a894 486
mbed_official 579:53297373a894 487 #define SYSCTRL_FUSES_BOD33USERLEVEL_ADDR NVMCTRL_USER
mbed_official 579:53297373a894 488 #define SYSCTRL_FUSES_BOD33USERLEVEL_Pos 8 /**< \brief (NVMCTRL_USER) BOD33 User Level */
mbed_official 579:53297373a894 489 #define SYSCTRL_FUSES_BOD33USERLEVEL_Msk (0x3Fu << SYSCTRL_FUSES_BOD33USERLEVEL_Pos)
mbed_official 579:53297373a894 490 #define SYSCTRL_FUSES_BOD33USERLEVEL(value) ((SYSCTRL_FUSES_BOD33USERLEVEL_Msk & ((value) << SYSCTRL_FUSES_BOD33USERLEVEL_Pos)))
mbed_official 579:53297373a894 491
mbed_official 579:53297373a894 492 #define SYSCTRL_FUSES_BOD33_ACTION_ADDR NVMCTRL_USER
mbed_official 579:53297373a894 493 #define SYSCTRL_FUSES_BOD33_ACTION_Pos 15 /**< \brief (NVMCTRL_USER) BOD33 Action */
mbed_official 579:53297373a894 494 #define SYSCTRL_FUSES_BOD33_ACTION_Msk (0x3u << SYSCTRL_FUSES_BOD33_ACTION_Pos)
mbed_official 579:53297373a894 495 #define SYSCTRL_FUSES_BOD33_ACTION(value) ((SYSCTRL_FUSES_BOD33_ACTION_Msk & ((value) << SYSCTRL_FUSES_BOD33_ACTION_Pos)))
mbed_official 579:53297373a894 496
mbed_official 579:53297373a894 497 #define SYSCTRL_FUSES_BOD33_EN_ADDR NVMCTRL_USER
mbed_official 579:53297373a894 498 #define SYSCTRL_FUSES_BOD33_EN_Pos 14 /**< \brief (NVMCTRL_USER) BOD33 Enable */
mbed_official 579:53297373a894 499 #define SYSCTRL_FUSES_BOD33_EN_Msk (0x1u << SYSCTRL_FUSES_BOD33_EN_Pos)
mbed_official 579:53297373a894 500
mbed_official 579:53297373a894 501 #define SYSCTRL_FUSES_BOD33_HYST_ADDR (NVMCTRL_USER + 4)
mbed_official 579:53297373a894 502 #define SYSCTRL_FUSES_BOD33_HYST_Pos 8 /**< \brief (NVMCTRL_USER) BOD33 Hysteresis */
mbed_official 579:53297373a894 503 #define SYSCTRL_FUSES_BOD33_HYST_Msk (0x1u << SYSCTRL_FUSES_BOD33_HYST_Pos)
mbed_official 579:53297373a894 504
mbed_official 579:53297373a894 505 #define SYSCTRL_FUSES_DFLL48M_COARSE_CAL_ADDR (NVMCTRL_OTP4 + 4)
mbed_official 579:53297373a894 506 #define SYSCTRL_FUSES_DFLL48M_COARSE_CAL_Pos 26 /**< \brief (NVMCTRL_OTP4) DFLL48M Coarse Calibration */
mbed_official 579:53297373a894 507 #define SYSCTRL_FUSES_DFLL48M_COARSE_CAL_Msk (0x3Fu << SYSCTRL_FUSES_DFLL48M_COARSE_CAL_Pos)
mbed_official 579:53297373a894 508 #define SYSCTRL_FUSES_DFLL48M_COARSE_CAL(value) ((SYSCTRL_FUSES_DFLL48M_COARSE_CAL_Msk & ((value) << SYSCTRL_FUSES_DFLL48M_COARSE_CAL_Pos)))
mbed_official 579:53297373a894 509
mbed_official 579:53297373a894 510 #define SYSCTRL_FUSES_OSC32K_CAL_ADDR (NVMCTRL_OTP4 + 4)
mbed_official 579:53297373a894 511 #define SYSCTRL_FUSES_OSC32K_CAL_Pos 6 /**< \brief (NVMCTRL_OTP4) OSC32K Calibration */
mbed_official 579:53297373a894 512 #define SYSCTRL_FUSES_OSC32K_CAL_Msk (0x7Fu << SYSCTRL_FUSES_OSC32K_CAL_Pos)
mbed_official 579:53297373a894 513 #define SYSCTRL_FUSES_OSC32K_CAL(value) ((SYSCTRL_FUSES_OSC32K_CAL_Msk & ((value) << SYSCTRL_FUSES_OSC32K_CAL_Pos)))
mbed_official 579:53297373a894 514 /* Compabible definition for previous driver (end 2) */
mbed_official 579:53297373a894 515
mbed_official 579:53297373a894 516 #define USB_FUSES_TRANSN_ADDR (NVMCTRL_OTP4 + 4)
mbed_official 579:53297373a894 517 #define USB_FUSES_TRANSN_Pos 13 /**< \brief (NVMCTRL_OTP4) USB pad Transn calibration */
mbed_official 579:53297373a894 518 #define USB_FUSES_TRANSN_Msk (0x1Ful << USB_FUSES_TRANSN_Pos)
mbed_official 579:53297373a894 519 #define USB_FUSES_TRANSN(value) ((USB_FUSES_TRANSN_Msk & ((value) << USB_FUSES_TRANSN_Pos)))
mbed_official 579:53297373a894 520
mbed_official 579:53297373a894 521 #define USB_FUSES_TRANSP_ADDR (NVMCTRL_OTP4 + 4)
mbed_official 579:53297373a894 522 #define USB_FUSES_TRANSP_Pos 18 /**< \brief (NVMCTRL_OTP4) USB pad Transp calibration */
mbed_official 579:53297373a894 523 #define USB_FUSES_TRANSP_Msk (0x1Ful << USB_FUSES_TRANSP_Pos)
mbed_official 579:53297373a894 524 #define USB_FUSES_TRANSP(value) ((USB_FUSES_TRANSP_Msk & ((value) << USB_FUSES_TRANSP_Pos)))
mbed_official 579:53297373a894 525
mbed_official 579:53297373a894 526 #define USB_FUSES_TRIM_ADDR (NVMCTRL_OTP4 + 4)
mbed_official 579:53297373a894 527 #define USB_FUSES_TRIM_Pos 23 /**< \brief (NVMCTRL_OTP4) USB pad Trim calibration */
mbed_official 579:53297373a894 528 #define USB_FUSES_TRIM_Msk (0x7ul << USB_FUSES_TRIM_Pos)
mbed_official 579:53297373a894 529 #define USB_FUSES_TRIM(value) ((USB_FUSES_TRIM_Msk & ((value) << USB_FUSES_TRIM_Pos)))
mbed_official 579:53297373a894 530
mbed_official 579:53297373a894 531 #define WDT_FUSES_ALWAYSON_ADDR NVMCTRL_USER
mbed_official 579:53297373a894 532 #define WDT_FUSES_ALWAYSON_Pos 26 /**< \brief (NVMCTRL_USER) WDT Always On */
mbed_official 579:53297373a894 533 #define WDT_FUSES_ALWAYSON_Msk (0x1ul << WDT_FUSES_ALWAYSON_Pos)
mbed_official 579:53297373a894 534
mbed_official 579:53297373a894 535 #define WDT_FUSES_ENABLE_ADDR NVMCTRL_USER
mbed_official 579:53297373a894 536 #define WDT_FUSES_ENABLE_Pos 25 /**< \brief (NVMCTRL_USER) WDT Enable */
mbed_official 579:53297373a894 537 #define WDT_FUSES_ENABLE_Msk (0x1ul << WDT_FUSES_ENABLE_Pos)
mbed_official 579:53297373a894 538
mbed_official 579:53297373a894 539 #define WDT_FUSES_EWOFFSET_ADDR (NVMCTRL_USER + 4)
mbed_official 579:53297373a894 540 #define WDT_FUSES_EWOFFSET_Pos 3 /**< \brief (NVMCTRL_USER) WDT Early Warning Offset */
mbed_official 579:53297373a894 541 #define WDT_FUSES_EWOFFSET_Msk (0xFul << WDT_FUSES_EWOFFSET_Pos)
mbed_official 579:53297373a894 542 #define WDT_FUSES_EWOFFSET(value) ((WDT_FUSES_EWOFFSET_Msk & ((value) << WDT_FUSES_EWOFFSET_Pos)))
mbed_official 579:53297373a894 543
mbed_official 579:53297373a894 544 #define WDT_FUSES_PER_ADDR NVMCTRL_USER
mbed_official 579:53297373a894 545 #define WDT_FUSES_PER_Pos 27 /**< \brief (NVMCTRL_USER) WDT Period */
mbed_official 579:53297373a894 546 #define WDT_FUSES_PER_Msk (0xFul << WDT_FUSES_PER_Pos)
mbed_official 579:53297373a894 547 #define WDT_FUSES_PER(value) ((WDT_FUSES_PER_Msk & ((value) << WDT_FUSES_PER_Pos)))
mbed_official 579:53297373a894 548
mbed_official 579:53297373a894 549 #define WDT_FUSES_WEN_ADDR (NVMCTRL_USER + 4)
mbed_official 579:53297373a894 550 #define WDT_FUSES_WEN_Pos 7 /**< \brief (NVMCTRL_USER) WDT Window Mode Enable */
mbed_official 579:53297373a894 551 #define WDT_FUSES_WEN_Msk (0x1ul << WDT_FUSES_WEN_Pos)
mbed_official 579:53297373a894 552
mbed_official 579:53297373a894 553 #define WDT_FUSES_WINDOW_0_ADDR NVMCTRL_USER
mbed_official 579:53297373a894 554 #define WDT_FUSES_WINDOW_0_Pos 31 /**< \brief (NVMCTRL_USER) WDT Window bit 0 */
mbed_official 579:53297373a894 555 #define WDT_FUSES_WINDOW_0_Msk (0x1ul << WDT_FUSES_WINDOW_0_Pos)
mbed_official 579:53297373a894 556
mbed_official 579:53297373a894 557 #define WDT_FUSES_WINDOW_1_ADDR (NVMCTRL_USER + 4)
mbed_official 579:53297373a894 558 #define WDT_FUSES_WINDOW_1_Pos 0 /**< \brief (NVMCTRL_USER) WDT Window bits 3:1 */
mbed_official 579:53297373a894 559 #define WDT_FUSES_WINDOW_1_Msk (0x7ul << WDT_FUSES_WINDOW_1_Pos)
mbed_official 579:53297373a894 560 #define WDT_FUSES_WINDOW_1(value) ((WDT_FUSES_WINDOW_1_Msk & ((value) << WDT_FUSES_WINDOW_1_Pos)))
mbed_official 579:53297373a894 561
mbed_official 579:53297373a894 562 /*@}*/
mbed_official 579:53297373a894 563
mbed_official 579:53297373a894 564 #endif /* _SAMD21_NVMCTRL_COMPONENT_ */