meh
Fork of mbed by
TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/device/MK64F12/MK64F12_mcm.h@89:552587b429a1, 2014-09-12 (annotated)
- Committer:
- bogdanm
- Date:
- Fri Sep 12 16:41:52 2014 +0100
- Revision:
- 89:552587b429a1
- Parent:
- TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/device/MK64F12/MK64F12_mcm.h@82:6473597d706e
Release 89 of the mbed library
Main changes:
- low power optimizations for Nordic targets
- code structure changes for Freescale K64F targets
- bug fixes in various backends
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bogdanm | 82:6473597d706e | 1 | /* |
bogdanm | 82:6473597d706e | 2 | * Copyright (c) 2014, Freescale Semiconductor, Inc. |
bogdanm | 82:6473597d706e | 3 | * All rights reserved. |
bogdanm | 82:6473597d706e | 4 | * |
bogdanm | 82:6473597d706e | 5 | * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESS OR IMPLIED |
bogdanm | 82:6473597d706e | 6 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
bogdanm | 82:6473597d706e | 7 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT |
bogdanm | 82:6473597d706e | 8 | * SHALL FREESCALE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
bogdanm | 82:6473597d706e | 9 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT |
bogdanm | 82:6473597d706e | 10 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
bogdanm | 82:6473597d706e | 11 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
bogdanm | 82:6473597d706e | 12 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING |
bogdanm | 82:6473597d706e | 13 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY |
bogdanm | 82:6473597d706e | 14 | * OF SUCH DAMAGE. |
bogdanm | 82:6473597d706e | 15 | */ |
bogdanm | 82:6473597d706e | 16 | /* |
bogdanm | 82:6473597d706e | 17 | * WARNING! DO NOT EDIT THIS FILE DIRECTLY! |
bogdanm | 82:6473597d706e | 18 | * |
bogdanm | 82:6473597d706e | 19 | * This file was generated automatically and any changes may be lost. |
bogdanm | 82:6473597d706e | 20 | */ |
bogdanm | 82:6473597d706e | 21 | #ifndef __HW_MCM_REGISTERS_H__ |
bogdanm | 82:6473597d706e | 22 | #define __HW_MCM_REGISTERS_H__ |
bogdanm | 82:6473597d706e | 23 | |
bogdanm | 82:6473597d706e | 24 | #include "regs.h" |
bogdanm | 82:6473597d706e | 25 | |
bogdanm | 82:6473597d706e | 26 | /* |
bogdanm | 82:6473597d706e | 27 | * MK64F12 MCM |
bogdanm | 82:6473597d706e | 28 | * |
bogdanm | 82:6473597d706e | 29 | * Core Platform Miscellaneous Control Module |
bogdanm | 82:6473597d706e | 30 | * |
bogdanm | 82:6473597d706e | 31 | * Registers defined in this header file: |
bogdanm | 82:6473597d706e | 32 | * - HW_MCM_PLASC - Crossbar Switch (AXBS) Slave Configuration |
bogdanm | 82:6473597d706e | 33 | * - HW_MCM_PLAMC - Crossbar Switch (AXBS) Master Configuration |
bogdanm | 82:6473597d706e | 34 | * - HW_MCM_CR - Control Register |
bogdanm | 82:6473597d706e | 35 | * - HW_MCM_ISR - Interrupt Status Register |
bogdanm | 82:6473597d706e | 36 | * - HW_MCM_ETBCC - ETB Counter Control register |
bogdanm | 82:6473597d706e | 37 | * - HW_MCM_ETBRL - ETB Reload register |
bogdanm | 82:6473597d706e | 38 | * - HW_MCM_ETBCNT - ETB Counter Value register |
bogdanm | 82:6473597d706e | 39 | * - HW_MCM_PID - Process ID register |
bogdanm | 82:6473597d706e | 40 | * |
bogdanm | 82:6473597d706e | 41 | * - hw_mcm_t - Struct containing all module registers. |
bogdanm | 82:6473597d706e | 42 | */ |
bogdanm | 82:6473597d706e | 43 | |
bogdanm | 82:6473597d706e | 44 | //! @name Module base addresses |
bogdanm | 82:6473597d706e | 45 | //@{ |
bogdanm | 82:6473597d706e | 46 | #ifndef REGS_MCM_BASE |
bogdanm | 82:6473597d706e | 47 | #define HW_MCM_INSTANCE_COUNT (1U) //!< Number of instances of the MCM module. |
bogdanm | 82:6473597d706e | 48 | #define REGS_MCM_BASE (0xE0080000U) //!< Base address for MCM. |
bogdanm | 82:6473597d706e | 49 | #endif |
bogdanm | 82:6473597d706e | 50 | //@} |
bogdanm | 82:6473597d706e | 51 | |
bogdanm | 82:6473597d706e | 52 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 53 | // HW_MCM_PLASC - Crossbar Switch (AXBS) Slave Configuration |
bogdanm | 82:6473597d706e | 54 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 55 | |
bogdanm | 82:6473597d706e | 56 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 57 | /*! |
bogdanm | 82:6473597d706e | 58 | * @brief HW_MCM_PLASC - Crossbar Switch (AXBS) Slave Configuration (RO) |
bogdanm | 82:6473597d706e | 59 | * |
bogdanm | 82:6473597d706e | 60 | * Reset value: 0x001FU |
bogdanm | 82:6473597d706e | 61 | * |
bogdanm | 82:6473597d706e | 62 | * PLASC is a 16-bit read-only register identifying the presence/absence of bus |
bogdanm | 82:6473597d706e | 63 | * slave connections to the device's crossbar switch. |
bogdanm | 82:6473597d706e | 64 | */ |
bogdanm | 82:6473597d706e | 65 | typedef union _hw_mcm_plasc |
bogdanm | 82:6473597d706e | 66 | { |
bogdanm | 82:6473597d706e | 67 | uint16_t U; |
bogdanm | 82:6473597d706e | 68 | struct _hw_mcm_plasc_bitfields |
bogdanm | 82:6473597d706e | 69 | { |
bogdanm | 82:6473597d706e | 70 | uint16_t ASC : 8; //!< [7:0] Each bit in the ASC field indicates |
bogdanm | 82:6473597d706e | 71 | //! whether there is a corresponding connection to the crossbar switch's slave |
bogdanm | 82:6473597d706e | 72 | //! input port. |
bogdanm | 82:6473597d706e | 73 | uint16_t RESERVED0 : 8; //!< [15:8] |
bogdanm | 82:6473597d706e | 74 | } B; |
bogdanm | 82:6473597d706e | 75 | } hw_mcm_plasc_t; |
bogdanm | 82:6473597d706e | 76 | #endif |
bogdanm | 82:6473597d706e | 77 | |
bogdanm | 82:6473597d706e | 78 | /*! |
bogdanm | 82:6473597d706e | 79 | * @name Constants and macros for entire MCM_PLASC register |
bogdanm | 82:6473597d706e | 80 | */ |
bogdanm | 82:6473597d706e | 81 | //@{ |
bogdanm | 82:6473597d706e | 82 | #define HW_MCM_PLASC_ADDR (REGS_MCM_BASE + 0x8U) |
bogdanm | 82:6473597d706e | 83 | |
bogdanm | 82:6473597d706e | 84 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 85 | #define HW_MCM_PLASC (*(__I hw_mcm_plasc_t *) HW_MCM_PLASC_ADDR) |
bogdanm | 82:6473597d706e | 86 | #define HW_MCM_PLASC_RD() (HW_MCM_PLASC.U) |
bogdanm | 82:6473597d706e | 87 | #endif |
bogdanm | 82:6473597d706e | 88 | //@} |
bogdanm | 82:6473597d706e | 89 | |
bogdanm | 82:6473597d706e | 90 | /* |
bogdanm | 82:6473597d706e | 91 | * Constants & macros for individual MCM_PLASC bitfields |
bogdanm | 82:6473597d706e | 92 | */ |
bogdanm | 82:6473597d706e | 93 | |
bogdanm | 82:6473597d706e | 94 | /*! |
bogdanm | 82:6473597d706e | 95 | * @name Register MCM_PLASC, field ASC[7:0] (RO) |
bogdanm | 82:6473597d706e | 96 | * |
bogdanm | 82:6473597d706e | 97 | * Values: |
bogdanm | 82:6473597d706e | 98 | * - 0 - A bus slave connection to AXBS input port n is absent |
bogdanm | 82:6473597d706e | 99 | * - 1 - A bus slave connection to AXBS input port n is present |
bogdanm | 82:6473597d706e | 100 | */ |
bogdanm | 82:6473597d706e | 101 | //@{ |
bogdanm | 82:6473597d706e | 102 | #define BP_MCM_PLASC_ASC (0U) //!< Bit position for MCM_PLASC_ASC. |
bogdanm | 82:6473597d706e | 103 | #define BM_MCM_PLASC_ASC (0x00FFU) //!< Bit mask for MCM_PLASC_ASC. |
bogdanm | 82:6473597d706e | 104 | #define BS_MCM_PLASC_ASC (8U) //!< Bit field size in bits for MCM_PLASC_ASC. |
bogdanm | 82:6473597d706e | 105 | |
bogdanm | 82:6473597d706e | 106 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 107 | //! @brief Read current value of the MCM_PLASC_ASC field. |
bogdanm | 82:6473597d706e | 108 | #define BR_MCM_PLASC_ASC (HW_MCM_PLASC.B.ASC) |
bogdanm | 82:6473597d706e | 109 | #endif |
bogdanm | 82:6473597d706e | 110 | //@} |
bogdanm | 82:6473597d706e | 111 | |
bogdanm | 82:6473597d706e | 112 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 113 | // HW_MCM_PLAMC - Crossbar Switch (AXBS) Master Configuration |
bogdanm | 82:6473597d706e | 114 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 115 | |
bogdanm | 82:6473597d706e | 116 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 117 | /*! |
bogdanm | 82:6473597d706e | 118 | * @brief HW_MCM_PLAMC - Crossbar Switch (AXBS) Master Configuration (RO) |
bogdanm | 82:6473597d706e | 119 | * |
bogdanm | 82:6473597d706e | 120 | * Reset value: 0x0037U |
bogdanm | 82:6473597d706e | 121 | * |
bogdanm | 82:6473597d706e | 122 | * PLAMC is a 16-bit read-only register identifying the presence/absence of bus |
bogdanm | 82:6473597d706e | 123 | * master connections to the device's crossbar switch. |
bogdanm | 82:6473597d706e | 124 | */ |
bogdanm | 82:6473597d706e | 125 | typedef union _hw_mcm_plamc |
bogdanm | 82:6473597d706e | 126 | { |
bogdanm | 82:6473597d706e | 127 | uint16_t U; |
bogdanm | 82:6473597d706e | 128 | struct _hw_mcm_plamc_bitfields |
bogdanm | 82:6473597d706e | 129 | { |
bogdanm | 82:6473597d706e | 130 | uint16_t AMC : 8; //!< [7:0] Each bit in the AMC field indicates |
bogdanm | 82:6473597d706e | 131 | //! whether there is a corresponding connection to the AXBS master input port. |
bogdanm | 82:6473597d706e | 132 | uint16_t RESERVED0 : 8; //!< [15:8] |
bogdanm | 82:6473597d706e | 133 | } B; |
bogdanm | 82:6473597d706e | 134 | } hw_mcm_plamc_t; |
bogdanm | 82:6473597d706e | 135 | #endif |
bogdanm | 82:6473597d706e | 136 | |
bogdanm | 82:6473597d706e | 137 | /*! |
bogdanm | 82:6473597d706e | 138 | * @name Constants and macros for entire MCM_PLAMC register |
bogdanm | 82:6473597d706e | 139 | */ |
bogdanm | 82:6473597d706e | 140 | //@{ |
bogdanm | 82:6473597d706e | 141 | #define HW_MCM_PLAMC_ADDR (REGS_MCM_BASE + 0xAU) |
bogdanm | 82:6473597d706e | 142 | |
bogdanm | 82:6473597d706e | 143 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 144 | #define HW_MCM_PLAMC (*(__I hw_mcm_plamc_t *) HW_MCM_PLAMC_ADDR) |
bogdanm | 82:6473597d706e | 145 | #define HW_MCM_PLAMC_RD() (HW_MCM_PLAMC.U) |
bogdanm | 82:6473597d706e | 146 | #endif |
bogdanm | 82:6473597d706e | 147 | //@} |
bogdanm | 82:6473597d706e | 148 | |
bogdanm | 82:6473597d706e | 149 | /* |
bogdanm | 82:6473597d706e | 150 | * Constants & macros for individual MCM_PLAMC bitfields |
bogdanm | 82:6473597d706e | 151 | */ |
bogdanm | 82:6473597d706e | 152 | |
bogdanm | 82:6473597d706e | 153 | /*! |
bogdanm | 82:6473597d706e | 154 | * @name Register MCM_PLAMC, field AMC[7:0] (RO) |
bogdanm | 82:6473597d706e | 155 | * |
bogdanm | 82:6473597d706e | 156 | * Values: |
bogdanm | 82:6473597d706e | 157 | * - 0 - A bus master connection to AXBS input port n is absent |
bogdanm | 82:6473597d706e | 158 | * - 1 - A bus master connection to AXBS input port n is present |
bogdanm | 82:6473597d706e | 159 | */ |
bogdanm | 82:6473597d706e | 160 | //@{ |
bogdanm | 82:6473597d706e | 161 | #define BP_MCM_PLAMC_AMC (0U) //!< Bit position for MCM_PLAMC_AMC. |
bogdanm | 82:6473597d706e | 162 | #define BM_MCM_PLAMC_AMC (0x00FFU) //!< Bit mask for MCM_PLAMC_AMC. |
bogdanm | 82:6473597d706e | 163 | #define BS_MCM_PLAMC_AMC (8U) //!< Bit field size in bits for MCM_PLAMC_AMC. |
bogdanm | 82:6473597d706e | 164 | |
bogdanm | 82:6473597d706e | 165 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 166 | //! @brief Read current value of the MCM_PLAMC_AMC field. |
bogdanm | 82:6473597d706e | 167 | #define BR_MCM_PLAMC_AMC (HW_MCM_PLAMC.B.AMC) |
bogdanm | 82:6473597d706e | 168 | #endif |
bogdanm | 82:6473597d706e | 169 | //@} |
bogdanm | 82:6473597d706e | 170 | |
bogdanm | 82:6473597d706e | 171 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 172 | // HW_MCM_CR - Control Register |
bogdanm | 82:6473597d706e | 173 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 174 | |
bogdanm | 82:6473597d706e | 175 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 176 | /*! |
bogdanm | 82:6473597d706e | 177 | * @brief HW_MCM_CR - Control Register (RW) |
bogdanm | 82:6473597d706e | 178 | * |
bogdanm | 82:6473597d706e | 179 | * Reset value: 0x00000000U |
bogdanm | 82:6473597d706e | 180 | * |
bogdanm | 82:6473597d706e | 181 | * CR defines the arbitration and protection schemes for the two system RAM |
bogdanm | 82:6473597d706e | 182 | * arrays. |
bogdanm | 82:6473597d706e | 183 | */ |
bogdanm | 82:6473597d706e | 184 | typedef union _hw_mcm_cr |
bogdanm | 82:6473597d706e | 185 | { |
bogdanm | 82:6473597d706e | 186 | uint32_t U; |
bogdanm | 82:6473597d706e | 187 | struct _hw_mcm_cr_bitfields |
bogdanm | 82:6473597d706e | 188 | { |
bogdanm | 82:6473597d706e | 189 | uint32_t RESERVED0 : 24; //!< [23:0] |
bogdanm | 82:6473597d706e | 190 | uint32_t SRAMUAP : 2; //!< [25:24] SRAM_U arbitration priority |
bogdanm | 82:6473597d706e | 191 | uint32_t SRAMUWP : 1; //!< [26] SRAM_U write protect |
bogdanm | 82:6473597d706e | 192 | uint32_t RESERVED1 : 1; //!< [27] |
bogdanm | 82:6473597d706e | 193 | uint32_t SRAMLAP : 2; //!< [29:28] SRAM_L arbitration priority |
bogdanm | 82:6473597d706e | 194 | uint32_t SRAMLWP : 1; //!< [30] SRAM_L Write Protect |
bogdanm | 82:6473597d706e | 195 | uint32_t RESERVED2 : 1; //!< [31] |
bogdanm | 82:6473597d706e | 196 | } B; |
bogdanm | 82:6473597d706e | 197 | } hw_mcm_cr_t; |
bogdanm | 82:6473597d706e | 198 | #endif |
bogdanm | 82:6473597d706e | 199 | |
bogdanm | 82:6473597d706e | 200 | /*! |
bogdanm | 82:6473597d706e | 201 | * @name Constants and macros for entire MCM_CR register |
bogdanm | 82:6473597d706e | 202 | */ |
bogdanm | 82:6473597d706e | 203 | //@{ |
bogdanm | 82:6473597d706e | 204 | #define HW_MCM_CR_ADDR (REGS_MCM_BASE + 0xCU) |
bogdanm | 82:6473597d706e | 205 | |
bogdanm | 82:6473597d706e | 206 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 207 | #define HW_MCM_CR (*(__IO hw_mcm_cr_t *) HW_MCM_CR_ADDR) |
bogdanm | 82:6473597d706e | 208 | #define HW_MCM_CR_RD() (HW_MCM_CR.U) |
bogdanm | 82:6473597d706e | 209 | #define HW_MCM_CR_WR(v) (HW_MCM_CR.U = (v)) |
bogdanm | 82:6473597d706e | 210 | #define HW_MCM_CR_SET(v) (HW_MCM_CR_WR(HW_MCM_CR_RD() | (v))) |
bogdanm | 82:6473597d706e | 211 | #define HW_MCM_CR_CLR(v) (HW_MCM_CR_WR(HW_MCM_CR_RD() & ~(v))) |
bogdanm | 82:6473597d706e | 212 | #define HW_MCM_CR_TOG(v) (HW_MCM_CR_WR(HW_MCM_CR_RD() ^ (v))) |
bogdanm | 82:6473597d706e | 213 | #endif |
bogdanm | 82:6473597d706e | 214 | //@} |
bogdanm | 82:6473597d706e | 215 | |
bogdanm | 82:6473597d706e | 216 | /* |
bogdanm | 82:6473597d706e | 217 | * Constants & macros for individual MCM_CR bitfields |
bogdanm | 82:6473597d706e | 218 | */ |
bogdanm | 82:6473597d706e | 219 | |
bogdanm | 82:6473597d706e | 220 | /*! |
bogdanm | 82:6473597d706e | 221 | * @name Register MCM_CR, field SRAMUAP[25:24] (RW) |
bogdanm | 82:6473597d706e | 222 | * |
bogdanm | 82:6473597d706e | 223 | * Defines the arbitration scheme and priority for the processor and SRAM |
bogdanm | 82:6473597d706e | 224 | * backdoor accesses to the SRAM_U array. |
bogdanm | 82:6473597d706e | 225 | * |
bogdanm | 82:6473597d706e | 226 | * Values: |
bogdanm | 82:6473597d706e | 227 | * - 00 - Round robin |
bogdanm | 82:6473597d706e | 228 | * - 01 - Special round robin (favors SRAM backoor accesses over the processor) |
bogdanm | 82:6473597d706e | 229 | * - 10 - Fixed priority. Processor has highest, backdoor has lowest |
bogdanm | 82:6473597d706e | 230 | * - 11 - Fixed priority. Backdoor has highest, processor has lowest |
bogdanm | 82:6473597d706e | 231 | */ |
bogdanm | 82:6473597d706e | 232 | //@{ |
bogdanm | 82:6473597d706e | 233 | #define BP_MCM_CR_SRAMUAP (24U) //!< Bit position for MCM_CR_SRAMUAP. |
bogdanm | 82:6473597d706e | 234 | #define BM_MCM_CR_SRAMUAP (0x03000000U) //!< Bit mask for MCM_CR_SRAMUAP. |
bogdanm | 82:6473597d706e | 235 | #define BS_MCM_CR_SRAMUAP (2U) //!< Bit field size in bits for MCM_CR_SRAMUAP. |
bogdanm | 82:6473597d706e | 236 | |
bogdanm | 82:6473597d706e | 237 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 238 | //! @brief Read current value of the MCM_CR_SRAMUAP field. |
bogdanm | 82:6473597d706e | 239 | #define BR_MCM_CR_SRAMUAP (HW_MCM_CR.B.SRAMUAP) |
bogdanm | 82:6473597d706e | 240 | #endif |
bogdanm | 82:6473597d706e | 241 | |
bogdanm | 82:6473597d706e | 242 | //! @brief Format value for bitfield MCM_CR_SRAMUAP. |
bogdanm | 82:6473597d706e | 243 | #define BF_MCM_CR_SRAMUAP(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_CR_SRAMUAP), uint32_t) & BM_MCM_CR_SRAMUAP) |
bogdanm | 82:6473597d706e | 244 | |
bogdanm | 82:6473597d706e | 245 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 246 | //! @brief Set the SRAMUAP field to a new value. |
bogdanm | 82:6473597d706e | 247 | #define BW_MCM_CR_SRAMUAP(v) (HW_MCM_CR_WR((HW_MCM_CR_RD() & ~BM_MCM_CR_SRAMUAP) | BF_MCM_CR_SRAMUAP(v))) |
bogdanm | 82:6473597d706e | 248 | #endif |
bogdanm | 82:6473597d706e | 249 | //@} |
bogdanm | 82:6473597d706e | 250 | |
bogdanm | 82:6473597d706e | 251 | /*! |
bogdanm | 82:6473597d706e | 252 | * @name Register MCM_CR, field SRAMUWP[26] (RW) |
bogdanm | 82:6473597d706e | 253 | * |
bogdanm | 82:6473597d706e | 254 | * When this bit is set, writes to SRAM_U array generates a bus error. |
bogdanm | 82:6473597d706e | 255 | */ |
bogdanm | 82:6473597d706e | 256 | //@{ |
bogdanm | 82:6473597d706e | 257 | #define BP_MCM_CR_SRAMUWP (26U) //!< Bit position for MCM_CR_SRAMUWP. |
bogdanm | 82:6473597d706e | 258 | #define BM_MCM_CR_SRAMUWP (0x04000000U) //!< Bit mask for MCM_CR_SRAMUWP. |
bogdanm | 82:6473597d706e | 259 | #define BS_MCM_CR_SRAMUWP (1U) //!< Bit field size in bits for MCM_CR_SRAMUWP. |
bogdanm | 82:6473597d706e | 260 | |
bogdanm | 82:6473597d706e | 261 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 262 | //! @brief Read current value of the MCM_CR_SRAMUWP field. |
bogdanm | 82:6473597d706e | 263 | #define BR_MCM_CR_SRAMUWP (BITBAND_ACCESS32(HW_MCM_CR_ADDR, BP_MCM_CR_SRAMUWP)) |
bogdanm | 82:6473597d706e | 264 | #endif |
bogdanm | 82:6473597d706e | 265 | |
bogdanm | 82:6473597d706e | 266 | //! @brief Format value for bitfield MCM_CR_SRAMUWP. |
bogdanm | 82:6473597d706e | 267 | #define BF_MCM_CR_SRAMUWP(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_CR_SRAMUWP), uint32_t) & BM_MCM_CR_SRAMUWP) |
bogdanm | 82:6473597d706e | 268 | |
bogdanm | 82:6473597d706e | 269 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 270 | //! @brief Set the SRAMUWP field to a new value. |
bogdanm | 82:6473597d706e | 271 | #define BW_MCM_CR_SRAMUWP(v) (BITBAND_ACCESS32(HW_MCM_CR_ADDR, BP_MCM_CR_SRAMUWP) = (v)) |
bogdanm | 82:6473597d706e | 272 | #endif |
bogdanm | 82:6473597d706e | 273 | //@} |
bogdanm | 82:6473597d706e | 274 | |
bogdanm | 82:6473597d706e | 275 | /*! |
bogdanm | 82:6473597d706e | 276 | * @name Register MCM_CR, field SRAMLAP[29:28] (RW) |
bogdanm | 82:6473597d706e | 277 | * |
bogdanm | 82:6473597d706e | 278 | * Defines the arbitration scheme and priority for the processor and SRAM |
bogdanm | 82:6473597d706e | 279 | * backdoor accesses to the SRAM_L array. |
bogdanm | 82:6473597d706e | 280 | * |
bogdanm | 82:6473597d706e | 281 | * Values: |
bogdanm | 82:6473597d706e | 282 | * - 00 - Round robin |
bogdanm | 82:6473597d706e | 283 | * - 01 - Special round robin (favors SRAM backoor accesses over the processor) |
bogdanm | 82:6473597d706e | 284 | * - 10 - Fixed priority. Processor has highest, backdoor has lowest |
bogdanm | 82:6473597d706e | 285 | * - 11 - Fixed priority. Backdoor has highest, processor has lowest |
bogdanm | 82:6473597d706e | 286 | */ |
bogdanm | 82:6473597d706e | 287 | //@{ |
bogdanm | 82:6473597d706e | 288 | #define BP_MCM_CR_SRAMLAP (28U) //!< Bit position for MCM_CR_SRAMLAP. |
bogdanm | 82:6473597d706e | 289 | #define BM_MCM_CR_SRAMLAP (0x30000000U) //!< Bit mask for MCM_CR_SRAMLAP. |
bogdanm | 82:6473597d706e | 290 | #define BS_MCM_CR_SRAMLAP (2U) //!< Bit field size in bits for MCM_CR_SRAMLAP. |
bogdanm | 82:6473597d706e | 291 | |
bogdanm | 82:6473597d706e | 292 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 293 | //! @brief Read current value of the MCM_CR_SRAMLAP field. |
bogdanm | 82:6473597d706e | 294 | #define BR_MCM_CR_SRAMLAP (HW_MCM_CR.B.SRAMLAP) |
bogdanm | 82:6473597d706e | 295 | #endif |
bogdanm | 82:6473597d706e | 296 | |
bogdanm | 82:6473597d706e | 297 | //! @brief Format value for bitfield MCM_CR_SRAMLAP. |
bogdanm | 82:6473597d706e | 298 | #define BF_MCM_CR_SRAMLAP(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_CR_SRAMLAP), uint32_t) & BM_MCM_CR_SRAMLAP) |
bogdanm | 82:6473597d706e | 299 | |
bogdanm | 82:6473597d706e | 300 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 301 | //! @brief Set the SRAMLAP field to a new value. |
bogdanm | 82:6473597d706e | 302 | #define BW_MCM_CR_SRAMLAP(v) (HW_MCM_CR_WR((HW_MCM_CR_RD() & ~BM_MCM_CR_SRAMLAP) | BF_MCM_CR_SRAMLAP(v))) |
bogdanm | 82:6473597d706e | 303 | #endif |
bogdanm | 82:6473597d706e | 304 | //@} |
bogdanm | 82:6473597d706e | 305 | |
bogdanm | 82:6473597d706e | 306 | /*! |
bogdanm | 82:6473597d706e | 307 | * @name Register MCM_CR, field SRAMLWP[30] (RW) |
bogdanm | 82:6473597d706e | 308 | * |
bogdanm | 82:6473597d706e | 309 | * When this bit is set, writes to SRAM_L array generates a bus error. |
bogdanm | 82:6473597d706e | 310 | */ |
bogdanm | 82:6473597d706e | 311 | //@{ |
bogdanm | 82:6473597d706e | 312 | #define BP_MCM_CR_SRAMLWP (30U) //!< Bit position for MCM_CR_SRAMLWP. |
bogdanm | 82:6473597d706e | 313 | #define BM_MCM_CR_SRAMLWP (0x40000000U) //!< Bit mask for MCM_CR_SRAMLWP. |
bogdanm | 82:6473597d706e | 314 | #define BS_MCM_CR_SRAMLWP (1U) //!< Bit field size in bits for MCM_CR_SRAMLWP. |
bogdanm | 82:6473597d706e | 315 | |
bogdanm | 82:6473597d706e | 316 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 317 | //! @brief Read current value of the MCM_CR_SRAMLWP field. |
bogdanm | 82:6473597d706e | 318 | #define BR_MCM_CR_SRAMLWP (BITBAND_ACCESS32(HW_MCM_CR_ADDR, BP_MCM_CR_SRAMLWP)) |
bogdanm | 82:6473597d706e | 319 | #endif |
bogdanm | 82:6473597d706e | 320 | |
bogdanm | 82:6473597d706e | 321 | //! @brief Format value for bitfield MCM_CR_SRAMLWP. |
bogdanm | 82:6473597d706e | 322 | #define BF_MCM_CR_SRAMLWP(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_CR_SRAMLWP), uint32_t) & BM_MCM_CR_SRAMLWP) |
bogdanm | 82:6473597d706e | 323 | |
bogdanm | 82:6473597d706e | 324 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 325 | //! @brief Set the SRAMLWP field to a new value. |
bogdanm | 82:6473597d706e | 326 | #define BW_MCM_CR_SRAMLWP(v) (BITBAND_ACCESS32(HW_MCM_CR_ADDR, BP_MCM_CR_SRAMLWP) = (v)) |
bogdanm | 82:6473597d706e | 327 | #endif |
bogdanm | 82:6473597d706e | 328 | //@} |
bogdanm | 82:6473597d706e | 329 | |
bogdanm | 82:6473597d706e | 330 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 331 | // HW_MCM_ISR - Interrupt Status Register |
bogdanm | 82:6473597d706e | 332 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 333 | |
bogdanm | 82:6473597d706e | 334 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 335 | /*! |
bogdanm | 82:6473597d706e | 336 | * @brief HW_MCM_ISR - Interrupt Status Register (RW) |
bogdanm | 82:6473597d706e | 337 | * |
bogdanm | 82:6473597d706e | 338 | * Reset value: 0x00000000U |
bogdanm | 82:6473597d706e | 339 | */ |
bogdanm | 82:6473597d706e | 340 | typedef union _hw_mcm_isr |
bogdanm | 82:6473597d706e | 341 | { |
bogdanm | 82:6473597d706e | 342 | uint32_t U; |
bogdanm | 82:6473597d706e | 343 | struct _hw_mcm_isr_bitfields |
bogdanm | 82:6473597d706e | 344 | { |
bogdanm | 82:6473597d706e | 345 | uint32_t RESERVED0 : 1; //!< [0] |
bogdanm | 82:6473597d706e | 346 | uint32_t IRQ : 1; //!< [1] Normal Interrupt Pending |
bogdanm | 82:6473597d706e | 347 | uint32_t NMI : 1; //!< [2] Non-maskable Interrupt Pending |
bogdanm | 82:6473597d706e | 348 | uint32_t DHREQ : 1; //!< [3] Debug Halt Request Indicator |
bogdanm | 82:6473597d706e | 349 | uint32_t RESERVED1 : 4; //!< [7:4] |
bogdanm | 82:6473597d706e | 350 | uint32_t FIOC : 1; //!< [8] FPU invalid operation interrupt status |
bogdanm | 82:6473597d706e | 351 | uint32_t FDZC : 1; //!< [9] FPU divide-by-zero interrupt status |
bogdanm | 82:6473597d706e | 352 | uint32_t FOFC : 1; //!< [10] FPU overflow interrupt status |
bogdanm | 82:6473597d706e | 353 | uint32_t FUFC : 1; //!< [11] FPU underflow interrupt status |
bogdanm | 82:6473597d706e | 354 | uint32_t FIXC : 1; //!< [12] FPU inexact interrupt status |
bogdanm | 82:6473597d706e | 355 | uint32_t RESERVED2 : 2; //!< [14:13] |
bogdanm | 82:6473597d706e | 356 | uint32_t FIDC : 1; //!< [15] FPU input denormal interrupt status |
bogdanm | 82:6473597d706e | 357 | uint32_t RESERVED3 : 8; //!< [23:16] |
bogdanm | 82:6473597d706e | 358 | uint32_t FIOCE : 1; //!< [24] FPU invalid operation interrupt enable |
bogdanm | 82:6473597d706e | 359 | uint32_t FDZCE : 1; //!< [25] FPU divide-by-zero interrupt enable |
bogdanm | 82:6473597d706e | 360 | uint32_t FOFCE : 1; //!< [26] FPU overflow interrupt enable |
bogdanm | 82:6473597d706e | 361 | uint32_t FUFCE : 1; //!< [27] FPU underflow interrupt enable |
bogdanm | 82:6473597d706e | 362 | uint32_t FIXCE : 1; //!< [28] FPU inexact interrupt enable |
bogdanm | 82:6473597d706e | 363 | uint32_t RESERVED4 : 2; //!< [30:29] |
bogdanm | 82:6473597d706e | 364 | uint32_t FIDCE : 1; //!< [31] FPU input denormal interrupt enable |
bogdanm | 82:6473597d706e | 365 | } B; |
bogdanm | 82:6473597d706e | 366 | } hw_mcm_isr_t; |
bogdanm | 82:6473597d706e | 367 | #endif |
bogdanm | 82:6473597d706e | 368 | |
bogdanm | 82:6473597d706e | 369 | /*! |
bogdanm | 82:6473597d706e | 370 | * @name Constants and macros for entire MCM_ISR register |
bogdanm | 82:6473597d706e | 371 | */ |
bogdanm | 82:6473597d706e | 372 | //@{ |
bogdanm | 82:6473597d706e | 373 | #define HW_MCM_ISR_ADDR (REGS_MCM_BASE + 0x10U) |
bogdanm | 82:6473597d706e | 374 | |
bogdanm | 82:6473597d706e | 375 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 376 | #define HW_MCM_ISR (*(__IO hw_mcm_isr_t *) HW_MCM_ISR_ADDR) |
bogdanm | 82:6473597d706e | 377 | #define HW_MCM_ISR_RD() (HW_MCM_ISR.U) |
bogdanm | 82:6473597d706e | 378 | #define HW_MCM_ISR_WR(v) (HW_MCM_ISR.U = (v)) |
bogdanm | 82:6473597d706e | 379 | #define HW_MCM_ISR_SET(v) (HW_MCM_ISR_WR(HW_MCM_ISR_RD() | (v))) |
bogdanm | 82:6473597d706e | 380 | #define HW_MCM_ISR_CLR(v) (HW_MCM_ISR_WR(HW_MCM_ISR_RD() & ~(v))) |
bogdanm | 82:6473597d706e | 381 | #define HW_MCM_ISR_TOG(v) (HW_MCM_ISR_WR(HW_MCM_ISR_RD() ^ (v))) |
bogdanm | 82:6473597d706e | 382 | #endif |
bogdanm | 82:6473597d706e | 383 | //@} |
bogdanm | 82:6473597d706e | 384 | |
bogdanm | 82:6473597d706e | 385 | /* |
bogdanm | 82:6473597d706e | 386 | * Constants & macros for individual MCM_ISR bitfields |
bogdanm | 82:6473597d706e | 387 | */ |
bogdanm | 82:6473597d706e | 388 | |
bogdanm | 82:6473597d706e | 389 | /*! |
bogdanm | 82:6473597d706e | 390 | * @name Register MCM_ISR, field IRQ[1] (W1C) |
bogdanm | 82:6473597d706e | 391 | * |
bogdanm | 82:6473597d706e | 392 | * If ETBCC[RSPT] is set to 01b, this bit is set when the ETB counter expires. |
bogdanm | 82:6473597d706e | 393 | * |
bogdanm | 82:6473597d706e | 394 | * Values: |
bogdanm | 82:6473597d706e | 395 | * - 0 - No pending interrupt |
bogdanm | 82:6473597d706e | 396 | * - 1 - Due to the ETB counter expiring, a normal interrupt is pending |
bogdanm | 82:6473597d706e | 397 | */ |
bogdanm | 82:6473597d706e | 398 | //@{ |
bogdanm | 82:6473597d706e | 399 | #define BP_MCM_ISR_IRQ (1U) //!< Bit position for MCM_ISR_IRQ. |
bogdanm | 82:6473597d706e | 400 | #define BM_MCM_ISR_IRQ (0x00000002U) //!< Bit mask for MCM_ISR_IRQ. |
bogdanm | 82:6473597d706e | 401 | #define BS_MCM_ISR_IRQ (1U) //!< Bit field size in bits for MCM_ISR_IRQ. |
bogdanm | 82:6473597d706e | 402 | |
bogdanm | 82:6473597d706e | 403 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 404 | //! @brief Read current value of the MCM_ISR_IRQ field. |
bogdanm | 82:6473597d706e | 405 | #define BR_MCM_ISR_IRQ (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_IRQ)) |
bogdanm | 82:6473597d706e | 406 | #endif |
bogdanm | 82:6473597d706e | 407 | |
bogdanm | 82:6473597d706e | 408 | //! @brief Format value for bitfield MCM_ISR_IRQ. |
bogdanm | 82:6473597d706e | 409 | #define BF_MCM_ISR_IRQ(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ISR_IRQ), uint32_t) & BM_MCM_ISR_IRQ) |
bogdanm | 82:6473597d706e | 410 | |
bogdanm | 82:6473597d706e | 411 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 412 | //! @brief Set the IRQ field to a new value. |
bogdanm | 82:6473597d706e | 413 | #define BW_MCM_ISR_IRQ(v) (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_IRQ) = (v)) |
bogdanm | 82:6473597d706e | 414 | #endif |
bogdanm | 82:6473597d706e | 415 | //@} |
bogdanm | 82:6473597d706e | 416 | |
bogdanm | 82:6473597d706e | 417 | /*! |
bogdanm | 82:6473597d706e | 418 | * @name Register MCM_ISR, field NMI[2] (W1C) |
bogdanm | 82:6473597d706e | 419 | * |
bogdanm | 82:6473597d706e | 420 | * If ETBCC[RSPT] is set to 10b, this bit is set when the ETB counter expires. |
bogdanm | 82:6473597d706e | 421 | * |
bogdanm | 82:6473597d706e | 422 | * Values: |
bogdanm | 82:6473597d706e | 423 | * - 0 - No pending NMI |
bogdanm | 82:6473597d706e | 424 | * - 1 - Due to the ETB counter expiring, an NMI is pending |
bogdanm | 82:6473597d706e | 425 | */ |
bogdanm | 82:6473597d706e | 426 | //@{ |
bogdanm | 82:6473597d706e | 427 | #define BP_MCM_ISR_NMI (2U) //!< Bit position for MCM_ISR_NMI. |
bogdanm | 82:6473597d706e | 428 | #define BM_MCM_ISR_NMI (0x00000004U) //!< Bit mask for MCM_ISR_NMI. |
bogdanm | 82:6473597d706e | 429 | #define BS_MCM_ISR_NMI (1U) //!< Bit field size in bits for MCM_ISR_NMI. |
bogdanm | 82:6473597d706e | 430 | |
bogdanm | 82:6473597d706e | 431 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 432 | //! @brief Read current value of the MCM_ISR_NMI field. |
bogdanm | 82:6473597d706e | 433 | #define BR_MCM_ISR_NMI (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_NMI)) |
bogdanm | 82:6473597d706e | 434 | #endif |
bogdanm | 82:6473597d706e | 435 | |
bogdanm | 82:6473597d706e | 436 | //! @brief Format value for bitfield MCM_ISR_NMI. |
bogdanm | 82:6473597d706e | 437 | #define BF_MCM_ISR_NMI(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ISR_NMI), uint32_t) & BM_MCM_ISR_NMI) |
bogdanm | 82:6473597d706e | 438 | |
bogdanm | 82:6473597d706e | 439 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 440 | //! @brief Set the NMI field to a new value. |
bogdanm | 82:6473597d706e | 441 | #define BW_MCM_ISR_NMI(v) (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_NMI) = (v)) |
bogdanm | 82:6473597d706e | 442 | #endif |
bogdanm | 82:6473597d706e | 443 | //@} |
bogdanm | 82:6473597d706e | 444 | |
bogdanm | 82:6473597d706e | 445 | /*! |
bogdanm | 82:6473597d706e | 446 | * @name Register MCM_ISR, field DHREQ[3] (RO) |
bogdanm | 82:6473597d706e | 447 | * |
bogdanm | 82:6473597d706e | 448 | * Indicates that a debug halt request is initiated due to a ETB counter |
bogdanm | 82:6473597d706e | 449 | * expiration, ETBCC[2:0] = 3b111 & ETBCV[10:0] = 11h0. This bit is cleared when the |
bogdanm | 82:6473597d706e | 450 | * counter is disabled or when the ETB counter is reloaded. |
bogdanm | 82:6473597d706e | 451 | * |
bogdanm | 82:6473597d706e | 452 | * Values: |
bogdanm | 82:6473597d706e | 453 | * - 0 - No debug halt request |
bogdanm | 82:6473597d706e | 454 | * - 1 - Debug halt request initiated |
bogdanm | 82:6473597d706e | 455 | */ |
bogdanm | 82:6473597d706e | 456 | //@{ |
bogdanm | 82:6473597d706e | 457 | #define BP_MCM_ISR_DHREQ (3U) //!< Bit position for MCM_ISR_DHREQ. |
bogdanm | 82:6473597d706e | 458 | #define BM_MCM_ISR_DHREQ (0x00000008U) //!< Bit mask for MCM_ISR_DHREQ. |
bogdanm | 82:6473597d706e | 459 | #define BS_MCM_ISR_DHREQ (1U) //!< Bit field size in bits for MCM_ISR_DHREQ. |
bogdanm | 82:6473597d706e | 460 | |
bogdanm | 82:6473597d706e | 461 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 462 | //! @brief Read current value of the MCM_ISR_DHREQ field. |
bogdanm | 82:6473597d706e | 463 | #define BR_MCM_ISR_DHREQ (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_DHREQ)) |
bogdanm | 82:6473597d706e | 464 | #endif |
bogdanm | 82:6473597d706e | 465 | //@} |
bogdanm | 82:6473597d706e | 466 | |
bogdanm | 82:6473597d706e | 467 | /*! |
bogdanm | 82:6473597d706e | 468 | * @name Register MCM_ISR, field FIOC[8] (RO) |
bogdanm | 82:6473597d706e | 469 | * |
bogdanm | 82:6473597d706e | 470 | * This read-only bit is a copy of the core's FPSCR[IOC] bit and signals an |
bogdanm | 82:6473597d706e | 471 | * illegal operation has been detected in the processor's FPU. Once set, this bit |
bogdanm | 82:6473597d706e | 472 | * remains set until software clears the FPSCR[IOC] bit. |
bogdanm | 82:6473597d706e | 473 | * |
bogdanm | 82:6473597d706e | 474 | * Values: |
bogdanm | 82:6473597d706e | 475 | * - 0 - No interrupt |
bogdanm | 82:6473597d706e | 476 | * - 1 - Interrupt occurred |
bogdanm | 82:6473597d706e | 477 | */ |
bogdanm | 82:6473597d706e | 478 | //@{ |
bogdanm | 82:6473597d706e | 479 | #define BP_MCM_ISR_FIOC (8U) //!< Bit position for MCM_ISR_FIOC. |
bogdanm | 82:6473597d706e | 480 | #define BM_MCM_ISR_FIOC (0x00000100U) //!< Bit mask for MCM_ISR_FIOC. |
bogdanm | 82:6473597d706e | 481 | #define BS_MCM_ISR_FIOC (1U) //!< Bit field size in bits for MCM_ISR_FIOC. |
bogdanm | 82:6473597d706e | 482 | |
bogdanm | 82:6473597d706e | 483 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 484 | //! @brief Read current value of the MCM_ISR_FIOC field. |
bogdanm | 82:6473597d706e | 485 | #define BR_MCM_ISR_FIOC (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FIOC)) |
bogdanm | 82:6473597d706e | 486 | #endif |
bogdanm | 82:6473597d706e | 487 | //@} |
bogdanm | 82:6473597d706e | 488 | |
bogdanm | 82:6473597d706e | 489 | /*! |
bogdanm | 82:6473597d706e | 490 | * @name Register MCM_ISR, field FDZC[9] (RO) |
bogdanm | 82:6473597d706e | 491 | * |
bogdanm | 82:6473597d706e | 492 | * This read-only bit is a copy of the core's FPSCR[DZC] bit and signals a |
bogdanm | 82:6473597d706e | 493 | * divide by zero has been detected in the processor's FPU. Once set, this bit remains |
bogdanm | 82:6473597d706e | 494 | * set until software clears the FPSCR[DZC] bit. |
bogdanm | 82:6473597d706e | 495 | * |
bogdanm | 82:6473597d706e | 496 | * Values: |
bogdanm | 82:6473597d706e | 497 | * - 0 - No interrupt |
bogdanm | 82:6473597d706e | 498 | * - 1 - Interrupt occurred |
bogdanm | 82:6473597d706e | 499 | */ |
bogdanm | 82:6473597d706e | 500 | //@{ |
bogdanm | 82:6473597d706e | 501 | #define BP_MCM_ISR_FDZC (9U) //!< Bit position for MCM_ISR_FDZC. |
bogdanm | 82:6473597d706e | 502 | #define BM_MCM_ISR_FDZC (0x00000200U) //!< Bit mask for MCM_ISR_FDZC. |
bogdanm | 82:6473597d706e | 503 | #define BS_MCM_ISR_FDZC (1U) //!< Bit field size in bits for MCM_ISR_FDZC. |
bogdanm | 82:6473597d706e | 504 | |
bogdanm | 82:6473597d706e | 505 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 506 | //! @brief Read current value of the MCM_ISR_FDZC field. |
bogdanm | 82:6473597d706e | 507 | #define BR_MCM_ISR_FDZC (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FDZC)) |
bogdanm | 82:6473597d706e | 508 | #endif |
bogdanm | 82:6473597d706e | 509 | //@} |
bogdanm | 82:6473597d706e | 510 | |
bogdanm | 82:6473597d706e | 511 | /*! |
bogdanm | 82:6473597d706e | 512 | * @name Register MCM_ISR, field FOFC[10] (RO) |
bogdanm | 82:6473597d706e | 513 | * |
bogdanm | 82:6473597d706e | 514 | * This read-only bit is a copy of the core's FPSCR[OFC] bit and signals an |
bogdanm | 82:6473597d706e | 515 | * overflow has been detected in the processor's FPU. Once set, this bit remains set |
bogdanm | 82:6473597d706e | 516 | * until software clears the FPSCR[OFC] bit. |
bogdanm | 82:6473597d706e | 517 | * |
bogdanm | 82:6473597d706e | 518 | * Values: |
bogdanm | 82:6473597d706e | 519 | * - 0 - No interrupt |
bogdanm | 82:6473597d706e | 520 | * - 1 - Interrupt occurred |
bogdanm | 82:6473597d706e | 521 | */ |
bogdanm | 82:6473597d706e | 522 | //@{ |
bogdanm | 82:6473597d706e | 523 | #define BP_MCM_ISR_FOFC (10U) //!< Bit position for MCM_ISR_FOFC. |
bogdanm | 82:6473597d706e | 524 | #define BM_MCM_ISR_FOFC (0x00000400U) //!< Bit mask for MCM_ISR_FOFC. |
bogdanm | 82:6473597d706e | 525 | #define BS_MCM_ISR_FOFC (1U) //!< Bit field size in bits for MCM_ISR_FOFC. |
bogdanm | 82:6473597d706e | 526 | |
bogdanm | 82:6473597d706e | 527 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 528 | //! @brief Read current value of the MCM_ISR_FOFC field. |
bogdanm | 82:6473597d706e | 529 | #define BR_MCM_ISR_FOFC (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FOFC)) |
bogdanm | 82:6473597d706e | 530 | #endif |
bogdanm | 82:6473597d706e | 531 | //@} |
bogdanm | 82:6473597d706e | 532 | |
bogdanm | 82:6473597d706e | 533 | /*! |
bogdanm | 82:6473597d706e | 534 | * @name Register MCM_ISR, field FUFC[11] (RO) |
bogdanm | 82:6473597d706e | 535 | * |
bogdanm | 82:6473597d706e | 536 | * This read-only bit is a copy of the core's FPSCR[UFC] bit and signals an |
bogdanm | 82:6473597d706e | 537 | * underflow has been detected in the processor's FPU. Once set, this bit remains set |
bogdanm | 82:6473597d706e | 538 | * until software clears the FPSCR[UFC] bit. |
bogdanm | 82:6473597d706e | 539 | * |
bogdanm | 82:6473597d706e | 540 | * Values: |
bogdanm | 82:6473597d706e | 541 | * - 0 - No interrupt |
bogdanm | 82:6473597d706e | 542 | * - 1 - Interrupt occurred |
bogdanm | 82:6473597d706e | 543 | */ |
bogdanm | 82:6473597d706e | 544 | //@{ |
bogdanm | 82:6473597d706e | 545 | #define BP_MCM_ISR_FUFC (11U) //!< Bit position for MCM_ISR_FUFC. |
bogdanm | 82:6473597d706e | 546 | #define BM_MCM_ISR_FUFC (0x00000800U) //!< Bit mask for MCM_ISR_FUFC. |
bogdanm | 82:6473597d706e | 547 | #define BS_MCM_ISR_FUFC (1U) //!< Bit field size in bits for MCM_ISR_FUFC. |
bogdanm | 82:6473597d706e | 548 | |
bogdanm | 82:6473597d706e | 549 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 550 | //! @brief Read current value of the MCM_ISR_FUFC field. |
bogdanm | 82:6473597d706e | 551 | #define BR_MCM_ISR_FUFC (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FUFC)) |
bogdanm | 82:6473597d706e | 552 | #endif |
bogdanm | 82:6473597d706e | 553 | //@} |
bogdanm | 82:6473597d706e | 554 | |
bogdanm | 82:6473597d706e | 555 | /*! |
bogdanm | 82:6473597d706e | 556 | * @name Register MCM_ISR, field FIXC[12] (RO) |
bogdanm | 82:6473597d706e | 557 | * |
bogdanm | 82:6473597d706e | 558 | * This read-only bit is a copy of the core's FPSCR[IXC] bit and signals an |
bogdanm | 82:6473597d706e | 559 | * inexact number has been detected in the processor's FPU. Once set, this bit |
bogdanm | 82:6473597d706e | 560 | * remains set until software clears the FPSCR[IXC] bit. |
bogdanm | 82:6473597d706e | 561 | * |
bogdanm | 82:6473597d706e | 562 | * Values: |
bogdanm | 82:6473597d706e | 563 | * - 0 - No interrupt |
bogdanm | 82:6473597d706e | 564 | * - 1 - Interrupt occurred |
bogdanm | 82:6473597d706e | 565 | */ |
bogdanm | 82:6473597d706e | 566 | //@{ |
bogdanm | 82:6473597d706e | 567 | #define BP_MCM_ISR_FIXC (12U) //!< Bit position for MCM_ISR_FIXC. |
bogdanm | 82:6473597d706e | 568 | #define BM_MCM_ISR_FIXC (0x00001000U) //!< Bit mask for MCM_ISR_FIXC. |
bogdanm | 82:6473597d706e | 569 | #define BS_MCM_ISR_FIXC (1U) //!< Bit field size in bits for MCM_ISR_FIXC. |
bogdanm | 82:6473597d706e | 570 | |
bogdanm | 82:6473597d706e | 571 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 572 | //! @brief Read current value of the MCM_ISR_FIXC field. |
bogdanm | 82:6473597d706e | 573 | #define BR_MCM_ISR_FIXC (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FIXC)) |
bogdanm | 82:6473597d706e | 574 | #endif |
bogdanm | 82:6473597d706e | 575 | //@} |
bogdanm | 82:6473597d706e | 576 | |
bogdanm | 82:6473597d706e | 577 | /*! |
bogdanm | 82:6473597d706e | 578 | * @name Register MCM_ISR, field FIDC[15] (RO) |
bogdanm | 82:6473597d706e | 579 | * |
bogdanm | 82:6473597d706e | 580 | * This read-only bit is a copy of the core's FPSCR[IDC] bit and signals input |
bogdanm | 82:6473597d706e | 581 | * denormalized number has been detected in the processor's FPU. Once set, this |
bogdanm | 82:6473597d706e | 582 | * bit remains set until software clears the FPSCR[IDC] bit. |
bogdanm | 82:6473597d706e | 583 | * |
bogdanm | 82:6473597d706e | 584 | * Values: |
bogdanm | 82:6473597d706e | 585 | * - 0 - No interrupt |
bogdanm | 82:6473597d706e | 586 | * - 1 - Interrupt occurred |
bogdanm | 82:6473597d706e | 587 | */ |
bogdanm | 82:6473597d706e | 588 | //@{ |
bogdanm | 82:6473597d706e | 589 | #define BP_MCM_ISR_FIDC (15U) //!< Bit position for MCM_ISR_FIDC. |
bogdanm | 82:6473597d706e | 590 | #define BM_MCM_ISR_FIDC (0x00008000U) //!< Bit mask for MCM_ISR_FIDC. |
bogdanm | 82:6473597d706e | 591 | #define BS_MCM_ISR_FIDC (1U) //!< Bit field size in bits for MCM_ISR_FIDC. |
bogdanm | 82:6473597d706e | 592 | |
bogdanm | 82:6473597d706e | 593 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 594 | //! @brief Read current value of the MCM_ISR_FIDC field. |
bogdanm | 82:6473597d706e | 595 | #define BR_MCM_ISR_FIDC (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FIDC)) |
bogdanm | 82:6473597d706e | 596 | #endif |
bogdanm | 82:6473597d706e | 597 | //@} |
bogdanm | 82:6473597d706e | 598 | |
bogdanm | 82:6473597d706e | 599 | /*! |
bogdanm | 82:6473597d706e | 600 | * @name Register MCM_ISR, field FIOCE[24] (RW) |
bogdanm | 82:6473597d706e | 601 | * |
bogdanm | 82:6473597d706e | 602 | * Values: |
bogdanm | 82:6473597d706e | 603 | * - 0 - Disable interrupt |
bogdanm | 82:6473597d706e | 604 | * - 1 - Enable interrupt |
bogdanm | 82:6473597d706e | 605 | */ |
bogdanm | 82:6473597d706e | 606 | //@{ |
bogdanm | 82:6473597d706e | 607 | #define BP_MCM_ISR_FIOCE (24U) //!< Bit position for MCM_ISR_FIOCE. |
bogdanm | 82:6473597d706e | 608 | #define BM_MCM_ISR_FIOCE (0x01000000U) //!< Bit mask for MCM_ISR_FIOCE. |
bogdanm | 82:6473597d706e | 609 | #define BS_MCM_ISR_FIOCE (1U) //!< Bit field size in bits for MCM_ISR_FIOCE. |
bogdanm | 82:6473597d706e | 610 | |
bogdanm | 82:6473597d706e | 611 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 612 | //! @brief Read current value of the MCM_ISR_FIOCE field. |
bogdanm | 82:6473597d706e | 613 | #define BR_MCM_ISR_FIOCE (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FIOCE)) |
bogdanm | 82:6473597d706e | 614 | #endif |
bogdanm | 82:6473597d706e | 615 | |
bogdanm | 82:6473597d706e | 616 | //! @brief Format value for bitfield MCM_ISR_FIOCE. |
bogdanm | 82:6473597d706e | 617 | #define BF_MCM_ISR_FIOCE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ISR_FIOCE), uint32_t) & BM_MCM_ISR_FIOCE) |
bogdanm | 82:6473597d706e | 618 | |
bogdanm | 82:6473597d706e | 619 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 620 | //! @brief Set the FIOCE field to a new value. |
bogdanm | 82:6473597d706e | 621 | #define BW_MCM_ISR_FIOCE(v) (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FIOCE) = (v)) |
bogdanm | 82:6473597d706e | 622 | #endif |
bogdanm | 82:6473597d706e | 623 | //@} |
bogdanm | 82:6473597d706e | 624 | |
bogdanm | 82:6473597d706e | 625 | /*! |
bogdanm | 82:6473597d706e | 626 | * @name Register MCM_ISR, field FDZCE[25] (RW) |
bogdanm | 82:6473597d706e | 627 | * |
bogdanm | 82:6473597d706e | 628 | * Values: |
bogdanm | 82:6473597d706e | 629 | * - 0 - Disable interrupt |
bogdanm | 82:6473597d706e | 630 | * - 1 - Enable interrupt |
bogdanm | 82:6473597d706e | 631 | */ |
bogdanm | 82:6473597d706e | 632 | //@{ |
bogdanm | 82:6473597d706e | 633 | #define BP_MCM_ISR_FDZCE (25U) //!< Bit position for MCM_ISR_FDZCE. |
bogdanm | 82:6473597d706e | 634 | #define BM_MCM_ISR_FDZCE (0x02000000U) //!< Bit mask for MCM_ISR_FDZCE. |
bogdanm | 82:6473597d706e | 635 | #define BS_MCM_ISR_FDZCE (1U) //!< Bit field size in bits for MCM_ISR_FDZCE. |
bogdanm | 82:6473597d706e | 636 | |
bogdanm | 82:6473597d706e | 637 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 638 | //! @brief Read current value of the MCM_ISR_FDZCE field. |
bogdanm | 82:6473597d706e | 639 | #define BR_MCM_ISR_FDZCE (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FDZCE)) |
bogdanm | 82:6473597d706e | 640 | #endif |
bogdanm | 82:6473597d706e | 641 | |
bogdanm | 82:6473597d706e | 642 | //! @brief Format value for bitfield MCM_ISR_FDZCE. |
bogdanm | 82:6473597d706e | 643 | #define BF_MCM_ISR_FDZCE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ISR_FDZCE), uint32_t) & BM_MCM_ISR_FDZCE) |
bogdanm | 82:6473597d706e | 644 | |
bogdanm | 82:6473597d706e | 645 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 646 | //! @brief Set the FDZCE field to a new value. |
bogdanm | 82:6473597d706e | 647 | #define BW_MCM_ISR_FDZCE(v) (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FDZCE) = (v)) |
bogdanm | 82:6473597d706e | 648 | #endif |
bogdanm | 82:6473597d706e | 649 | //@} |
bogdanm | 82:6473597d706e | 650 | |
bogdanm | 82:6473597d706e | 651 | /*! |
bogdanm | 82:6473597d706e | 652 | * @name Register MCM_ISR, field FOFCE[26] (RW) |
bogdanm | 82:6473597d706e | 653 | * |
bogdanm | 82:6473597d706e | 654 | * Values: |
bogdanm | 82:6473597d706e | 655 | * - 0 - Disable interrupt |
bogdanm | 82:6473597d706e | 656 | * - 1 - Enable interrupt |
bogdanm | 82:6473597d706e | 657 | */ |
bogdanm | 82:6473597d706e | 658 | //@{ |
bogdanm | 82:6473597d706e | 659 | #define BP_MCM_ISR_FOFCE (26U) //!< Bit position for MCM_ISR_FOFCE. |
bogdanm | 82:6473597d706e | 660 | #define BM_MCM_ISR_FOFCE (0x04000000U) //!< Bit mask for MCM_ISR_FOFCE. |
bogdanm | 82:6473597d706e | 661 | #define BS_MCM_ISR_FOFCE (1U) //!< Bit field size in bits for MCM_ISR_FOFCE. |
bogdanm | 82:6473597d706e | 662 | |
bogdanm | 82:6473597d706e | 663 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 664 | //! @brief Read current value of the MCM_ISR_FOFCE field. |
bogdanm | 82:6473597d706e | 665 | #define BR_MCM_ISR_FOFCE (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FOFCE)) |
bogdanm | 82:6473597d706e | 666 | #endif |
bogdanm | 82:6473597d706e | 667 | |
bogdanm | 82:6473597d706e | 668 | //! @brief Format value for bitfield MCM_ISR_FOFCE. |
bogdanm | 82:6473597d706e | 669 | #define BF_MCM_ISR_FOFCE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ISR_FOFCE), uint32_t) & BM_MCM_ISR_FOFCE) |
bogdanm | 82:6473597d706e | 670 | |
bogdanm | 82:6473597d706e | 671 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 672 | //! @brief Set the FOFCE field to a new value. |
bogdanm | 82:6473597d706e | 673 | #define BW_MCM_ISR_FOFCE(v) (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FOFCE) = (v)) |
bogdanm | 82:6473597d706e | 674 | #endif |
bogdanm | 82:6473597d706e | 675 | //@} |
bogdanm | 82:6473597d706e | 676 | |
bogdanm | 82:6473597d706e | 677 | /*! |
bogdanm | 82:6473597d706e | 678 | * @name Register MCM_ISR, field FUFCE[27] (RW) |
bogdanm | 82:6473597d706e | 679 | * |
bogdanm | 82:6473597d706e | 680 | * Values: |
bogdanm | 82:6473597d706e | 681 | * - 0 - Disable interrupt |
bogdanm | 82:6473597d706e | 682 | * - 1 - Enable interrupt |
bogdanm | 82:6473597d706e | 683 | */ |
bogdanm | 82:6473597d706e | 684 | //@{ |
bogdanm | 82:6473597d706e | 685 | #define BP_MCM_ISR_FUFCE (27U) //!< Bit position for MCM_ISR_FUFCE. |
bogdanm | 82:6473597d706e | 686 | #define BM_MCM_ISR_FUFCE (0x08000000U) //!< Bit mask for MCM_ISR_FUFCE. |
bogdanm | 82:6473597d706e | 687 | #define BS_MCM_ISR_FUFCE (1U) //!< Bit field size in bits for MCM_ISR_FUFCE. |
bogdanm | 82:6473597d706e | 688 | |
bogdanm | 82:6473597d706e | 689 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 690 | //! @brief Read current value of the MCM_ISR_FUFCE field. |
bogdanm | 82:6473597d706e | 691 | #define BR_MCM_ISR_FUFCE (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FUFCE)) |
bogdanm | 82:6473597d706e | 692 | #endif |
bogdanm | 82:6473597d706e | 693 | |
bogdanm | 82:6473597d706e | 694 | //! @brief Format value for bitfield MCM_ISR_FUFCE. |
bogdanm | 82:6473597d706e | 695 | #define BF_MCM_ISR_FUFCE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ISR_FUFCE), uint32_t) & BM_MCM_ISR_FUFCE) |
bogdanm | 82:6473597d706e | 696 | |
bogdanm | 82:6473597d706e | 697 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 698 | //! @brief Set the FUFCE field to a new value. |
bogdanm | 82:6473597d706e | 699 | #define BW_MCM_ISR_FUFCE(v) (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FUFCE) = (v)) |
bogdanm | 82:6473597d706e | 700 | #endif |
bogdanm | 82:6473597d706e | 701 | //@} |
bogdanm | 82:6473597d706e | 702 | |
bogdanm | 82:6473597d706e | 703 | /*! |
bogdanm | 82:6473597d706e | 704 | * @name Register MCM_ISR, field FIXCE[28] (RW) |
bogdanm | 82:6473597d706e | 705 | * |
bogdanm | 82:6473597d706e | 706 | * Values: |
bogdanm | 82:6473597d706e | 707 | * - 0 - Disable interrupt |
bogdanm | 82:6473597d706e | 708 | * - 1 - Enable interrupt |
bogdanm | 82:6473597d706e | 709 | */ |
bogdanm | 82:6473597d706e | 710 | //@{ |
bogdanm | 82:6473597d706e | 711 | #define BP_MCM_ISR_FIXCE (28U) //!< Bit position for MCM_ISR_FIXCE. |
bogdanm | 82:6473597d706e | 712 | #define BM_MCM_ISR_FIXCE (0x10000000U) //!< Bit mask for MCM_ISR_FIXCE. |
bogdanm | 82:6473597d706e | 713 | #define BS_MCM_ISR_FIXCE (1U) //!< Bit field size in bits for MCM_ISR_FIXCE. |
bogdanm | 82:6473597d706e | 714 | |
bogdanm | 82:6473597d706e | 715 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 716 | //! @brief Read current value of the MCM_ISR_FIXCE field. |
bogdanm | 82:6473597d706e | 717 | #define BR_MCM_ISR_FIXCE (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FIXCE)) |
bogdanm | 82:6473597d706e | 718 | #endif |
bogdanm | 82:6473597d706e | 719 | |
bogdanm | 82:6473597d706e | 720 | //! @brief Format value for bitfield MCM_ISR_FIXCE. |
bogdanm | 82:6473597d706e | 721 | #define BF_MCM_ISR_FIXCE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ISR_FIXCE), uint32_t) & BM_MCM_ISR_FIXCE) |
bogdanm | 82:6473597d706e | 722 | |
bogdanm | 82:6473597d706e | 723 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 724 | //! @brief Set the FIXCE field to a new value. |
bogdanm | 82:6473597d706e | 725 | #define BW_MCM_ISR_FIXCE(v) (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FIXCE) = (v)) |
bogdanm | 82:6473597d706e | 726 | #endif |
bogdanm | 82:6473597d706e | 727 | //@} |
bogdanm | 82:6473597d706e | 728 | |
bogdanm | 82:6473597d706e | 729 | /*! |
bogdanm | 82:6473597d706e | 730 | * @name Register MCM_ISR, field FIDCE[31] (RW) |
bogdanm | 82:6473597d706e | 731 | * |
bogdanm | 82:6473597d706e | 732 | * Values: |
bogdanm | 82:6473597d706e | 733 | * - 0 - Disable interrupt |
bogdanm | 82:6473597d706e | 734 | * - 1 - Enable interrupt |
bogdanm | 82:6473597d706e | 735 | */ |
bogdanm | 82:6473597d706e | 736 | //@{ |
bogdanm | 82:6473597d706e | 737 | #define BP_MCM_ISR_FIDCE (31U) //!< Bit position for MCM_ISR_FIDCE. |
bogdanm | 82:6473597d706e | 738 | #define BM_MCM_ISR_FIDCE (0x80000000U) //!< Bit mask for MCM_ISR_FIDCE. |
bogdanm | 82:6473597d706e | 739 | #define BS_MCM_ISR_FIDCE (1U) //!< Bit field size in bits for MCM_ISR_FIDCE. |
bogdanm | 82:6473597d706e | 740 | |
bogdanm | 82:6473597d706e | 741 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 742 | //! @brief Read current value of the MCM_ISR_FIDCE field. |
bogdanm | 82:6473597d706e | 743 | #define BR_MCM_ISR_FIDCE (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FIDCE)) |
bogdanm | 82:6473597d706e | 744 | #endif |
bogdanm | 82:6473597d706e | 745 | |
bogdanm | 82:6473597d706e | 746 | //! @brief Format value for bitfield MCM_ISR_FIDCE. |
bogdanm | 82:6473597d706e | 747 | #define BF_MCM_ISR_FIDCE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ISR_FIDCE), uint32_t) & BM_MCM_ISR_FIDCE) |
bogdanm | 82:6473597d706e | 748 | |
bogdanm | 82:6473597d706e | 749 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 750 | //! @brief Set the FIDCE field to a new value. |
bogdanm | 82:6473597d706e | 751 | #define BW_MCM_ISR_FIDCE(v) (BITBAND_ACCESS32(HW_MCM_ISR_ADDR, BP_MCM_ISR_FIDCE) = (v)) |
bogdanm | 82:6473597d706e | 752 | #endif |
bogdanm | 82:6473597d706e | 753 | //@} |
bogdanm | 82:6473597d706e | 754 | |
bogdanm | 82:6473597d706e | 755 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 756 | // HW_MCM_ETBCC - ETB Counter Control register |
bogdanm | 82:6473597d706e | 757 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 758 | |
bogdanm | 82:6473597d706e | 759 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 760 | /*! |
bogdanm | 82:6473597d706e | 761 | * @brief HW_MCM_ETBCC - ETB Counter Control register (RW) |
bogdanm | 82:6473597d706e | 762 | * |
bogdanm | 82:6473597d706e | 763 | * Reset value: 0x00000000U |
bogdanm | 82:6473597d706e | 764 | */ |
bogdanm | 82:6473597d706e | 765 | typedef union _hw_mcm_etbcc |
bogdanm | 82:6473597d706e | 766 | { |
bogdanm | 82:6473597d706e | 767 | uint32_t U; |
bogdanm | 82:6473597d706e | 768 | struct _hw_mcm_etbcc_bitfields |
bogdanm | 82:6473597d706e | 769 | { |
bogdanm | 82:6473597d706e | 770 | uint32_t CNTEN : 1; //!< [0] Counter Enable |
bogdanm | 82:6473597d706e | 771 | uint32_t RSPT : 2; //!< [2:1] Response Type |
bogdanm | 82:6473597d706e | 772 | uint32_t RLRQ : 1; //!< [3] Reload Request |
bogdanm | 82:6473597d706e | 773 | uint32_t ETDIS : 1; //!< [4] ETM-To-TPIU Disable |
bogdanm | 82:6473597d706e | 774 | uint32_t ITDIS : 1; //!< [5] ITM-To-TPIU Disable |
bogdanm | 82:6473597d706e | 775 | uint32_t RESERVED0 : 26; //!< [31:6] |
bogdanm | 82:6473597d706e | 776 | } B; |
bogdanm | 82:6473597d706e | 777 | } hw_mcm_etbcc_t; |
bogdanm | 82:6473597d706e | 778 | #endif |
bogdanm | 82:6473597d706e | 779 | |
bogdanm | 82:6473597d706e | 780 | /*! |
bogdanm | 82:6473597d706e | 781 | * @name Constants and macros for entire MCM_ETBCC register |
bogdanm | 82:6473597d706e | 782 | */ |
bogdanm | 82:6473597d706e | 783 | //@{ |
bogdanm | 82:6473597d706e | 784 | #define HW_MCM_ETBCC_ADDR (REGS_MCM_BASE + 0x14U) |
bogdanm | 82:6473597d706e | 785 | |
bogdanm | 82:6473597d706e | 786 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 787 | #define HW_MCM_ETBCC (*(__IO hw_mcm_etbcc_t *) HW_MCM_ETBCC_ADDR) |
bogdanm | 82:6473597d706e | 788 | #define HW_MCM_ETBCC_RD() (HW_MCM_ETBCC.U) |
bogdanm | 82:6473597d706e | 789 | #define HW_MCM_ETBCC_WR(v) (HW_MCM_ETBCC.U = (v)) |
bogdanm | 82:6473597d706e | 790 | #define HW_MCM_ETBCC_SET(v) (HW_MCM_ETBCC_WR(HW_MCM_ETBCC_RD() | (v))) |
bogdanm | 82:6473597d706e | 791 | #define HW_MCM_ETBCC_CLR(v) (HW_MCM_ETBCC_WR(HW_MCM_ETBCC_RD() & ~(v))) |
bogdanm | 82:6473597d706e | 792 | #define HW_MCM_ETBCC_TOG(v) (HW_MCM_ETBCC_WR(HW_MCM_ETBCC_RD() ^ (v))) |
bogdanm | 82:6473597d706e | 793 | #endif |
bogdanm | 82:6473597d706e | 794 | //@} |
bogdanm | 82:6473597d706e | 795 | |
bogdanm | 82:6473597d706e | 796 | /* |
bogdanm | 82:6473597d706e | 797 | * Constants & macros for individual MCM_ETBCC bitfields |
bogdanm | 82:6473597d706e | 798 | */ |
bogdanm | 82:6473597d706e | 799 | |
bogdanm | 82:6473597d706e | 800 | /*! |
bogdanm | 82:6473597d706e | 801 | * @name Register MCM_ETBCC, field CNTEN[0] (RW) |
bogdanm | 82:6473597d706e | 802 | * |
bogdanm | 82:6473597d706e | 803 | * Enables the ETB counter. |
bogdanm | 82:6473597d706e | 804 | * |
bogdanm | 82:6473597d706e | 805 | * Values: |
bogdanm | 82:6473597d706e | 806 | * - 0 - ETB counter disabled |
bogdanm | 82:6473597d706e | 807 | * - 1 - ETB counter enabled |
bogdanm | 82:6473597d706e | 808 | */ |
bogdanm | 82:6473597d706e | 809 | //@{ |
bogdanm | 82:6473597d706e | 810 | #define BP_MCM_ETBCC_CNTEN (0U) //!< Bit position for MCM_ETBCC_CNTEN. |
bogdanm | 82:6473597d706e | 811 | #define BM_MCM_ETBCC_CNTEN (0x00000001U) //!< Bit mask for MCM_ETBCC_CNTEN. |
bogdanm | 82:6473597d706e | 812 | #define BS_MCM_ETBCC_CNTEN (1U) //!< Bit field size in bits for MCM_ETBCC_CNTEN. |
bogdanm | 82:6473597d706e | 813 | |
bogdanm | 82:6473597d706e | 814 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 815 | //! @brief Read current value of the MCM_ETBCC_CNTEN field. |
bogdanm | 82:6473597d706e | 816 | #define BR_MCM_ETBCC_CNTEN (BITBAND_ACCESS32(HW_MCM_ETBCC_ADDR, BP_MCM_ETBCC_CNTEN)) |
bogdanm | 82:6473597d706e | 817 | #endif |
bogdanm | 82:6473597d706e | 818 | |
bogdanm | 82:6473597d706e | 819 | //! @brief Format value for bitfield MCM_ETBCC_CNTEN. |
bogdanm | 82:6473597d706e | 820 | #define BF_MCM_ETBCC_CNTEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ETBCC_CNTEN), uint32_t) & BM_MCM_ETBCC_CNTEN) |
bogdanm | 82:6473597d706e | 821 | |
bogdanm | 82:6473597d706e | 822 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 823 | //! @brief Set the CNTEN field to a new value. |
bogdanm | 82:6473597d706e | 824 | #define BW_MCM_ETBCC_CNTEN(v) (BITBAND_ACCESS32(HW_MCM_ETBCC_ADDR, BP_MCM_ETBCC_CNTEN) = (v)) |
bogdanm | 82:6473597d706e | 825 | #endif |
bogdanm | 82:6473597d706e | 826 | //@} |
bogdanm | 82:6473597d706e | 827 | |
bogdanm | 82:6473597d706e | 828 | /*! |
bogdanm | 82:6473597d706e | 829 | * @name Register MCM_ETBCC, field RSPT[2:1] (RW) |
bogdanm | 82:6473597d706e | 830 | * |
bogdanm | 82:6473597d706e | 831 | * Values: |
bogdanm | 82:6473597d706e | 832 | * - 00 - No response when the ETB count expires |
bogdanm | 82:6473597d706e | 833 | * - 01 - Generate a normal interrupt when the ETB count expires |
bogdanm | 82:6473597d706e | 834 | * - 10 - Generate an NMI when the ETB count expires |
bogdanm | 82:6473597d706e | 835 | * - 11 - Generate a debug halt when the ETB count expires |
bogdanm | 82:6473597d706e | 836 | */ |
bogdanm | 82:6473597d706e | 837 | //@{ |
bogdanm | 82:6473597d706e | 838 | #define BP_MCM_ETBCC_RSPT (1U) //!< Bit position for MCM_ETBCC_RSPT. |
bogdanm | 82:6473597d706e | 839 | #define BM_MCM_ETBCC_RSPT (0x00000006U) //!< Bit mask for MCM_ETBCC_RSPT. |
bogdanm | 82:6473597d706e | 840 | #define BS_MCM_ETBCC_RSPT (2U) //!< Bit field size in bits for MCM_ETBCC_RSPT. |
bogdanm | 82:6473597d706e | 841 | |
bogdanm | 82:6473597d706e | 842 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 843 | //! @brief Read current value of the MCM_ETBCC_RSPT field. |
bogdanm | 82:6473597d706e | 844 | #define BR_MCM_ETBCC_RSPT (HW_MCM_ETBCC.B.RSPT) |
bogdanm | 82:6473597d706e | 845 | #endif |
bogdanm | 82:6473597d706e | 846 | |
bogdanm | 82:6473597d706e | 847 | //! @brief Format value for bitfield MCM_ETBCC_RSPT. |
bogdanm | 82:6473597d706e | 848 | #define BF_MCM_ETBCC_RSPT(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ETBCC_RSPT), uint32_t) & BM_MCM_ETBCC_RSPT) |
bogdanm | 82:6473597d706e | 849 | |
bogdanm | 82:6473597d706e | 850 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 851 | //! @brief Set the RSPT field to a new value. |
bogdanm | 82:6473597d706e | 852 | #define BW_MCM_ETBCC_RSPT(v) (HW_MCM_ETBCC_WR((HW_MCM_ETBCC_RD() & ~BM_MCM_ETBCC_RSPT) | BF_MCM_ETBCC_RSPT(v))) |
bogdanm | 82:6473597d706e | 853 | #endif |
bogdanm | 82:6473597d706e | 854 | //@} |
bogdanm | 82:6473597d706e | 855 | |
bogdanm | 82:6473597d706e | 856 | /*! |
bogdanm | 82:6473597d706e | 857 | * @name Register MCM_ETBCC, field RLRQ[3] (RW) |
bogdanm | 82:6473597d706e | 858 | * |
bogdanm | 82:6473597d706e | 859 | * Reloads the ETB packet counter with the MCM_ETBRL RELOAD value. If IRQ or NMI |
bogdanm | 82:6473597d706e | 860 | * interrupts were enabled and an NMI or IRQ interrupt was generated on counter |
bogdanm | 82:6473597d706e | 861 | * expiration, setting this bit clears the pending NMI or IRQ interrupt request. |
bogdanm | 82:6473597d706e | 862 | * If debug halt was enabled and a debug halt request was asserted on counter |
bogdanm | 82:6473597d706e | 863 | * expiration, setting this bit clears the debug halt request. |
bogdanm | 82:6473597d706e | 864 | * |
bogdanm | 82:6473597d706e | 865 | * Values: |
bogdanm | 82:6473597d706e | 866 | * - 0 - No effect |
bogdanm | 82:6473597d706e | 867 | * - 1 - Clears pending debug halt, NMI, or IRQ interrupt requests |
bogdanm | 82:6473597d706e | 868 | */ |
bogdanm | 82:6473597d706e | 869 | //@{ |
bogdanm | 82:6473597d706e | 870 | #define BP_MCM_ETBCC_RLRQ (3U) //!< Bit position for MCM_ETBCC_RLRQ. |
bogdanm | 82:6473597d706e | 871 | #define BM_MCM_ETBCC_RLRQ (0x00000008U) //!< Bit mask for MCM_ETBCC_RLRQ. |
bogdanm | 82:6473597d706e | 872 | #define BS_MCM_ETBCC_RLRQ (1U) //!< Bit field size in bits for MCM_ETBCC_RLRQ. |
bogdanm | 82:6473597d706e | 873 | |
bogdanm | 82:6473597d706e | 874 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 875 | //! @brief Read current value of the MCM_ETBCC_RLRQ field. |
bogdanm | 82:6473597d706e | 876 | #define BR_MCM_ETBCC_RLRQ (BITBAND_ACCESS32(HW_MCM_ETBCC_ADDR, BP_MCM_ETBCC_RLRQ)) |
bogdanm | 82:6473597d706e | 877 | #endif |
bogdanm | 82:6473597d706e | 878 | |
bogdanm | 82:6473597d706e | 879 | //! @brief Format value for bitfield MCM_ETBCC_RLRQ. |
bogdanm | 82:6473597d706e | 880 | #define BF_MCM_ETBCC_RLRQ(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ETBCC_RLRQ), uint32_t) & BM_MCM_ETBCC_RLRQ) |
bogdanm | 82:6473597d706e | 881 | |
bogdanm | 82:6473597d706e | 882 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 883 | //! @brief Set the RLRQ field to a new value. |
bogdanm | 82:6473597d706e | 884 | #define BW_MCM_ETBCC_RLRQ(v) (BITBAND_ACCESS32(HW_MCM_ETBCC_ADDR, BP_MCM_ETBCC_RLRQ) = (v)) |
bogdanm | 82:6473597d706e | 885 | #endif |
bogdanm | 82:6473597d706e | 886 | //@} |
bogdanm | 82:6473597d706e | 887 | |
bogdanm | 82:6473597d706e | 888 | /*! |
bogdanm | 82:6473597d706e | 889 | * @name Register MCM_ETBCC, field ETDIS[4] (RW) |
bogdanm | 82:6473597d706e | 890 | * |
bogdanm | 82:6473597d706e | 891 | * Disables the trace path from ETM to TPIU. |
bogdanm | 82:6473597d706e | 892 | * |
bogdanm | 82:6473597d706e | 893 | * Values: |
bogdanm | 82:6473597d706e | 894 | * - 0 - ETM-to-TPIU trace path enabled |
bogdanm | 82:6473597d706e | 895 | * - 1 - ETM-to-TPIU trace path disabled |
bogdanm | 82:6473597d706e | 896 | */ |
bogdanm | 82:6473597d706e | 897 | //@{ |
bogdanm | 82:6473597d706e | 898 | #define BP_MCM_ETBCC_ETDIS (4U) //!< Bit position for MCM_ETBCC_ETDIS. |
bogdanm | 82:6473597d706e | 899 | #define BM_MCM_ETBCC_ETDIS (0x00000010U) //!< Bit mask for MCM_ETBCC_ETDIS. |
bogdanm | 82:6473597d706e | 900 | #define BS_MCM_ETBCC_ETDIS (1U) //!< Bit field size in bits for MCM_ETBCC_ETDIS. |
bogdanm | 82:6473597d706e | 901 | |
bogdanm | 82:6473597d706e | 902 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 903 | //! @brief Read current value of the MCM_ETBCC_ETDIS field. |
bogdanm | 82:6473597d706e | 904 | #define BR_MCM_ETBCC_ETDIS (BITBAND_ACCESS32(HW_MCM_ETBCC_ADDR, BP_MCM_ETBCC_ETDIS)) |
bogdanm | 82:6473597d706e | 905 | #endif |
bogdanm | 82:6473597d706e | 906 | |
bogdanm | 82:6473597d706e | 907 | //! @brief Format value for bitfield MCM_ETBCC_ETDIS. |
bogdanm | 82:6473597d706e | 908 | #define BF_MCM_ETBCC_ETDIS(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ETBCC_ETDIS), uint32_t) & BM_MCM_ETBCC_ETDIS) |
bogdanm | 82:6473597d706e | 909 | |
bogdanm | 82:6473597d706e | 910 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 911 | //! @brief Set the ETDIS field to a new value. |
bogdanm | 82:6473597d706e | 912 | #define BW_MCM_ETBCC_ETDIS(v) (BITBAND_ACCESS32(HW_MCM_ETBCC_ADDR, BP_MCM_ETBCC_ETDIS) = (v)) |
bogdanm | 82:6473597d706e | 913 | #endif |
bogdanm | 82:6473597d706e | 914 | //@} |
bogdanm | 82:6473597d706e | 915 | |
bogdanm | 82:6473597d706e | 916 | /*! |
bogdanm | 82:6473597d706e | 917 | * @name Register MCM_ETBCC, field ITDIS[5] (RW) |
bogdanm | 82:6473597d706e | 918 | * |
bogdanm | 82:6473597d706e | 919 | * Disables the trace path from ITM to TPIU. |
bogdanm | 82:6473597d706e | 920 | * |
bogdanm | 82:6473597d706e | 921 | * Values: |
bogdanm | 82:6473597d706e | 922 | * - 0 - ITM-to-TPIU trace path enabled |
bogdanm | 82:6473597d706e | 923 | * - 1 - ITM-to-TPIU trace path disabled |
bogdanm | 82:6473597d706e | 924 | */ |
bogdanm | 82:6473597d706e | 925 | //@{ |
bogdanm | 82:6473597d706e | 926 | #define BP_MCM_ETBCC_ITDIS (5U) //!< Bit position for MCM_ETBCC_ITDIS. |
bogdanm | 82:6473597d706e | 927 | #define BM_MCM_ETBCC_ITDIS (0x00000020U) //!< Bit mask for MCM_ETBCC_ITDIS. |
bogdanm | 82:6473597d706e | 928 | #define BS_MCM_ETBCC_ITDIS (1U) //!< Bit field size in bits for MCM_ETBCC_ITDIS. |
bogdanm | 82:6473597d706e | 929 | |
bogdanm | 82:6473597d706e | 930 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 931 | //! @brief Read current value of the MCM_ETBCC_ITDIS field. |
bogdanm | 82:6473597d706e | 932 | #define BR_MCM_ETBCC_ITDIS (BITBAND_ACCESS32(HW_MCM_ETBCC_ADDR, BP_MCM_ETBCC_ITDIS)) |
bogdanm | 82:6473597d706e | 933 | #endif |
bogdanm | 82:6473597d706e | 934 | |
bogdanm | 82:6473597d706e | 935 | //! @brief Format value for bitfield MCM_ETBCC_ITDIS. |
bogdanm | 82:6473597d706e | 936 | #define BF_MCM_ETBCC_ITDIS(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ETBCC_ITDIS), uint32_t) & BM_MCM_ETBCC_ITDIS) |
bogdanm | 82:6473597d706e | 937 | |
bogdanm | 82:6473597d706e | 938 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 939 | //! @brief Set the ITDIS field to a new value. |
bogdanm | 82:6473597d706e | 940 | #define BW_MCM_ETBCC_ITDIS(v) (BITBAND_ACCESS32(HW_MCM_ETBCC_ADDR, BP_MCM_ETBCC_ITDIS) = (v)) |
bogdanm | 82:6473597d706e | 941 | #endif |
bogdanm | 82:6473597d706e | 942 | //@} |
bogdanm | 82:6473597d706e | 943 | |
bogdanm | 82:6473597d706e | 944 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 945 | // HW_MCM_ETBRL - ETB Reload register |
bogdanm | 82:6473597d706e | 946 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 947 | |
bogdanm | 82:6473597d706e | 948 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 949 | /*! |
bogdanm | 82:6473597d706e | 950 | * @brief HW_MCM_ETBRL - ETB Reload register (RW) |
bogdanm | 82:6473597d706e | 951 | * |
bogdanm | 82:6473597d706e | 952 | * Reset value: 0x00000000U |
bogdanm | 82:6473597d706e | 953 | */ |
bogdanm | 82:6473597d706e | 954 | typedef union _hw_mcm_etbrl |
bogdanm | 82:6473597d706e | 955 | { |
bogdanm | 82:6473597d706e | 956 | uint32_t U; |
bogdanm | 82:6473597d706e | 957 | struct _hw_mcm_etbrl_bitfields |
bogdanm | 82:6473597d706e | 958 | { |
bogdanm | 82:6473597d706e | 959 | uint32_t RELOAD : 11; //!< [10:0] Byte Count Reload Value |
bogdanm | 82:6473597d706e | 960 | uint32_t RESERVED0 : 21; //!< [31:11] |
bogdanm | 82:6473597d706e | 961 | } B; |
bogdanm | 82:6473597d706e | 962 | } hw_mcm_etbrl_t; |
bogdanm | 82:6473597d706e | 963 | #endif |
bogdanm | 82:6473597d706e | 964 | |
bogdanm | 82:6473597d706e | 965 | /*! |
bogdanm | 82:6473597d706e | 966 | * @name Constants and macros for entire MCM_ETBRL register |
bogdanm | 82:6473597d706e | 967 | */ |
bogdanm | 82:6473597d706e | 968 | //@{ |
bogdanm | 82:6473597d706e | 969 | #define HW_MCM_ETBRL_ADDR (REGS_MCM_BASE + 0x18U) |
bogdanm | 82:6473597d706e | 970 | |
bogdanm | 82:6473597d706e | 971 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 972 | #define HW_MCM_ETBRL (*(__IO hw_mcm_etbrl_t *) HW_MCM_ETBRL_ADDR) |
bogdanm | 82:6473597d706e | 973 | #define HW_MCM_ETBRL_RD() (HW_MCM_ETBRL.U) |
bogdanm | 82:6473597d706e | 974 | #define HW_MCM_ETBRL_WR(v) (HW_MCM_ETBRL.U = (v)) |
bogdanm | 82:6473597d706e | 975 | #define HW_MCM_ETBRL_SET(v) (HW_MCM_ETBRL_WR(HW_MCM_ETBRL_RD() | (v))) |
bogdanm | 82:6473597d706e | 976 | #define HW_MCM_ETBRL_CLR(v) (HW_MCM_ETBRL_WR(HW_MCM_ETBRL_RD() & ~(v))) |
bogdanm | 82:6473597d706e | 977 | #define HW_MCM_ETBRL_TOG(v) (HW_MCM_ETBRL_WR(HW_MCM_ETBRL_RD() ^ (v))) |
bogdanm | 82:6473597d706e | 978 | #endif |
bogdanm | 82:6473597d706e | 979 | //@} |
bogdanm | 82:6473597d706e | 980 | |
bogdanm | 82:6473597d706e | 981 | /* |
bogdanm | 82:6473597d706e | 982 | * Constants & macros for individual MCM_ETBRL bitfields |
bogdanm | 82:6473597d706e | 983 | */ |
bogdanm | 82:6473597d706e | 984 | |
bogdanm | 82:6473597d706e | 985 | /*! |
bogdanm | 82:6473597d706e | 986 | * @name Register MCM_ETBRL, field RELOAD[10:0] (RW) |
bogdanm | 82:6473597d706e | 987 | * |
bogdanm | 82:6473597d706e | 988 | * Indicates the 0-mod-4 value the counter reloads to. Writing a non-0-mod-4 |
bogdanm | 82:6473597d706e | 989 | * value to this field results in a bus error. |
bogdanm | 82:6473597d706e | 990 | */ |
bogdanm | 82:6473597d706e | 991 | //@{ |
bogdanm | 82:6473597d706e | 992 | #define BP_MCM_ETBRL_RELOAD (0U) //!< Bit position for MCM_ETBRL_RELOAD. |
bogdanm | 82:6473597d706e | 993 | #define BM_MCM_ETBRL_RELOAD (0x000007FFU) //!< Bit mask for MCM_ETBRL_RELOAD. |
bogdanm | 82:6473597d706e | 994 | #define BS_MCM_ETBRL_RELOAD (11U) //!< Bit field size in bits for MCM_ETBRL_RELOAD. |
bogdanm | 82:6473597d706e | 995 | |
bogdanm | 82:6473597d706e | 996 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 997 | //! @brief Read current value of the MCM_ETBRL_RELOAD field. |
bogdanm | 82:6473597d706e | 998 | #define BR_MCM_ETBRL_RELOAD (HW_MCM_ETBRL.B.RELOAD) |
bogdanm | 82:6473597d706e | 999 | #endif |
bogdanm | 82:6473597d706e | 1000 | |
bogdanm | 82:6473597d706e | 1001 | //! @brief Format value for bitfield MCM_ETBRL_RELOAD. |
bogdanm | 82:6473597d706e | 1002 | #define BF_MCM_ETBRL_RELOAD(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_ETBRL_RELOAD), uint32_t) & BM_MCM_ETBRL_RELOAD) |
bogdanm | 82:6473597d706e | 1003 | |
bogdanm | 82:6473597d706e | 1004 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 1005 | //! @brief Set the RELOAD field to a new value. |
bogdanm | 82:6473597d706e | 1006 | #define BW_MCM_ETBRL_RELOAD(v) (HW_MCM_ETBRL_WR((HW_MCM_ETBRL_RD() & ~BM_MCM_ETBRL_RELOAD) | BF_MCM_ETBRL_RELOAD(v))) |
bogdanm | 82:6473597d706e | 1007 | #endif |
bogdanm | 82:6473597d706e | 1008 | //@} |
bogdanm | 82:6473597d706e | 1009 | |
bogdanm | 82:6473597d706e | 1010 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 1011 | // HW_MCM_ETBCNT - ETB Counter Value register |
bogdanm | 82:6473597d706e | 1012 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 1013 | |
bogdanm | 82:6473597d706e | 1014 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 1015 | /*! |
bogdanm | 82:6473597d706e | 1016 | * @brief HW_MCM_ETBCNT - ETB Counter Value register (RO) |
bogdanm | 82:6473597d706e | 1017 | * |
bogdanm | 82:6473597d706e | 1018 | * Reset value: 0x00000000U |
bogdanm | 82:6473597d706e | 1019 | */ |
bogdanm | 82:6473597d706e | 1020 | typedef union _hw_mcm_etbcnt |
bogdanm | 82:6473597d706e | 1021 | { |
bogdanm | 82:6473597d706e | 1022 | uint32_t U; |
bogdanm | 82:6473597d706e | 1023 | struct _hw_mcm_etbcnt_bitfields |
bogdanm | 82:6473597d706e | 1024 | { |
bogdanm | 82:6473597d706e | 1025 | uint32_t COUNTER : 11; //!< [10:0] Byte Count Counter Value |
bogdanm | 82:6473597d706e | 1026 | uint32_t RESERVED0 : 21; //!< [31:11] |
bogdanm | 82:6473597d706e | 1027 | } B; |
bogdanm | 82:6473597d706e | 1028 | } hw_mcm_etbcnt_t; |
bogdanm | 82:6473597d706e | 1029 | #endif |
bogdanm | 82:6473597d706e | 1030 | |
bogdanm | 82:6473597d706e | 1031 | /*! |
bogdanm | 82:6473597d706e | 1032 | * @name Constants and macros for entire MCM_ETBCNT register |
bogdanm | 82:6473597d706e | 1033 | */ |
bogdanm | 82:6473597d706e | 1034 | //@{ |
bogdanm | 82:6473597d706e | 1035 | #define HW_MCM_ETBCNT_ADDR (REGS_MCM_BASE + 0x1CU) |
bogdanm | 82:6473597d706e | 1036 | |
bogdanm | 82:6473597d706e | 1037 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 1038 | #define HW_MCM_ETBCNT (*(__I hw_mcm_etbcnt_t *) HW_MCM_ETBCNT_ADDR) |
bogdanm | 82:6473597d706e | 1039 | #define HW_MCM_ETBCNT_RD() (HW_MCM_ETBCNT.U) |
bogdanm | 82:6473597d706e | 1040 | #endif |
bogdanm | 82:6473597d706e | 1041 | //@} |
bogdanm | 82:6473597d706e | 1042 | |
bogdanm | 82:6473597d706e | 1043 | /* |
bogdanm | 82:6473597d706e | 1044 | * Constants & macros for individual MCM_ETBCNT bitfields |
bogdanm | 82:6473597d706e | 1045 | */ |
bogdanm | 82:6473597d706e | 1046 | |
bogdanm | 82:6473597d706e | 1047 | /*! |
bogdanm | 82:6473597d706e | 1048 | * @name Register MCM_ETBCNT, field COUNTER[10:0] (RO) |
bogdanm | 82:6473597d706e | 1049 | * |
bogdanm | 82:6473597d706e | 1050 | * Indicates the current 0-mod-4 value of the counter. |
bogdanm | 82:6473597d706e | 1051 | */ |
bogdanm | 82:6473597d706e | 1052 | //@{ |
bogdanm | 82:6473597d706e | 1053 | #define BP_MCM_ETBCNT_COUNTER (0U) //!< Bit position for MCM_ETBCNT_COUNTER. |
bogdanm | 82:6473597d706e | 1054 | #define BM_MCM_ETBCNT_COUNTER (0x000007FFU) //!< Bit mask for MCM_ETBCNT_COUNTER. |
bogdanm | 82:6473597d706e | 1055 | #define BS_MCM_ETBCNT_COUNTER (11U) //!< Bit field size in bits for MCM_ETBCNT_COUNTER. |
bogdanm | 82:6473597d706e | 1056 | |
bogdanm | 82:6473597d706e | 1057 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 1058 | //! @brief Read current value of the MCM_ETBCNT_COUNTER field. |
bogdanm | 82:6473597d706e | 1059 | #define BR_MCM_ETBCNT_COUNTER (HW_MCM_ETBCNT.B.COUNTER) |
bogdanm | 82:6473597d706e | 1060 | #endif |
bogdanm | 82:6473597d706e | 1061 | //@} |
bogdanm | 82:6473597d706e | 1062 | |
bogdanm | 82:6473597d706e | 1063 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 1064 | // HW_MCM_PID - Process ID register |
bogdanm | 82:6473597d706e | 1065 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 1066 | |
bogdanm | 82:6473597d706e | 1067 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 1068 | /*! |
bogdanm | 82:6473597d706e | 1069 | * @brief HW_MCM_PID - Process ID register (RW) |
bogdanm | 82:6473597d706e | 1070 | * |
bogdanm | 82:6473597d706e | 1071 | * Reset value: 0x00000000U |
bogdanm | 82:6473597d706e | 1072 | * |
bogdanm | 82:6473597d706e | 1073 | * This register drives the M0_PID and M1_PID values in the Memory Protection |
bogdanm | 82:6473597d706e | 1074 | * Unit(MPU). System software loads this register before passing control to a given |
bogdanm | 82:6473597d706e | 1075 | * user mode process. If the PID of the process does not match the value in this |
bogdanm | 82:6473597d706e | 1076 | * register, a bus error occurs. See the MPU chapter for more details. |
bogdanm | 82:6473597d706e | 1077 | */ |
bogdanm | 82:6473597d706e | 1078 | typedef union _hw_mcm_pid |
bogdanm | 82:6473597d706e | 1079 | { |
bogdanm | 82:6473597d706e | 1080 | uint32_t U; |
bogdanm | 82:6473597d706e | 1081 | struct _hw_mcm_pid_bitfields |
bogdanm | 82:6473597d706e | 1082 | { |
bogdanm | 82:6473597d706e | 1083 | uint32_t PID : 8; //!< [7:0] M0_PID And M1_PID For MPU |
bogdanm | 82:6473597d706e | 1084 | uint32_t RESERVED0 : 24; //!< [31:8] |
bogdanm | 82:6473597d706e | 1085 | } B; |
bogdanm | 82:6473597d706e | 1086 | } hw_mcm_pid_t; |
bogdanm | 82:6473597d706e | 1087 | #endif |
bogdanm | 82:6473597d706e | 1088 | |
bogdanm | 82:6473597d706e | 1089 | /*! |
bogdanm | 82:6473597d706e | 1090 | * @name Constants and macros for entire MCM_PID register |
bogdanm | 82:6473597d706e | 1091 | */ |
bogdanm | 82:6473597d706e | 1092 | //@{ |
bogdanm | 82:6473597d706e | 1093 | #define HW_MCM_PID_ADDR (REGS_MCM_BASE + 0x30U) |
bogdanm | 82:6473597d706e | 1094 | |
bogdanm | 82:6473597d706e | 1095 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 1096 | #define HW_MCM_PID (*(__IO hw_mcm_pid_t *) HW_MCM_PID_ADDR) |
bogdanm | 82:6473597d706e | 1097 | #define HW_MCM_PID_RD() (HW_MCM_PID.U) |
bogdanm | 82:6473597d706e | 1098 | #define HW_MCM_PID_WR(v) (HW_MCM_PID.U = (v)) |
bogdanm | 82:6473597d706e | 1099 | #define HW_MCM_PID_SET(v) (HW_MCM_PID_WR(HW_MCM_PID_RD() | (v))) |
bogdanm | 82:6473597d706e | 1100 | #define HW_MCM_PID_CLR(v) (HW_MCM_PID_WR(HW_MCM_PID_RD() & ~(v))) |
bogdanm | 82:6473597d706e | 1101 | #define HW_MCM_PID_TOG(v) (HW_MCM_PID_WR(HW_MCM_PID_RD() ^ (v))) |
bogdanm | 82:6473597d706e | 1102 | #endif |
bogdanm | 82:6473597d706e | 1103 | //@} |
bogdanm | 82:6473597d706e | 1104 | |
bogdanm | 82:6473597d706e | 1105 | /* |
bogdanm | 82:6473597d706e | 1106 | * Constants & macros for individual MCM_PID bitfields |
bogdanm | 82:6473597d706e | 1107 | */ |
bogdanm | 82:6473597d706e | 1108 | |
bogdanm | 82:6473597d706e | 1109 | /*! |
bogdanm | 82:6473597d706e | 1110 | * @name Register MCM_PID, field PID[7:0] (RW) |
bogdanm | 82:6473597d706e | 1111 | * |
bogdanm | 82:6473597d706e | 1112 | * Drives the M0_PID and M1_PID values in the MPU. |
bogdanm | 82:6473597d706e | 1113 | */ |
bogdanm | 82:6473597d706e | 1114 | //@{ |
bogdanm | 82:6473597d706e | 1115 | #define BP_MCM_PID_PID (0U) //!< Bit position for MCM_PID_PID. |
bogdanm | 82:6473597d706e | 1116 | #define BM_MCM_PID_PID (0x000000FFU) //!< Bit mask for MCM_PID_PID. |
bogdanm | 82:6473597d706e | 1117 | #define BS_MCM_PID_PID (8U) //!< Bit field size in bits for MCM_PID_PID. |
bogdanm | 82:6473597d706e | 1118 | |
bogdanm | 82:6473597d706e | 1119 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 1120 | //! @brief Read current value of the MCM_PID_PID field. |
bogdanm | 82:6473597d706e | 1121 | #define BR_MCM_PID_PID (HW_MCM_PID.B.PID) |
bogdanm | 82:6473597d706e | 1122 | #endif |
bogdanm | 82:6473597d706e | 1123 | |
bogdanm | 82:6473597d706e | 1124 | //! @brief Format value for bitfield MCM_PID_PID. |
bogdanm | 82:6473597d706e | 1125 | #define BF_MCM_PID_PID(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_MCM_PID_PID), uint32_t) & BM_MCM_PID_PID) |
bogdanm | 82:6473597d706e | 1126 | |
bogdanm | 82:6473597d706e | 1127 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 1128 | //! @brief Set the PID field to a new value. |
bogdanm | 82:6473597d706e | 1129 | #define BW_MCM_PID_PID(v) (HW_MCM_PID_WR((HW_MCM_PID_RD() & ~BM_MCM_PID_PID) | BF_MCM_PID_PID(v))) |
bogdanm | 82:6473597d706e | 1130 | #endif |
bogdanm | 82:6473597d706e | 1131 | //@} |
bogdanm | 82:6473597d706e | 1132 | |
bogdanm | 82:6473597d706e | 1133 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 1134 | // hw_mcm_t - module struct |
bogdanm | 82:6473597d706e | 1135 | //------------------------------------------------------------------------------------------- |
bogdanm | 82:6473597d706e | 1136 | /*! |
bogdanm | 82:6473597d706e | 1137 | * @brief All MCM module registers. |
bogdanm | 82:6473597d706e | 1138 | */ |
bogdanm | 82:6473597d706e | 1139 | #ifndef __LANGUAGE_ASM__ |
bogdanm | 82:6473597d706e | 1140 | #pragma pack(1) |
bogdanm | 82:6473597d706e | 1141 | typedef struct _hw_mcm |
bogdanm | 82:6473597d706e | 1142 | { |
bogdanm | 82:6473597d706e | 1143 | uint8_t _reserved0[8]; |
bogdanm | 82:6473597d706e | 1144 | __I hw_mcm_plasc_t PLASC; //!< [0x8] Crossbar Switch (AXBS) Slave Configuration |
bogdanm | 82:6473597d706e | 1145 | __I hw_mcm_plamc_t PLAMC; //!< [0xA] Crossbar Switch (AXBS) Master Configuration |
bogdanm | 82:6473597d706e | 1146 | __IO hw_mcm_cr_t CR; //!< [0xC] Control Register |
bogdanm | 82:6473597d706e | 1147 | __IO hw_mcm_isr_t ISR; //!< [0x10] Interrupt Status Register |
bogdanm | 82:6473597d706e | 1148 | __IO hw_mcm_etbcc_t ETBCC; //!< [0x14] ETB Counter Control register |
bogdanm | 82:6473597d706e | 1149 | __IO hw_mcm_etbrl_t ETBRL; //!< [0x18] ETB Reload register |
bogdanm | 82:6473597d706e | 1150 | __I hw_mcm_etbcnt_t ETBCNT; //!< [0x1C] ETB Counter Value register |
bogdanm | 82:6473597d706e | 1151 | uint8_t _reserved1[16]; |
bogdanm | 82:6473597d706e | 1152 | __IO hw_mcm_pid_t PID; //!< [0x30] Process ID register |
bogdanm | 82:6473597d706e | 1153 | } hw_mcm_t; |
bogdanm | 82:6473597d706e | 1154 | #pragma pack() |
bogdanm | 82:6473597d706e | 1155 | |
bogdanm | 82:6473597d706e | 1156 | //! @brief Macro to access all MCM registers. |
bogdanm | 82:6473597d706e | 1157 | //! @return Reference (not a pointer) to the registers struct. To get a pointer to the struct, |
bogdanm | 82:6473597d706e | 1158 | //! use the '&' operator, like <code>&HW_MCM</code>. |
bogdanm | 82:6473597d706e | 1159 | #define HW_MCM (*(hw_mcm_t *) REGS_MCM_BASE) |
bogdanm | 82:6473597d706e | 1160 | #endif |
bogdanm | 82:6473597d706e | 1161 | |
bogdanm | 82:6473597d706e | 1162 | #endif // __HW_MCM_REGISTERS_H__ |
bogdanm | 82:6473597d706e | 1163 | // v22/130726/0.9 |
bogdanm | 82:6473597d706e | 1164 | // EOF |