1 /* 2 ** ################################################################### 3 ** Processors: RV32M1_ri5cy 4 ** RV32M1_ri5cy 5 ** 6 ** Compilers: Keil ARM C/C++ Compiler 7 ** GNU C Compiler 8 ** IAR ANSI C/C++ Compiler for ARM 9 ** MCUXpresso Compiler 10 ** 11 ** Reference manual: RV32M1 Series Reference Manual, Rev. 1 , 8/10/2018 12 ** Version: rev. 1.0, 2018-10-02 13 ** Build: b180926 14 ** 15 ** Abstract: 16 ** CMSIS Peripheral Access Layer for RV32M1_ri5cy 17 ** 18 ** Copyright 1997-2016 Freescale Semiconductor, Inc. 19 ** Copyright 2016-2019 NXP 20 ** 21 ** SPDX-License-Identifier: BSD-3-Clause 22 ** 23 ** http: www.nxp.com 24 ** mail: support@nxp.com 25 ** 26 ** Revisions: 27 ** - rev. 1.0 (2018-10-02) 28 ** Initial version. 29 ** 30 ** ################################################################### 31 */ 32 33 /*! 34 * @file RV32M1_ri5cy.h 35 * @version 1.0 36 * @date 2018-10-02 37 * @brief CMSIS Peripheral Access Layer for RV32M1_ri5cy 38 * 39 * CMSIS Peripheral Access Layer for RV32M1_ri5cy 40 */ 41 42 #ifndef _RV32M1_RI5CY_H_ 43 #define _RV32M1_RI5CY_H_ /**< Symbol preventing repeated inclusion */ 44 45 /** Memory map major version (memory maps with equal major version number are 46 * compatible) */ 47 #define MCU_MEM_MAP_VERSION 0x0100U 48 /** Memory map minor version */ 49 #define MCU_MEM_MAP_VERSION_MINOR 0x0000U 50 51 52 /* ---------------------------------------------------------------------------- 53 -- Interrupt vector numbers 54 ---------------------------------------------------------------------------- */ 55 56 /*! 57 * @addtogroup Interrupt_vector_numbers Interrupt vector numbers 58 * @{ 59 */ 60 61 /** Interrupt Number Definitions */ 62 #define NUMBER_OF_INT_VECTORS 82 /**< Number of interrupts in the Vector table */ 63 64 typedef enum IRQn { 65 /* Auxiliary constants */ 66 NotAvail_IRQn = -128, /**< Not available device specific interrupt */ 67 68 /* Device specific interrupts */ 69 DMA0_0_4_8_12_IRQn = 0, /**< DMA0 channel 0/4/8/12 transfer complete */ 70 DMA0_1_5_9_13_IRQn = 1, /**< DMA0 channel 1/5/9/13 transfer complete */ 71 DMA0_2_6_10_14_IRQn = 2, /**< DMA0 channel 2/6/10/14 transfer complete */ 72 DMA0_3_7_11_15_IRQn = 3, /**< DMA0 channel 3/7/11/15 transfer complete */ 73 DMA0_Error_IRQn = 4, /**< DMA0 channel 0-15 error interrupt */ 74 CMC0_IRQn = 5, /**< Core Mode Controller 0 */ 75 MUA_IRQn = 6, /**< MU Side A interrupt */ 76 USB0_IRQn = 7, /**< USB0 interrupt */ 77 USDHC0_IRQn = 8, /**< SDHC0 interrupt */ 78 I2S0_IRQn = 9, /**< I2S0 interrupt */ 79 FLEXIO0_IRQn = 10, /**< FLEXIO0 */ 80 EMVSIM0_IRQn = 11, /**< EMVSIM0 interrupt */ 81 LPIT0_IRQn = 12, /**< LPIT0 interrupt */ 82 LPSPI0_IRQn = 13, /**< LPSPI0 single interrupt vector for all sources */ 83 LPSPI1_IRQn = 14, /**< LPSPI1 single interrupt vector for all sources */ 84 LPI2C0_IRQn = 15, /**< LPI2C0 interrupt */ 85 LPI2C1_IRQn = 16, /**< LPI2C1 interrupt */ 86 LPUART0_IRQn = 17, /**< LPUART0 status and error */ 87 PORTA_IRQn = 18, /**< PORTA Pin detect */ 88 TPM0_IRQn = 19, /**< TPM0 single interrupt vector for all sources */ 89 ADC0_IRQn = 21, /**< LPADC0 interrupt */ 90 LPDAC0_IRQn = 20, /**< DAC0 interrupt */ 91 LPCMP0_IRQn = 22, /**< LPCMP0 interrupt */ 92 RTC_IRQn = 23, /**< RTC Alarm interrupt */ 93 INTMUX0_0_IRQn = 24, /**< INTMUX0 channel0 interrupt */ 94 INTMUX0_1_IRQn = 25, /**< INTMUX0 channel1 interrupt */ 95 INTMUX0_2_IRQn = 26, /**< INTMUX0 channel2 interrupt */ 96 INTMUX0_3_IRQn = 27, /**< INTMUX0 channel3 interrupt */ 97 INTMUX0_4_IRQn = 28, /**< INTMUX0 channel4 interrupt */ 98 INTMUX0_5_IRQn = 29, /**< INTMUX0 channel5 interrupt */ 99 INTMUX0_6_IRQn = 30, /**< INTMUX0 channel6 interrupt */ 100 INTMUX0_7_IRQn = 31, /**< INTMUX0 channel7 interrupt */ 101 EWM_IRQn = 32, /**< EWM interrupt */ 102 FTFE_Command_Complete_IRQn = 33, /**< FTFE interrupt */ 103 FTFE_Read_Collision_IRQn = 34, /**< FTFE interrupt */ 104 LLWU0_IRQn = 35, /**< Low leakage wakeup 0 */ 105 SPM_IRQn = 36, /**< SPM */ 106 WDOG0_IRQn = 37, /**< WDOG0 interrupt */ 107 SCG_IRQn = 38, /**< SCG interrupt */ 108 LPTMR0_IRQn = 39, /**< LPTMR0 interrupt */ 109 LPTMR1_IRQn = 40, /**< LPTMR1 interrupt */ 110 TPM1_IRQn = 41, /**< TPM1 single interrupt vector for all sources */ 111 TPM2_IRQn = 42, /**< TPM2 single interrupt vector for all sources */ 112 LPI2C2_IRQn = 43, /**< LPI2C2 interrupt */ 113 LPSPI2_IRQn = 44, /**< LPSPI2 single interrupt vector for all sources */ 114 LPUART1_IRQn = 45, /**< LPUART1 status and error */ 115 LPUART2_IRQn = 46, /**< LPUART2 status and error */ 116 PORTB_IRQn = 47, /**< PORTB Pin detect */ 117 PORTC_IRQn = 48, /**< PORTC Pin detect */ 118 PORTD_IRQn = 49, /**< PORTD Pin detect */ 119 CAU3_Task_Complete_IRQn = 50, /**< Cryptographic Acceleration Unit version 3 Task Complete */ 120 CAU3_Security_Violation_IRQn = 51, /**< Cryptographic Acceleration Unit version 3 Security Violation */ 121 TRNG_IRQn = 52, /**< TRNG interrupt */ 122 LPIT1_IRQn = 53, /**< LPIT1 interrupt */ 123 LPTMR2_IRQn = 54, /**< LPTMR2 interrupt */ 124 TPM3_IRQn = 55, /**< TPM3 single interrupt vector for all sources */ 125 LPI2C3_IRQn = 56, /**< LPI2C3 interrupt */ 126 LPSPI3_IRQn = 57, /**< LPSPI3 single interrupt vector for all sources */ 127 LPUART3_IRQn = 58, /**< LPUART3 status and error */ 128 PORTE_IRQn = 59, /**< PORTE Pin detect */ 129 LPCMP1_IRQn = 60, /**< LPCMP1 interrupt */ 130 RF0_0_IRQn = 61, /**< RF0 interrupt 0 */ 131 RF0_1_IRQn = 62, /**< RF0 interrupt 1 */ 132 } IRQn_Type; 133 134 /*! 135 * @} 136 */ /* end of group Interrupt_vector_numbers */ 137 138 139 /* ---------------------------------------------------------------------------- 140 -- Cortex M4 Core Configuration 141 ---------------------------------------------------------------------------- */ 142 143 /*! 144 * @addtogroup Cortex_Core_Configuration Cortex M4 Core Configuration 145 * @{ 146 */ 147 148 #define __MPU_PRESENT 1 /**< Defines if an MPU is present or not */ 149 #define __NVIC_PRIO_BITS 3 /**< Number of priority bits implemented in the NVIC */ 150 #define __Vendor_SysTickConfig 0 /**< Vendor specific implementation of SysTickConfig is defined */ 151 #define __FPU_PRESENT 1 /**< Defines if an FPU is present or not */ 152 153 #include "core_riscv32.h" /* Core Peripheral Access Layer */ 154 #include "system_RV32M1_ri5cy.h" /* Device specific configuration file */ 155 156 /*! 157 * @} 158 */ /* end of group Cortex_Core_Configuration */ 159 160 161 /* ---------------------------------------------------------------------------- 162 -- Mapping Information 163 ---------------------------------------------------------------------------- */ 164 165 /*! 166 * @addtogroup Mapping_Information Mapping Information 167 * @{ 168 */ 169 170 /** Mapping Information */ 171 /*! 172 * @addtogroup edma_request 173 * @{ */ 174 175 /******************************************************************************* 176 * Definitions 177 *******************************************************************************/ 178 179 /*! 180 * @brief Enumeration for the DMA hardware request 181 * 182 * Defines the enumeration for the DMA hardware request collections. 183 */ 184 typedef enum _dma_request_source 185 { 186 kDmaRequestMux0LLWU0 = 0|0x100U, /**< LLWU0 Wakeup */ 187 kDmaRequestMux0LPTMR0 = 1|0x100U, /**< LPTMR0 Trigger */ 188 kDmaRequestMux0LPTMR1 = 2|0x100U, /**< LPTMR1 Trigger */ 189 kDmaRequestMux0TPM0Channel0 = 3|0x100U, /**< TPM0 Channel 0 */ 190 kDmaRequestMux0TPM0Channel1 = 4|0x100U, /**< TPM0 Channel 1 */ 191 kDmaRequestMux0TPM0Channel2 = 5|0x100U, /**< TPM0 Channel 2 */ 192 kDmaRequestMux0TPM0Channel3 = 6|0x100U, /**< TPM0 Channel 3 */ 193 kDmaRequestMux0TPM0Channel4 = 7|0x100U, /**< TPM0 Channel 4 */ 194 kDmaRequestMux0TPM0Channel5 = 8|0x100U, /**< TPM0 Channel 5 */ 195 kDmaRequestMux0TPM0Overflow = 9|0x100U, /**< TPM0 Overflow */ 196 kDmaRequestMux0TPM1Channel0 = 10|0x100U, /**< TPM1 Channel 0 */ 197 kDmaRequestMux0TPM1Channel1 = 11|0x100U, /**< TPM1 Channel 1 */ 198 kDmaRequestMux0TPM1Overflow = 12|0x100U, /**< TPM1 Overflow */ 199 kDmaRequestMux0TPM2Channel0 = 13|0x100U, /**< TPM2 Channel 0 */ 200 kDmaRequestMux0TPM2Channel1 = 14|0x100U, /**< TPM2 Channel 1 */ 201 kDmaRequestMux0TPM2Channel2 = 15|0x100U, /**< TPM2 Channel 2 */ 202 kDmaRequestMux0TPM2Channel3 = 16|0x100U, /**< TPM2 Channel 3 */ 203 kDmaRequestMux0TPM2Channel4 = 17|0x100U, /**< TPM2 Channel 4 */ 204 kDmaRequestMux0TPM2Channel5 = 18|0x100U, /**< TPM2 Channel 5 */ 205 kDmaRequestMux0TPM2Overflow = 19|0x100U, /**< TPM2 Overflow */ 206 kDmaRequestMux0EMVSIM0Rx = 20|0x100U, /**< EMVSIM0 Receive */ 207 kDmaRequestMux0EMVSIM0Tx = 21|0x100U, /**< EMVSIM0 Transmit */ 208 kDmaRequestMux0FLEXIO0Channel0 = 22|0x100U, /**< FLEXIO0 Channel 0 */ 209 kDmaRequestMux0FLEXIO0Channel1 = 23|0x100U, /**< FLEXIO0 Channel 1 */ 210 kDmaRequestMux0FLEXIO0Channel2 = 24|0x100U, /**< FLEXIO0 Channel 2 */ 211 kDmaRequestMux0FLEXIO0Channel3 = 25|0x100U, /**< FLEXIO0 Channel 3 */ 212 kDmaRequestMux0FLEXIO0Channel4 = 26|0x100U, /**< FLEXIO0 Channel 4 */ 213 kDmaRequestMux0FLEXIO0Channel5 = 27|0x100U, /**< FLEXIO0 Channel 5 */ 214 kDmaRequestMux0FLEXIO0Channel6 = 28|0x100U, /**< FLEXIO0 Channel 6 */ 215 kDmaRequestMux0FLEXIO0Channel7 = 29|0x100U, /**< FLEXIO0 Channel 7 */ 216 kDmaRequestMux0LPI2C0Rx = 30|0x100U, /**< LPI2C0 Receive */ 217 kDmaRequestMux0LPI2C0Tx = 31|0x100U, /**< LPI2C0 Transmit */ 218 kDmaRequestMux0LPI2C1Rx = 32|0x100U, /**< LPI2C1 Receive */ 219 kDmaRequestMux0LPI2C1Tx = 33|0x100U, /**< LPI2C1 Transmit */ 220 kDmaRequestMux0LPI2C2Rx = 34|0x100U, /**< LPI2C2 Receive */ 221 kDmaRequestMux0LPI2C2Tx = 35|0x100U, /**< LPI2C2 Transmit */ 222 kDmaRequestMux0I2S0Rx = 36|0x100U, /**< I2S0 Receive */ 223 kDmaRequestMux0I2S0Tx = 37|0x100U, /**< I2S0 Transmit */ 224 kDmaRequestMux0LPSPI0Rx = 38|0x100U, /**< LPSPI0 Receive */ 225 kDmaRequestMux0LPSPI0Tx = 39|0x100U, /**< LPSPI0 Transmit */ 226 kDmaRequestMux0LPSPI1Rx = 40|0x100U, /**< LPSPI1 Receive */ 227 kDmaRequestMux0LPSPI1Tx = 41|0x100U, /**< LPSPI1 Transmit */ 228 kDmaRequestMux0LPSPI2Rx = 42|0x100U, /**< LPSPI2 Receive */ 229 kDmaRequestMux0LPSPI2Tx = 43|0x100U, /**< LPSPI2 Transmit */ 230 kDmaRequestMux0LPUART0Rx = 44|0x100U, /**< LPUART0 Receive */ 231 kDmaRequestMux0LPUART0Tx = 45|0x100U, /**< LPUART0 Transmit */ 232 kDmaRequestMux0LPUART1Rx = 46|0x100U, /**< LPUART1 Receive */ 233 kDmaRequestMux0LPUART1Tx = 47|0x100U, /**< LPUART1 Transmit */ 234 kDmaRequestMux0LPUART2Rx = 48|0x100U, /**< LPUART2 Receive */ 235 kDmaRequestMux0LPUART2Tx = 49|0x100U, /**< LPUART2 Transmit */ 236 kDmaRequestMux0PORTA = 50|0x100U, /**< PORTA Pin Request */ 237 kDmaRequestMux0PORTB = 51|0x100U, /**< PORTB Pin Request */ 238 kDmaRequestMux0PORTC = 52|0x100U, /**< PORTC Pin Request */ 239 kDmaRequestMux0PORTD = 53|0x100U, /**< PORTD Pin Request */ 240 kDmaRequestMux0LPADC0 = 54|0x100U, /**< LPADC0 Conversion Complete */ 241 kDmaRequestMux0LPCMP0 = 55|0x100U, /**< LPCMP0 Comparator Trigger */ 242 kDmaRequestMux0DAC0 = 56|0x100U, /**< DAC0 Conversion Complete */ 243 kDmaRequestMux0CAUv3 = 57|0x100U, /**< CAUv3 Data Request */ 244 kDmaRequestMux0LPTMR2 = 58|0x100U, /**< LPTMR2 Trigger */ 245 kDmaRequestMux0LPSPI3Rx = 59|0x100U, /**< LPSPI3 Receive */ 246 kDmaRequestMux0LPSPI3Tx = 60|0x100U, /**< LPSPI3 Transmit */ 247 kDmaRequestMux0LPUART3Rx = 61|0x100U, /**< LPUART3 Receive */ 248 kDmaRequestMux0LPUART3Tx = 62|0x100U, /**< LPUART3 Transmit */ 249 kDmaRequestMux0PORTE = 63|0x100U, /**< PORTE Pin Request */ 250 } dma_request_source_t; 251 252 /* @} */ 253 254 /*! 255 * @addtogroup trgmux_source 256 * @{ */ 257 258 /******************************************************************************* 259 * Definitions 260 *******************************************************************************/ 261 262 /*! 263 * @brief Enumeration for the TRGMUX source 264 * 265 * Defines the enumeration for the TRGMUX source collections. 266 */ 267 typedef enum _trgmux_source 268 { 269 kTRGMUX_Source0Disabled = 0U, /**< Trigger function is disabled */ 270 kTRGMUX_Source1Disabled = 0U, /**< Trigger function is disabled */ 271 kTRGMUX_Source0Llwu0 = 1U, /**< LLWU0 trigger is selected */ 272 kTRGMUX_Source1Llwu1 = 1U, /**< LLWU1 trigger is selected */ 273 kTRGMUX_Source0Lpit0Channel0 = 2U, /**< LPIT0 Channel 0 is selected */ 274 kTRGMUX_Source1Lpit1Channel0 = 2U, /**< LPIT1 Channel 0 is selected */ 275 kTRGMUX_Source0Lpit0Channel1 = 3U, /**< LPIT0 Channel 1 is selected */ 276 kTRGMUX_Source1Lpit1Channel1 = 3U, /**< LPIT1 Channel 1 is selected */ 277 kTRGMUX_Source0Lpit0Channel2 = 4U, /**< LPIT0 Channel 2 is selected */ 278 kTRGMUX_Source1Lpit1Channel2 = 4U, /**< LPIT1 Channel 2 is selected */ 279 kTRGMUX_Source0Lpit0Channel3 = 5U, /**< LPIT0 Channel 3 is selected */ 280 kTRGMUX_Source1Lpit1Channel3 = 5U, /**< LPIT1 Channel 3 is selected */ 281 kTRGMUX_Source0RtcAlarm = 6U, /**< RTC Alarm is selected */ 282 kTRGMUX_Source1Lptmr2Trigger = 6U, /**< LPTMR2 Trigger is selected */ 283 kTRGMUX_Source0RtcSeconds = 7U, /**< RTC Seconds is selected */ 284 kTRGMUX_Source1Tpm3ChannelEven = 7U, /**< TPM3 Channel Even is selected */ 285 kTRGMUX_Source0Lptmr0Trigger = 8U, /**< LPTMR0 Trigger is selected */ 286 kTRGMUX_Source1Tpm3ChannelOdd = 8U, /**< TPM3 Channel Odd is selected */ 287 kTRGMUX_Source0Lptmr1Trigger = 9U, /**< LPTMR1 Trigger is selected */ 288 kTRGMUX_Source1Tpm3Overflow = 9U, /**< TPM3 Overflow is selected */ 289 kTRGMUX_Source0Tpm0ChannelEven = 10U, /**< TPM0 Channel Even is selected */ 290 kTRGMUX_Source1Lpi2c3MasterStop = 10U, /**< LPI2C3 Master Stop is selected */ 291 kTRGMUX_Source0Tpm0ChannelOdd = 11U, /**< TPM0 Channel Odd is selected */ 292 kTRGMUX_Source1Lpi2c3SlaveStop = 11U, /**< LPI2C3 Slave Stop is selected */ 293 kTRGMUX_Source0Tpm0Overflow = 12U, /**< TPM0 Overflow is selected */ 294 kTRGMUX_Source1Lpspi3Frame = 12U, /**< LPSPI3 Frame is selected */ 295 kTRGMUX_Source0Tpm1ChannelEven = 13U, /**< TPM1 Channel Even is selected */ 296 kTRGMUX_Source1Lpspi3RX = 13U, /**< LPSPI3 Rx is selected */ 297 kTRGMUX_Source0Tpm1ChannelOdd = 14U, /**< TPM1 Channel Odd is selected */ 298 kTRGMUX_Source1Lpuart3RxData = 14U, /**< LPUART3 Rx Data is selected */ 299 kTRGMUX_Source0Tpm1Overflow = 15U, /**< TPM1 Overflow is selected */ 300 kTRGMUX_Source1Lpuart3RxIdle = 15U, /**< LPUART3 Rx Idle is selected */ 301 kTRGMUX_Source0Tpm2ChannelEven = 16U, /**< TPM2 Channel Even is selected */ 302 kTRGMUX_Source1Lpuart3TxData = 16U, /**< LPUART3 Tx Data is selected */ 303 kTRGMUX_Source0Tpm2ChannelOdd = 17U, /**< TPM2 Channel Odd is selected */ 304 kTRGMUX_Source1PortEPinTrigger = 17U, /**< PORTE Pin Trigger is selected */ 305 kTRGMUX_Source0Tpm2Overflow = 18U, /**< TPM2 Overflow is selected */ 306 kTRGMUX_Source1Lpcmp1Output = 18U, /**< LPCMP1 Output is selected */ 307 kTRGMUX_Source0FlexIO0Timer0 = 19U, /**< FlexIO0 Timer 0 is selected */ 308 kTRGMUX_Source1RtcAlarm = 19U, /**< RTC Alarm is selected */ 309 kTRGMUX_Source0FlexIO0Timer1 = 20U, /**< FlexIO0 Timer 1 is selected */ 310 kTRGMUX_Source1RtcSeconds = 20U, /**< RTC Seconds is selected */ 311 kTRGMUX_Source0FlexIO0Timer2 = 21U, /**< FlexIO0 Timer 2 is selected */ 312 kTRGMUX_Source1Lptmr0Trigger = 21U, /**< LPTMR0 Trigger is selected */ 313 kTRGMUX_Source0FlexIO0Timer3 = 22U, /**< FlexIO0 Timer 3 is selected */ 314 kTRGMUX_Source1Lptmr1Trigger = 22U, /**< LPTMR1 Trigger is selected */ 315 kTRGMUX_Source0FlexIO0Timer4 = 23U, /**< FLexIO0 Timer 4 is selected */ 316 kTRGMUX_Source1Tpm1ChannelEven = 23U, /**< TPM1 Channel Even is selected */ 317 kTRGMUX_Source0FlexIO0Timer5 = 24U, /**< FlexIO0 Timer 5 is selected */ 318 kTRGMUX_Source1Tpm1ChannelOdd = 24U, /**< TPM1 Channel Odd is selected */ 319 kTRGMUX_Source0FlexIO0Timer6 = 25U, /**< FlexIO0 Timer 6 is selected */ 320 kTRGMUX_Source1Tpm1Overflow = 25U, /**< TPM1 Overflow is selected */ 321 kTRGMUX_Source0FlexIO0Timer7 = 26U, /**< FlexIO0 Timer 7 is selected */ 322 kTRGMUX_Source1Tpm2ChannelEven = 26U, /**< TPM2 Channel Even is selected */ 323 kTRGMUX_Source0Lpi2c0MasterStop = 27U, /**< LPI2C0 Master Stop is selected */ 324 kTRGMUX_Source1Tpm2ChannelOdd = 27U, /**< TPM2 Channel Odd is selected */ 325 kTRGMUX_Source0Lpi2c0SlaveStop = 28U, /**< LPI2C0 Slave Stop is selected */ 326 kTRGMUX_Source1Tpm2Overflow = 28U, /**< TPM2 Overflow is selected */ 327 kTRGMUX_Source0Lpi2c1MasterStop = 29U, /**< LPI2C1 Master Stop is selected */ 328 kTRGMUX_Source1FlexIO0Timer0 = 29U, /**< FlexIO0 Timer 0 is selected */ 329 kTRGMUX_Source0Lpi2c1SlaveStop = 30U, /**< LPI2C1 Slave Stop is selected */ 330 kTRGMUX_Source1FlexIO0Timer1 = 30U, /**< FlexIO0 Timer 1 is selected */ 331 kTRGMUX_Source0Lpi2c2MasterStop = 31U, /**< LPI2C2 Master Stop is selected */ 332 kTRGMUX_Source1FlexIO0Timer2 = 31U, /**< FlexIO0 Timer 2 is selected */ 333 kTRGMUX_Source0Lpi2c2SlaveStop = 32U, /**< LPI2C2 Slave Stop is selected */ 334 kTRGMUX_Source1FlexIO0Timer3 = 32U, /**< FlexIO0 Timer 3 is selected */ 335 kTRGMUX_Source0Sai0Rx = 33U, /**< SAI0 Rx Frame Sync is selected */ 336 kTRGMUX_Source1FlexIO0Timer4 = 33U, /**< FLexIO0 Timer 4 is selected */ 337 kTRGMUX_Source0Sai0Tx = 34U, /**< SAI0 Tx Frame Sync is selected */ 338 kTRGMUX_Source1FlexIO0Timer5 = 34U, /**< FlexIO0 Timer 5 is selected */ 339 kTRGMUX_Source0Lpspi0Frame = 35U, /**< LPSPI0 Frame is selected */ 340 kTRGMUX_Source1FlexIO0Timer6 = 35U, /**< FlexIO0 Timer 6 is selected */ 341 kTRGMUX_Source0Lpspi0Rx = 36U, /**< LPSPI0 Rx is selected */ 342 kTRGMUX_Source1FlexIO0Timer7 = 36U, /**< FlexIO0 Timer 7 is selected */ 343 kTRGMUX_Source0Lpspi1Frame = 37U, /**< LPSPI1 Frame is selected */ 344 kTRGMUX_Source1Lpi2c0MasterStop = 37U, /**< LPI2C0 Master Stop is selected */ 345 kTRGMUX_Source0Lpspi1Rx = 38U, /**< LPSPI1 Rx is selected */ 346 kTRGMUX_Source1Lpi2c0SlaveStop = 38U, /**< LPI2C0 Slave Stop is selected */ 347 kTRGMUX_Source0Lpspi2Frame = 39U, /**< LPSPI2 Frame is selected */ 348 kTRGMUX_Source1Lpi2c1MasterStop = 39U, /**< LPI2C1 Master Stop is selected */ 349 kTRGMUX_Source0Lpspi2RX = 40U, /**< LPSPI2 Rx is selected */ 350 kTRGMUX_Source1Lpi2c1SlaveStop = 40U, /**< LPI2C1 Slave Stop is selected */ 351 kTRGMUX_Source0Lpuart0RxData = 41U, /**< LPUART0 Rx Data is selected */ 352 kTRGMUX_Source1Lpi2c2MasterStop = 41U, /**< LPI2C2 Master Stop is selected */ 353 kTRGMUX_Source0Lpuart0RxIdle = 42U, /**< LPUART0 Rx Idle is selected */ 354 kTRGMUX_Source1Lpi2c2SlaveStop = 42U, /**< LPI2C2 Slave Stop is selected */ 355 kTRGMUX_Source0Lpuart0TxData = 43U, /**< LPUART0 Tx Data is selected */ 356 kTRGMUX_Source1Sai0Rx = 43U, /**< SAI0 Rx Frame Sync is selected */ 357 kTRGMUX_Source0Lpuart1RxData = 44U, /**< LPUART1 Rx Data is selected */ 358 kTRGMUX_Source1Sai0Tx = 44U, /**< SAI0 Tx Frame Sync is selected */ 359 kTRGMUX_Source0Lpuart1RxIdle = 45U, /**< LPUART1 Rx Idle is selected */ 360 kTRGMUX_Source1Lpspi0Frame = 45U, /**< LPSPI0 Frame is selected */ 361 kTRGMUX_Source0Lpuart1TxData = 46U, /**< LPUART1 TX Data is selected */ 362 kTRGMUX_Source1Lpspi0Rx = 46U, /**< LPSPI0 Rx is selected */ 363 kTRGMUX_Source0Lpuart2RxData = 47U, /**< LPUART2 RX Data is selected */ 364 kTRGMUX_Source1Lpspi1Frame = 47U, /**< LPSPI1 Frame is selected */ 365 kTRGMUX_Source0Lpuart2RxIdle = 48U, /**< LPUART2 RX Idle is selected */ 366 kTRGMUX_Source1Lpspi1Rx = 48U, /**< LPSPI1 Rx is selected */ 367 kTRGMUX_Source0Lpuart2TxData = 49U, /**< LPUART2 TX Data is selected */ 368 kTRGMUX_Source1Lpspi2Frame = 49U, /**< LPSPI2 Frame is selected */ 369 kTRGMUX_Source0Usb0Frame = 50U, /**< USB0 Start of Frame is selected */ 370 kTRGMUX_Source1Lpspi2RX = 50U, /**< LPSPI2 Rx is selected */ 371 kTRGMUX_Source0PortAPinTrigger = 51U, /**< PORTA Pin Trigger is selected */ 372 kTRGMUX_Source1Lpuart0RxData = 51U, /**< LPUART0 Rx Data is selected */ 373 kTRGMUX_Source0PortBPinTrigger = 52U, /**< PORTB Pin Trigger is selected */ 374 kTRGMUX_Source1Lpuart0RxIdle = 52U, /**< LPUART0 Rx Idle is selected */ 375 kTRGMUX_Source0PortCPinTrigger = 53U, /**< PORTC Pin Trigger is selected */ 376 kTRGMUX_Source1Lpuart0TxData = 53U, /**< LPUART0 Tx Data is selected */ 377 kTRGMUX_Source0PortDPinTrigger = 54U, /**< PORTD Pin Trigger is selected */ 378 kTRGMUX_Source1Lpuart1RxData = 54U, /**< LPUART1 Rx Data is selected */ 379 kTRGMUX_Source0Lpcmp0Output = 55U, /**< LPCMP0 Output is selected */ 380 kTRGMUX_Source1Lpuart1RxIdle = 55U, /**< LPUART1 Rx Idle is selected */ 381 kTRGMUX_Source0Lpi2c3MasterStop = 56U, /**< LPI2C3 Master Stop is selected */ 382 kTRGMUX_Source1Lpuart1TxData = 56U, /**< LPUART1 TX Data is selected */ 383 kTRGMUX_Source0Lpi2c3SlaveStop = 57U, /**< LPI2C3 Slave Stop is selected */ 384 kTRGMUX_Source1Lpuart2RxData = 57U, /**< LPUART2 RX Data is selected */ 385 kTRGMUX_Source0Lpspi3Frame = 58U, /**< LPSPI3 Frame is selected */ 386 kTRGMUX_Source1Lpuart2RxIdle = 58U, /**< LPUART2 RX Idle is selected */ 387 kTRGMUX_Source0Lpspi3Rx = 59U, /**< LPSPI3 Rx Data is selected */ 388 kTRGMUX_Source1Lpuart2TxData = 59U, /**< LPUART2 TX Data is selected */ 389 kTRGMUX_Source0Lpuart3RxData = 60U, /**< LPUART3 Rx Data is selected */ 390 kTRGMUX_Source1PortAPinTrigger = 60U, /**< PORTA Pin Trigger is selected */ 391 kTRGMUX_Source0Lpuart3RxIdle = 61U, /**< LPUART3 Rx Idle is selected */ 392 kTRGMUX_Source1PortBPinTrigger = 61U, /**< PORTB Pin Trigger is selected */ 393 kTRGMUX_Source0Lpuart3TxData = 62U, /**< LPUART3 Tx Data is selected */ 394 kTRGMUX_Source1PortCPinTrigger = 62U, /**< PORTC Pin Trigger is selected */ 395 kTRGMUX_Source0PortEPinTrigger = 63U, /**< PORTE Pin Trigger is selected */ 396 kTRGMUX_Source1PortDPinTrigger = 63U, /**< PORTD Pin Trigger is selected */ 397 } trgmux_source_t; 398 399 /* @} */ 400 401 /*! 402 * @brief Enumeration for the TRGMUX device 403 * 404 * Defines the enumeration for the TRGMUX device collections. 405 */ 406 typedef enum _trgmux_device 407 { 408 kTRGMUX_Trgmux0Dmamux0 = 0U, /**< DMAMUX0 device trigger input */ 409 kTRGMUX_Trgmux1Dmamux1 = 0U, /**< DMAMUX1 device trigger input */ 410 kTRGMUX_Trgmux0Lpit0 = 1U, /**< LPIT0 device trigger input */ 411 kTRGMUX_Trgmux1Lpit1 = 1U, /**< LPIT1 device trigger input */ 412 kTRGMUX_Trgmux0Tpm0 = 2U, /**< TPM0 device trigger input */ 413 kTRGMUX_Trgmux1Tpm3 = 2U, /**< TPM3 device trigger input */ 414 kTRGMUX_Trgmux0Tpm1 = 3U, /**< TPM1 device trigger input */ 415 kTRGMUX_Trgmux1Lpi2c3 = 3U, /**< LPI2C3 device trigger input */ 416 kTRGMUX_Trgmux0Tpm2 = 4U, /**< TPM2 device trigger input */ 417 kTRGMUX_Trgmux1Lpspi3 = 4U, /**< LPSPI3 device trigger input */ 418 kTRGMUX_Trgmux0Flexio0 = 5U, /**< FLEXIO0 device trigger input */ 419 kTRGMUX_Trgmux1Lpuart3 = 5U, /**< LPUART3 device trigger input */ 420 kTRGMUX_Trgmux0Lpi2c0 = 6U, /**< LPI2C0 device trigger input */ 421 kTRGMUX_Trgmux1Lpcmp1 = 6U, /**< LPCMP1 device trigger input */ 422 kTRGMUX_Trgmux0Lpi2c1 = 7U, /**< LPI2C1 device trigger input */ 423 kTRGMUX_Trgmux1Dmamux0 = 7U, /**< DMAMUX0 device trigger input */ 424 kTRGMUX_Trgmux0Lpi2c2 = 8U, /**< LPI2C2 device trigger input */ 425 kTRGMUX_Trgmux1Lpit0 = 8U, /**< LPIT0 device trigger input */ 426 kTRGMUX_Trgmux0Lpspi0 = 9U, /**< LPSPI0 device trigger input */ 427 kTRGMUX_Trgmux1Tpm0 = 9U, /**< TPM0 device trigger input */ 428 kTRGMUX_Trgmux0Lpspi1 = 10U, /**< LPSPI1 device trigger input */ 429 kTRGMUX_Trgmux1Tpm1 = 10U, /**< TPM1 device trigger input */ 430 kTRGMUX_Trgmux0Lpspi2 = 11U, /**< LPSPI2 device trigger input */ 431 kTRGMUX_Trgmux1Tpm2 = 11U, /**< TPM2 device trigger input */ 432 kTRGMUX_Trgmux0Lpuart0 = 12U, /**< LPUART0 device trigger input */ 433 kTRGMUX_Trgmux1Flexio0 = 12U, /**< FLEXIO0 device trigger input */ 434 kTRGMUX_Trgmux0Lpuart1 = 13U, /**< LPUART1 device trigger input */ 435 kTRGMUX_Trgmux1Lpi2c0 = 13U, /**< LPI2C0 device trigger input */ 436 kTRGMUX_Trgmux0Lpuart2 = 14U, /**< LPUART2 device trigger input */ 437 kTRGMUX_Trgmux1Lpi2c1 = 14U, /**< LPI2C1 device trigger input */ 438 kTRGMUX_Trgmux0Adc0 = 15U, /**< ADC0 device trigger input */ 439 kTRGMUX_Trgmux1Lpi2c2 = 15U, /**< LPI2C2 device trigger input */ 440 kTRGMUX_Trgmux0Lpcmp0 = 16U, /**< LPCMP0 device trigger input */ 441 kTRGMUX_Trgmux1Lpspi0 = 16U, /**< LPSPI0 device trigger input */ 442 kTRGMUX_Trgmux0Dac0 = 17U, /**< DAC0 device trigger input */ 443 kTRGMUX_Trgmux1Lpspi1 = 17U, /**< LPSPI1 device trigger input */ 444 kTRGMUX_Trgmux0Dmamux1 = 18U, /**< DMAMUX1 device trigger input */ 445 kTRGMUX_Trgmux1Lpspi2 = 18U, /**< LPSPI2 device trigger input */ 446 kTRGMUX_Trgmux0Lpit1 = 19U, /**< LPIT1 device trigger input */ 447 kTRGMUX_Trgmux1Lpuart0 = 19U, /**< LPUART0 device trigger input */ 448 kTRGMUX_Trgmux0Tpm3 = 20U, /**< TPM3 device trigger input */ 449 kTRGMUX_Trgmux1Lpuart1 = 20U, /**< LPUART1 device trigger input */ 450 kTRGMUX_Trgmux0Lpi2c3 = 21U, /**< LPI2C3 device trigger input */ 451 kTRGMUX_Trgmux1Lpuart2 = 21U, /**< LPUART2 device trigger input */ 452 kTRGMUX_Trgmux0Lpspi3 = 22U, /**< LPSPI3 device trigger input */ 453 kTRGMUX_Trgmux1Adc0 = 22U, /**< ADC0 device trigger input */ 454 kTRGMUX_Trgmux0Lpuart3 = 23U, /**< LPUART3 device trigger input */ 455 kTRGMUX_Trgmux1Lpcmp0 = 23U, /**< LPCMP0 device trigger input */ 456 kTRGMUX_Trgmux0Lpcmp1 = 24U, /**< LPCMP1 device trigger input */ 457 kTRGMUX_Trgmux1Lpdac0 = 24U, /**< LPDAC0 device trigger input */ 458 } trgmux_device_t; 459 460 /* @} */ 461 462 /*! 463 * @addtogroup xrdc_mapping 464 * @{ 465 */ 466 467 /******************************************************************************* 468 * Definitions 469 ******************************************************************************/ 470 471 /*! 472 * @brief Structure for the XRDC mapping 473 * 474 * Defines the structure for the XRDC resource collections. 475 */ 476 477 typedef enum _xrdc_master 478 { 479 kXRDC_MasterCM4CodeBus = 0U, /**< CM4 C-BUS */ 480 kXRDC_MasterCM4SystemBus = 1U, /**< CM4 S-BUS */ 481 kXRDC_MasterRI5CYCodeBus = 16U, /**< RI5CY C-BUS */ 482 kXRDC_MasterRI5CYSystemBus = 17U, /**< RI5CY S-BUS */ 483 kXRDC_MasterEdma0 = 2U, /**< EDMA0 */ 484 kXRDC_MasterUsdhc = 3U, /**< USDHC */ 485 kXRDC_MasterUsb = 4U, /**< USB */ 486 kXRDC_MasterCM0P = 32U, /**< CM0P */ 487 kXRDC_MasterEdma1 = 33U, /**< EDMA1 */ 488 kXRDC_MasterCau3 = 34U, /**< CAU3 */ 489 kXRDC_MasterZERORISCYCodeBus = 35U, /**< ZERO RISCY C-BUS */ 490 kXRDC_MasterZERORISCYSystemBus = 36U, /**< ZERO RISCY S-BUS */ 491 } xrdc_master_t; 492 493 /* @} */ 494 495 typedef enum _xrdc_mem 496 { 497 kXRDC_MemMrc0_0 = 0U, /**< MRC0 Memory 0 */ 498 kXRDC_MemMrc0_1 = 1U, /**< MRC0 Memory 1 */ 499 kXRDC_MemMrc0_2 = 2U, /**< MRC0 Memory 2 */ 500 kXRDC_MemMrc0_3 = 3U, /**< MRC0 Memory 3 */ 501 kXRDC_MemMrc0_4 = 4U, /**< MRC0 Memory 4 */ 502 kXRDC_MemMrc0_5 = 5U, /**< MRC0 Memory 5 */ 503 kXRDC_MemMrc0_6 = 6U, /**< MRC0 Memory 6 */ 504 kXRDC_MemMrc0_7 = 7U, /**< MRC0 Memory 7 */ 505 kXRDC_MemMrc1_0 = 16U, /**< MRC1 Memory 0 */ 506 kXRDC_MemMrc1_1 = 17U, /**< MRC1 Memory 1 */ 507 kXRDC_MemMrc1_2 = 18U, /**< MRC1 Memory 2 */ 508 kXRDC_MemMrc1_3 = 19U, /**< MRC1 Memory 3 */ 509 kXRDC_MemMrc1_4 = 20U, /**< MRC1 Memory 4 */ 510 kXRDC_MemMrc1_5 = 21U, /**< MRC1 Memory 5 */ 511 kXRDC_MemMrc1_6 = 22U, /**< MRC1 Memory 6 */ 512 kXRDC_MemMrc1_7 = 23U, /**< MRC1 Memory 7 */ 513 } xrdc_mem_t; 514 515 typedef enum _xrdc_periph 516 { 517 kXRDC_PeriphMscm = 1U, /**< Miscellaneous System Control Module (MSCM) */ 518 kXRDC_PeriphDma0 = 8U, /**< Direct Memory Access 0 (DMA0) controller */ 519 kXRDC_PeriphDma0Tcd = 9U, /**< Direct Memory Access 0 (DMA0) controller transfer control descriptors */ 520 kXRDC_PeriphFlexBus = 12U, /**< External Bus Interface(FlexBus) */ 521 kXRDC_PeriphXrdcMgr = 20U, /**< Extended Resource Domain Controller (XRDC) MGR */ 522 kXRDC_PeriphXrdcMdac = 21U, /**< Extended Resource Domain Controller (XRDC) MDAC */ 523 kXRDC_PeriphXrdcPac = 22U, /**< Extended Resource Domain Controller (XRDC) PAC */ 524 kXRDC_PeriphXrdcMrc = 23U, /**< Extended Resource Domain Controller (XRDC) MRC */ 525 kXRDC_PeriphSema420 = 27U, /**< Semaphore Unit 0 (SEMA420) */ 526 kXRDC_PeriphCmc0 = 32U, /**< Core Mode Controller (CMC) */ 527 kXRDC_PeriphDmamux0 = 33U, /**< Direct Memory Access Multiplexer 0 (DMAMUX0) */ 528 kXRDC_PeriphEwm = 34U, /**< External Watchdog Monitor (EWM) */ 529 kXRDC_PeriphFtfe = 35U, /**< Flash Memory Module (FTFE) */ 530 kXRDC_PeriphLlwu0 = 36U, /**< Low Leakage Wake-up Unit 0 (LLWU0) */ 531 kXRDC_PeriphMua = 37U, /**< Message Unit Side A (MU-A) */ 532 kXRDC_PeriphSim = 38U, /**< System Integration Module (SIM) */ 533 kXRDC_PeriphSimdgo = 39U, /**< System Integration Module - DGO (SIM-DGO) */ 534 kXRDC_PeriphSpm = 40U, /**< System Power Management (SPM) */ 535 kXRDC_PeriphTrgmux0 = 41U, /**< Tirgger Multiplexer 0 (TRGMUX0) */ 536 kXRDC_PeriphWdog0 = 42U, /**< Watchdog 0 (WDOG0) */ 537 kXRDC_PeriphPcc0 = 43U, /**< Peripheral Clock Controller 0 (PCC0) */ 538 kXRDC_PeriphScg = 44U, /**< System Clock Generator (SCG) */ 539 kXRDC_PeriphSrf = 45U, /**< System Register File */ 540 kXRDC_PeriphVbat = 46U, /**< VBAT Register File */ 541 kXRDC_PeriphCrc0 = 47U, /**< Cyclic Redundancy Check 0 (CRC0) */ 542 kXRDC_PeriphLpit0 = 48U, /**< Low-Power Periodic Interrupt Timer 0 (LPIT0) */ 543 kXRDC_PeriphRtc = 49U, /**< Real Time Clock (RTC) */ 544 kXRDC_PeriphLptmr0 = 50U, /**< Low-Power Timer 0 (LPTMR0) */ 545 kXRDC_PeriphLptmr1 = 51U, /**< Low-Power Timer 1 (LPTMR1) */ 546 kXRDC_PeriphTstmr0 = 52U, /**< Time Stamp Timer 0 (TSTMR0) */ 547 kXRDC_PeriphTpm0 = 53U, /**< Timer / Pulse Width Modulator Module 0 (TPM0) - 6 channel */ 548 kXRDC_PeriphTpm1 = 54U, /**< Timer / Pulse Width Modulator Module 1 (TPM1) - 2 channel */ 549 kXRDC_PeriphTpm2 = 55U, /**< Timer / Pulse Width Modulator Module 2 (TPM2) - 6 channel */ 550 kXRDC_PeriphEmvsim0 = 56U, /**< Euro Mastercard Visa Secure Identity Module 0 (EMVSIM0) */ 551 kXRDC_PeriphFlexio0 = 57U, /**< Flexible Input / Output 0 (FlexIO0) */ 552 kXRDC_PeriphLpi2c0 = 58U, /**< Low-Power Inter-Integrated Circuit 0 (LPI2C0) */ 553 kXRDC_PeriphLpi2c1 = 59U, /**< Low-Power Inter-Integrated Circuit 1 (LPI2C1) */ 554 kXRDC_PeriphLpi2c2 = 60U, /**< Low-Power Inter-Integrated Circuit 2 (LPI2C2) */ 555 kXRDC_PeriphSai0 = 61U, /**< Serial Audio Interface 0 (SAI0) */ 556 kXRDC_PeriphSdhc0 = 62U, /**< Secure Digital Host Controller 0 (SDHC0) */ 557 kXRDC_PeriphLpspi0 = 63U, /**< Low-Power Serial Peripheral Interface 0 (LPSPI0) */ 558 kXRDC_PeriphLpspi1 = 64U, /**< Low-Power Serial Peripheral Interface 1 (LPSPI1) */ 559 kXRDC_PeriphLpspi2 = 65U, /**< Low-Power Serial Peripheral Interface 2 (LPSPI2) */ 560 kXRDC_PeriphLpuart0 = 66U, /**< Low-Power Universal Asynchronous Receive / Transmit 0 (LPUART0) */ 561 kXRDC_PeriphLpuart1 = 67U, /**< Low-Power Universal Asynchronous Receive / Transmit 1 (LPUART1) */ 562 kXRDC_PeriphLpuart2 = 68U, /**< Low-Power Universal Asynchronous Receive / Transmit 2 (LPUART2) */ 563 kXRDC_PeriphUsb0 = 69U, /**< Universal Serial Bus 0 (USB0) - Full Speed, Device Only */ 564 kXRDC_PeriphPortA = 70U, /**< PORTA Multiplex Control */ 565 kXRDC_PeriphPortB = 71U, /**< PORTB Multiplex Control */ 566 kXRDC_PeriphPortC = 72U, /**< PORTC Multiplex Control */ 567 kXRDC_PeriphPortD = 73U, /**< PORTD Multiplex Control */ 568 kXRDC_PeriphLpadc0 = 74U, /**< Low-Power Analog-to-Digital Converter 0 (LPADC0) */ 569 kXRDC_PeriphLpcmp0 = 75U, /**< Low-Power Comparator 0 (LPCMP0) */ 570 kXRDC_PeriphDac0 = 76U, /**< Digital-to-Analog Converter 0 (DAC0) */ 571 kXRDC_PeriphVref = 77U, /**< Voltage Reference (VREF) */ 572 kXRDC_PeriphDma1 = 136U, /**< Direct Memory Access 1 (DMA1) controller */ 573 kXRDC_PeriphDma1Tcd = 137U, /**< Direct Memory Access 1 (DMA1) controller trasfer control descriptors */ 574 kXRDC_PeriphFgpio1 = 143U, /**< IO Port Alias */ 575 kXRDC_PeriphSema421 = 155U, /**< Semaphore Unit 1 (SEMA421) */ 576 kXRDC_PeriphCmc1 = 160U, /**< Core Mode Controller (CMC) */ 577 kXRDC_PeriphDmamux1 = 161U, /**< Direct Memory Access Mutiplexer 1 (DMAMUX1) */ 578 kXRDC_PeriphIntmux0 = 162U, /**< Interrupt Multiplexer 0 (INTMUX0) */ 579 kXRDC_Periphllwu1 = 163U, /**< Low Leakage Wake-up Unit 1 (LLWU1) */ 580 kXRDC_PeriphMub = 164U, /**< Messaging Unit - Side B (MU-B) */ 581 kXRDC_PeriphTrgmux1 = 165U, /**< Trigger Multiplexer 1 (TRGMUX1) */ 582 kXRDC_PeriphWdog1 = 166U, /**< Watchdog 1 (WDOG1) */ 583 kXRDC_PeriphPcc1 = 167U, /**< Peripheral Clock Controller 1 (PCC1) */ 584 kXRDC_PeriphCau3 = 168U, /**< Cryptographic Acceleration Unit (CAU3) */ 585 kXRDC_PeriphTrng = 169U, /**< True Random Number Generator (TRNG) */ 586 kXRDC_PeriphLpit1 = 170U, /**< Low-Power Periodic Interrupt Timer 1 (LPIT1) */ 587 kXRDC_PeriphLptmr2 = 171U, /**< Low-Power Timer 2 (LPTMR2) */ 588 kXRDC_PeriphTstmr1 = 172U, /**< Time Stamp Timer 1 (TSTMR1) */ 589 kXRDC_PeriphTpm3 = 173U, /**< Timer / Pulse Width Modulation Module 3 (TPM3) - 2 channel */ 590 kXRDC_PeriphLpi2c3 = 174U, /**< Low-Power Inter-Integrated Circuit 3 (LPI2C3) */ 591 kXRDC_PeriphRsim = 175U, /**< 2.4GHz Radio (RF2.4G) - RSIM */ 592 kXRDC_PeriphXcvr = 176U, /**< 2.4GHz Radio (RF2.4G) - XCVR */ 593 kXRDC_PeriphAnt = 177U, /**< 2.4GHz Radio (RF2.4G) - ANT+ Link Layer */ 594 kXRDC_PeriphBle = 178U, /**< 2.4GHz Radio (RF2.4G) - Bluetooth Link layer */ 595 kXRDC_PeriphGfsk = 179U, /**< 2.4GHz Radio (RF2.4G) - Generic Link layer */ 596 kXRDC_PeriphIeee = 180U, /**< 2.4GHz Radio (RF2.4G) - IEEE 802.15.4 Link Layer */ 597 kXRDC_PeriphLpspi3 = 181U, /**< Low-Power Serial Peripheral Interface 3 (LPSPI3) */ 598 kXRDC_PeriphLpuart3 = 182U, /**< Low-Power Universal Asynchronous Receive / Transmit 3 (LPUART3) */ 599 kXRDC_PeriphPortE = 183U, /**< PORTE Multiplex Control */ 600 kXRDC_PeriphLpcmp1 = 214U, /**< Low-Power Comparator 1 (LPCMP1) */ 601 } xrdc_periph_t; 602 603 604 /*! 605 * @} 606 */ /* end of group Mapping_Information */ 607 608 609 /* ---------------------------------------------------------------------------- 610 -- Device Peripheral Access Layer 611 ---------------------------------------------------------------------------- */ 612 613 /*! 614 * @addtogroup Peripheral_access_layer Device Peripheral Access Layer 615 * @{ 616 */ 617 618 619 /* 620 ** Start of section using anonymous unions 621 */ 622 623 #if defined(__ARMCC_VERSION) 624 #if (__ARMCC_VERSION >= 6010050) 625 #pragma clang diagnostic push 626 #else 627 #pragma push 628 #pragma anon_unions 629 #endif 630 #elif defined(__GNUC__) 631 /* anonymous unions are enabled by default */ 632 #elif defined(__IAR_SYSTEMS_ICC__) 633 #pragma language=extended 634 #else 635 #error Not supported compiler type 636 #endif 637 638 /* ---------------------------------------------------------------------------- 639 -- ADC Peripheral Access Layer 640 ---------------------------------------------------------------------------- */ 641 642 /*! 643 * @addtogroup ADC_Peripheral_Access_Layer ADC Peripheral Access Layer 644 * @{ 645 */ 646 647 /** ADC - Register Layout Typedef */ 648 typedef struct { 649 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 650 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 651 uint8_t RESERVED_0[8]; 652 __IO uint32_t CTRL; /**< ADC Control Register, offset: 0x10 */ 653 __IO uint32_t STAT; /**< ADC Status Register, offset: 0x14 */ 654 __IO uint32_t IE; /**< Interrupt Enable Register, offset: 0x18 */ 655 __IO uint32_t DE; /**< DMA Enable Register, offset: 0x1C */ 656 __IO uint32_t CFG; /**< ADC Configuration Register, offset: 0x20 */ 657 __IO uint32_t PAUSE; /**< ADC Pause Register, offset: 0x24 */ 658 uint8_t RESERVED_1[8]; 659 __IO uint32_t FCTRL; /**< ADC FIFO Control Register, offset: 0x30 */ 660 __O uint32_t SWTRIG; /**< Software Trigger Register, offset: 0x34 */ 661 uint8_t RESERVED_2[8]; 662 __IO uint32_t OFSTRIM; /**< ADC Offset Trim Register, offset: 0x40 */ 663 uint8_t RESERVED_3[124]; 664 __IO uint32_t TCTRL[4]; /**< Trigger Control Register, array offset: 0xC0, array step: 0x4 */ 665 uint8_t RESERVED_4[48]; 666 struct { /* offset: 0x100, array step: 0x8 */ 667 __IO uint32_t CMDL; /**< ADC Command Low Buffer Register, array offset: 0x100, array step: 0x8 */ 668 __IO uint32_t CMDH; /**< ADC Command High Buffer Register, array offset: 0x104, array step: 0x8 */ 669 } CMD[15]; 670 uint8_t RESERVED_5[136]; 671 __IO uint32_t CV[4]; /**< Compare Value Register, array offset: 0x200, array step: 0x4 */ 672 uint8_t RESERVED_6[240]; 673 __I uint32_t RESFIFO; /**< ADC Data Result FIFO Register, offset: 0x300 */ 674 } ADC_Type; 675 676 /* ---------------------------------------------------------------------------- 677 -- ADC Register Masks 678 ---------------------------------------------------------------------------- */ 679 680 /*! 681 * @addtogroup ADC_Register_Masks ADC Register Masks 682 * @{ 683 */ 684 685 /*! @name VERID - Version ID Register */ 686 /*! @{ */ 687 #define ADC_VERID_RES_MASK (0x1U) 688 #define ADC_VERID_RES_SHIFT (0U) 689 /*! RES - Resolution 690 * 0b0..Up to 13-bit differential/12-bit single ended resolution supported. 691 * 0b1..Up to 16-bit differential/15-bit single ended resolution supported. 692 */ 693 #define ADC_VERID_RES(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_RES_SHIFT)) & ADC_VERID_RES_MASK) 694 #define ADC_VERID_DIFFEN_MASK (0x2U) 695 #define ADC_VERID_DIFFEN_SHIFT (1U) 696 /*! DIFFEN - Differential Supported 697 * 0b0..Differential operation not supported. 698 * 0b1..Differential operation supported. CMDLa[DIFF] and CMDLa[ABSEL] control fields implemented. 699 */ 700 #define ADC_VERID_DIFFEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_DIFFEN_SHIFT)) & ADC_VERID_DIFFEN_MASK) 701 #define ADC_VERID_MVI_MASK (0x8U) 702 #define ADC_VERID_MVI_SHIFT (3U) 703 /*! MVI - Multi Vref Implemented 704 * 0b0..Single voltage reference high (VREFH) input supported. 705 * 0b1..Multiple voltage reference high (VREFH) inputs supported. 706 */ 707 #define ADC_VERID_MVI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_MVI_SHIFT)) & ADC_VERID_MVI_MASK) 708 #define ADC_VERID_CSW_MASK (0x70U) 709 #define ADC_VERID_CSW_SHIFT (4U) 710 /*! CSW - Channel Scale Width 711 * 0b000..Channel scaling not supported. 712 * 0b001..Channel scaling supported. 1-bit CSCALE control field. 713 * 0b110..Channel scaling supported. 6-bit CSCALE control field. 714 */ 715 #define ADC_VERID_CSW(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_CSW_SHIFT)) & ADC_VERID_CSW_MASK) 716 #define ADC_VERID_VR1RNGI_MASK (0x100U) 717 #define ADC_VERID_VR1RNGI_SHIFT (8U) 718 /*! VR1RNGI - Voltage Reference 1 Range Control Bit Implemented 719 * 0b0..Range control not required. CFG[VREF1RNG] is not implemented. 720 * 0b1..Range control required. CFG[VREF1RNG] is implemented. 721 */ 722 #define ADC_VERID_VR1RNGI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_VR1RNGI_SHIFT)) & ADC_VERID_VR1RNGI_MASK) 723 #define ADC_VERID_IADCKI_MASK (0x200U) 724 #define ADC_VERID_IADCKI_SHIFT (9U) 725 /*! IADCKI - Internal ADC Clock implemented 726 * 0b0..Internal clock source not implemented. 727 * 0b1..Internal clock source (and CFG[ADCKEN]) implemented. 728 */ 729 #define ADC_VERID_IADCKI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_IADCKI_SHIFT)) & ADC_VERID_IADCKI_MASK) 730 #define ADC_VERID_CALOFSI_MASK (0x400U) 731 #define ADC_VERID_CALOFSI_SHIFT (10U) 732 /*! CALOFSI - Calibration Offset Function Implemented 733 * 0b0..Offset calibration and offset trimming not implemented. 734 * 0b1..Offset calibration and offset trimming implemented. 735 */ 736 #define ADC_VERID_CALOFSI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_CALOFSI_SHIFT)) & ADC_VERID_CALOFSI_MASK) 737 #define ADC_VERID_MINOR_MASK (0xFF0000U) 738 #define ADC_VERID_MINOR_SHIFT (16U) 739 #define ADC_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_MINOR_SHIFT)) & ADC_VERID_MINOR_MASK) 740 #define ADC_VERID_MAJOR_MASK (0xFF000000U) 741 #define ADC_VERID_MAJOR_SHIFT (24U) 742 #define ADC_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_MAJOR_SHIFT)) & ADC_VERID_MAJOR_MASK) 743 /*! @} */ 744 745 /*! @name PARAM - Parameter Register */ 746 /*! @{ */ 747 #define ADC_PARAM_TRIG_NUM_MASK (0xFFU) 748 #define ADC_PARAM_TRIG_NUM_SHIFT (0U) 749 #define ADC_PARAM_TRIG_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_TRIG_NUM_SHIFT)) & ADC_PARAM_TRIG_NUM_MASK) 750 #define ADC_PARAM_FIFOSIZE_MASK (0xFF00U) 751 #define ADC_PARAM_FIFOSIZE_SHIFT (8U) 752 /*! FIFOSIZE - Result FIFO Depth 753 * 0b00000001..Result FIFO depth = 1 dataword. 754 * 0b00000100..Result FIFO depth = 4 datawords. 755 * 0b00001000..Result FIFO depth = 8 datawords. 756 * 0b00010000..Result FIFO depth = 16 datawords. 757 * 0b00100000..Result FIFO depth = 32 datawords. 758 * 0b01000000..Result FIFO depth = 64 datawords. 759 */ 760 #define ADC_PARAM_FIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_FIFOSIZE_SHIFT)) & ADC_PARAM_FIFOSIZE_MASK) 761 #define ADC_PARAM_CV_NUM_MASK (0xFF0000U) 762 #define ADC_PARAM_CV_NUM_SHIFT (16U) 763 #define ADC_PARAM_CV_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_CV_NUM_SHIFT)) & ADC_PARAM_CV_NUM_MASK) 764 #define ADC_PARAM_CMD_NUM_MASK (0xFF000000U) 765 #define ADC_PARAM_CMD_NUM_SHIFT (24U) 766 #define ADC_PARAM_CMD_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_CMD_NUM_SHIFT)) & ADC_PARAM_CMD_NUM_MASK) 767 /*! @} */ 768 769 /*! @name CTRL - ADC Control Register */ 770 /*! @{ */ 771 #define ADC_CTRL_ADCEN_MASK (0x1U) 772 #define ADC_CTRL_ADCEN_SHIFT (0U) 773 /*! ADCEN - ADC Enable 774 * 0b0..ADC is disabled. 775 * 0b1..ADC is enabled. 776 */ 777 #define ADC_CTRL_ADCEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_ADCEN_SHIFT)) & ADC_CTRL_ADCEN_MASK) 778 #define ADC_CTRL_RST_MASK (0x2U) 779 #define ADC_CTRL_RST_SHIFT (1U) 780 /*! RST - Software Reset 781 * 0b0..ADC logic is not reset. 782 * 0b1..ADC logic is reset. 783 */ 784 #define ADC_CTRL_RST(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_RST_SHIFT)) & ADC_CTRL_RST_MASK) 785 #define ADC_CTRL_DOZEN_MASK (0x4U) 786 #define ADC_CTRL_DOZEN_SHIFT (2U) 787 /*! DOZEN - Doze Enable 788 * 0b0..ADC is enabled in Doze mode. 789 * 0b1..ADC is disabled in Doze mode. 790 */ 791 #define ADC_CTRL_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_DOZEN_SHIFT)) & ADC_CTRL_DOZEN_MASK) 792 #define ADC_CTRL_RSTFIFO_MASK (0x100U) 793 #define ADC_CTRL_RSTFIFO_SHIFT (8U) 794 /*! RSTFIFO - Reset FIFO 795 * 0b0..No effect. 796 * 0b1..FIFO is reset. 797 */ 798 #define ADC_CTRL_RSTFIFO(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_RSTFIFO_SHIFT)) & ADC_CTRL_RSTFIFO_MASK) 799 /*! @} */ 800 801 /*! @name STAT - ADC Status Register */ 802 /*! @{ */ 803 #define ADC_STAT_RDY_MASK (0x1U) 804 #define ADC_STAT_RDY_SHIFT (0U) 805 /*! RDY - Result FIFO Ready Flag 806 * 0b0..Result FIFO data level not above watermark level. 807 * 0b1..Result FIFO holding data above watermark level. 808 */ 809 #define ADC_STAT_RDY(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_RDY_SHIFT)) & ADC_STAT_RDY_MASK) 810 #define ADC_STAT_FOF_MASK (0x2U) 811 #define ADC_STAT_FOF_SHIFT (1U) 812 /*! FOF - Result FIFO Overflow Flag 813 * 0b0..No result FIFO overflow has occurred since the last time the flag was cleared. 814 * 0b1..At least one result FIFO overflow has occurred since the last time the flag was cleared. 815 */ 816 #define ADC_STAT_FOF(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_FOF_SHIFT)) & ADC_STAT_FOF_MASK) 817 #define ADC_STAT_TRGACT_MASK (0x30000U) 818 #define ADC_STAT_TRGACT_SHIFT (16U) 819 /*! TRGACT - Trigger Active 820 * 0b00..Command (sequence) associated with Trigger 0 currently being executed. 821 * 0b01..Command (sequence) associated with Trigger 1 currently being executed. 822 * 0b10..Command (sequence) associated with Trigger 2 currently being executed. 823 * 0b11..Command (sequence) associated with Trigger 3 currently being executed. 824 */ 825 #define ADC_STAT_TRGACT(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_TRGACT_SHIFT)) & ADC_STAT_TRGACT_MASK) 826 #define ADC_STAT_CMDACT_MASK (0xF000000U) 827 #define ADC_STAT_CMDACT_SHIFT (24U) 828 /*! CMDACT - Command Active 829 * 0b0000..No command is currently in progress. 830 * 0b0001..Command 1 currently being executed. 831 * 0b0010..Command 2 currently being executed. 832 * 0b0011-0b1111..Associated command number is currently being executed. 833 */ 834 #define ADC_STAT_CMDACT(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_CMDACT_SHIFT)) & ADC_STAT_CMDACT_MASK) 835 /*! @} */ 836 837 /*! @name IE - Interrupt Enable Register */ 838 /*! @{ */ 839 #define ADC_IE_FWMIE_MASK (0x1U) 840 #define ADC_IE_FWMIE_SHIFT (0U) 841 /*! FWMIE - FIFO Watermark Interrupt Enable 842 * 0b0..FIFO watermark interrupts are not enabled. 843 * 0b1..FIFO watermark interrupts are enabled. 844 */ 845 #define ADC_IE_FWMIE(x) (((uint32_t)(((uint32_t)(x)) << ADC_IE_FWMIE_SHIFT)) & ADC_IE_FWMIE_MASK) 846 #define ADC_IE_FOFIE_MASK (0x2U) 847 #define ADC_IE_FOFIE_SHIFT (1U) 848 /*! FOFIE - Result FIFO Overflow Interrupt Enable 849 * 0b0..FIFO overflow interrupts are not enabled. 850 * 0b1..FIFO overflow interrupts are enabled. 851 */ 852 #define ADC_IE_FOFIE(x) (((uint32_t)(((uint32_t)(x)) << ADC_IE_FOFIE_SHIFT)) & ADC_IE_FOFIE_MASK) 853 /*! @} */ 854 855 /*! @name DE - DMA Enable Register */ 856 /*! @{ */ 857 #define ADC_DE_FWMDE_MASK (0x1U) 858 #define ADC_DE_FWMDE_SHIFT (0U) 859 /*! FWMDE - FIFO Watermark DMA Enable 860 * 0b0..DMA request disabled. 861 * 0b1..DMA request enabled. 862 */ 863 #define ADC_DE_FWMDE(x) (((uint32_t)(((uint32_t)(x)) << ADC_DE_FWMDE_SHIFT)) & ADC_DE_FWMDE_MASK) 864 /*! @} */ 865 866 /*! @name CFG - ADC Configuration Register */ 867 /*! @{ */ 868 #define ADC_CFG_TPRICTRL_MASK (0x1U) 869 #define ADC_CFG_TPRICTRL_SHIFT (0U) 870 /*! TPRICTRL - ADC trigger priority control 871 * 0b0..If a higher priority trigger is detected during command processing, the current conversion is aborted and the new command specified by the trigger is started. 872 * 0b1..If a higher priority trigger is received during command processing, the current conversion is completed (including averaging iterations if enabled) and stored to the RESFIFO before the higher priority trigger/command is initiated. Note that compare until true commands can be interrupted prior to resulting in a true conversion. 873 */ 874 #define ADC_CFG_TPRICTRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_TPRICTRL_SHIFT)) & ADC_CFG_TPRICTRL_MASK) 875 #define ADC_CFG_PWRSEL_MASK (0x30U) 876 #define ADC_CFG_PWRSEL_SHIFT (4U) 877 /*! PWRSEL - Power Configuration Select 878 * 0b00..Level 1 (Lowest power setting) 879 * 0b01..Level 2 880 * 0b10..Level 3 881 * 0b11..Level 4 (Highest power setting) 882 */ 883 #define ADC_CFG_PWRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PWRSEL_SHIFT)) & ADC_CFG_PWRSEL_MASK) 884 #define ADC_CFG_REFSEL_MASK (0xC0U) 885 #define ADC_CFG_REFSEL_SHIFT (6U) 886 /*! REFSEL - Voltage Reference Selection 887 * 0b00..(Default) Option 1 setting. 888 * 0b01..Option 2 setting. 889 * 0b10..Option 3 setting. 890 * 0b11..Reserved 891 */ 892 #define ADC_CFG_REFSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_REFSEL_SHIFT)) & ADC_CFG_REFSEL_MASK) 893 #define ADC_CFG_CALOFS_MASK (0x8000U) 894 #define ADC_CFG_CALOFS_SHIFT (15U) 895 /*! CALOFS - Configure for offset calibration function 896 * 0b0..Calibration function disabled 897 * 0b1..Configure for offset calibration function 898 */ 899 #define ADC_CFG_CALOFS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_CALOFS_SHIFT)) & ADC_CFG_CALOFS_MASK) 900 #define ADC_CFG_PUDLY_MASK (0xFF0000U) 901 #define ADC_CFG_PUDLY_SHIFT (16U) 902 #define ADC_CFG_PUDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PUDLY_SHIFT)) & ADC_CFG_PUDLY_MASK) 903 #define ADC_CFG_PWREN_MASK (0x10000000U) 904 #define ADC_CFG_PWREN_SHIFT (28U) 905 /*! PWREN - ADC Analog Pre-Enable 906 * 0b0..ADC analog circuits are only enabled while conversions are active. Performance is affected due to analog startup delays. 907 * 0b1..ADC analog circuits are pre-enabled and ready to execute conversions without startup delays (at the cost of higher DC current consumption). When PWREN is set, the power up delay is enforced such that any detected trigger does not begin ADC operation until the power up delay time has passed. 908 */ 909 #define ADC_CFG_PWREN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PWREN_SHIFT)) & ADC_CFG_PWREN_MASK) 910 #define ADC_CFG_VREF1RNG_MASK (0x20000000U) 911 #define ADC_CFG_VREF1RNG_SHIFT (29U) 912 /*! VREF1RNG - Enable support for low voltage reference on Option 1 Reference 913 * 0b0..Configuration required when Voltage Reference Option 1 input is in high voltage range 914 * 0b1..Configuration required when Voltage Reference Option 1 input is in low voltage range 915 */ 916 #define ADC_CFG_VREF1RNG(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_VREF1RNG_SHIFT)) & ADC_CFG_VREF1RNG_MASK) 917 #define ADC_CFG_ADCKEN_MASK (0x80000000U) 918 #define ADC_CFG_ADCKEN_SHIFT (31U) 919 /*! ADCKEN - ADC asynchronous clock enable 920 * 0b0..ADC internal clock is disabled 921 * 0b1..ADC internal clock is enabled 922 */ 923 #define ADC_CFG_ADCKEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADCKEN_SHIFT)) & ADC_CFG_ADCKEN_MASK) 924 /*! @} */ 925 926 /*! @name PAUSE - ADC Pause Register */ 927 /*! @{ */ 928 #define ADC_PAUSE_PAUSEDLY_MASK (0x1FFU) 929 #define ADC_PAUSE_PAUSEDLY_SHIFT (0U) 930 #define ADC_PAUSE_PAUSEDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_PAUSE_PAUSEDLY_SHIFT)) & ADC_PAUSE_PAUSEDLY_MASK) 931 #define ADC_PAUSE_PAUSEEN_MASK (0x80000000U) 932 #define ADC_PAUSE_PAUSEEN_SHIFT (31U) 933 /*! PAUSEEN - PAUSE Option Enable 934 * 0b0..Pause operation disabled 935 * 0b1..Pause operation enabled 936 */ 937 #define ADC_PAUSE_PAUSEEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_PAUSE_PAUSEEN_SHIFT)) & ADC_PAUSE_PAUSEEN_MASK) 938 /*! @} */ 939 940 /*! @name FCTRL - ADC FIFO Control Register */ 941 /*! @{ */ 942 #define ADC_FCTRL_FCOUNT_MASK (0x1FU) 943 #define ADC_FCTRL_FCOUNT_SHIFT (0U) 944 #define ADC_FCTRL_FCOUNT(x) (((uint32_t)(((uint32_t)(x)) << ADC_FCTRL_FCOUNT_SHIFT)) & ADC_FCTRL_FCOUNT_MASK) 945 #define ADC_FCTRL_FWMARK_MASK (0xF0000U) 946 #define ADC_FCTRL_FWMARK_SHIFT (16U) 947 #define ADC_FCTRL_FWMARK(x) (((uint32_t)(((uint32_t)(x)) << ADC_FCTRL_FWMARK_SHIFT)) & ADC_FCTRL_FWMARK_MASK) 948 /*! @} */ 949 950 /*! @name SWTRIG - Software Trigger Register */ 951 /*! @{ */ 952 #define ADC_SWTRIG_SWT0_MASK (0x1U) 953 #define ADC_SWTRIG_SWT0_SHIFT (0U) 954 /*! SWT0 - Software trigger 0 event 955 * 0b0..No trigger 0 event generated. 956 * 0b1..Trigger 0 event generated. 957 */ 958 #define ADC_SWTRIG_SWT0(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT0_SHIFT)) & ADC_SWTRIG_SWT0_MASK) 959 #define ADC_SWTRIG_SWT1_MASK (0x2U) 960 #define ADC_SWTRIG_SWT1_SHIFT (1U) 961 /*! SWT1 - Software trigger 1 event 962 * 0b0..No trigger 1 event generated. 963 * 0b1..Trigger 1 event generated. 964 */ 965 #define ADC_SWTRIG_SWT1(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT1_SHIFT)) & ADC_SWTRIG_SWT1_MASK) 966 #define ADC_SWTRIG_SWT2_MASK (0x4U) 967 #define ADC_SWTRIG_SWT2_SHIFT (2U) 968 /*! SWT2 - Software trigger 2 event 969 * 0b0..No trigger 2 event generated. 970 * 0b1..Trigger 2 event generated. 971 */ 972 #define ADC_SWTRIG_SWT2(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT2_SHIFT)) & ADC_SWTRIG_SWT2_MASK) 973 #define ADC_SWTRIG_SWT3_MASK (0x8U) 974 #define ADC_SWTRIG_SWT3_SHIFT (3U) 975 /*! SWT3 - Software trigger 3 event 976 * 0b0..No trigger 3 event generated. 977 * 0b1..Trigger 3 event generated. 978 */ 979 #define ADC_SWTRIG_SWT3(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT3_SHIFT)) & ADC_SWTRIG_SWT3_MASK) 980 /*! @} */ 981 982 /*! @name OFSTRIM - ADC Offset Trim Register */ 983 /*! @{ */ 984 #define ADC_OFSTRIM_OFSTRIM_MASK (0x3FU) 985 #define ADC_OFSTRIM_OFSTRIM_SHIFT (0U) 986 #define ADC_OFSTRIM_OFSTRIM(x) (((uint32_t)(((uint32_t)(x)) << ADC_OFSTRIM_OFSTRIM_SHIFT)) & ADC_OFSTRIM_OFSTRIM_MASK) 987 /*! @} */ 988 989 /*! @name TCTRL - Trigger Control Register */ 990 /*! @{ */ 991 #define ADC_TCTRL_HTEN_MASK (0x1U) 992 #define ADC_TCTRL_HTEN_SHIFT (0U) 993 /*! HTEN - Trigger enable 994 * 0b0..Hardware trigger source disabled 995 * 0b1..Hardware trigger source enabled 996 */ 997 #define ADC_TCTRL_HTEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_HTEN_SHIFT)) & ADC_TCTRL_HTEN_MASK) 998 #define ADC_TCTRL_TPRI_MASK (0x300U) 999 #define ADC_TCTRL_TPRI_SHIFT (8U) 1000 /*! TPRI - Trigger priority setting 1001 * 0b00..Set to highest priority, Level 1 1002 * 0b01-0b10..Set to corresponding priority level 1003 * 0b11..Set to lowest priority, Level 4 1004 */ 1005 #define ADC_TCTRL_TPRI(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TPRI_SHIFT)) & ADC_TCTRL_TPRI_MASK) 1006 #define ADC_TCTRL_TDLY_MASK (0xF0000U) 1007 #define ADC_TCTRL_TDLY_SHIFT (16U) 1008 #define ADC_TCTRL_TDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TDLY_SHIFT)) & ADC_TCTRL_TDLY_MASK) 1009 #define ADC_TCTRL_TCMD_MASK (0xF000000U) 1010 #define ADC_TCTRL_TCMD_SHIFT (24U) 1011 /*! TCMD - Trigger command select 1012 * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored. 1013 * 0b0001..CMD1 is executed 1014 * 0b0010-0b1110..Corresponding CMD is executed 1015 * 0b1111..CMD15 is executed 1016 */ 1017 #define ADC_TCTRL_TCMD(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TCMD_SHIFT)) & ADC_TCTRL_TCMD_MASK) 1018 /*! @} */ 1019 1020 /* The count of ADC_TCTRL */ 1021 #define ADC_TCTRL_COUNT (4U) 1022 1023 /*! @name CMDL - ADC Command Low Buffer Register */ 1024 /*! @{ */ 1025 #define ADC_CMDL_ADCH_MASK (0x1FU) 1026 #define ADC_CMDL_ADCH_SHIFT (0U) 1027 /*! ADCH - Input channel select 1028 * 0b00000..Select CH0A or CH0B 1029 * 0b00001..Select CH1A or CH1B 1030 * 0b00010..Select CH2A or CH2B 1031 * 0b00011..Select CH3A or CH3B 1032 * 0b00100-0b11101..Select corresponding channel CHnA or CHnB 1033 * 0b11110..Select CH30A or CH30B 1034 * 0b11111..Select CH31A or CH31B 1035 */ 1036 #define ADC_CMDL_ADCH(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_ADCH_SHIFT)) & ADC_CMDL_ADCH_MASK) 1037 #define ADC_CMDL_ABSEL_MASK (0x20U) 1038 #define ADC_CMDL_ABSEL_SHIFT (5U) 1039 /*! ABSEL - A-side vs. B-side Select 1040 * 0b0..The associated A-side channel is converted. 1041 * 0b1..The associated B-side channel is converted. 1042 */ 1043 #define ADC_CMDL_ABSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_ABSEL_SHIFT)) & ADC_CMDL_ABSEL_MASK) 1044 /*! @} */ 1045 1046 /* The count of ADC_CMDL */ 1047 #define ADC_CMDL_COUNT (15U) 1048 1049 /*! @name CMDH - ADC Command High Buffer Register */ 1050 /*! @{ */ 1051 #define ADC_CMDH_CMPEN_MASK (0x3U) 1052 #define ADC_CMDH_CMPEN_SHIFT (0U) 1053 /*! CMPEN - Compare Function Enable 1054 * 0b00..Compare disabled. 1055 * 0b01..Reserved 1056 * 0b10..Compare enabled. Store on true. 1057 * 0b11..Compare enabled. Repeat channel acquisition (sample/convert/compare) until true. 1058 */ 1059 #define ADC_CMDH_CMPEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_CMPEN_SHIFT)) & ADC_CMDH_CMPEN_MASK) 1060 #define ADC_CMDH_LWI_MASK (0x80U) 1061 #define ADC_CMDH_LWI_SHIFT (7U) 1062 /*! LWI - Loop with Increment 1063 * 0b0..Auto channel increment disabled 1064 * 0b1..Auto channel increment enabled 1065 */ 1066 #define ADC_CMDH_LWI(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_LWI_SHIFT)) & ADC_CMDH_LWI_MASK) 1067 #define ADC_CMDH_STS_MASK (0x700U) 1068 #define ADC_CMDH_STS_SHIFT (8U) 1069 /*! STS - Sample Time Select 1070 * 0b000..Minimum sample time of 3 ADCK cycles. 1071 * 0b001..3 + 21 ADCK cycles; 5 ADCK cycles total sample time. 1072 * 0b010..3 + 22 ADCK cycles; 7 ADCK cycles total sample time. 1073 * 0b011..3 + 23 ADCK cycles; 11 ADCK cycles total sample time. 1074 * 0b100..3 + 24 ADCK cycles; 19 ADCK cycles total sample time. 1075 * 0b101..3 + 25 ADCK cycles; 35 ADCK cycles total sample time. 1076 * 0b110..3 + 26 ADCK cycles; 67 ADCK cycles total sample time. 1077 * 0b111..3 + 27 ADCK cycles; 131 ADCK cycles total sample time. 1078 */ 1079 #define ADC_CMDH_STS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_STS_SHIFT)) & ADC_CMDH_STS_MASK) 1080 #define ADC_CMDH_AVGS_MASK (0x7000U) 1081 #define ADC_CMDH_AVGS_SHIFT (12U) 1082 /*! AVGS - Hardware Average Select 1083 * 0b000..Single conversion. 1084 * 0b001..2 conversions averaged. 1085 * 0b010..4 conversions averaged. 1086 * 0b011..8 conversions averaged. 1087 * 0b100..16 conversions averaged. 1088 * 0b101..32 conversions averaged. 1089 * 0b110..64 conversions averaged. 1090 * 0b111..128 conversions averaged. 1091 */ 1092 #define ADC_CMDH_AVGS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_AVGS_SHIFT)) & ADC_CMDH_AVGS_MASK) 1093 #define ADC_CMDH_LOOP_MASK (0xF0000U) 1094 #define ADC_CMDH_LOOP_SHIFT (16U) 1095 /*! LOOP - Loop Count Select 1096 * 0b0000..Looping not enabled. Command executes 1 time. 1097 * 0b0001..Loop 1 time. Command executes 2 times. 1098 * 0b0010..Loop 2 times. Command executes 3 times. 1099 * 0b0011-0b1110..Loop corresponding number of times. Command executes LOOP+1 times. 1100 * 0b1111..Loop 15 times. Command executes 16 times. 1101 */ 1102 #define ADC_CMDH_LOOP(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_LOOP_SHIFT)) & ADC_CMDH_LOOP_MASK) 1103 #define ADC_CMDH_NEXT_MASK (0xF000000U) 1104 #define ADC_CMDH_NEXT_SHIFT (24U) 1105 /*! NEXT - Next Command Select 1106 * 0b0000..No next command defined. Terminate conversions at completion of current command. If lower priority trigger pending, begin command associated with lower priority trigger. 1107 * 0b0001..Select CMD1 command buffer register as next command. 1108 * 0b0010-0b1110..Select corresponding CMD command buffer register as next command 1109 * 0b1111..Select CMD15 command buffer register as next command. 1110 */ 1111 #define ADC_CMDH_NEXT(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_NEXT_SHIFT)) & ADC_CMDH_NEXT_MASK) 1112 /*! @} */ 1113 1114 /* The count of ADC_CMDH */ 1115 #define ADC_CMDH_COUNT (15U) 1116 1117 /*! @name CV - Compare Value Register */ 1118 /*! @{ */ 1119 #define ADC_CV_CVL_MASK (0xFFFFU) 1120 #define ADC_CV_CVL_SHIFT (0U) 1121 #define ADC_CV_CVL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CVL_SHIFT)) & ADC_CV_CVL_MASK) 1122 #define ADC_CV_CVH_MASK (0xFFFF0000U) 1123 #define ADC_CV_CVH_SHIFT (16U) 1124 #define ADC_CV_CVH(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CVH_SHIFT)) & ADC_CV_CVH_MASK) 1125 /*! @} */ 1126 1127 /* The count of ADC_CV */ 1128 #define ADC_CV_COUNT (4U) 1129 1130 /*! @name RESFIFO - ADC Data Result FIFO Register */ 1131 /*! @{ */ 1132 #define ADC_RESFIFO_D_MASK (0xFFFFU) 1133 #define ADC_RESFIFO_D_SHIFT (0U) 1134 #define ADC_RESFIFO_D(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_D_SHIFT)) & ADC_RESFIFO_D_MASK) 1135 #define ADC_RESFIFO_TSRC_MASK (0x30000U) 1136 #define ADC_RESFIFO_TSRC_SHIFT (16U) 1137 /*! TSRC - Trigger Source 1138 * 0b00..Trigger source 0 initiated this conversion. 1139 * 0b01..Trigger source 1 initiated this conversion. 1140 * 0b10..Trigger source 2 initiated this conversion. 1141 * 0b11..Trigger source 3 initiated this conversion. 1142 */ 1143 #define ADC_RESFIFO_TSRC(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_TSRC_SHIFT)) & ADC_RESFIFO_TSRC_MASK) 1144 #define ADC_RESFIFO_LOOPCNT_MASK (0xF00000U) 1145 #define ADC_RESFIFO_LOOPCNT_SHIFT (20U) 1146 /*! LOOPCNT - Loop count value 1147 * 0b0000..Result is from initial conversion in command. 1148 * 0b0001..Result is from second conversion in command. 1149 * 0b0010-0b1110..Result is from LOOPCNT+1 conversion in command. 1150 * 0b1111..Result is from 16th conversion in command. 1151 */ 1152 #define ADC_RESFIFO_LOOPCNT(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_LOOPCNT_SHIFT)) & ADC_RESFIFO_LOOPCNT_MASK) 1153 #define ADC_RESFIFO_CMDSRC_MASK (0xF000000U) 1154 #define ADC_RESFIFO_CMDSRC_SHIFT (24U) 1155 /*! CMDSRC - Command Buffer Source 1156 * 0b0000..Not a valid value CMDSRC value for a dataword in RESFIFO. 0x0 is only found in initial FIFO state prior to an ADC conversion result dataword being stored to a RESFIFO buffer. 1157 * 0b0001..CMD1 buffer used as control settings for this conversion. 1158 * 0b0010-0b1110..Corresponding command buffer used as control settings for this conversion. 1159 * 0b1111..CMD15 buffer used as control settings for this conversion. 1160 */ 1161 #define ADC_RESFIFO_CMDSRC(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_CMDSRC_SHIFT)) & ADC_RESFIFO_CMDSRC_MASK) 1162 #define ADC_RESFIFO_VALID_MASK (0x80000000U) 1163 #define ADC_RESFIFO_VALID_SHIFT (31U) 1164 /*! VALID - FIFO entry is valid 1165 * 0b0..FIFO is empty. Discard any read from RESFIFO. 1166 * 0b1..FIFO record read from RESFIFO is valid. 1167 */ 1168 #define ADC_RESFIFO_VALID(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_VALID_SHIFT)) & ADC_RESFIFO_VALID_MASK) 1169 /*! @} */ 1170 1171 1172 /*! 1173 * @} 1174 */ /* end of group ADC_Register_Masks */ 1175 1176 1177 /* ADC - Peripheral instance base addresses */ 1178 /** Peripheral ADC0 base address */ 1179 #define ADC0_BASE (0x4004A000u) 1180 /** Peripheral ADC0 base pointer */ 1181 #define ADC0 ((ADC_Type *)ADC0_BASE) 1182 /** Array initializer of ADC peripheral base addresses */ 1183 #define ADC_BASE_ADDRS { ADC0_BASE } 1184 /** Array initializer of ADC peripheral base pointers */ 1185 #define ADC_BASE_PTRS { ADC0 } 1186 /** Interrupt vectors for the ADC peripheral type */ 1187 #define ADC_IRQS { ADC0_IRQn } 1188 1189 /*! 1190 * @} 1191 */ /* end of group ADC_Peripheral_Access_Layer */ 1192 1193 1194 /* ---------------------------------------------------------------------------- 1195 -- AXBS Peripheral Access Layer 1196 ---------------------------------------------------------------------------- */ 1197 1198 /*! 1199 * @addtogroup AXBS_Peripheral_Access_Layer AXBS Peripheral Access Layer 1200 * @{ 1201 */ 1202 1203 /** AXBS - Register Layout Typedef */ 1204 typedef struct { 1205 struct { /* offset: 0x0, array step: 0x100 */ 1206 __IO uint32_t PRS; /**< Priority Slave Registers, array offset: 0x0, array step: 0x100 */ 1207 uint8_t RESERVED_0[12]; 1208 __IO uint32_t CRS; /**< Control Register, array offset: 0x10, array step: 0x100 */ 1209 uint8_t RESERVED_1[236]; 1210 } SLAVE[5]; 1211 uint8_t RESERVED_0[768]; 1212 __IO uint32_t MGPCR0; /**< Master General Purpose Control Register, offset: 0x800 */ 1213 uint8_t RESERVED_1[252]; 1214 __IO uint32_t MGPCR1; /**< Master General Purpose Control Register, offset: 0x900 */ 1215 uint8_t RESERVED_2[252]; 1216 __IO uint32_t MGPCR2; /**< Master General Purpose Control Register, offset: 0xA00 */ 1217 uint8_t RESERVED_3[252]; 1218 __IO uint32_t MGPCR3; /**< Master General Purpose Control Register, offset: 0xB00 */ 1219 uint8_t RESERVED_4[252]; 1220 __IO uint32_t MGPCR4; /**< Master General Purpose Control Register, offset: 0xC00 */ 1221 uint8_t RESERVED_5[252]; 1222 __IO uint32_t MGPCR5; /**< Master General Purpose Control Register, offset: 0xD00 */ 1223 } AXBS_Type; 1224 1225 /* ---------------------------------------------------------------------------- 1226 -- AXBS Register Masks 1227 ---------------------------------------------------------------------------- */ 1228 1229 /*! 1230 * @addtogroup AXBS_Register_Masks AXBS Register Masks 1231 * @{ 1232 */ 1233 1234 /*! @name PRS - Priority Slave Registers */ 1235 /*! @{ */ 1236 #define AXBS_PRS_M0_MASK (0x7U) 1237 #define AXBS_PRS_M0_SHIFT (0U) 1238 /*! M0 - Master 0 Priority. Sets the arbitration priority for this port on the associated slave port. 1239 * 0b000..This master has level 1, or highest, priority when accessing the slave port. 1240 * 0b001..This master has level 2 priority when accessing the slave port. 1241 * 0b010..This master has level 3 priority when accessing the slave port. 1242 * 0b011..This master has level 4 priority when accessing the slave port. 1243 * 0b100..This master has level 5 priority when accessing the slave port. 1244 * 0b101..This master has level 6 priority when accessing the slave port. 1245 * 0b110..This master has level 7 priority when accessing the slave port. 1246 * 0b111..This master has level 8, or lowest, priority when accessing the slave port. 1247 */ 1248 #define AXBS_PRS_M0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS_M0_SHIFT)) & AXBS_PRS_M0_MASK) 1249 #define AXBS_PRS_M1_MASK (0x70U) 1250 #define AXBS_PRS_M1_SHIFT (4U) 1251 /*! M1 - Master 1 Priority. Sets the arbitration priority for this port on the associated slave port. 1252 * 0b000..This master has level 1, or highest, priority when accessing the slave port. 1253 * 0b001..This master has level 2 priority when accessing the slave port. 1254 * 0b010..This master has level 3 priority when accessing the slave port. 1255 * 0b011..This master has level 4 priority when accessing the slave port. 1256 * 0b100..This master has level 5 priority when accessing the slave port. 1257 * 0b101..This master has level 6 priority when accessing the slave port. 1258 * 0b110..This master has level 7 priority when accessing the slave port. 1259 * 0b111..This master has level 8, or lowest, priority when accessing the slave port. 1260 */ 1261 #define AXBS_PRS_M1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS_M1_SHIFT)) & AXBS_PRS_M1_MASK) 1262 #define AXBS_PRS_M2_MASK (0x700U) 1263 #define AXBS_PRS_M2_SHIFT (8U) 1264 /*! M2 - Master 2 Priority. Sets the arbitration priority for this port on the associated slave port. 1265 * 0b000..This master has level 1, or highest, priority when accessing the slave port. 1266 * 0b001..This master has level 2 priority when accessing the slave port. 1267 * 0b010..This master has level 3 priority when accessing the slave port. 1268 * 0b011..This master has level 4 priority when accessing the slave port. 1269 * 0b100..This master has level 5 priority when accessing the slave port. 1270 * 0b101..This master has level 6 priority when accessing the slave port. 1271 * 0b110..This master has level 7 priority when accessing the slave port. 1272 * 0b111..This master has level 8, or lowest, priority when accessing the slave port. 1273 */ 1274 #define AXBS_PRS_M2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS_M2_SHIFT)) & AXBS_PRS_M2_MASK) 1275 #define AXBS_PRS_M3_MASK (0x7000U) 1276 #define AXBS_PRS_M3_SHIFT (12U) 1277 /*! M3 - Master 3 Priority. Sets the arbitration priority for this port on the associated slave port. 1278 * 0b000..This master has level 1, or highest, priority when accessing the slave port. 1279 * 0b001..This master has level 2 priority when accessing the slave port. 1280 * 0b010..This master has level 3 priority when accessing the slave port. 1281 * 0b011..This master has level 4 priority when accessing the slave port. 1282 * 0b100..This master has level 5 priority when accessing the slave port. 1283 * 0b101..This master has level 6 priority when accessing the slave port. 1284 * 0b110..This master has level 7 priority when accessing the slave port. 1285 * 0b111..This master has level 8, or lowest, priority when accessing the slave port. 1286 */ 1287 #define AXBS_PRS_M3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS_M3_SHIFT)) & AXBS_PRS_M3_MASK) 1288 #define AXBS_PRS_M4_MASK (0x70000U) 1289 #define AXBS_PRS_M4_SHIFT (16U) 1290 /*! M4 - Master 4 Priority. Sets the arbitration priority for this port on the associated slave port. 1291 * 0b000..This master has level 1, or highest, priority when accessing the slave port. 1292 * 0b001..This master has level 2 priority when accessing the slave port. 1293 * 0b010..This master has level 3 priority when accessing the slave port. 1294 * 0b011..This master has level 4 priority when accessing the slave port. 1295 * 0b100..This master has level 5 priority when accessing the slave port. 1296 * 0b101..This master has level 6 priority when accessing the slave port. 1297 * 0b110..This master has level 7 priority when accessing the slave port. 1298 * 0b111..This master has level 8, or lowest, priority when accessing the slave port. 1299 */ 1300 #define AXBS_PRS_M4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS_M4_SHIFT)) & AXBS_PRS_M4_MASK) 1301 #define AXBS_PRS_M5_MASK (0x700000U) 1302 #define AXBS_PRS_M5_SHIFT (20U) 1303 /*! M5 - Master 5 Priority. Sets the arbitration priority for this port on the associated slave port. 1304 * 0b000..This master has level 1, or highest, priority when accessing the slave port. 1305 * 0b001..This master has level 2 priority when accessing the slave port. 1306 * 0b010..This master has level 3 priority when accessing the slave port. 1307 * 0b011..This master has level 4 priority when accessing the slave port. 1308 * 0b100..This master has level 5 priority when accessing the slave port. 1309 * 0b101..This master has level 6 priority when accessing the slave port. 1310 * 0b110..This master has level 7 priority when accessing the slave port. 1311 * 0b111..This master has level 8, or lowest, priority when accessing the slave port. 1312 */ 1313 #define AXBS_PRS_M5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS_M5_SHIFT)) & AXBS_PRS_M5_MASK) 1314 /*! @} */ 1315 1316 /* The count of AXBS_PRS */ 1317 #define AXBS_PRS_COUNT (5U) 1318 1319 /*! @name CRS - Control Register */ 1320 /*! @{ */ 1321 #define AXBS_CRS_PARK_MASK (0x7U) 1322 #define AXBS_CRS_PARK_SHIFT (0U) 1323 /*! PARK - Park 1324 * 0b000..Park on master port M0 1325 * 0b001..Park on master port M1 1326 * 0b010..Park on master port M2 1327 * 0b011..Park on master port M3 1328 * 0b100..Park on master port M4 1329 * 0b101..Park on master port M5 1330 * 0b110..Park on master port M6 1331 * 0b111..Park on master port M7 1332 */ 1333 #define AXBS_CRS_PARK(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS_PARK_SHIFT)) & AXBS_CRS_PARK_MASK) 1334 #define AXBS_CRS_PCTL_MASK (0x30U) 1335 #define AXBS_CRS_PCTL_SHIFT (4U) 1336 /*! PCTL - Parking Control 1337 * 0b00..When no master makes a request, the arbiter parks the slave port on the master port defined by the PARK field 1338 * 0b01..When no master makes a request, the arbiter parks the slave port on the last master to be in control of the slave port 1339 * 0b10..When no master makes a request, the slave port is not parked on a master and the arbiter drives all outputs to a constant safe state 1340 * 0b11..Reserved 1341 */ 1342 #define AXBS_CRS_PCTL(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS_PCTL_SHIFT)) & AXBS_CRS_PCTL_MASK) 1343 #define AXBS_CRS_ARB_MASK (0x300U) 1344 #define AXBS_CRS_ARB_SHIFT (8U) 1345 /*! ARB - Arbitration Mode 1346 * 0b00..Fixed priority 1347 * 0b01..Round-robin, or rotating, priority 1348 * 0b10..Reserved 1349 * 0b11..Reserved 1350 */ 1351 #define AXBS_CRS_ARB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS_ARB_SHIFT)) & AXBS_CRS_ARB_MASK) 1352 #define AXBS_CRS_HLP_MASK (0x40000000U) 1353 #define AXBS_CRS_HLP_SHIFT (30U) 1354 /*! HLP - Halt Low Priority 1355 * 0b0..The low power mode request has the highest priority for arbitration on this slave port 1356 * 0b1..The low power mode request has the lowest initial priority for arbitration on this slave port 1357 */ 1358 #define AXBS_CRS_HLP(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS_HLP_SHIFT)) & AXBS_CRS_HLP_MASK) 1359 #define AXBS_CRS_RO_MASK (0x80000000U) 1360 #define AXBS_CRS_RO_SHIFT (31U) 1361 /*! RO - Read Only 1362 * 0b0..The slave port's registers are writeable 1363 * 0b1..The slave port's registers are read-only and cannot be written. Attempted writes have no effect on the registers and result in a bus error response. 1364 */ 1365 #define AXBS_CRS_RO(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS_RO_SHIFT)) & AXBS_CRS_RO_MASK) 1366 /*! @} */ 1367 1368 /* The count of AXBS_CRS */ 1369 #define AXBS_CRS_COUNT (5U) 1370 1371 /*! @name MGPCR0 - Master General Purpose Control Register */ 1372 /*! @{ */ 1373 #define AXBS_MGPCR0_AULB_MASK (0x7U) 1374 #define AXBS_MGPCR0_AULB_SHIFT (0U) 1375 /*! AULB - Arbitrates On Undefined Length Bursts 1376 * 0b000..No arbitration is allowed during an undefined length burst 1377 * 0b001..Arbitration is allowed at any time during an undefined length burst 1378 * 0b010..Arbitration is allowed after four beats of an undefined length burst 1379 * 0b011..Arbitration is allowed after eight beats of an undefined length burst 1380 * 0b100..Arbitration is allowed after 16 beats of an undefined length burst 1381 * 0b101..Reserved 1382 * 0b110..Reserved 1383 * 0b111..Reserved 1384 */ 1385 #define AXBS_MGPCR0_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR0_AULB_SHIFT)) & AXBS_MGPCR0_AULB_MASK) 1386 /*! @} */ 1387 1388 /*! @name MGPCR1 - Master General Purpose Control Register */ 1389 /*! @{ */ 1390 #define AXBS_MGPCR1_AULB_MASK (0x7U) 1391 #define AXBS_MGPCR1_AULB_SHIFT (0U) 1392 /*! AULB - Arbitrates On Undefined Length Bursts 1393 * 0b000..No arbitration is allowed during an undefined length burst 1394 * 0b001..Arbitration is allowed at any time during an undefined length burst 1395 * 0b010..Arbitration is allowed after four beats of an undefined length burst 1396 * 0b011..Arbitration is allowed after eight beats of an undefined length burst 1397 * 0b100..Arbitration is allowed after 16 beats of an undefined length burst 1398 * 0b101..Reserved 1399 * 0b110..Reserved 1400 * 0b111..Reserved 1401 */ 1402 #define AXBS_MGPCR1_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR1_AULB_SHIFT)) & AXBS_MGPCR1_AULB_MASK) 1403 /*! @} */ 1404 1405 /*! @name MGPCR2 - Master General Purpose Control Register */ 1406 /*! @{ */ 1407 #define AXBS_MGPCR2_AULB_MASK (0x7U) 1408 #define AXBS_MGPCR2_AULB_SHIFT (0U) 1409 /*! AULB - Arbitrates On Undefined Length Bursts 1410 * 0b000..No arbitration is allowed during an undefined length burst 1411 * 0b001..Arbitration is allowed at any time during an undefined length burst 1412 * 0b010..Arbitration is allowed after four beats of an undefined length burst 1413 * 0b011..Arbitration is allowed after eight beats of an undefined length burst 1414 * 0b100..Arbitration is allowed after 16 beats of an undefined length burst 1415 * 0b101..Reserved 1416 * 0b110..Reserved 1417 * 0b111..Reserved 1418 */ 1419 #define AXBS_MGPCR2_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR2_AULB_SHIFT)) & AXBS_MGPCR2_AULB_MASK) 1420 /*! @} */ 1421 1422 /*! @name MGPCR3 - Master General Purpose Control Register */ 1423 /*! @{ */ 1424 #define AXBS_MGPCR3_AULB_MASK (0x7U) 1425 #define AXBS_MGPCR3_AULB_SHIFT (0U) 1426 /*! AULB - Arbitrates On Undefined Length Bursts 1427 * 0b000..No arbitration is allowed during an undefined length burst 1428 * 0b001..Arbitration is allowed at any time during an undefined length burst 1429 * 0b010..Arbitration is allowed after four beats of an undefined length burst 1430 * 0b011..Arbitration is allowed after eight beats of an undefined length burst 1431 * 0b100..Arbitration is allowed after 16 beats of an undefined length burst 1432 * 0b101..Reserved 1433 * 0b110..Reserved 1434 * 0b111..Reserved 1435 */ 1436 #define AXBS_MGPCR3_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR3_AULB_SHIFT)) & AXBS_MGPCR3_AULB_MASK) 1437 /*! @} */ 1438 1439 /*! @name MGPCR4 - Master General Purpose Control Register */ 1440 /*! @{ */ 1441 #define AXBS_MGPCR4_AULB_MASK (0x7U) 1442 #define AXBS_MGPCR4_AULB_SHIFT (0U) 1443 /*! AULB - Arbitrates On Undefined Length Bursts 1444 * 0b000..No arbitration is allowed during an undefined length burst 1445 * 0b001..Arbitration is allowed at any time during an undefined length burst 1446 * 0b010..Arbitration is allowed after four beats of an undefined length burst 1447 * 0b011..Arbitration is allowed after eight beats of an undefined length burst 1448 * 0b100..Arbitration is allowed after 16 beats of an undefined length burst 1449 * 0b101..Reserved 1450 * 0b110..Reserved 1451 * 0b111..Reserved 1452 */ 1453 #define AXBS_MGPCR4_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR4_AULB_SHIFT)) & AXBS_MGPCR4_AULB_MASK) 1454 /*! @} */ 1455 1456 /*! @name MGPCR5 - Master General Purpose Control Register */ 1457 /*! @{ */ 1458 #define AXBS_MGPCR5_AULB_MASK (0x7U) 1459 #define AXBS_MGPCR5_AULB_SHIFT (0U) 1460 /*! AULB - Arbitrates On Undefined Length Bursts 1461 * 0b000..No arbitration is allowed during an undefined length burst 1462 * 0b001..Arbitration is allowed at any time during an undefined length burst 1463 * 0b010..Arbitration is allowed after four beats of an undefined length burst 1464 * 0b011..Arbitration is allowed after eight beats of an undefined length burst 1465 * 0b100..Arbitration is allowed after 16 beats of an undefined length burst 1466 * 0b101..Reserved 1467 * 0b110..Reserved 1468 * 0b111..Reserved 1469 */ 1470 #define AXBS_MGPCR5_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR5_AULB_SHIFT)) & AXBS_MGPCR5_AULB_MASK) 1471 /*! @} */ 1472 1473 1474 /*! 1475 * @} 1476 */ /* end of group AXBS_Register_Masks */ 1477 1478 1479 /* AXBS - Peripheral instance base addresses */ 1480 /** Peripheral AXBS0 base address */ 1481 #define AXBS0_BASE (0x40004000u) 1482 /** Peripheral AXBS0 base pointer */ 1483 #define AXBS0 ((AXBS_Type *)AXBS0_BASE) 1484 /** Array initializer of AXBS peripheral base addresses */ 1485 #define AXBS_BASE_ADDRS { AXBS0_BASE } 1486 /** Array initializer of AXBS peripheral base pointers */ 1487 #define AXBS_BASE_PTRS { AXBS0 } 1488 1489 /*! 1490 * @} 1491 */ /* end of group AXBS_Peripheral_Access_Layer */ 1492 1493 1494 /* ---------------------------------------------------------------------------- 1495 -- CAU3 Peripheral Access Layer 1496 ---------------------------------------------------------------------------- */ 1497 1498 /*! 1499 * @addtogroup CAU3_Peripheral_Access_Layer CAU3 Peripheral Access Layer 1500 * @{ 1501 */ 1502 1503 /** CAU3 - Register Layout Typedef */ 1504 typedef struct { 1505 __I uint32_t PCT; /**< Processor Core Type, offset: 0x0 */ 1506 __I uint32_t MCFG; /**< Memory Configuration, offset: 0x4 */ 1507 uint8_t RESERVED_0[8]; 1508 __IO uint32_t CR; /**< Control Register, offset: 0x10 */ 1509 __IO uint32_t SR; /**< Status Register, offset: 0x14 */ 1510 uint8_t RESERVED_1[8]; 1511 __IO uint32_t DBGCSR; /**< Debug Control/Status Register, offset: 0x20 */ 1512 __IO uint32_t DBGPBR; /**< Debug PC Breakpoint Register, offset: 0x24 */ 1513 uint8_t RESERVED_2[8]; 1514 __IO uint32_t DBGMCMD; /**< Debug Memory Command Register, offset: 0x30 */ 1515 __IO uint32_t DBGMADR; /**< Debug Memory Address Register, offset: 0x34 */ 1516 __IO uint32_t DBGMDR; /**< Debug Memory Data Register, offset: 0x38 */ 1517 uint8_t RESERVED_3[180]; 1518 __IO uint32_t SEMA4; /**< Semaphore Register, offset: 0xF0 */ 1519 __I uint32_t SMOWNR; /**< Semaphore Ownership Register, offset: 0xF4 */ 1520 uint8_t RESERVED_4[4]; 1521 __IO uint32_t ARR; /**< Address Remap Register, offset: 0xFC */ 1522 uint8_t RESERVED_5[128]; 1523 __IO uint32_t CC_R[30]; /**< CryptoCore General Purpose Registers, array offset: 0x180, array step: 0x4 */ 1524 __IO uint32_t CC_R30; /**< General Purpose R30, offset: 0x1F8 */ 1525 __IO uint32_t CC_R31; /**< General Purpose R31, offset: 0x1FC */ 1526 __IO uint32_t CC_PC; /**< Program Counter, offset: 0x200 */ 1527 __O uint32_t CC_CMD; /**< Start Command Register, offset: 0x204 */ 1528 __I uint32_t CC_CF; /**< Condition Flag, offset: 0x208 */ 1529 uint8_t RESERVED_6[500]; 1530 __IO uint32_t MDPK; /**< Mode Register (PublicKey), offset: 0x400 */ 1531 uint8_t RESERVED_7[44]; 1532 __O uint32_t COM; /**< Command Register, offset: 0x430 */ 1533 __IO uint32_t CTL; /**< Control Register, offset: 0x434 */ 1534 uint8_t RESERVED_8[8]; 1535 __O uint32_t CW; /**< Clear Written Register, offset: 0x440 */ 1536 uint8_t RESERVED_9[4]; 1537 __IO uint32_t STA; /**< Status Register, offset: 0x448 */ 1538 __I uint32_t ESTA; /**< Error Status Register, offset: 0x44C */ 1539 uint8_t RESERVED_10[48]; 1540 __IO uint32_t PKASZ; /**< PKHA A Size Register, offset: 0x480 */ 1541 uint8_t RESERVED_11[4]; 1542 __IO uint32_t PKBSZ; /**< PKHA B Size Register, offset: 0x488 */ 1543 uint8_t RESERVED_12[4]; 1544 __IO uint32_t PKNSZ; /**< PKHA N Size Register, offset: 0x490 */ 1545 uint8_t RESERVED_13[4]; 1546 __IO uint32_t PKESZ; /**< PKHA E Size Register, offset: 0x498 */ 1547 uint8_t RESERVED_14[84]; 1548 __I uint32_t PKHA_VID1; /**< PKHA Revision ID 1, offset: 0x4F0 */ 1549 __I uint32_t PKHA_VID2; /**< PKHA Revision ID 2, offset: 0x4F4 */ 1550 __I uint32_t CHA_VID; /**< CHA Revision ID, offset: 0x4F8 */ 1551 uint8_t RESERVED_15[260]; 1552 __IO uint32_t PKHA_CCR; /**< PKHA Clock Control Register, offset: 0x600 */ 1553 __I uint32_t GSR; /**< Global Status Register, offset: 0x604 */ 1554 __IO uint32_t CKLFSR; /**< Clock Linear Feedback Shift Register, offset: 0x608 */ 1555 uint8_t RESERVED_16[500]; 1556 __IO uint32_t PKA0[32]; /**< PKHA A0 Register, array offset: 0x800, array step: 0x4 */ 1557 __IO uint32_t PKA1[32]; /**< PKHA A1 Register, array offset: 0x880, array step: 0x4 */ 1558 __IO uint32_t PKA2[32]; /**< PKHA A2 Register, array offset: 0x900, array step: 0x4 */ 1559 __IO uint32_t PKA3[32]; /**< PKHA A3 Register, array offset: 0x980, array step: 0x4 */ 1560 __IO uint32_t PKB0[32]; /**< PKHA B0 Register, array offset: 0xA00, array step: 0x4 */ 1561 __IO uint32_t PKB1[32]; /**< PKHA B1 Register, array offset: 0xA80, array step: 0x4 */ 1562 __IO uint32_t PKB2[32]; /**< PKHA B2 Register, array offset: 0xB00, array step: 0x4 */ 1563 __IO uint32_t PKB3[32]; /**< PKHA B3 Register, array offset: 0xB80, array step: 0x4 */ 1564 __IO uint32_t PKN0[32]; /**< PKHA N0 Register, array offset: 0xC00, array step: 0x4 */ 1565 __IO uint32_t PKN1[32]; /**< PKHA N1 Register, array offset: 0xC80, array step: 0x4 */ 1566 __IO uint32_t PKN2[32]; /**< PKHA N2 Register, array offset: 0xD00, array step: 0x4 */ 1567 __IO uint32_t PKN3[32]; /**< PKHA N3 Register, array offset: 0xD80, array step: 0x4 */ 1568 __O uint32_t PKE[128]; /**< PKHA E Register, array offset: 0xE00, array step: 0x4 */ 1569 } CAU3_Type; 1570 1571 /* ---------------------------------------------------------------------------- 1572 -- CAU3 Register Masks 1573 ---------------------------------------------------------------------------- */ 1574 1575 /*! 1576 * @addtogroup CAU3_Register_Masks CAU3 Register Masks 1577 * @{ 1578 */ 1579 1580 /*! @name PCT - Processor Core Type */ 1581 /*! @{ */ 1582 #define CAU3_PCT_Y_MASK (0xFU) 1583 #define CAU3_PCT_Y_SHIFT (0U) 1584 /*! Y - Minor version number 1585 * 0b0000..Minor version number 1586 */ 1587 #define CAU3_PCT_Y(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PCT_Y_SHIFT)) & CAU3_PCT_Y_MASK) 1588 #define CAU3_PCT_X_MASK (0xF0U) 1589 #define CAU3_PCT_X_SHIFT (4U) 1590 /*! X - Major version number 1591 * 0b0000..Major version number 1592 */ 1593 #define CAU3_PCT_X(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PCT_X_SHIFT)) & CAU3_PCT_X_MASK) 1594 #define CAU3_PCT_ID_MASK (0xFFFFFF00U) 1595 #define CAU3_PCT_ID_SHIFT (8U) 1596 /*! ID - Module ID number 1597 * 0b010010110100000101100000..ID number for basic configuration 1598 * 0b010010110100000101100001..ID number for PKHA configuration 1599 */ 1600 #define CAU3_PCT_ID(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PCT_ID_SHIFT)) & CAU3_PCT_ID_MASK) 1601 /*! @} */ 1602 1603 /*! @name MCFG - Memory Configuration */ 1604 /*! @{ */ 1605 #define CAU3_MCFG_DRAM_SZ_MASK (0xF00U) 1606 #define CAU3_MCFG_DRAM_SZ_SHIFT (8U) 1607 /*! DRAM_SZ - Data RAM Size 1608 * 0b0000..No memory module 1609 * 0b0100..2K bytes 1610 * 0b0101..3K bytes 1611 * 0b0110..4K bytes 1612 * 0b0111..6K bytes 1613 * 0b1000..8K bytes 1614 * 0b1001..12K bytes 1615 * 0b1010..16K bytes 1616 * 0b1011..24K bytes 1617 * 0b1100..32K bytes 1618 * 0b1101..48K bytes 1619 * 0b1110..64K bytes 1620 * 0b1111..96K bytes 1621 */ 1622 #define CAU3_MCFG_DRAM_SZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_MCFG_DRAM_SZ_SHIFT)) & CAU3_MCFG_DRAM_SZ_MASK) 1623 #define CAU3_MCFG_IROM_SZ_MASK (0xF0000U) 1624 #define CAU3_MCFG_IROM_SZ_SHIFT (16U) 1625 /*! IROM_SZ - Instruction ROM Size 1626 * 0b0000..No memory module 1627 * 0b0100..2K bytes 1628 * 0b0101..3K bytes 1629 * 0b0110..4K bytes 1630 * 0b0111..6K bytes 1631 * 0b1000..8K bytes 1632 * 0b1001..12K bytes 1633 * 0b1010..16K bytes 1634 * 0b1011..24K bytes 1635 * 0b1100..32K bytes 1636 * 0b1101..48K bytes 1637 * 0b1110..64K bytes 1638 * 0b1111..96K bytes 1639 */ 1640 #define CAU3_MCFG_IROM_SZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_MCFG_IROM_SZ_SHIFT)) & CAU3_MCFG_IROM_SZ_MASK) 1641 #define CAU3_MCFG_IRAM_SZ_MASK (0xF000000U) 1642 #define CAU3_MCFG_IRAM_SZ_SHIFT (24U) 1643 /*! IRAM_SZ - Instruction RAM Size 1644 * 0b0000..No memory module 1645 * 0b0100..2K bytes 1646 * 0b0101..3K bytes 1647 * 0b0110..4K bytes 1648 * 0b0111..6K bytes 1649 * 0b1000..8K bytes 1650 * 0b1001..12K bytes 1651 * 0b1010..16K bytes 1652 * 0b1011..24K bytes 1653 * 0b1100..32K bytes 1654 * 0b1101..48K bytes 1655 * 0b1110..64K bytes 1656 * 0b1111..96K bytes 1657 */ 1658 #define CAU3_MCFG_IRAM_SZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_MCFG_IRAM_SZ_SHIFT)) & CAU3_MCFG_IRAM_SZ_MASK) 1659 /*! @} */ 1660 1661 /*! @name CR - Control Register */ 1662 /*! @{ */ 1663 #define CAU3_CR_TCSEIE_MASK (0x1U) 1664 #define CAU3_CR_TCSEIE_SHIFT (0U) 1665 /*! TCSEIE - Task completion with software error interrupt enable 1666 * 0b0..Disables task completion with software error to generate an interrupt request 1667 * 0b1..Enables task completion with software error to generate an interrupt request 1668 */ 1669 #define CAU3_CR_TCSEIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_TCSEIE_SHIFT)) & CAU3_CR_TCSEIE_MASK) 1670 #define CAU3_CR_ILLIE_MASK (0x2U) 1671 #define CAU3_CR_ILLIE_SHIFT (1U) 1672 /*! ILLIE - Illegal Instruction Interrupt Enable 1673 * 0b0..Illegal instruction interrupt requests are disabled 1674 * 0b1..illegal Instruction interrupt requests are enabled 1675 */ 1676 #define CAU3_CR_ILLIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_ILLIE_SHIFT)) & CAU3_CR_ILLIE_MASK) 1677 #define CAU3_CR_ASREIE_MASK (0x8U) 1678 #define CAU3_CR_ASREIE_SHIFT (3U) 1679 /*! ASREIE - AHB Slave Response Error Interrupt Enable 1680 * 0b0..AHB slave response error interruption is not enabled 1681 * 0b1..AHB slave response error interruption is enabled 1682 */ 1683 #define CAU3_CR_ASREIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_ASREIE_SHIFT)) & CAU3_CR_ASREIE_MASK) 1684 #define CAU3_CR_IIADIE_MASK (0x10U) 1685 #define CAU3_CR_IIADIE_SHIFT (4U) 1686 /*! IIADIE - IMEM Illegal Address Interrupt Enable 1687 * 0b0..IMEM illegal address interruption is not enabled 1688 * 0b1..IMEM illegal address interruption is enabled 1689 */ 1690 #define CAU3_CR_IIADIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_IIADIE_SHIFT)) & CAU3_CR_IIADIE_MASK) 1691 #define CAU3_CR_DIADIE_MASK (0x20U) 1692 #define CAU3_CR_DIADIE_SHIFT (5U) 1693 /*! DIADIE - DMEM Illegal Address Interrupt Enable 1694 * 0b0..DMEM illegal address interruption is not enabled 1695 * 0b1..DMEM illegal address interruption is enabled 1696 */ 1697 #define CAU3_CR_DIADIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_DIADIE_SHIFT)) & CAU3_CR_DIADIE_MASK) 1698 #define CAU3_CR_SVIE_MASK (0x40U) 1699 #define CAU3_CR_SVIE_SHIFT (6U) 1700 /*! SVIE - Security Violation Interrupt Enable 1701 * 0b0..Security violation interruption is not enabled 1702 * 0b1..Security violation interruption is enabled 1703 */ 1704 #define CAU3_CR_SVIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_SVIE_SHIFT)) & CAU3_CR_SVIE_MASK) 1705 #define CAU3_CR_TCIE_MASK (0x80U) 1706 #define CAU3_CR_TCIE_SHIFT (7U) 1707 /*! TCIE - Task completion with no error interrupt enable 1708 * 0b0..Disables task completion with no error to generate an interrupt request 1709 * 0b1..Enables task completion with no error to generate an interrupt request 1710 */ 1711 #define CAU3_CR_TCIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_TCIE_SHIFT)) & CAU3_CR_TCIE_MASK) 1712 #define CAU3_CR_RSTSM4_MASK (0x3000U) 1713 #define CAU3_CR_RSTSM4_SHIFT (12U) 1714 /*! RSTSM4 - Reset Semaphore 1715 * 0b00..Idle state 1716 * 0b01..Wait for second write 1717 * 0b10..Clears semaphore if previous state was "01" 1718 * 0b11..Reserved 1719 */ 1720 #define CAU3_CR_RSTSM4(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_RSTSM4_SHIFT)) & CAU3_CR_RSTSM4_MASK) 1721 #define CAU3_CR_MRST_MASK (0x8000U) 1722 #define CAU3_CR_MRST_SHIFT (15U) 1723 /*! MRST - Module Reset 1724 * 0b0..no action 1725 * 0b1..reset 1726 */ 1727 #define CAU3_CR_MRST(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_MRST_SHIFT)) & CAU3_CR_MRST_MASK) 1728 #define CAU3_CR_FSV_MASK (0x10000U) 1729 #define CAU3_CR_FSV_SHIFT (16U) 1730 /*! FSV - Force Security Violation Test 1731 * 0b0..no violation is forced 1732 * 0b1..force security violation 1733 */ 1734 #define CAU3_CR_FSV(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_FSV_SHIFT)) & CAU3_CR_FSV_MASK) 1735 #define CAU3_CR_DTCCFG_MASK (0x7000000U) 1736 #define CAU3_CR_DTCCFG_SHIFT (24U) 1737 /*! DTCCFG - Default Task Completion Configuration 1738 * 0b100..Issue a DMA request 1739 * 0b010..Assert Event Completion Signal 1740 * 0b001..Issue an Interrupt Request 1741 * 0b000..no explicit action 1742 */ 1743 #define CAU3_CR_DTCCFG(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_DTCCFG_SHIFT)) & CAU3_CR_DTCCFG_MASK) 1744 #define CAU3_CR_DSHFI_MASK (0x10000000U) 1745 #define CAU3_CR_DSHFI_SHIFT (28U) 1746 /*! DSHFI - Disable Secure Hash Function Instructions 1747 * 0b0..Secure Hash Functions are enabled 1748 * 0b1..Secure Hash Functions are disabled 1749 */ 1750 #define CAU3_CR_DSHFI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_DSHFI_SHIFT)) & CAU3_CR_DSHFI_MASK) 1751 #define CAU3_CR_DDESI_MASK (0x20000000U) 1752 #define CAU3_CR_DDESI_SHIFT (29U) 1753 /*! DDESI - Disable DES Instructions 1754 * 0b0..DES instructions are enabled 1755 * 0b1..DES instructions are disabled 1756 */ 1757 #define CAU3_CR_DDESI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_DDESI_SHIFT)) & CAU3_CR_DDESI_MASK) 1758 #define CAU3_CR_DAESI_MASK (0x40000000U) 1759 #define CAU3_CR_DAESI_SHIFT (30U) 1760 /*! DAESI - Disable AES Instructions 1761 * 0b0..AES instructions are enabled 1762 * 0b1..AES instructions are disabled 1763 */ 1764 #define CAU3_CR_DAESI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_DAESI_SHIFT)) & CAU3_CR_DAESI_MASK) 1765 #define CAU3_CR_MDIS_MASK (0x80000000U) 1766 #define CAU3_CR_MDIS_SHIFT (31U) 1767 /*! MDIS - Module Disable 1768 * 0b0..CAU3 exits from low power mode 1769 * 0b1..CAU3 enters low power mode 1770 */ 1771 #define CAU3_CR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_MDIS_SHIFT)) & CAU3_CR_MDIS_MASK) 1772 /*! @} */ 1773 1774 /*! @name SR - Status Register */ 1775 /*! @{ */ 1776 #define CAU3_SR_TCSEIRQ_MASK (0x1U) 1777 #define CAU3_SR_TCSEIRQ_SHIFT (0U) 1778 /*! TCSEIRQ - Task completion with software error interrupt request 1779 * 0b0..Task not finished or finished with no software error 1780 * 0b1..Task execution finished with software error 1781 */ 1782 #define CAU3_SR_TCSEIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_TCSEIRQ_SHIFT)) & CAU3_SR_TCSEIRQ_MASK) 1783 #define CAU3_SR_ILLIRQ_MASK (0x2U) 1784 #define CAU3_SR_ILLIRQ_SHIFT (1U) 1785 /*! ILLIRQ - Illegal instruction interrupt request 1786 * 0b0..no error 1787 * 0b1..illegal instruction detected 1788 */ 1789 #define CAU3_SR_ILLIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_ILLIRQ_SHIFT)) & CAU3_SR_ILLIRQ_MASK) 1790 #define CAU3_SR_ASREIRQ_MASK (0x8U) 1791 #define CAU3_SR_ASREIRQ_SHIFT (3U) 1792 /*! ASREIRQ - AHB slave response error interrupt Request 1793 * 0b0..no error 1794 * 0b1..AHB slave response error detected 1795 */ 1796 #define CAU3_SR_ASREIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_ASREIRQ_SHIFT)) & CAU3_SR_ASREIRQ_MASK) 1797 #define CAU3_SR_IIADIRQ_MASK (0x10U) 1798 #define CAU3_SR_IIADIRQ_SHIFT (4U) 1799 /*! IIADIRQ - IMEM Illegal address interrupt request 1800 * 0b0..no error 1801 * 0b1..illegal IMEM address detected 1802 */ 1803 #define CAU3_SR_IIADIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_IIADIRQ_SHIFT)) & CAU3_SR_IIADIRQ_MASK) 1804 #define CAU3_SR_DIADIRQ_MASK (0x20U) 1805 #define CAU3_SR_DIADIRQ_SHIFT (5U) 1806 /*! DIADIRQ - DMEM illegal access interrupt request 1807 * 0b0..no illegal address 1808 * 0b1..illegal address 1809 */ 1810 #define CAU3_SR_DIADIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_DIADIRQ_SHIFT)) & CAU3_SR_DIADIRQ_MASK) 1811 #define CAU3_SR_SVIRQ_MASK (0x40U) 1812 #define CAU3_SR_SVIRQ_SHIFT (6U) 1813 /*! SVIRQ - Security violation interrupt request 1814 * 0b0..No security violation 1815 * 0b1..Security violation 1816 */ 1817 #define CAU3_SR_SVIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_SVIRQ_SHIFT)) & CAU3_SR_SVIRQ_MASK) 1818 #define CAU3_SR_TCIRQ_MASK (0x80U) 1819 #define CAU3_SR_TCIRQ_SHIFT (7U) 1820 /*! TCIRQ - Task completion with no error interrupt request 1821 * 0b0..Task not finished or finished with error 1822 * 0b1..Task execution finished with no error 1823 */ 1824 #define CAU3_SR_TCIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_TCIRQ_SHIFT)) & CAU3_SR_TCIRQ_MASK) 1825 #define CAU3_SR_TKCS_MASK (0xF00U) 1826 #define CAU3_SR_TKCS_SHIFT (8U) 1827 /*! TKCS - Task completion status 1828 * 0b0000..Initialization RUN 1829 * 0b0001..Running 1830 * 0b0010..Debug Halted 1831 * 0b1001..Stop - Error Free 1832 * 0b1010..Stop - Error 1833 * 0b1110..Stop - Security Violation, assert security violation output signal and set SVIRQ 1834 * 0b1111..Stop - Security Violation and set SVIRQ 1835 */ 1836 #define CAU3_SR_TKCS(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_TKCS_SHIFT)) & CAU3_SR_TKCS_MASK) 1837 #define CAU3_SR_SVF_MASK (0x10000U) 1838 #define CAU3_SR_SVF_SHIFT (16U) 1839 /*! SVF - Security violation flag 1840 * 0b0..SoC security violation is not asserted 1841 * 0b1..SoC security violation was asserted 1842 */ 1843 #define CAU3_SR_SVF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_SVF_SHIFT)) & CAU3_SR_SVF_MASK) 1844 #define CAU3_SR_DBG_MASK (0x20000U) 1845 #define CAU3_SR_DBG_SHIFT (17U) 1846 /*! DBG - Debug mode 1847 * 0b0..CAU3 is not in debug mode 1848 * 0b1..CAU3 is in debug mode 1849 */ 1850 #define CAU3_SR_DBG(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_DBG_SHIFT)) & CAU3_SR_DBG_MASK) 1851 #define CAU3_SR_TCCFG_MASK (0x7000000U) 1852 #define CAU3_SR_TCCFG_SHIFT (24U) 1853 /*! TCCFG - Task completion configuration 1854 * 0b100..Issue a DMA request 1855 * 0b010..Assert the Event Completion Signal 1856 * 0b001..Assert an interrupt request 1857 * 0b000..No action 1858 */ 1859 #define CAU3_SR_TCCFG(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_TCCFG_SHIFT)) & CAU3_SR_TCCFG_MASK) 1860 #define CAU3_SR_MDISF_MASK (0x80000000U) 1861 #define CAU3_SR_MDISF_SHIFT (31U) 1862 /*! MDISF - Module disable flag 1863 * 0b0..CCore is not in low power mode 1864 * 0b1..CCore is in low power mode 1865 */ 1866 #define CAU3_SR_MDISF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_MDISF_SHIFT)) & CAU3_SR_MDISF_MASK) 1867 /*! @} */ 1868 1869 /*! @name DBGCSR - Debug Control/Status Register */ 1870 /*! @{ */ 1871 #define CAU3_DBGCSR_DDBG_MASK (0x1U) 1872 #define CAU3_DBGCSR_DDBG_SHIFT (0U) 1873 /*! DDBG - Debug Disable 1874 * 0b0..debug is enabled 1875 * 0b1..debug is disabled 1876 */ 1877 #define CAU3_DBGCSR_DDBG(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_DDBG_SHIFT)) & CAU3_DBGCSR_DDBG_MASK) 1878 #define CAU3_DBGCSR_DDBGMC_MASK (0x2U) 1879 #define CAU3_DBGCSR_DDBGMC_SHIFT (1U) 1880 /*! DDBGMC - Disable Debug Memory Commands 1881 * 0b0..IPS access to IMEM and DMEM are enabled 1882 * 0b1..IPS access to IMEM and DMEM are disabled 1883 */ 1884 #define CAU3_DBGCSR_DDBGMC(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_DDBGMC_SHIFT)) & CAU3_DBGCSR_DDBGMC_MASK) 1885 #define CAU3_DBGCSR_PBREN_MASK (0x10U) 1886 #define CAU3_DBGCSR_PBREN_SHIFT (4U) 1887 /*! PBREN - PC Breakpoint Register Enable 1888 * 0b0..PC breakpoint register (DBGPBR) is disabled 1889 * 0b1..PC breakpoint register (DBGPBR) is enabled 1890 */ 1891 #define CAU3_DBGCSR_PBREN(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_PBREN_SHIFT)) & CAU3_DBGCSR_PBREN_MASK) 1892 #define CAU3_DBGCSR_SIM_MASK (0x20U) 1893 #define CAU3_DBGCSR_SIM_SHIFT (5U) 1894 /*! SIM - Single Instruction Mode 1895 * 0b0..Single instruction mode is disabled 1896 * 0b1..Single instruction mode is enabled 1897 */ 1898 #define CAU3_DBGCSR_SIM(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_SIM_SHIFT)) & CAU3_DBGCSR_SIM_MASK) 1899 #define CAU3_DBGCSR_FRCH_MASK (0x100U) 1900 #define CAU3_DBGCSR_FRCH_SHIFT (8U) 1901 /*! FRCH - Force Debug Halt 1902 * 0b0..Halt state not forced 1903 * 0b1..Force halt state 1904 */ 1905 #define CAU3_DBGCSR_FRCH(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_FRCH_SHIFT)) & CAU3_DBGCSR_FRCH_MASK) 1906 #define CAU3_DBGCSR_DBGGO_MASK (0x1000U) 1907 #define CAU3_DBGCSR_DBGGO_SHIFT (12U) 1908 /*! DBGGO - Debug Go 1909 * 0b0..No action 1910 * 0b1..Resume program execution 1911 */ 1912 #define CAU3_DBGCSR_DBGGO(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_DBGGO_SHIFT)) & CAU3_DBGCSR_DBGGO_MASK) 1913 #define CAU3_DBGCSR_PCBHF_MASK (0x10000U) 1914 #define CAU3_DBGCSR_PCBHF_SHIFT (16U) 1915 /*! PCBHF - CryptoCore is Halted due to Hardware Breakpoint 1916 * 0b0..CryptoCore is not halted due to a hardware breakpoint 1917 * 0b1..CryptoCore is halted due to a hardware breakpoint 1918 */ 1919 #define CAU3_DBGCSR_PCBHF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_PCBHF_SHIFT)) & CAU3_DBGCSR_PCBHF_MASK) 1920 #define CAU3_DBGCSR_SIMHF_MASK (0x20000U) 1921 #define CAU3_DBGCSR_SIMHF_SHIFT (17U) 1922 /*! SIMHF - CryptoCore is Halted due to Single Instruction Step 1923 * 0b0..CryptoCore is not in a single step halt 1924 * 0b1..CryptoCore is in a single step halt 1925 */ 1926 #define CAU3_DBGCSR_SIMHF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_SIMHF_SHIFT)) & CAU3_DBGCSR_SIMHF_MASK) 1927 #define CAU3_DBGCSR_HLTIF_MASK (0x40000U) 1928 #define CAU3_DBGCSR_HLTIF_SHIFT (18U) 1929 /*! HLTIF - CryptoCore is Halted due to HALT Instruction 1930 * 0b0..CryptoCore is not in software breakpoint 1931 * 0b1..CryptoCore is in software breakpoint 1932 */ 1933 #define CAU3_DBGCSR_HLTIF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_HLTIF_SHIFT)) & CAU3_DBGCSR_HLTIF_MASK) 1934 #define CAU3_DBGCSR_CSTPF_MASK (0x40000000U) 1935 #define CAU3_DBGCSR_CSTPF_SHIFT (30U) 1936 /*! CSTPF - CryptoCore is Stopped Status Flag 1937 * 0b0..CryptoCore is not stopped 1938 * 0b1..CryptoCore is stopped 1939 */ 1940 #define CAU3_DBGCSR_CSTPF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_CSTPF_SHIFT)) & CAU3_DBGCSR_CSTPF_MASK) 1941 #define CAU3_DBGCSR_CHLTF_MASK (0x80000000U) 1942 #define CAU3_DBGCSR_CHLTF_SHIFT (31U) 1943 /*! CHLTF - CryptoCore is Halted Status Flag 1944 * 0b0..CryptoCore is not halted 1945 * 0b1..CryptoCore is halted 1946 */ 1947 #define CAU3_DBGCSR_CHLTF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_CHLTF_SHIFT)) & CAU3_DBGCSR_CHLTF_MASK) 1948 /*! @} */ 1949 1950 /*! @name DBGPBR - Debug PC Breakpoint Register */ 1951 /*! @{ */ 1952 #define CAU3_DBGPBR_PCBKPT_MASK (0xFFFFCU) 1953 #define CAU3_DBGPBR_PCBKPT_SHIFT (2U) 1954 #define CAU3_DBGPBR_PCBKPT(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGPBR_PCBKPT_SHIFT)) & CAU3_DBGPBR_PCBKPT_MASK) 1955 /*! @} */ 1956 1957 /*! @name DBGMCMD - Debug Memory Command Register */ 1958 /*! @{ */ 1959 #define CAU3_DBGMCMD_DM_MASK (0x1000000U) 1960 #define CAU3_DBGMCMD_DM_SHIFT (24U) 1961 /*! DM - Instruction/Data Memory Selection 1962 * 0b0..IMEM is selected 1963 * 0b1..DMEM is selected 1964 */ 1965 #define CAU3_DBGMCMD_DM(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMCMD_DM_SHIFT)) & CAU3_DBGMCMD_DM_MASK) 1966 #define CAU3_DBGMCMD_IA_MASK (0x4000000U) 1967 #define CAU3_DBGMCMD_IA_SHIFT (26U) 1968 /*! IA - Increment Address 1969 * 0b0..Address is not incremented 1970 * 0b1..Address is incremented after the access 1971 */ 1972 #define CAU3_DBGMCMD_IA(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMCMD_IA_SHIFT)) & CAU3_DBGMCMD_IA_MASK) 1973 #define CAU3_DBGMCMD_Rb_1_MASK (0x8000000U) 1974 #define CAU3_DBGMCMD_Rb_1_SHIFT (27U) 1975 #define CAU3_DBGMCMD_Rb_1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMCMD_Rb_1_SHIFT)) & CAU3_DBGMCMD_Rb_1_MASK) 1976 #define CAU3_DBGMCMD_BV_MASK (0x10000000U) 1977 #define CAU3_DBGMCMD_BV_SHIFT (28U) 1978 /*! BV - Byte Reversal Control 1979 * 0b0..DMEM bytes are not reversed 1980 * 0b1..DMEM bytes are reversed 1981 */ 1982 #define CAU3_DBGMCMD_BV(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMCMD_BV_SHIFT)) & CAU3_DBGMCMD_BV_MASK) 1983 #define CAU3_DBGMCMD_R_0_MASK (0x40000000U) 1984 #define CAU3_DBGMCMD_R_0_SHIFT (30U) 1985 #define CAU3_DBGMCMD_R_0(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMCMD_R_0_SHIFT)) & CAU3_DBGMCMD_R_0_MASK) 1986 #define CAU3_DBGMCMD_R_1_MASK (0x80000000U) 1987 #define CAU3_DBGMCMD_R_1_SHIFT (31U) 1988 #define CAU3_DBGMCMD_R_1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMCMD_R_1_SHIFT)) & CAU3_DBGMCMD_R_1_MASK) 1989 /*! @} */ 1990 1991 /*! @name DBGMADR - Debug Memory Address Register */ 1992 /*! @{ */ 1993 #define CAU3_DBGMADR_DMADDR_MASK (0xFFFFFFFCU) 1994 #define CAU3_DBGMADR_DMADDR_SHIFT (2U) 1995 #define CAU3_DBGMADR_DMADDR(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMADR_DMADDR_SHIFT)) & CAU3_DBGMADR_DMADDR_MASK) 1996 /*! @} */ 1997 1998 /*! @name DBGMDR - Debug Memory Data Register */ 1999 /*! @{ */ 2000 #define CAU3_DBGMDR_DMDATA_MASK (0xFFFFFFFFU) 2001 #define CAU3_DBGMDR_DMDATA_SHIFT (0U) 2002 #define CAU3_DBGMDR_DMDATA(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMDR_DMDATA_SHIFT)) & CAU3_DBGMDR_DMDATA_MASK) 2003 /*! @} */ 2004 2005 /*! @name SEMA4 - Semaphore Register */ 2006 /*! @{ */ 2007 #define CAU3_SEMA4_DID_MASK (0xFU) 2008 #define CAU3_SEMA4_DID_SHIFT (0U) 2009 #define CAU3_SEMA4_DID(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SEMA4_DID_SHIFT)) & CAU3_SEMA4_DID_MASK) 2010 #define CAU3_SEMA4_PR_MASK (0x40U) 2011 #define CAU3_SEMA4_PR_SHIFT (6U) 2012 /*! PR - Privilege Attribute of Locked Semaphore Owner 2013 * 0b0..If semaphore is locked, then owner is operating in user mode 2014 * 0b1..If semaphore is locked, then owner is operating in privileged mode 2015 */ 2016 #define CAU3_SEMA4_PR(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SEMA4_PR_SHIFT)) & CAU3_SEMA4_PR_MASK) 2017 #define CAU3_SEMA4_NS_MASK (0x80U) 2018 #define CAU3_SEMA4_NS_SHIFT (7U) 2019 /*! NS - Non Secure Attribute of the Locked Semaphore Owner 2020 * 0b0..If semaphore is locked, owner is operating in secure mode 2021 * 0b1..If semaphore is locked, owner is operating in nonsecure mode 2022 */ 2023 #define CAU3_SEMA4_NS(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SEMA4_NS_SHIFT)) & CAU3_SEMA4_NS_MASK) 2024 #define CAU3_SEMA4_MSTRN_MASK (0x3F00U) 2025 #define CAU3_SEMA4_MSTRN_SHIFT (8U) 2026 #define CAU3_SEMA4_MSTRN(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SEMA4_MSTRN_SHIFT)) & CAU3_SEMA4_MSTRN_MASK) 2027 #define CAU3_SEMA4_LK_MASK (0x80000000U) 2028 #define CAU3_SEMA4_LK_SHIFT (31U) 2029 /*! LK - Semaphore Lock and Release Control 2030 * 0b0..Semaphore release 2031 * 0b1..Semaphore lock 2032 */ 2033 #define CAU3_SEMA4_LK(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SEMA4_LK_SHIFT)) & CAU3_SEMA4_LK_MASK) 2034 /*! @} */ 2035 2036 /*! @name SMOWNR - Semaphore Ownership Register */ 2037 /*! @{ */ 2038 #define CAU3_SMOWNR_LOCK_MASK (0x1U) 2039 #define CAU3_SMOWNR_LOCK_SHIFT (0U) 2040 /*! LOCK - Semaphore Locked 2041 * 0b0..Semaphore not locked 2042 * 0b1..Semaphore locked 2043 */ 2044 #define CAU3_SMOWNR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SMOWNR_LOCK_SHIFT)) & CAU3_SMOWNR_LOCK_MASK) 2045 #define CAU3_SMOWNR_NOWNER_MASK (0x80000000U) 2046 #define CAU3_SMOWNR_NOWNER_SHIFT (31U) 2047 /*! NOWNER - Semaphore Ownership 2048 * 0b0..The host making the current read access is the semaphore owner 2049 * 0b1..The host making the current read access is NOT the semaphore owner 2050 */ 2051 #define CAU3_SMOWNR_NOWNER(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SMOWNR_NOWNER_SHIFT)) & CAU3_SMOWNR_NOWNER_MASK) 2052 /*! @} */ 2053 2054 /*! @name ARR - Address Remap Register */ 2055 /*! @{ */ 2056 #define CAU3_ARR_ARRL_MASK (0xFFFFFFFFU) 2057 #define CAU3_ARR_ARRL_SHIFT (0U) 2058 #define CAU3_ARR_ARRL(x) (((uint32_t)(((uint32_t)(x)) << CAU3_ARR_ARRL_SHIFT)) & CAU3_ARR_ARRL_MASK) 2059 /*! @} */ 2060 2061 /*! @name CC_R - CryptoCore General Purpose Registers */ 2062 /*! @{ */ 2063 #define CAU3_CC_R_R_MASK (0xFFFFFFFFU) 2064 #define CAU3_CC_R_R_SHIFT (0U) 2065 #define CAU3_CC_R_R(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_R_R_SHIFT)) & CAU3_CC_R_R_MASK) 2066 /*! @} */ 2067 2068 /* The count of CAU3_CC_R */ 2069 #define CAU3_CC_R_COUNT (30U) 2070 2071 /*! @name CC_R30 - General Purpose R30 */ 2072 /*! @{ */ 2073 #define CAU3_CC_R30_SP_MASK (0xFFFFFFFFU) 2074 #define CAU3_CC_R30_SP_SHIFT (0U) 2075 #define CAU3_CC_R30_SP(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_R30_SP_SHIFT)) & CAU3_CC_R30_SP_MASK) 2076 /*! @} */ 2077 2078 /*! @name CC_R31 - General Purpose R31 */ 2079 /*! @{ */ 2080 #define CAU3_CC_R31_LR_MASK (0xFFFFFFFFU) 2081 #define CAU3_CC_R31_LR_SHIFT (0U) 2082 #define CAU3_CC_R31_LR(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_R31_LR_SHIFT)) & CAU3_CC_R31_LR_MASK) 2083 /*! @} */ 2084 2085 /*! @name CC_PC - Program Counter */ 2086 /*! @{ */ 2087 #define CAU3_CC_PC_PC_MASK (0xFFFFFU) 2088 #define CAU3_CC_PC_PC_SHIFT (0U) 2089 #define CAU3_CC_PC_PC(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_PC_PC_SHIFT)) & CAU3_CC_PC_PC_MASK) 2090 /*! @} */ 2091 2092 /*! @name CC_CMD - Start Command Register */ 2093 /*! @{ */ 2094 #define CAU3_CC_CMD_CMD_MASK (0x70000U) 2095 #define CAU3_CC_CMD_CMD_SHIFT (16U) 2096 /*! CMD - Command 2097 * 0b000..Use CR[DTCCFG] for task completion configuration 2098 * 0b100..Issue a DMA request 2099 * 0b010..Assert Event Completion Signal 2100 * 0b001..Issue an interrupt request 2101 */ 2102 #define CAU3_CC_CMD_CMD(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_CMD_CMD_SHIFT)) & CAU3_CC_CMD_CMD_MASK) 2103 /*! @} */ 2104 2105 /*! @name CC_CF - Condition Flag */ 2106 /*! @{ */ 2107 #define CAU3_CC_CF_C_MASK (0x1U) 2108 #define CAU3_CC_CF_C_SHIFT (0U) 2109 #define CAU3_CC_CF_C(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_CF_C_SHIFT)) & CAU3_CC_CF_C_MASK) 2110 #define CAU3_CC_CF_V_MASK (0x2U) 2111 #define CAU3_CC_CF_V_SHIFT (1U) 2112 #define CAU3_CC_CF_V(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_CF_V_SHIFT)) & CAU3_CC_CF_V_MASK) 2113 #define CAU3_CC_CF_Z_MASK (0x4U) 2114 #define CAU3_CC_CF_Z_SHIFT (2U) 2115 #define CAU3_CC_CF_Z(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_CF_Z_SHIFT)) & CAU3_CC_CF_Z_MASK) 2116 #define CAU3_CC_CF_N_MASK (0x8U) 2117 #define CAU3_CC_CF_N_SHIFT (3U) 2118 #define CAU3_CC_CF_N(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_CF_N_SHIFT)) & CAU3_CC_CF_N_MASK) 2119 /*! @} */ 2120 2121 /*! @name MDPK - Mode Register (PublicKey) */ 2122 /*! @{ */ 2123 #define CAU3_MDPK_PKHA_MODE_LS_MASK (0xFFFU) 2124 #define CAU3_MDPK_PKHA_MODE_LS_SHIFT (0U) 2125 #define CAU3_MDPK_PKHA_MODE_LS(x) (((uint32_t)(((uint32_t)(x)) << CAU3_MDPK_PKHA_MODE_LS_SHIFT)) & CAU3_MDPK_PKHA_MODE_LS_MASK) 2126 #define CAU3_MDPK_PKHA_MODE_MS_MASK (0xF0000U) 2127 #define CAU3_MDPK_PKHA_MODE_MS_SHIFT (16U) 2128 #define CAU3_MDPK_PKHA_MODE_MS(x) (((uint32_t)(((uint32_t)(x)) << CAU3_MDPK_PKHA_MODE_MS_SHIFT)) & CAU3_MDPK_PKHA_MODE_MS_MASK) 2129 #define CAU3_MDPK_ALG_MASK (0xF00000U) 2130 #define CAU3_MDPK_ALG_SHIFT (20U) 2131 /*! ALG - Algorithm 2132 * 0b1000..PKHA 2133 */ 2134 #define CAU3_MDPK_ALG(x) (((uint32_t)(((uint32_t)(x)) << CAU3_MDPK_ALG_SHIFT)) & CAU3_MDPK_ALG_MASK) 2135 /*! @} */ 2136 2137 /*! @name COM - Command Register */ 2138 /*! @{ */ 2139 #define CAU3_COM_ALL_MASK (0x1U) 2140 #define CAU3_COM_ALL_SHIFT (0U) 2141 /*! ALL - Reset All Internal Logic 2142 * 0b0..Do Not Reset 2143 * 0b1..Reset PKHA engine and registers 2144 */ 2145 #define CAU3_COM_ALL(x) (((uint32_t)(((uint32_t)(x)) << CAU3_COM_ALL_SHIFT)) & CAU3_COM_ALL_MASK) 2146 #define CAU3_COM_PK_MASK (0x40U) 2147 #define CAU3_COM_PK_SHIFT (6U) 2148 /*! PK - Reset PKHA 2149 * 0b0..Do Not Reset 2150 * 0b1..Reset Public Key Hardware Accelerator 2151 */ 2152 #define CAU3_COM_PK(x) (((uint32_t)(((uint32_t)(x)) << CAU3_COM_PK_SHIFT)) & CAU3_COM_PK_MASK) 2153 /*! @} */ 2154 2155 /*! @name CTL - Control Register */ 2156 /*! @{ */ 2157 #define CAU3_CTL_IM_MASK (0x1U) 2158 #define CAU3_CTL_IM_SHIFT (0U) 2159 /*! IM - Interrupt Mask 2160 * 0b0..Interrupt not masked. 2161 * 0b1..Interrupt masked 2162 */ 2163 #define CAU3_CTL_IM(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CTL_IM_SHIFT)) & CAU3_CTL_IM_MASK) 2164 #define CAU3_CTL_PDE_MASK (0x10U) 2165 #define CAU3_CTL_PDE_SHIFT (4U) 2166 /*! PDE - PKHA Register DMA Enable 2167 * 0b0..DMA Request and Done signals disabled for the PKHA Registers. 2168 * 0b1..DMA Request and Done signals enabled for the PKHA Registers. 2169 */ 2170 #define CAU3_CTL_PDE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CTL_PDE_SHIFT)) & CAU3_CTL_PDE_MASK) 2171 /*! @} */ 2172 2173 /*! @name CW - Clear Written Register */ 2174 /*! @{ */ 2175 #define CAU3_CW_CM_MASK (0x1U) 2176 #define CAU3_CW_CM_SHIFT (0U) 2177 #define CAU3_CW_CM(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CW_CM_SHIFT)) & CAU3_CW_CM_MASK) 2178 #define CAU3_CW_CPKA_MASK (0x1000U) 2179 #define CAU3_CW_CPKA_SHIFT (12U) 2180 #define CAU3_CW_CPKA(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CW_CPKA_SHIFT)) & CAU3_CW_CPKA_MASK) 2181 #define CAU3_CW_CPKB_MASK (0x2000U) 2182 #define CAU3_CW_CPKB_SHIFT (13U) 2183 #define CAU3_CW_CPKB(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CW_CPKB_SHIFT)) & CAU3_CW_CPKB_MASK) 2184 #define CAU3_CW_CPKN_MASK (0x4000U) 2185 #define CAU3_CW_CPKN_SHIFT (14U) 2186 #define CAU3_CW_CPKN(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CW_CPKN_SHIFT)) & CAU3_CW_CPKN_MASK) 2187 #define CAU3_CW_CPKE_MASK (0x8000U) 2188 #define CAU3_CW_CPKE_SHIFT (15U) 2189 #define CAU3_CW_CPKE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CW_CPKE_SHIFT)) & CAU3_CW_CPKE_MASK) 2190 /*! @} */ 2191 2192 /*! @name STA - Status Register */ 2193 /*! @{ */ 2194 #define CAU3_STA_PB_MASK (0x40U) 2195 #define CAU3_STA_PB_SHIFT (6U) 2196 /*! PB - PKHA Busy 2197 * 0b0..PKHA Idle 2198 * 0b1..PKHA Busy. 2199 */ 2200 #define CAU3_STA_PB(x) (((uint32_t)(((uint32_t)(x)) << CAU3_STA_PB_SHIFT)) & CAU3_STA_PB_MASK) 2201 #define CAU3_STA_DI_MASK (0x10000U) 2202 #define CAU3_STA_DI_SHIFT (16U) 2203 #define CAU3_STA_DI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_STA_DI_SHIFT)) & CAU3_STA_DI_MASK) 2204 #define CAU3_STA_EI_MASK (0x100000U) 2205 #define CAU3_STA_EI_SHIFT (20U) 2206 /*! EI - Error Interrupt 2207 * 0b0..Not Error. 2208 * 0b1..Error Interrupt. 2209 */ 2210 #define CAU3_STA_EI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_STA_EI_SHIFT)) & CAU3_STA_EI_MASK) 2211 #define CAU3_STA_PKP_MASK (0x10000000U) 2212 #define CAU3_STA_PKP_SHIFT (28U) 2213 #define CAU3_STA_PKP(x) (((uint32_t)(((uint32_t)(x)) << CAU3_STA_PKP_SHIFT)) & CAU3_STA_PKP_MASK) 2214 #define CAU3_STA_PKO_MASK (0x20000000U) 2215 #define CAU3_STA_PKO_SHIFT (29U) 2216 #define CAU3_STA_PKO(x) (((uint32_t)(((uint32_t)(x)) << CAU3_STA_PKO_SHIFT)) & CAU3_STA_PKO_MASK) 2217 #define CAU3_STA_PKZ_MASK (0x40000000U) 2218 #define CAU3_STA_PKZ_SHIFT (30U) 2219 #define CAU3_STA_PKZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_STA_PKZ_SHIFT)) & CAU3_STA_PKZ_MASK) 2220 /*! @} */ 2221 2222 /*! @name ESTA - Error Status Register */ 2223 /*! @{ */ 2224 #define CAU3_ESTA_ERRID1_MASK (0xFU) 2225 #define CAU3_ESTA_ERRID1_SHIFT (0U) 2226 /*! ERRID1 - Error ID 1 2227 * 0b0001..Mode Error 2228 * 0b0010..PKHA N Register Size Error 2229 * 0b0011..PKHA E Register Size Error 2230 * 0b0100..PKHA A Register Size Error 2231 * 0b0101..PKHA B Register Size Error 2232 * 0b0110..PKHA C input (as contained in the PKHA B0 quadrant) is Zero 2233 * 0b0111..PKHA Divide by Zero Error 2234 * 0b1000..PKHA Modulus Even Error 2235 * 0b1111..Invalid Crypto Engine Selected 2236 */ 2237 #define CAU3_ESTA_ERRID1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_ESTA_ERRID1_SHIFT)) & CAU3_ESTA_ERRID1_MASK) 2238 #define CAU3_ESTA_CL1_MASK (0xF00U) 2239 #define CAU3_ESTA_CL1_SHIFT (8U) 2240 /*! CL1 - algorithms 2241 * 0b0000..General Error 2242 * 0b1000..Public Key 2243 */ 2244 #define CAU3_ESTA_CL1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_ESTA_CL1_SHIFT)) & CAU3_ESTA_CL1_MASK) 2245 /*! @} */ 2246 2247 /*! @name PKASZ - PKHA A Size Register */ 2248 /*! @{ */ 2249 #define CAU3_PKASZ_PKASZ_MASK (0x1FFU) 2250 #define CAU3_PKASZ_PKASZ_SHIFT (0U) 2251 #define CAU3_PKASZ_PKASZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKASZ_PKASZ_SHIFT)) & CAU3_PKASZ_PKASZ_MASK) 2252 /*! @} */ 2253 2254 /*! @name PKBSZ - PKHA B Size Register */ 2255 /*! @{ */ 2256 #define CAU3_PKBSZ_PKBSZ_MASK (0x1FFU) 2257 #define CAU3_PKBSZ_PKBSZ_SHIFT (0U) 2258 #define CAU3_PKBSZ_PKBSZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKBSZ_PKBSZ_SHIFT)) & CAU3_PKBSZ_PKBSZ_MASK) 2259 /*! @} */ 2260 2261 /*! @name PKNSZ - PKHA N Size Register */ 2262 /*! @{ */ 2263 #define CAU3_PKNSZ_PKNSZ_MASK (0x1FFU) 2264 #define CAU3_PKNSZ_PKNSZ_SHIFT (0U) 2265 #define CAU3_PKNSZ_PKNSZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKNSZ_PKNSZ_SHIFT)) & CAU3_PKNSZ_PKNSZ_MASK) 2266 /*! @} */ 2267 2268 /*! @name PKESZ - PKHA E Size Register */ 2269 /*! @{ */ 2270 #define CAU3_PKESZ_PKESZ_MASK (0x1FFU) 2271 #define CAU3_PKESZ_PKESZ_SHIFT (0U) 2272 #define CAU3_PKESZ_PKESZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKESZ_PKESZ_SHIFT)) & CAU3_PKESZ_PKESZ_MASK) 2273 /*! @} */ 2274 2275 /*! @name PKHA_VID1 - PKHA Revision ID 1 */ 2276 /*! @{ */ 2277 #define CAU3_PKHA_VID1_MIN_REV_MASK (0xFFU) 2278 #define CAU3_PKHA_VID1_MIN_REV_SHIFT (0U) 2279 #define CAU3_PKHA_VID1_MIN_REV(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_VID1_MIN_REV_SHIFT)) & CAU3_PKHA_VID1_MIN_REV_MASK) 2280 #define CAU3_PKHA_VID1_MAJ_REV_MASK (0xFF00U) 2281 #define CAU3_PKHA_VID1_MAJ_REV_SHIFT (8U) 2282 #define CAU3_PKHA_VID1_MAJ_REV(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_VID1_MAJ_REV_SHIFT)) & CAU3_PKHA_VID1_MAJ_REV_MASK) 2283 #define CAU3_PKHA_VID1_IP_ID_MASK (0xFFFF0000U) 2284 #define CAU3_PKHA_VID1_IP_ID_SHIFT (16U) 2285 #define CAU3_PKHA_VID1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_VID1_IP_ID_SHIFT)) & CAU3_PKHA_VID1_IP_ID_MASK) 2286 /*! @} */ 2287 2288 /*! @name PKHA_VID2 - PKHA Revision ID 2 */ 2289 /*! @{ */ 2290 #define CAU3_PKHA_VID2_ECO_REV_MASK (0xFFU) 2291 #define CAU3_PKHA_VID2_ECO_REV_SHIFT (0U) 2292 #define CAU3_PKHA_VID2_ECO_REV(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_VID2_ECO_REV_SHIFT)) & CAU3_PKHA_VID2_ECO_REV_MASK) 2293 #define CAU3_PKHA_VID2_ARCH_ERA_MASK (0xFF00U) 2294 #define CAU3_PKHA_VID2_ARCH_ERA_SHIFT (8U) 2295 #define CAU3_PKHA_VID2_ARCH_ERA(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_VID2_ARCH_ERA_SHIFT)) & CAU3_PKHA_VID2_ARCH_ERA_MASK) 2296 /*! @} */ 2297 2298 /*! @name CHA_VID - CHA Revision ID */ 2299 /*! @{ */ 2300 #define CAU3_CHA_VID_PKHAREV_MASK (0xF0000U) 2301 #define CAU3_CHA_VID_PKHAREV_SHIFT (16U) 2302 #define CAU3_CHA_VID_PKHAREV(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CHA_VID_PKHAREV_SHIFT)) & CAU3_CHA_VID_PKHAREV_MASK) 2303 #define CAU3_CHA_VID_PKHAVID_MASK (0xF00000U) 2304 #define CAU3_CHA_VID_PKHAVID_SHIFT (20U) 2305 #define CAU3_CHA_VID_PKHAVID(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CHA_VID_PKHAVID_SHIFT)) & CAU3_CHA_VID_PKHAVID_MASK) 2306 /*! @} */ 2307 2308 /*! @name PKHA_CCR - PKHA Clock Control Register */ 2309 /*! @{ */ 2310 #define CAU3_PKHA_CCR_CKTHRT_MASK (0x7U) 2311 #define CAU3_PKHA_CCR_CKTHRT_SHIFT (0U) 2312 /*! CKTHRT - Clock Throttle selection 2313 * 0b000..PKHA clock division rate is 8/8 - full speed 2314 * 0b001..PKHA clock division rate is 1/8 2315 * 0b010..PKHA clock division rate is 2/8 2316 * 0b011..PKHA clock division rate is 3/8 2317 * 0b100..PKHA clock division rate is 4/8 2318 * 0b101..PKHA clock division rate is 5/8 2319 * 0b110..PKHA clock division rate is 6/8 2320 * 0b111..PKHA clock division rate is 7/8 2321 */ 2322 #define CAU3_PKHA_CCR_CKTHRT(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_CCR_CKTHRT_SHIFT)) & CAU3_PKHA_CCR_CKTHRT_MASK) 2323 #define CAU3_PKHA_CCR_LK_MASK (0x1000000U) 2324 #define CAU3_PKHA_CCR_LK_SHIFT (24U) 2325 /*! LK - Register Lock 2326 * 0b0..Register is unlocked 2327 * 0b1..Register is locked 2328 */ 2329 #define CAU3_PKHA_CCR_LK(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_CCR_LK_SHIFT)) & CAU3_PKHA_CCR_LK_MASK) 2330 #define CAU3_PKHA_CCR_ELFR_MASK (0x20000000U) 2331 #define CAU3_PKHA_CCR_ELFR_SHIFT (29U) 2332 /*! ELFR - Enable Linear Feedback Shift Register 2333 * 0b0..LFSR is only enabled if ECT = 1 and ECJ = 1 2334 * 0b1..LFSR is enabled independently of ECT and ECJ 2335 */ 2336 #define CAU3_PKHA_CCR_ELFR(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_CCR_ELFR_SHIFT)) & CAU3_PKHA_CCR_ELFR_MASK) 2337 #define CAU3_PKHA_CCR_ECJ_MASK (0x40000000U) 2338 #define CAU3_PKHA_CCR_ECJ_SHIFT (30U) 2339 /*! ECJ - Enable Clock Jitter 2340 * 0b0..Clock Jitter is disabled 2341 * 0b1..Clock jitter is enabled 2342 */ 2343 #define CAU3_PKHA_CCR_ECJ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_CCR_ECJ_SHIFT)) & CAU3_PKHA_CCR_ECJ_MASK) 2344 #define CAU3_PKHA_CCR_ECT_MASK (0x80000000U) 2345 #define CAU3_PKHA_CCR_ECT_SHIFT (31U) 2346 /*! ECT - Enable Clock Throttle 2347 * 0b0..PKHA clock throttle disabled meaning that PKHA is operatiing at full speed 2348 * 0b1..PKHA clock throttle enabled 2349 */ 2350 #define CAU3_PKHA_CCR_ECT(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_CCR_ECT_SHIFT)) & CAU3_PKHA_CCR_ECT_MASK) 2351 /*! @} */ 2352 2353 /*! @name GSR - Global Status Register */ 2354 /*! @{ */ 2355 #define CAU3_GSR_CDI_MASK (0x400U) 2356 #define CAU3_GSR_CDI_SHIFT (10U) 2357 /*! CDI - CAU3 Done Interrupt occurred 2358 * 0b0..CAU3 Done Interrupt did not occur 2359 * 0b1..CAU3 Done Interrupt occurred 2360 */ 2361 #define CAU3_GSR_CDI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_GSR_CDI_SHIFT)) & CAU3_GSR_CDI_MASK) 2362 #define CAU3_GSR_CEI_MASK (0x4000U) 2363 #define CAU3_GSR_CEI_SHIFT (14U) 2364 /*! CEI - CAU3 Error Interrupt 2365 * 0b0..CAU3 Error Interrupt did not occur 2366 * 0b1..CAU3 Error Interrupt occurred 2367 */ 2368 #define CAU3_GSR_CEI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_GSR_CEI_SHIFT)) & CAU3_GSR_CEI_MASK) 2369 #define CAU3_GSR_PEI_MASK (0x8000U) 2370 #define CAU3_GSR_PEI_SHIFT (15U) 2371 /*! PEI - PKHA Done or Error Interrupt 2372 * 0b0..PKHA interrupt did not occur 2373 * 0b1..PKHA interrupt had occurred 2374 */ 2375 #define CAU3_GSR_PEI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_GSR_PEI_SHIFT)) & CAU3_GSR_PEI_MASK) 2376 #define CAU3_GSR_PBSY_MASK (0x80000000U) 2377 #define CAU3_GSR_PBSY_SHIFT (31U) 2378 /*! PBSY - PKHA Busy 2379 * 0b0..PKHA not busy 2380 * 0b1..PKHA busy 2381 */ 2382 #define CAU3_GSR_PBSY(x) (((uint32_t)(((uint32_t)(x)) << CAU3_GSR_PBSY_SHIFT)) & CAU3_GSR_PBSY_MASK) 2383 /*! @} */ 2384 2385 /*! @name CKLFSR - Clock Linear Feedback Shift Register */ 2386 /*! @{ */ 2387 #define CAU3_CKLFSR_LFSR_MASK (0xFFFFFFFFU) 2388 #define CAU3_CKLFSR_LFSR_SHIFT (0U) 2389 #define CAU3_CKLFSR_LFSR(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CKLFSR_LFSR_SHIFT)) & CAU3_CKLFSR_LFSR_MASK) 2390 /*! @} */ 2391 2392 /*! @name PKA0 - PKHA A0 Register */ 2393 /*! @{ */ 2394 #define CAU3_PKA0_PKHA_A0_MASK (0xFFFFFFFFU) 2395 #define CAU3_PKA0_PKHA_A0_SHIFT (0U) 2396 #define CAU3_PKA0_PKHA_A0(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKA0_PKHA_A0_SHIFT)) & CAU3_PKA0_PKHA_A0_MASK) 2397 /*! @} */ 2398 2399 /* The count of CAU3_PKA0 */ 2400 #define CAU3_PKA0_COUNT (32U) 2401 2402 /*! @name PKA1 - PKHA A1 Register */ 2403 /*! @{ */ 2404 #define CAU3_PKA1_PKHA_A1_MASK (0xFFFFFFFFU) 2405 #define CAU3_PKA1_PKHA_A1_SHIFT (0U) 2406 #define CAU3_PKA1_PKHA_A1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKA1_PKHA_A1_SHIFT)) & CAU3_PKA1_PKHA_A1_MASK) 2407 /*! @} */ 2408 2409 /* The count of CAU3_PKA1 */ 2410 #define CAU3_PKA1_COUNT (32U) 2411 2412 /*! @name PKA2 - PKHA A2 Register */ 2413 /*! @{ */ 2414 #define CAU3_PKA2_PKHA_A2_MASK (0xFFFFFFFFU) 2415 #define CAU3_PKA2_PKHA_A2_SHIFT (0U) 2416 #define CAU3_PKA2_PKHA_A2(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKA2_PKHA_A2_SHIFT)) & CAU3_PKA2_PKHA_A2_MASK) 2417 /*! @} */ 2418 2419 /* The count of CAU3_PKA2 */ 2420 #define CAU3_PKA2_COUNT (32U) 2421 2422 /*! @name PKA3 - PKHA A3 Register */ 2423 /*! @{ */ 2424 #define CAU3_PKA3_PKHA_A3_MASK (0xFFFFFFFFU) 2425 #define CAU3_PKA3_PKHA_A3_SHIFT (0U) 2426 #define CAU3_PKA3_PKHA_A3(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKA3_PKHA_A3_SHIFT)) & CAU3_PKA3_PKHA_A3_MASK) 2427 /*! @} */ 2428 2429 /* The count of CAU3_PKA3 */ 2430 #define CAU3_PKA3_COUNT (32U) 2431 2432 /*! @name PKB0 - PKHA B0 Register */ 2433 /*! @{ */ 2434 #define CAU3_PKB0_PKHA_B0_MASK (0xFFFFFFFFU) 2435 #define CAU3_PKB0_PKHA_B0_SHIFT (0U) 2436 #define CAU3_PKB0_PKHA_B0(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKB0_PKHA_B0_SHIFT)) & CAU3_PKB0_PKHA_B0_MASK) 2437 /*! @} */ 2438 2439 /* The count of CAU3_PKB0 */ 2440 #define CAU3_PKB0_COUNT (32U) 2441 2442 /*! @name PKB1 - PKHA B1 Register */ 2443 /*! @{ */ 2444 #define CAU3_PKB1_PKHA_B1_MASK (0xFFFFFFFFU) 2445 #define CAU3_PKB1_PKHA_B1_SHIFT (0U) 2446 #define CAU3_PKB1_PKHA_B1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKB1_PKHA_B1_SHIFT)) & CAU3_PKB1_PKHA_B1_MASK) 2447 /*! @} */ 2448 2449 /* The count of CAU3_PKB1 */ 2450 #define CAU3_PKB1_COUNT (32U) 2451 2452 /*! @name PKB2 - PKHA B2 Register */ 2453 /*! @{ */ 2454 #define CAU3_PKB2_PKHA_B2_MASK (0xFFFFFFFFU) 2455 #define CAU3_PKB2_PKHA_B2_SHIFT (0U) 2456 #define CAU3_PKB2_PKHA_B2(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKB2_PKHA_B2_SHIFT)) & CAU3_PKB2_PKHA_B2_MASK) 2457 /*! @} */ 2458 2459 /* The count of CAU3_PKB2 */ 2460 #define CAU3_PKB2_COUNT (32U) 2461 2462 /*! @name PKB3 - PKHA B3 Register */ 2463 /*! @{ */ 2464 #define CAU3_PKB3_PKHA_B3_MASK (0xFFFFFFFFU) 2465 #define CAU3_PKB3_PKHA_B3_SHIFT (0U) 2466 #define CAU3_PKB3_PKHA_B3(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKB3_PKHA_B3_SHIFT)) & CAU3_PKB3_PKHA_B3_MASK) 2467 /*! @} */ 2468 2469 /* The count of CAU3_PKB3 */ 2470 #define CAU3_PKB3_COUNT (32U) 2471 2472 /*! @name PKN0 - PKHA N0 Register */ 2473 /*! @{ */ 2474 #define CAU3_PKN0_PKHA_N0_MASK (0xFFFFFFFFU) 2475 #define CAU3_PKN0_PKHA_N0_SHIFT (0U) 2476 #define CAU3_PKN0_PKHA_N0(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKN0_PKHA_N0_SHIFT)) & CAU3_PKN0_PKHA_N0_MASK) 2477 /*! @} */ 2478 2479 /* The count of CAU3_PKN0 */ 2480 #define CAU3_PKN0_COUNT (32U) 2481 2482 /*! @name PKN1 - PKHA N1 Register */ 2483 /*! @{ */ 2484 #define CAU3_PKN1_PKHA_N1_MASK (0xFFFFFFFFU) 2485 #define CAU3_PKN1_PKHA_N1_SHIFT (0U) 2486 #define CAU3_PKN1_PKHA_N1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKN1_PKHA_N1_SHIFT)) & CAU3_PKN1_PKHA_N1_MASK) 2487 /*! @} */ 2488 2489 /* The count of CAU3_PKN1 */ 2490 #define CAU3_PKN1_COUNT (32U) 2491 2492 /*! @name PKN2 - PKHA N2 Register */ 2493 /*! @{ */ 2494 #define CAU3_PKN2_PKHA_N2_MASK (0xFFFFFFFFU) 2495 #define CAU3_PKN2_PKHA_N2_SHIFT (0U) 2496 #define CAU3_PKN2_PKHA_N2(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKN2_PKHA_N2_SHIFT)) & CAU3_PKN2_PKHA_N2_MASK) 2497 /*! @} */ 2498 2499 /* The count of CAU3_PKN2 */ 2500 #define CAU3_PKN2_COUNT (32U) 2501 2502 /*! @name PKN3 - PKHA N3 Register */ 2503 /*! @{ */ 2504 #define CAU3_PKN3_PKHA_N3_MASK (0xFFFFFFFFU) 2505 #define CAU3_PKN3_PKHA_N3_SHIFT (0U) 2506 #define CAU3_PKN3_PKHA_N3(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKN3_PKHA_N3_SHIFT)) & CAU3_PKN3_PKHA_N3_MASK) 2507 /*! @} */ 2508 2509 /* The count of CAU3_PKN3 */ 2510 #define CAU3_PKN3_COUNT (32U) 2511 2512 /*! @name PKE - PKHA E Register */ 2513 /*! @{ */ 2514 #define CAU3_PKE_PKHA_E_MASK (0xFFFFFFFFU) 2515 #define CAU3_PKE_PKHA_E_SHIFT (0U) 2516 #define CAU3_PKE_PKHA_E(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKE_PKHA_E_SHIFT)) & CAU3_PKE_PKHA_E_MASK) 2517 /*! @} */ 2518 2519 /* The count of CAU3_PKE */ 2520 #define CAU3_PKE_COUNT (128U) 2521 2522 2523 /*! 2524 * @} 2525 */ /* end of group CAU3_Register_Masks */ 2526 2527 2528 /* CAU3 - Peripheral instance base addresses */ 2529 /** Peripheral CAU3 base address */ 2530 #define CAU3_BASE (0x41028000u) 2531 /** Peripheral CAU3 base pointer */ 2532 #define CAU3 ((CAU3_Type *)CAU3_BASE) 2533 /** Array initializer of CAU3 peripheral base addresses */ 2534 #define CAU3_BASE_ADDRS { CAU3_BASE } 2535 /** Array initializer of CAU3 peripheral base pointers */ 2536 #define CAU3_BASE_PTRS { CAU3 } 2537 /** Interrupt vectors for the CAU3 peripheral type */ 2538 #define CAU3_TASK_COMPLETE_IRQS { CAU3_Task_Complete_IRQn } 2539 #define CAU3_SECURITY_VIOLATION_IRQS { CAU3_Security_Violation_IRQn } 2540 2541 /*! 2542 * @} 2543 */ /* end of group CAU3_Peripheral_Access_Layer */ 2544 2545 2546 /* ---------------------------------------------------------------------------- 2547 -- CRC Peripheral Access Layer 2548 ---------------------------------------------------------------------------- */ 2549 2550 /*! 2551 * @addtogroup CRC_Peripheral_Access_Layer CRC Peripheral Access Layer 2552 * @{ 2553 */ 2554 2555 /** CRC - Register Layout Typedef */ 2556 typedef struct { 2557 union { /* offset: 0x0 */ 2558 __IO uint32_t DATA; /**< CRC Data register, offset: 0x0 */ 2559 struct { /* offset: 0x0 */ 2560 __IO uint8_t DATALL; /**< CRC_DATALL register, offset: 0x0 */ 2561 __IO uint8_t DATALU; /**< CRC_DATALU register, offset: 0x1 */ 2562 __IO uint8_t DATAHL; /**< CRC_DATAHL register, offset: 0x2 */ 2563 __IO uint8_t DATAHU; /**< CRC_DATAHU register, offset: 0x3 */ 2564 } ACCESS8BIT; 2565 struct { /* offset: 0x0 */ 2566 __IO uint16_t DATAL; /**< CRC_DATAL register, offset: 0x0 */ 2567 __IO uint16_t DATAH; /**< CRC_DATAH register, offset: 0x2 */ 2568 } ACCESS16BIT; 2569 }; 2570 union { /* offset: 0x4 */ 2571 __IO uint32_t GPOLY; /**< CRC Polynomial register, offset: 0x4 */ 2572 struct { /* offset: 0x4 */ 2573 __IO uint8_t GPOLYLL; /**< CRC_GPOLYLL register, offset: 0x4 */ 2574 __IO uint8_t GPOLYLU; /**< CRC_GPOLYLU register, offset: 0x5 */ 2575 __IO uint8_t GPOLYHL; /**< CRC_GPOLYHL register, offset: 0x6 */ 2576 __IO uint8_t GPOLYHU; /**< CRC_GPOLYHU register, offset: 0x7 */ 2577 } GPOLY_ACCESS8BIT; 2578 struct { /* offset: 0x4 */ 2579 __IO uint16_t GPOLYL; /**< CRC_GPOLYL register, offset: 0x4 */ 2580 __IO uint16_t GPOLYH; /**< CRC_GPOLYH register, offset: 0x6 */ 2581 } GPOLY_ACCESS16BIT; 2582 }; 2583 union { /* offset: 0x8 */ 2584 __IO uint32_t CTRL; /**< CRC Control register, offset: 0x8 */ 2585 struct { /* offset: 0x8 */ 2586 uint8_t RESERVED_0[3]; 2587 __IO uint8_t CTRLHU; /**< CRC_CTRLHU register, offset: 0xB */ 2588 } CTRL_ACCESS8BIT; 2589 }; 2590 } CRC_Type; 2591 2592 /* ---------------------------------------------------------------------------- 2593 -- CRC Register Masks 2594 ---------------------------------------------------------------------------- */ 2595 2596 /*! 2597 * @addtogroup CRC_Register_Masks CRC Register Masks 2598 * @{ 2599 */ 2600 2601 /*! @name DATA - CRC Data register */ 2602 /*! @{ */ 2603 #define CRC_DATA_LL_MASK (0xFFU) 2604 #define CRC_DATA_LL_SHIFT (0U) 2605 #define CRC_DATA_LL(x) (((uint32_t)(((uint32_t)(x)) << CRC_DATA_LL_SHIFT)) & CRC_DATA_LL_MASK) 2606 #define CRC_DATA_LU_MASK (0xFF00U) 2607 #define CRC_DATA_LU_SHIFT (8U) 2608 #define CRC_DATA_LU(x) (((uint32_t)(((uint32_t)(x)) << CRC_DATA_LU_SHIFT)) & CRC_DATA_LU_MASK) 2609 #define CRC_DATA_HL_MASK (0xFF0000U) 2610 #define CRC_DATA_HL_SHIFT (16U) 2611 #define CRC_DATA_HL(x) (((uint32_t)(((uint32_t)(x)) << CRC_DATA_HL_SHIFT)) & CRC_DATA_HL_MASK) 2612 #define CRC_DATA_HU_MASK (0xFF000000U) 2613 #define CRC_DATA_HU_SHIFT (24U) 2614 #define CRC_DATA_HU(x) (((uint32_t)(((uint32_t)(x)) << CRC_DATA_HU_SHIFT)) & CRC_DATA_HU_MASK) 2615 /*! @} */ 2616 2617 /*! @name DATALL - CRC_DATALL register */ 2618 /*! @{ */ 2619 #define CRC_DATALL_DATALL_MASK (0xFFU) 2620 #define CRC_DATALL_DATALL_SHIFT (0U) 2621 #define CRC_DATALL_DATALL(x) (((uint8_t)(((uint8_t)(x)) << CRC_DATALL_DATALL_SHIFT)) & CRC_DATALL_DATALL_MASK) 2622 /*! @} */ 2623 2624 /*! @name DATALU - CRC_DATALU register */ 2625 /*! @{ */ 2626 #define CRC_DATALU_DATALU_MASK (0xFFU) 2627 #define CRC_DATALU_DATALU_SHIFT (0U) 2628 #define CRC_DATALU_DATALU(x) (((uint8_t)(((uint8_t)(x)) << CRC_DATALU_DATALU_SHIFT)) & CRC_DATALU_DATALU_MASK) 2629 /*! @} */ 2630 2631 /*! @name DATAHL - CRC_DATAHL register */ 2632 /*! @{ */ 2633 #define CRC_DATAHL_DATAHL_MASK (0xFFU) 2634 #define CRC_DATAHL_DATAHL_SHIFT (0U) 2635 #define CRC_DATAHL_DATAHL(x) (((uint8_t)(((uint8_t)(x)) << CRC_DATAHL_DATAHL_SHIFT)) & CRC_DATAHL_DATAHL_MASK) 2636 /*! @} */ 2637 2638 /*! @name DATAHU - CRC_DATAHU register */ 2639 /*! @{ */ 2640 #define CRC_DATAHU_DATAHU_MASK (0xFFU) 2641 #define CRC_DATAHU_DATAHU_SHIFT (0U) 2642 #define CRC_DATAHU_DATAHU(x) (((uint8_t)(((uint8_t)(x)) << CRC_DATAHU_DATAHU_SHIFT)) & CRC_DATAHU_DATAHU_MASK) 2643 /*! @} */ 2644 2645 /*! @name DATAL - CRC_DATAL register */ 2646 /*! @{ */ 2647 #define CRC_DATAL_DATAL_MASK (0xFFFFU) 2648 #define CRC_DATAL_DATAL_SHIFT (0U) 2649 #define CRC_DATAL_DATAL(x) (((uint16_t)(((uint16_t)(x)) << CRC_DATAL_DATAL_SHIFT)) & CRC_DATAL_DATAL_MASK) 2650 /*! @} */ 2651 2652 /*! @name DATAH - CRC_DATAH register */ 2653 /*! @{ */ 2654 #define CRC_DATAH_DATAH_MASK (0xFFFFU) 2655 #define CRC_DATAH_DATAH_SHIFT (0U) 2656 #define CRC_DATAH_DATAH(x) (((uint16_t)(((uint16_t)(x)) << CRC_DATAH_DATAH_SHIFT)) & CRC_DATAH_DATAH_MASK) 2657 /*! @} */ 2658 2659 /*! @name GPOLY - CRC Polynomial register */ 2660 /*! @{ */ 2661 #define CRC_GPOLY_LOW_MASK (0xFFFFU) 2662 #define CRC_GPOLY_LOW_SHIFT (0U) 2663 #define CRC_GPOLY_LOW(x) (((uint32_t)(((uint32_t)(x)) << CRC_GPOLY_LOW_SHIFT)) & CRC_GPOLY_LOW_MASK) 2664 #define CRC_GPOLY_HIGH_MASK (0xFFFF0000U) 2665 #define CRC_GPOLY_HIGH_SHIFT (16U) 2666 #define CRC_GPOLY_HIGH(x) (((uint32_t)(((uint32_t)(x)) << CRC_GPOLY_HIGH_SHIFT)) & CRC_GPOLY_HIGH_MASK) 2667 /*! @} */ 2668 2669 /*! @name GPOLYLL - CRC_GPOLYLL register */ 2670 /*! @{ */ 2671 #define CRC_GPOLYLL_GPOLYLL_MASK (0xFFU) 2672 #define CRC_GPOLYLL_GPOLYLL_SHIFT (0U) 2673 #define CRC_GPOLYLL_GPOLYLL(x) (((uint8_t)(((uint8_t)(x)) << CRC_GPOLYLL_GPOLYLL_SHIFT)) & CRC_GPOLYLL_GPOLYLL_MASK) 2674 /*! @} */ 2675 2676 /*! @name GPOLYLU - CRC_GPOLYLU register */ 2677 /*! @{ */ 2678 #define CRC_GPOLYLU_GPOLYLU_MASK (0xFFU) 2679 #define CRC_GPOLYLU_GPOLYLU_SHIFT (0U) 2680 #define CRC_GPOLYLU_GPOLYLU(x) (((uint8_t)(((uint8_t)(x)) << CRC_GPOLYLU_GPOLYLU_SHIFT)) & CRC_GPOLYLU_GPOLYLU_MASK) 2681 /*! @} */ 2682 2683 /*! @name GPOLYHL - CRC_GPOLYHL register */ 2684 /*! @{ */ 2685 #define CRC_GPOLYHL_GPOLYHL_MASK (0xFFU) 2686 #define CRC_GPOLYHL_GPOLYHL_SHIFT (0U) 2687 #define CRC_GPOLYHL_GPOLYHL(x) (((uint8_t)(((uint8_t)(x)) << CRC_GPOLYHL_GPOLYHL_SHIFT)) & CRC_GPOLYHL_GPOLYHL_MASK) 2688 /*! @} */ 2689 2690 /*! @name GPOLYHU - CRC_GPOLYHU register */ 2691 /*! @{ */ 2692 #define CRC_GPOLYHU_GPOLYHU_MASK (0xFFU) 2693 #define CRC_GPOLYHU_GPOLYHU_SHIFT (0U) 2694 #define CRC_GPOLYHU_GPOLYHU(x) (((uint8_t)(((uint8_t)(x)) << CRC_GPOLYHU_GPOLYHU_SHIFT)) & CRC_GPOLYHU_GPOLYHU_MASK) 2695 /*! @} */ 2696 2697 /*! @name GPOLYL - CRC_GPOLYL register */ 2698 /*! @{ */ 2699 #define CRC_GPOLYL_GPOLYL_MASK (0xFFFFU) 2700 #define CRC_GPOLYL_GPOLYL_SHIFT (0U) 2701 #define CRC_GPOLYL_GPOLYL(x) (((uint16_t)(((uint16_t)(x)) << CRC_GPOLYL_GPOLYL_SHIFT)) & CRC_GPOLYL_GPOLYL_MASK) 2702 /*! @} */ 2703 2704 /*! @name GPOLYH - CRC_GPOLYH register */ 2705 /*! @{ */ 2706 #define CRC_GPOLYH_GPOLYH_MASK (0xFFFFU) 2707 #define CRC_GPOLYH_GPOLYH_SHIFT (0U) 2708 #define CRC_GPOLYH_GPOLYH(x) (((uint16_t)(((uint16_t)(x)) << CRC_GPOLYH_GPOLYH_SHIFT)) & CRC_GPOLYH_GPOLYH_MASK) 2709 /*! @} */ 2710 2711 /*! @name CTRL - CRC Control register */ 2712 /*! @{ */ 2713 #define CRC_CTRL_TCRC_MASK (0x1000000U) 2714 #define CRC_CTRL_TCRC_SHIFT (24U) 2715 /*! TCRC - TCRC 2716 * 0b0..16-bit CRC protocol. 2717 * 0b1..32-bit CRC protocol. 2718 */ 2719 #define CRC_CTRL_TCRC(x) (((uint32_t)(((uint32_t)(x)) << CRC_CTRL_TCRC_SHIFT)) & CRC_CTRL_TCRC_MASK) 2720 #define CRC_CTRL_WAS_MASK (0x2000000U) 2721 #define CRC_CTRL_WAS_SHIFT (25U) 2722 /*! WAS - Write CRC Data Register As Seed 2723 * 0b0..Writes to the CRC data register are data values. 2724 * 0b1..Writes to the CRC data register are seed values. 2725 */ 2726 #define CRC_CTRL_WAS(x) (((uint32_t)(((uint32_t)(x)) << CRC_CTRL_WAS_SHIFT)) & CRC_CTRL_WAS_MASK) 2727 #define CRC_CTRL_FXOR_MASK (0x4000000U) 2728 #define CRC_CTRL_FXOR_SHIFT (26U) 2729 /*! FXOR - Complement Read Of CRC Data Register 2730 * 0b0..No XOR on reading. 2731 * 0b1..Invert or complement the read value of the CRC Data register. 2732 */ 2733 #define CRC_CTRL_FXOR(x) (((uint32_t)(((uint32_t)(x)) << CRC_CTRL_FXOR_SHIFT)) & CRC_CTRL_FXOR_MASK) 2734 #define CRC_CTRL_TOTR_MASK (0x30000000U) 2735 #define CRC_CTRL_TOTR_SHIFT (28U) 2736 /*! TOTR - Type Of Transpose For Read 2737 * 0b00..No transposition. 2738 * 0b01..Bits in bytes are transposed; bytes are not transposed. 2739 * 0b10..Both bits in bytes and bytes are transposed. 2740 * 0b11..Only bytes are transposed; no bits in a byte are transposed. 2741 */ 2742 #define CRC_CTRL_TOTR(x) (((uint32_t)(((uint32_t)(x)) << CRC_CTRL_TOTR_SHIFT)) & CRC_CTRL_TOTR_MASK) 2743 #define CRC_CTRL_TOT_MASK (0xC0000000U) 2744 #define CRC_CTRL_TOT_SHIFT (30U) 2745 /*! TOT - Type Of Transpose For Writes 2746 * 0b00..No transposition. 2747 * 0b01..Bits in bytes are transposed; bytes are not transposed. 2748 * 0b10..Both bits in bytes and bytes are transposed. 2749 * 0b11..Only bytes are transposed; no bits in a byte are transposed. 2750 */ 2751 #define CRC_CTRL_TOT(x) (((uint32_t)(((uint32_t)(x)) << CRC_CTRL_TOT_SHIFT)) & CRC_CTRL_TOT_MASK) 2752 /*! @} */ 2753 2754 /*! @name CTRLHU - CRC_CTRLHU register */ 2755 /*! @{ */ 2756 #define CRC_CTRLHU_TCRC_MASK (0x1U) 2757 #define CRC_CTRLHU_TCRC_SHIFT (0U) 2758 /*! TCRC 2759 * 0b0..16-bit CRC protocol. 2760 * 0b1..32-bit CRC protocol. 2761 */ 2762 #define CRC_CTRLHU_TCRC(x) (((uint8_t)(((uint8_t)(x)) << CRC_CTRLHU_TCRC_SHIFT)) & CRC_CTRLHU_TCRC_MASK) 2763 #define CRC_CTRLHU_WAS_MASK (0x2U) 2764 #define CRC_CTRLHU_WAS_SHIFT (1U) 2765 /*! WAS 2766 * 0b0..Writes to the CRC data register are data values. 2767 * 0b1..Writes to the CRC data register are seed values. 2768 */ 2769 #define CRC_CTRLHU_WAS(x) (((uint8_t)(((uint8_t)(x)) << CRC_CTRLHU_WAS_SHIFT)) & CRC_CTRLHU_WAS_MASK) 2770 #define CRC_CTRLHU_FXOR_MASK (0x4U) 2771 #define CRC_CTRLHU_FXOR_SHIFT (2U) 2772 /*! FXOR 2773 * 0b0..No XOR on reading. 2774 * 0b1..Invert or complement the read value of the CRC Data register. 2775 */ 2776 #define CRC_CTRLHU_FXOR(x) (((uint8_t)(((uint8_t)(x)) << CRC_CTRLHU_FXOR_SHIFT)) & CRC_CTRLHU_FXOR_MASK) 2777 #define CRC_CTRLHU_TOTR_MASK (0x30U) 2778 #define CRC_CTRLHU_TOTR_SHIFT (4U) 2779 /*! TOTR 2780 * 0b00..No transposition. 2781 * 0b01..Bits in bytes are transposed; bytes are not transposed. 2782 * 0b10..Both bits in bytes and bytes are transposed. 2783 * 0b11..Only bytes are transposed; no bits in a byte are transposed. 2784 */ 2785 #define CRC_CTRLHU_TOTR(x) (((uint8_t)(((uint8_t)(x)) << CRC_CTRLHU_TOTR_SHIFT)) & CRC_CTRLHU_TOTR_MASK) 2786 #define CRC_CTRLHU_TOT_MASK (0xC0U) 2787 #define CRC_CTRLHU_TOT_SHIFT (6U) 2788 /*! TOT 2789 * 0b00..No transposition. 2790 * 0b01..Bits in bytes are transposed; bytes are not transposed. 2791 * 0b10..Both bits in bytes and bytes are transposed. 2792 * 0b11..Only bytes are transposed; no bits in a byte are transposed. 2793 */ 2794 #define CRC_CTRLHU_TOT(x) (((uint8_t)(((uint8_t)(x)) << CRC_CTRLHU_TOT_SHIFT)) & CRC_CTRLHU_TOT_MASK) 2795 /*! @} */ 2796 2797 2798 /*! 2799 * @} 2800 */ /* end of group CRC_Register_Masks */ 2801 2802 2803 /* CRC - Peripheral instance base addresses */ 2804 /** Peripheral CRC base address */ 2805 #define CRC_BASE (0x4002F000u) 2806 /** Peripheral CRC base pointer */ 2807 #define CRC0 ((CRC_Type *)CRC_BASE) 2808 /** Array initializer of CRC peripheral base addresses */ 2809 #define CRC_BASE_ADDRS { CRC_BASE } 2810 /** Array initializer of CRC peripheral base pointers */ 2811 #define CRC_BASE_PTRS { CRC0 } 2812 2813 /*! 2814 * @} 2815 */ /* end of group CRC_Peripheral_Access_Layer */ 2816 2817 2818 /* ---------------------------------------------------------------------------- 2819 -- DMA Peripheral Access Layer 2820 ---------------------------------------------------------------------------- */ 2821 2822 /*! 2823 * @addtogroup DMA_Peripheral_Access_Layer DMA Peripheral Access Layer 2824 * @{ 2825 */ 2826 2827 /** DMA - Register Layout Typedef */ 2828 typedef struct { 2829 __IO uint32_t CR; /**< Control Register, offset: 0x0 */ 2830 __I uint32_t ES; /**< Error Status Register, offset: 0x4 */ 2831 uint8_t RESERVED_0[4]; 2832 __IO uint32_t ERQ; /**< Enable Request Register, offset: 0xC */ 2833 uint8_t RESERVED_1[4]; 2834 __IO uint32_t EEI; /**< Enable Error Interrupt Register, offset: 0x14 */ 2835 __O uint8_t CEEI; /**< Clear Enable Error Interrupt Register, offset: 0x18 */ 2836 __O uint8_t SEEI; /**< Set Enable Error Interrupt Register, offset: 0x19 */ 2837 __O uint8_t CERQ; /**< Clear Enable Request Register, offset: 0x1A */ 2838 __O uint8_t SERQ; /**< Set Enable Request Register, offset: 0x1B */ 2839 __O uint8_t CDNE; /**< Clear DONE Status Bit Register, offset: 0x1C */ 2840 __O uint8_t SSRT; /**< Set START Bit Register, offset: 0x1D */ 2841 __O uint8_t CERR; /**< Clear Error Register, offset: 0x1E */ 2842 __O uint8_t CINT; /**< Clear Interrupt Request Register, offset: 0x1F */ 2843 uint8_t RESERVED_2[4]; 2844 __IO uint32_t INT; /**< Interrupt Request Register, offset: 0x24 */ 2845 uint8_t RESERVED_3[4]; 2846 __IO uint32_t ERR; /**< Error Register, offset: 0x2C */ 2847 uint8_t RESERVED_4[4]; 2848 __I uint32_t HRS; /**< Hardware Request Status Register, offset: 0x34 */ 2849 uint8_t RESERVED_5[12]; 2850 __IO uint32_t EARS; /**< Enable Asynchronous Request in Stop Register, offset: 0x44 */ 2851 uint8_t RESERVED_6[184]; 2852 __IO uint8_t DCHPRI3; /**< Channel Priority Register, offset: 0x100 */ 2853 __IO uint8_t DCHPRI2; /**< Channel Priority Register, offset: 0x101 */ 2854 __IO uint8_t DCHPRI1; /**< Channel Priority Register, offset: 0x102 */ 2855 __IO uint8_t DCHPRI0; /**< Channel Priority Register, offset: 0x103 */ 2856 __IO uint8_t DCHPRI7; /**< Channel Priority Register, offset: 0x104 */ 2857 __IO uint8_t DCHPRI6; /**< Channel Priority Register, offset: 0x105 */ 2858 __IO uint8_t DCHPRI5; /**< Channel Priority Register, offset: 0x106 */ 2859 __IO uint8_t DCHPRI4; /**< Channel Priority Register, offset: 0x107 */ 2860 __IO uint8_t DCHPRI11; /**< Channel Priority Register, offset: 0x108 */ 2861 __IO uint8_t DCHPRI10; /**< Channel Priority Register, offset: 0x109 */ 2862 __IO uint8_t DCHPRI9; /**< Channel Priority Register, offset: 0x10A */ 2863 __IO uint8_t DCHPRI8; /**< Channel Priority Register, offset: 0x10B */ 2864 __IO uint8_t DCHPRI15; /**< Channel Priority Register, offset: 0x10C */ 2865 __IO uint8_t DCHPRI14; /**< Channel Priority Register, offset: 0x10D */ 2866 __IO uint8_t DCHPRI13; /**< Channel Priority Register, offset: 0x10E */ 2867 __IO uint8_t DCHPRI12; /**< Channel Priority Register, offset: 0x10F */ 2868 uint8_t RESERVED_7[3824]; 2869 struct { /* offset: 0x1000, array step: 0x20 */ 2870 __IO uint32_t SADDR; /**< TCD Source Address, array offset: 0x1000, array step: 0x20 */ 2871 __IO uint16_t SOFF; /**< TCD Signed Source Address Offset, array offset: 0x1004, array step: 0x20 */ 2872 __IO uint16_t ATTR; /**< TCD Transfer Attributes, array offset: 0x1006, array step: 0x20 */ 2873 union { /* offset: 0x1008, array step: 0x20 */ 2874 __IO uint32_t NBYTES_MLNO; /**< TCD Minor Byte Count (Minor Loop Mapping Disabled), array offset: 0x1008, array step: 0x20 */ 2875 __IO uint32_t NBYTES_MLOFFNO; /**< TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled), array offset: 0x1008, array step: 0x20 */ 2876 __IO uint32_t NBYTES_MLOFFYES; /**< TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled), array offset: 0x1008, array step: 0x20 */ 2877 }; 2878 __IO uint32_t SLAST; /**< TCD Last Source Address Adjustment, array offset: 0x100C, array step: 0x20 */ 2879 __IO uint32_t DADDR; /**< TCD Destination Address, array offset: 0x1010, array step: 0x20 */ 2880 __IO uint16_t DOFF; /**< TCD Signed Destination Address Offset, array offset: 0x1014, array step: 0x20 */ 2881 union { /* offset: 0x1016, array step: 0x20 */ 2882 __IO uint16_t CITER_ELINKNO; /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x1016, array step: 0x20 */ 2883 __IO uint16_t CITER_ELINKYES; /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x1016, array step: 0x20 */ 2884 }; 2885 __IO uint32_t DLAST_SGA; /**< TCD Last Destination Address Adjustment/Scatter Gather Address, array offset: 0x1018, array step: 0x20 */ 2886 __IO uint16_t CSR; /**< TCD Control and Status, array offset: 0x101C, array step: 0x20 */ 2887 union { /* offset: 0x101E, array step: 0x20 */ 2888 __IO uint16_t BITER_ELINKNO; /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x101E, array step: 0x20 */ 2889 __IO uint16_t BITER_ELINKYES; /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x101E, array step: 0x20 */ 2890 }; 2891 } TCD[16]; 2892 } DMA_Type; 2893 2894 /* ---------------------------------------------------------------------------- 2895 -- DMA Register Masks 2896 ---------------------------------------------------------------------------- */ 2897 2898 /*! 2899 * @addtogroup DMA_Register_Masks DMA Register Masks 2900 * @{ 2901 */ 2902 2903 /*! @name CR - Control Register */ 2904 /*! @{ */ 2905 #define DMA_CR_EDBG_MASK (0x2U) 2906 #define DMA_CR_EDBG_SHIFT (1U) 2907 /*! EDBG - Enable Debug 2908 * 0b0..When in debug mode, the DMA continues to operate. 2909 * 0b1..When in debug mode, the DMA stalls the start of a new channel. Executing channels are allowed to complete. Channel execution resumes when the system exits debug mode or the EDBG bit is cleared. 2910 */ 2911 #define DMA_CR_EDBG(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_EDBG_SHIFT)) & DMA_CR_EDBG_MASK) 2912 #define DMA_CR_ERCA_MASK (0x4U) 2913 #define DMA_CR_ERCA_SHIFT (2U) 2914 /*! ERCA - Enable Round Robin Channel Arbitration 2915 * 0b0..Fixed priority arbitration is used for channel selection . 2916 * 0b1..Round robin arbitration is used for channel selection . 2917 */ 2918 #define DMA_CR_ERCA(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ERCA_SHIFT)) & DMA_CR_ERCA_MASK) 2919 #define DMA_CR_HOE_MASK (0x10U) 2920 #define DMA_CR_HOE_SHIFT (4U) 2921 /*! HOE - Halt On Error 2922 * 0b0..Normal operation 2923 * 0b1..Any error causes the HALT bit to set. Subsequently, all service requests are ignored until the HALT bit is cleared. 2924 */ 2925 #define DMA_CR_HOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_HOE_SHIFT)) & DMA_CR_HOE_MASK) 2926 #define DMA_CR_HALT_MASK (0x20U) 2927 #define DMA_CR_HALT_SHIFT (5U) 2928 /*! HALT - Halt DMA Operations 2929 * 0b0..Normal operation 2930 * 0b1..Stall the start of any new channels. Executing channels are allowed to complete. Channel execution resumes when this bit is cleared. 2931 */ 2932 #define DMA_CR_HALT(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_HALT_SHIFT)) & DMA_CR_HALT_MASK) 2933 #define DMA_CR_CLM_MASK (0x40U) 2934 #define DMA_CR_CLM_SHIFT (6U) 2935 /*! CLM - Continuous Link Mode 2936 * 0b0..A minor loop channel link made to itself goes through channel arbitration before being activated again. 2937 * 0b1..A minor loop channel link made to itself does not go through channel arbitration before being activated again. Upon minor loop completion, the channel activates again if that channel has a minor loop channel link enabled and the link channel is itself. This effectively applies the minor loop offsets and restarts the next minor loop. 2938 */ 2939 #define DMA_CR_CLM(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_CLM_SHIFT)) & DMA_CR_CLM_MASK) 2940 #define DMA_CR_EMLM_MASK (0x80U) 2941 #define DMA_CR_EMLM_SHIFT (7U) 2942 /*! EMLM - Enable Minor Loop Mapping 2943 * 0b0..Disabled. TCDn.word2 is defined as a 32-bit NBYTES field. 2944 * 0b1..Enabled. TCDn.word2 is redefined to include individual enable fields, an offset field, and the NBYTES field. The individual enable fields allow the minor loop offset to be applied to the source address, the destination address, or both. The NBYTES field is reduced when either offset is enabled. 2945 */ 2946 #define DMA_CR_EMLM(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_EMLM_SHIFT)) & DMA_CR_EMLM_MASK) 2947 #define DMA_CR_ECX_MASK (0x10000U) 2948 #define DMA_CR_ECX_SHIFT (16U) 2949 /*! ECX - Error Cancel Transfer 2950 * 0b0..Normal operation 2951 * 0b1..Cancel the remaining data transfer in the same fashion as the CX bit. Stop the executing channel and force the minor loop to finish. The cancel takes effect after the last write of the current read/write sequence. The ECX bit clears itself after the cancel is honored. In addition to cancelling the transfer, ECX treats the cancel as an error condition, thus updating the Error Status register (DMAx_ES) and generating an optional error interrupt. 2952 */ 2953 #define DMA_CR_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ECX_SHIFT)) & DMA_CR_ECX_MASK) 2954 #define DMA_CR_CX_MASK (0x20000U) 2955 #define DMA_CR_CX_SHIFT (17U) 2956 /*! CX - Cancel Transfer 2957 * 0b0..Normal operation 2958 * 0b1..Cancel the remaining data transfer. Stop the executing channel and force the minor loop to finish. The cancel takes effect after the last write of the current read/write sequence. The CX bit clears itself after the cancel has been honored. This cancel retires the channel normally as if the minor loop was completed. 2959 */ 2960 #define DMA_CR_CX(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_CX_SHIFT)) & DMA_CR_CX_MASK) 2961 #define DMA_CR_ACTIVE_MASK (0x80000000U) 2962 #define DMA_CR_ACTIVE_SHIFT (31U) 2963 /*! ACTIVE - DMA Active Status 2964 * 0b0..eDMA is idle. 2965 * 0b1..eDMA is executing a channel. 2966 */ 2967 #define DMA_CR_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ACTIVE_SHIFT)) & DMA_CR_ACTIVE_MASK) 2968 /*! @} */ 2969 2970 /*! @name ES - Error Status Register */ 2971 /*! @{ */ 2972 #define DMA_ES_DBE_MASK (0x1U) 2973 #define DMA_ES_DBE_SHIFT (0U) 2974 /*! DBE - Destination Bus Error 2975 * 0b0..No destination bus error 2976 * 0b1..The last recorded error was a bus error on a destination write 2977 */ 2978 #define DMA_ES_DBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DBE_SHIFT)) & DMA_ES_DBE_MASK) 2979 #define DMA_ES_SBE_MASK (0x2U) 2980 #define DMA_ES_SBE_SHIFT (1U) 2981 /*! SBE - Source Bus Error 2982 * 0b0..No source bus error 2983 * 0b1..The last recorded error was a bus error on a source read 2984 */ 2985 #define DMA_ES_SBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SBE_SHIFT)) & DMA_ES_SBE_MASK) 2986 #define DMA_ES_SGE_MASK (0x4U) 2987 #define DMA_ES_SGE_SHIFT (2U) 2988 /*! SGE - Scatter/Gather Configuration Error 2989 * 0b0..No scatter/gather configuration error 2990 * 0b1..The last recorded error was a configuration error detected in the TCDn_DLASTSGA field. This field is checked at the beginning of a scatter/gather operation after major loop completion if TCDn_CSR[ESG] is enabled. TCDn_DLASTSGA is not on a 32 byte boundary. 2991 */ 2992 #define DMA_ES_SGE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SGE_SHIFT)) & DMA_ES_SGE_MASK) 2993 #define DMA_ES_NCE_MASK (0x8U) 2994 #define DMA_ES_NCE_SHIFT (3U) 2995 /*! NCE - NBYTES/CITER Configuration Error 2996 * 0b0..No NBYTES/CITER configuration error 2997 * 0b1..The last recorded error was a configuration error detected in the TCDn_NBYTES or TCDn_CITER fields. TCDn_NBYTES is not a multiple of TCDn_ATTR[SSIZE] and TCDn_ATTR[DSIZE], or TCDn_CITER[CITER] is equal to zero, or TCDn_CITER[ELINK] is not equal to TCDn_BITER[ELINK] 2998 */ 2999 #define DMA_ES_NCE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_NCE_SHIFT)) & DMA_ES_NCE_MASK) 3000 #define DMA_ES_DOE_MASK (0x10U) 3001 #define DMA_ES_DOE_SHIFT (4U) 3002 /*! DOE - Destination Offset Error 3003 * 0b0..No destination offset configuration error 3004 * 0b1..The last recorded error was a configuration error detected in the TCDn_DOFF field. TCDn_DOFF is inconsistent with TCDn_ATTR[DSIZE]. 3005 */ 3006 #define DMA_ES_DOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DOE_SHIFT)) & DMA_ES_DOE_MASK) 3007 #define DMA_ES_DAE_MASK (0x20U) 3008 #define DMA_ES_DAE_SHIFT (5U) 3009 /*! DAE - Destination Address Error 3010 * 0b0..No destination address configuration error 3011 * 0b1..The last recorded error was a configuration error detected in the TCDn_DADDR field. TCDn_DADDR is inconsistent with TCDn_ATTR[DSIZE]. 3012 */ 3013 #define DMA_ES_DAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DAE_SHIFT)) & DMA_ES_DAE_MASK) 3014 #define DMA_ES_SOE_MASK (0x40U) 3015 #define DMA_ES_SOE_SHIFT (6U) 3016 /*! SOE - Source Offset Error 3017 * 0b0..No source offset configuration error 3018 * 0b1..The last recorded error was a configuration error detected in the TCDn_SOFF field. TCDn_SOFF is inconsistent with TCDn_ATTR[SSIZE]. 3019 */ 3020 #define DMA_ES_SOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SOE_SHIFT)) & DMA_ES_SOE_MASK) 3021 #define DMA_ES_SAE_MASK (0x80U) 3022 #define DMA_ES_SAE_SHIFT (7U) 3023 /*! SAE - Source Address Error 3024 * 0b0..No source address configuration error. 3025 * 0b1..The last recorded error was a configuration error detected in the TCDn_SADDR field. TCDn_SADDR is inconsistent with TCDn_ATTR[SSIZE]. 3026 */ 3027 #define DMA_ES_SAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SAE_SHIFT)) & DMA_ES_SAE_MASK) 3028 #define DMA_ES_ERRCHN_MASK (0xF00U) 3029 #define DMA_ES_ERRCHN_SHIFT (8U) 3030 #define DMA_ES_ERRCHN(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_ERRCHN_SHIFT)) & DMA_ES_ERRCHN_MASK) 3031 #define DMA_ES_CPE_MASK (0x4000U) 3032 #define DMA_ES_CPE_SHIFT (14U) 3033 /*! CPE - Channel Priority Error 3034 * 0b0..No channel priority error 3035 * 0b1..The last recorded error was a configuration error in the channel priorities . Channel priorities are not unique. 3036 */ 3037 #define DMA_ES_CPE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_CPE_SHIFT)) & DMA_ES_CPE_MASK) 3038 #define DMA_ES_ECX_MASK (0x10000U) 3039 #define DMA_ES_ECX_SHIFT (16U) 3040 /*! ECX - Transfer Canceled 3041 * 0b0..No canceled transfers 3042 * 0b1..The last recorded entry was a canceled transfer by the error cancel transfer input 3043 */ 3044 #define DMA_ES_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_ECX_SHIFT)) & DMA_ES_ECX_MASK) 3045 #define DMA_ES_VLD_MASK (0x80000000U) 3046 #define DMA_ES_VLD_SHIFT (31U) 3047 /*! VLD - VLD 3048 * 0b0..No ERR bits are set. 3049 * 0b1..At least one ERR bit is set indicating a valid error exists that has not been cleared. 3050 */ 3051 #define DMA_ES_VLD(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_VLD_SHIFT)) & DMA_ES_VLD_MASK) 3052 /*! @} */ 3053 3054 /*! @name ERQ - Enable Request Register */ 3055 /*! @{ */ 3056 #define DMA_ERQ_ERQ0_MASK (0x1U) 3057 #define DMA_ERQ_ERQ0_SHIFT (0U) 3058 /*! ERQ0 - Enable DMA Request 0 3059 * 0b0..The DMA request signal for the corresponding channel is disabled 3060 * 0b1..The DMA request signal for the corresponding channel is enabled 3061 */ 3062 #define DMA_ERQ_ERQ0(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ0_SHIFT)) & DMA_ERQ_ERQ0_MASK) 3063 #define DMA_ERQ_ERQ1_MASK (0x2U) 3064 #define DMA_ERQ_ERQ1_SHIFT (1U) 3065 /*! ERQ1 - Enable DMA Request 1 3066 * 0b0..The DMA request signal for the corresponding channel is disabled 3067 * 0b1..The DMA request signal for the corresponding channel is enabled 3068 */ 3069 #define DMA_ERQ_ERQ1(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ1_SHIFT)) & DMA_ERQ_ERQ1_MASK) 3070 #define DMA_ERQ_ERQ2_MASK (0x4U) 3071 #define DMA_ERQ_ERQ2_SHIFT (2U) 3072 /*! ERQ2 - Enable DMA Request 2 3073 * 0b0..The DMA request signal for the corresponding channel is disabled 3074 * 0b1..The DMA request signal for the corresponding channel is enabled 3075 */ 3076 #define DMA_ERQ_ERQ2(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ2_SHIFT)) & DMA_ERQ_ERQ2_MASK) 3077 #define DMA_ERQ_ERQ3_MASK (0x8U) 3078 #define DMA_ERQ_ERQ3_SHIFT (3U) 3079 /*! ERQ3 - Enable DMA Request 3 3080 * 0b0..The DMA request signal for the corresponding channel is disabled 3081 * 0b1..The DMA request signal for the corresponding channel is enabled 3082 */ 3083 #define DMA_ERQ_ERQ3(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ3_SHIFT)) & DMA_ERQ_ERQ3_MASK) 3084 #define DMA_ERQ_ERQ4_MASK (0x10U) 3085 #define DMA_ERQ_ERQ4_SHIFT (4U) 3086 /*! ERQ4 - Enable DMA Request 4 3087 * 0b0..The DMA request signal for the corresponding channel is disabled 3088 * 0b1..The DMA request signal for the corresponding channel is enabled 3089 */ 3090 #define DMA_ERQ_ERQ4(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ4_SHIFT)) & DMA_ERQ_ERQ4_MASK) 3091 #define DMA_ERQ_ERQ5_MASK (0x20U) 3092 #define DMA_ERQ_ERQ5_SHIFT (5U) 3093 /*! ERQ5 - Enable DMA Request 5 3094 * 0b0..The DMA request signal for the corresponding channel is disabled 3095 * 0b1..The DMA request signal for the corresponding channel is enabled 3096 */ 3097 #define DMA_ERQ_ERQ5(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ5_SHIFT)) & DMA_ERQ_ERQ5_MASK) 3098 #define DMA_ERQ_ERQ6_MASK (0x40U) 3099 #define DMA_ERQ_ERQ6_SHIFT (6U) 3100 /*! ERQ6 - Enable DMA Request 6 3101 * 0b0..The DMA request signal for the corresponding channel is disabled 3102 * 0b1..The DMA request signal for the corresponding channel is enabled 3103 */ 3104 #define DMA_ERQ_ERQ6(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ6_SHIFT)) & DMA_ERQ_ERQ6_MASK) 3105 #define DMA_ERQ_ERQ7_MASK (0x80U) 3106 #define DMA_ERQ_ERQ7_SHIFT (7U) 3107 /*! ERQ7 - Enable DMA Request 7 3108 * 0b0..The DMA request signal for the corresponding channel is disabled 3109 * 0b1..The DMA request signal for the corresponding channel is enabled 3110 */ 3111 #define DMA_ERQ_ERQ7(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ7_SHIFT)) & DMA_ERQ_ERQ7_MASK) 3112 #define DMA_ERQ_ERQ8_MASK (0x100U) 3113 #define DMA_ERQ_ERQ8_SHIFT (8U) 3114 /*! ERQ8 - Enable DMA Request 8 3115 * 0b0..The DMA request signal for the corresponding channel is disabled 3116 * 0b1..The DMA request signal for the corresponding channel is enabled 3117 */ 3118 #define DMA_ERQ_ERQ8(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ8_SHIFT)) & DMA_ERQ_ERQ8_MASK) 3119 #define DMA_ERQ_ERQ9_MASK (0x200U) 3120 #define DMA_ERQ_ERQ9_SHIFT (9U) 3121 /*! ERQ9 - Enable DMA Request 9 3122 * 0b0..The DMA request signal for the corresponding channel is disabled 3123 * 0b1..The DMA request signal for the corresponding channel is enabled 3124 */ 3125 #define DMA_ERQ_ERQ9(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ9_SHIFT)) & DMA_ERQ_ERQ9_MASK) 3126 #define DMA_ERQ_ERQ10_MASK (0x400U) 3127 #define DMA_ERQ_ERQ10_SHIFT (10U) 3128 /*! ERQ10 - Enable DMA Request 10 3129 * 0b0..The DMA request signal for the corresponding channel is disabled 3130 * 0b1..The DMA request signal for the corresponding channel is enabled 3131 */ 3132 #define DMA_ERQ_ERQ10(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ10_SHIFT)) & DMA_ERQ_ERQ10_MASK) 3133 #define DMA_ERQ_ERQ11_MASK (0x800U) 3134 #define DMA_ERQ_ERQ11_SHIFT (11U) 3135 /*! ERQ11 - Enable DMA Request 11 3136 * 0b0..The DMA request signal for the corresponding channel is disabled 3137 * 0b1..The DMA request signal for the corresponding channel is enabled 3138 */ 3139 #define DMA_ERQ_ERQ11(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ11_SHIFT)) & DMA_ERQ_ERQ11_MASK) 3140 #define DMA_ERQ_ERQ12_MASK (0x1000U) 3141 #define DMA_ERQ_ERQ12_SHIFT (12U) 3142 /*! ERQ12 - Enable DMA Request 12 3143 * 0b0..The DMA request signal for the corresponding channel is disabled 3144 * 0b1..The DMA request signal for the corresponding channel is enabled 3145 */ 3146 #define DMA_ERQ_ERQ12(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ12_SHIFT)) & DMA_ERQ_ERQ12_MASK) 3147 #define DMA_ERQ_ERQ13_MASK (0x2000U) 3148 #define DMA_ERQ_ERQ13_SHIFT (13U) 3149 /*! ERQ13 - Enable DMA Request 13 3150 * 0b0..The DMA request signal for the corresponding channel is disabled 3151 * 0b1..The DMA request signal for the corresponding channel is enabled 3152 */ 3153 #define DMA_ERQ_ERQ13(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ13_SHIFT)) & DMA_ERQ_ERQ13_MASK) 3154 #define DMA_ERQ_ERQ14_MASK (0x4000U) 3155 #define DMA_ERQ_ERQ14_SHIFT (14U) 3156 /*! ERQ14 - Enable DMA Request 14 3157 * 0b0..The DMA request signal for the corresponding channel is disabled 3158 * 0b1..The DMA request signal for the corresponding channel is enabled 3159 */ 3160 #define DMA_ERQ_ERQ14(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ14_SHIFT)) & DMA_ERQ_ERQ14_MASK) 3161 #define DMA_ERQ_ERQ15_MASK (0x8000U) 3162 #define DMA_ERQ_ERQ15_SHIFT (15U) 3163 /*! ERQ15 - Enable DMA Request 15 3164 * 0b0..The DMA request signal for the corresponding channel is disabled 3165 * 0b1..The DMA request signal for the corresponding channel is enabled 3166 */ 3167 #define DMA_ERQ_ERQ15(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ15_SHIFT)) & DMA_ERQ_ERQ15_MASK) 3168 /*! @} */ 3169 3170 /*! @name EEI - Enable Error Interrupt Register */ 3171 /*! @{ */ 3172 #define DMA_EEI_EEI0_MASK (0x1U) 3173 #define DMA_EEI_EEI0_SHIFT (0U) 3174 /*! EEI0 - Enable Error Interrupt 0 3175 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3176 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3177 */ 3178 #define DMA_EEI_EEI0(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI0_SHIFT)) & DMA_EEI_EEI0_MASK) 3179 #define DMA_EEI_EEI1_MASK (0x2U) 3180 #define DMA_EEI_EEI1_SHIFT (1U) 3181 /*! EEI1 - Enable Error Interrupt 1 3182 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3183 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3184 */ 3185 #define DMA_EEI_EEI1(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI1_SHIFT)) & DMA_EEI_EEI1_MASK) 3186 #define DMA_EEI_EEI2_MASK (0x4U) 3187 #define DMA_EEI_EEI2_SHIFT (2U) 3188 /*! EEI2 - Enable Error Interrupt 2 3189 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3190 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3191 */ 3192 #define DMA_EEI_EEI2(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI2_SHIFT)) & DMA_EEI_EEI2_MASK) 3193 #define DMA_EEI_EEI3_MASK (0x8U) 3194 #define DMA_EEI_EEI3_SHIFT (3U) 3195 /*! EEI3 - Enable Error Interrupt 3 3196 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3197 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3198 */ 3199 #define DMA_EEI_EEI3(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI3_SHIFT)) & DMA_EEI_EEI3_MASK) 3200 #define DMA_EEI_EEI4_MASK (0x10U) 3201 #define DMA_EEI_EEI4_SHIFT (4U) 3202 /*! EEI4 - Enable Error Interrupt 4 3203 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3204 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3205 */ 3206 #define DMA_EEI_EEI4(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI4_SHIFT)) & DMA_EEI_EEI4_MASK) 3207 #define DMA_EEI_EEI5_MASK (0x20U) 3208 #define DMA_EEI_EEI5_SHIFT (5U) 3209 /*! EEI5 - Enable Error Interrupt 5 3210 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3211 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3212 */ 3213 #define DMA_EEI_EEI5(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI5_SHIFT)) & DMA_EEI_EEI5_MASK) 3214 #define DMA_EEI_EEI6_MASK (0x40U) 3215 #define DMA_EEI_EEI6_SHIFT (6U) 3216 /*! EEI6 - Enable Error Interrupt 6 3217 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3218 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3219 */ 3220 #define DMA_EEI_EEI6(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI6_SHIFT)) & DMA_EEI_EEI6_MASK) 3221 #define DMA_EEI_EEI7_MASK (0x80U) 3222 #define DMA_EEI_EEI7_SHIFT (7U) 3223 /*! EEI7 - Enable Error Interrupt 7 3224 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3225 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3226 */ 3227 #define DMA_EEI_EEI7(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI7_SHIFT)) & DMA_EEI_EEI7_MASK) 3228 #define DMA_EEI_EEI8_MASK (0x100U) 3229 #define DMA_EEI_EEI8_SHIFT (8U) 3230 /*! EEI8 - Enable Error Interrupt 8 3231 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3232 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3233 */ 3234 #define DMA_EEI_EEI8(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI8_SHIFT)) & DMA_EEI_EEI8_MASK) 3235 #define DMA_EEI_EEI9_MASK (0x200U) 3236 #define DMA_EEI_EEI9_SHIFT (9U) 3237 /*! EEI9 - Enable Error Interrupt 9 3238 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3239 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3240 */ 3241 #define DMA_EEI_EEI9(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI9_SHIFT)) & DMA_EEI_EEI9_MASK) 3242 #define DMA_EEI_EEI10_MASK (0x400U) 3243 #define DMA_EEI_EEI10_SHIFT (10U) 3244 /*! EEI10 - Enable Error Interrupt 10 3245 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3246 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3247 */ 3248 #define DMA_EEI_EEI10(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI10_SHIFT)) & DMA_EEI_EEI10_MASK) 3249 #define DMA_EEI_EEI11_MASK (0x800U) 3250 #define DMA_EEI_EEI11_SHIFT (11U) 3251 /*! EEI11 - Enable Error Interrupt 11 3252 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3253 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3254 */ 3255 #define DMA_EEI_EEI11(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI11_SHIFT)) & DMA_EEI_EEI11_MASK) 3256 #define DMA_EEI_EEI12_MASK (0x1000U) 3257 #define DMA_EEI_EEI12_SHIFT (12U) 3258 /*! EEI12 - Enable Error Interrupt 12 3259 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3260 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3261 */ 3262 #define DMA_EEI_EEI12(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI12_SHIFT)) & DMA_EEI_EEI12_MASK) 3263 #define DMA_EEI_EEI13_MASK (0x2000U) 3264 #define DMA_EEI_EEI13_SHIFT (13U) 3265 /*! EEI13 - Enable Error Interrupt 13 3266 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3267 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3268 */ 3269 #define DMA_EEI_EEI13(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI13_SHIFT)) & DMA_EEI_EEI13_MASK) 3270 #define DMA_EEI_EEI14_MASK (0x4000U) 3271 #define DMA_EEI_EEI14_SHIFT (14U) 3272 /*! EEI14 - Enable Error Interrupt 14 3273 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3274 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3275 */ 3276 #define DMA_EEI_EEI14(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI14_SHIFT)) & DMA_EEI_EEI14_MASK) 3277 #define DMA_EEI_EEI15_MASK (0x8000U) 3278 #define DMA_EEI_EEI15_SHIFT (15U) 3279 /*! EEI15 - Enable Error Interrupt 15 3280 * 0b0..The error signal for corresponding channel does not generate an error interrupt 3281 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 3282 */ 3283 #define DMA_EEI_EEI15(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI15_SHIFT)) & DMA_EEI_EEI15_MASK) 3284 /*! @} */ 3285 3286 /*! @name CEEI - Clear Enable Error Interrupt Register */ 3287 /*! @{ */ 3288 #define DMA_CEEI_CEEI_MASK (0xFU) 3289 #define DMA_CEEI_CEEI_SHIFT (0U) 3290 #define DMA_CEEI_CEEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_CEEI_SHIFT)) & DMA_CEEI_CEEI_MASK) 3291 #define DMA_CEEI_CAEE_MASK (0x40U) 3292 #define DMA_CEEI_CAEE_SHIFT (6U) 3293 /*! CAEE - Clear All Enable Error Interrupts 3294 * 0b0..Clear only the EEI bit specified in the CEEI field 3295 * 0b1..Clear all bits in EEI 3296 */ 3297 #define DMA_CEEI_CAEE(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_CAEE_SHIFT)) & DMA_CEEI_CAEE_MASK) 3298 #define DMA_CEEI_NOP_MASK (0x80U) 3299 #define DMA_CEEI_NOP_SHIFT (7U) 3300 /*! NOP - No Op enable 3301 * 0b0..Normal operation 3302 * 0b1..No operation, ignore the other bits in this register 3303 */ 3304 #define DMA_CEEI_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_NOP_SHIFT)) & DMA_CEEI_NOP_MASK) 3305 /*! @} */ 3306 3307 /*! @name SEEI - Set Enable Error Interrupt Register */ 3308 /*! @{ */ 3309 #define DMA_SEEI_SEEI_MASK (0xFU) 3310 #define DMA_SEEI_SEEI_SHIFT (0U) 3311 #define DMA_SEEI_SEEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_SEEI_SHIFT)) & DMA_SEEI_SEEI_MASK) 3312 #define DMA_SEEI_SAEE_MASK (0x40U) 3313 #define DMA_SEEI_SAEE_SHIFT (6U) 3314 /*! SAEE - Sets All Enable Error Interrupts 3315 * 0b0..Set only the EEI bit specified in the SEEI field. 3316 * 0b1..Sets all bits in EEI 3317 */ 3318 #define DMA_SEEI_SAEE(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_SAEE_SHIFT)) & DMA_SEEI_SAEE_MASK) 3319 #define DMA_SEEI_NOP_MASK (0x80U) 3320 #define DMA_SEEI_NOP_SHIFT (7U) 3321 /*! NOP - No Op enable 3322 * 0b0..Normal operation 3323 * 0b1..No operation, ignore the other bits in this register 3324 */ 3325 #define DMA_SEEI_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_NOP_SHIFT)) & DMA_SEEI_NOP_MASK) 3326 /*! @} */ 3327 3328 /*! @name CERQ - Clear Enable Request Register */ 3329 /*! @{ */ 3330 #define DMA_CERQ_CERQ_MASK (0xFU) 3331 #define DMA_CERQ_CERQ_SHIFT (0U) 3332 #define DMA_CERQ_CERQ(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_CERQ_SHIFT)) & DMA_CERQ_CERQ_MASK) 3333 #define DMA_CERQ_CAER_MASK (0x40U) 3334 #define DMA_CERQ_CAER_SHIFT (6U) 3335 /*! CAER - Clear All Enable Requests 3336 * 0b0..Clear only the ERQ bit specified in the CERQ field 3337 * 0b1..Clear all bits in ERQ 3338 */ 3339 #define DMA_CERQ_CAER(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_CAER_SHIFT)) & DMA_CERQ_CAER_MASK) 3340 #define DMA_CERQ_NOP_MASK (0x80U) 3341 #define DMA_CERQ_NOP_SHIFT (7U) 3342 /*! NOP - No Op enable 3343 * 0b0..Normal operation 3344 * 0b1..No operation, ignore the other bits in this register 3345 */ 3346 #define DMA_CERQ_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_NOP_SHIFT)) & DMA_CERQ_NOP_MASK) 3347 /*! @} */ 3348 3349 /*! @name SERQ - Set Enable Request Register */ 3350 /*! @{ */ 3351 #define DMA_SERQ_SERQ_MASK (0xFU) 3352 #define DMA_SERQ_SERQ_SHIFT (0U) 3353 #define DMA_SERQ_SERQ(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_SERQ_SHIFT)) & DMA_SERQ_SERQ_MASK) 3354 #define DMA_SERQ_SAER_MASK (0x40U) 3355 #define DMA_SERQ_SAER_SHIFT (6U) 3356 /*! SAER - Set All Enable Requests 3357 * 0b0..Set only the ERQ bit specified in the SERQ field 3358 * 0b1..Set all bits in ERQ 3359 */ 3360 #define DMA_SERQ_SAER(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_SAER_SHIFT)) & DMA_SERQ_SAER_MASK) 3361 #define DMA_SERQ_NOP_MASK (0x80U) 3362 #define DMA_SERQ_NOP_SHIFT (7U) 3363 /*! NOP - No Op enable 3364 * 0b0..Normal operation 3365 * 0b1..No operation, ignore the other bits in this register 3366 */ 3367 #define DMA_SERQ_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_NOP_SHIFT)) & DMA_SERQ_NOP_MASK) 3368 /*! @} */ 3369 3370 /*! @name CDNE - Clear DONE Status Bit Register */ 3371 /*! @{ */ 3372 #define DMA_CDNE_CDNE_MASK (0xFU) 3373 #define DMA_CDNE_CDNE_SHIFT (0U) 3374 #define DMA_CDNE_CDNE(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_CDNE_SHIFT)) & DMA_CDNE_CDNE_MASK) 3375 #define DMA_CDNE_CADN_MASK (0x40U) 3376 #define DMA_CDNE_CADN_SHIFT (6U) 3377 /*! CADN - Clears All DONE Bits 3378 * 0b0..Clears only the TCDn_CSR[DONE] bit specified in the CDNE field 3379 * 0b1..Clears all bits in TCDn_CSR[DONE] 3380 */ 3381 #define DMA_CDNE_CADN(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_CADN_SHIFT)) & DMA_CDNE_CADN_MASK) 3382 #define DMA_CDNE_NOP_MASK (0x80U) 3383 #define DMA_CDNE_NOP_SHIFT (7U) 3384 /*! NOP - No Op enable 3385 * 0b0..Normal operation 3386 * 0b1..No operation, ignore the other bits in this register 3387 */ 3388 #define DMA_CDNE_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_NOP_SHIFT)) & DMA_CDNE_NOP_MASK) 3389 /*! @} */ 3390 3391 /*! @name SSRT - Set START Bit Register */ 3392 /*! @{ */ 3393 #define DMA_SSRT_SSRT_MASK (0xFU) 3394 #define DMA_SSRT_SSRT_SHIFT (0U) 3395 #define DMA_SSRT_SSRT(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_SSRT_SHIFT)) & DMA_SSRT_SSRT_MASK) 3396 #define DMA_SSRT_SAST_MASK (0x40U) 3397 #define DMA_SSRT_SAST_SHIFT (6U) 3398 /*! SAST - Set All START Bits (activates all channels) 3399 * 0b0..Set only the TCDn_CSR[START] bit specified in the SSRT field 3400 * 0b1..Set all bits in TCDn_CSR[START] 3401 */ 3402 #define DMA_SSRT_SAST(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_SAST_SHIFT)) & DMA_SSRT_SAST_MASK) 3403 #define DMA_SSRT_NOP_MASK (0x80U) 3404 #define DMA_SSRT_NOP_SHIFT (7U) 3405 /*! NOP - No Op enable 3406 * 0b0..Normal operation 3407 * 0b1..No operation, ignore the other bits in this register 3408 */ 3409 #define DMA_SSRT_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_NOP_SHIFT)) & DMA_SSRT_NOP_MASK) 3410 /*! @} */ 3411 3412 /*! @name CERR - Clear Error Register */ 3413 /*! @{ */ 3414 #define DMA_CERR_CERR_MASK (0xFU) 3415 #define DMA_CERR_CERR_SHIFT (0U) 3416 #define DMA_CERR_CERR(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_CERR_SHIFT)) & DMA_CERR_CERR_MASK) 3417 #define DMA_CERR_CAEI_MASK (0x40U) 3418 #define DMA_CERR_CAEI_SHIFT (6U) 3419 /*! CAEI - Clear All Error Indicators 3420 * 0b0..Clear only the ERR bit specified in the CERR field 3421 * 0b1..Clear all bits in ERR 3422 */ 3423 #define DMA_CERR_CAEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_CAEI_SHIFT)) & DMA_CERR_CAEI_MASK) 3424 #define DMA_CERR_NOP_MASK (0x80U) 3425 #define DMA_CERR_NOP_SHIFT (7U) 3426 /*! NOP - No Op enable 3427 * 0b0..Normal operation 3428 * 0b1..No operation, ignore the other bits in this register 3429 */ 3430 #define DMA_CERR_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_NOP_SHIFT)) & DMA_CERR_NOP_MASK) 3431 /*! @} */ 3432 3433 /*! @name CINT - Clear Interrupt Request Register */ 3434 /*! @{ */ 3435 #define DMA_CINT_CINT_MASK (0xFU) 3436 #define DMA_CINT_CINT_SHIFT (0U) 3437 #define DMA_CINT_CINT(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_CINT_SHIFT)) & DMA_CINT_CINT_MASK) 3438 #define DMA_CINT_CAIR_MASK (0x40U) 3439 #define DMA_CINT_CAIR_SHIFT (6U) 3440 /*! CAIR - Clear All Interrupt Requests 3441 * 0b0..Clear only the INT bit specified in the CINT field 3442 * 0b1..Clear all bits in INT 3443 */ 3444 #define DMA_CINT_CAIR(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_CAIR_SHIFT)) & DMA_CINT_CAIR_MASK) 3445 #define DMA_CINT_NOP_MASK (0x80U) 3446 #define DMA_CINT_NOP_SHIFT (7U) 3447 /*! NOP - No Op enable 3448 * 0b0..Normal operation 3449 * 0b1..No operation, ignore the other bits in this register 3450 */ 3451 #define DMA_CINT_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_NOP_SHIFT)) & DMA_CINT_NOP_MASK) 3452 /*! @} */ 3453 3454 /*! @name INT - Interrupt Request Register */ 3455 /*! @{ */ 3456 #define DMA_INT_INT0_MASK (0x1U) 3457 #define DMA_INT_INT0_SHIFT (0U) 3458 /*! INT0 - Interrupt Request 0 3459 * 0b0..The interrupt request for corresponding channel is cleared 3460 * 0b1..The interrupt request for corresponding channel is active 3461 */ 3462 #define DMA_INT_INT0(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT0_SHIFT)) & DMA_INT_INT0_MASK) 3463 #define DMA_INT_INT1_MASK (0x2U) 3464 #define DMA_INT_INT1_SHIFT (1U) 3465 /*! INT1 - Interrupt Request 1 3466 * 0b0..The interrupt request for corresponding channel is cleared 3467 * 0b1..The interrupt request for corresponding channel is active 3468 */ 3469 #define DMA_INT_INT1(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT1_SHIFT)) & DMA_INT_INT1_MASK) 3470 #define DMA_INT_INT2_MASK (0x4U) 3471 #define DMA_INT_INT2_SHIFT (2U) 3472 /*! INT2 - Interrupt Request 2 3473 * 0b0..The interrupt request for corresponding channel is cleared 3474 * 0b1..The interrupt request for corresponding channel is active 3475 */ 3476 #define DMA_INT_INT2(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT2_SHIFT)) & DMA_INT_INT2_MASK) 3477 #define DMA_INT_INT3_MASK (0x8U) 3478 #define DMA_INT_INT3_SHIFT (3U) 3479 /*! INT3 - Interrupt Request 3 3480 * 0b0..The interrupt request for corresponding channel is cleared 3481 * 0b1..The interrupt request for corresponding channel is active 3482 */ 3483 #define DMA_INT_INT3(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT3_SHIFT)) & DMA_INT_INT3_MASK) 3484 #define DMA_INT_INT4_MASK (0x10U) 3485 #define DMA_INT_INT4_SHIFT (4U) 3486 /*! INT4 - Interrupt Request 4 3487 * 0b0..The interrupt request for corresponding channel is cleared 3488 * 0b1..The interrupt request for corresponding channel is active 3489 */ 3490 #define DMA_INT_INT4(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT4_SHIFT)) & DMA_INT_INT4_MASK) 3491 #define DMA_INT_INT5_MASK (0x20U) 3492 #define DMA_INT_INT5_SHIFT (5U) 3493 /*! INT5 - Interrupt Request 5 3494 * 0b0..The interrupt request for corresponding channel is cleared 3495 * 0b1..The interrupt request for corresponding channel is active 3496 */ 3497 #define DMA_INT_INT5(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT5_SHIFT)) & DMA_INT_INT5_MASK) 3498 #define DMA_INT_INT6_MASK (0x40U) 3499 #define DMA_INT_INT6_SHIFT (6U) 3500 /*! INT6 - Interrupt Request 6 3501 * 0b0..The interrupt request for corresponding channel is cleared 3502 * 0b1..The interrupt request for corresponding channel is active 3503 */ 3504 #define DMA_INT_INT6(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT6_SHIFT)) & DMA_INT_INT6_MASK) 3505 #define DMA_INT_INT7_MASK (0x80U) 3506 #define DMA_INT_INT7_SHIFT (7U) 3507 /*! INT7 - Interrupt Request 7 3508 * 0b0..The interrupt request for corresponding channel is cleared 3509 * 0b1..The interrupt request for corresponding channel is active 3510 */ 3511 #define DMA_INT_INT7(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT7_SHIFT)) & DMA_INT_INT7_MASK) 3512 #define DMA_INT_INT8_MASK (0x100U) 3513 #define DMA_INT_INT8_SHIFT (8U) 3514 /*! INT8 - Interrupt Request 8 3515 * 0b0..The interrupt request for corresponding channel is cleared 3516 * 0b1..The interrupt request for corresponding channel is active 3517 */ 3518 #define DMA_INT_INT8(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT8_SHIFT)) & DMA_INT_INT8_MASK) 3519 #define DMA_INT_INT9_MASK (0x200U) 3520 #define DMA_INT_INT9_SHIFT (9U) 3521 /*! INT9 - Interrupt Request 9 3522 * 0b0..The interrupt request for corresponding channel is cleared 3523 * 0b1..The interrupt request for corresponding channel is active 3524 */ 3525 #define DMA_INT_INT9(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT9_SHIFT)) & DMA_INT_INT9_MASK) 3526 #define DMA_INT_INT10_MASK (0x400U) 3527 #define DMA_INT_INT10_SHIFT (10U) 3528 /*! INT10 - Interrupt Request 10 3529 * 0b0..The interrupt request for corresponding channel is cleared 3530 * 0b1..The interrupt request for corresponding channel is active 3531 */ 3532 #define DMA_INT_INT10(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT10_SHIFT)) & DMA_INT_INT10_MASK) 3533 #define DMA_INT_INT11_MASK (0x800U) 3534 #define DMA_INT_INT11_SHIFT (11U) 3535 /*! INT11 - Interrupt Request 11 3536 * 0b0..The interrupt request for corresponding channel is cleared 3537 * 0b1..The interrupt request for corresponding channel is active 3538 */ 3539 #define DMA_INT_INT11(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT11_SHIFT)) & DMA_INT_INT11_MASK) 3540 #define DMA_INT_INT12_MASK (0x1000U) 3541 #define DMA_INT_INT12_SHIFT (12U) 3542 /*! INT12 - Interrupt Request 12 3543 * 0b0..The interrupt request for corresponding channel is cleared 3544 * 0b1..The interrupt request for corresponding channel is active 3545 */ 3546 #define DMA_INT_INT12(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT12_SHIFT)) & DMA_INT_INT12_MASK) 3547 #define DMA_INT_INT13_MASK (0x2000U) 3548 #define DMA_INT_INT13_SHIFT (13U) 3549 /*! INT13 - Interrupt Request 13 3550 * 0b0..The interrupt request for corresponding channel is cleared 3551 * 0b1..The interrupt request for corresponding channel is active 3552 */ 3553 #define DMA_INT_INT13(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT13_SHIFT)) & DMA_INT_INT13_MASK) 3554 #define DMA_INT_INT14_MASK (0x4000U) 3555 #define DMA_INT_INT14_SHIFT (14U) 3556 /*! INT14 - Interrupt Request 14 3557 * 0b0..The interrupt request for corresponding channel is cleared 3558 * 0b1..The interrupt request for corresponding channel is active 3559 */ 3560 #define DMA_INT_INT14(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT14_SHIFT)) & DMA_INT_INT14_MASK) 3561 #define DMA_INT_INT15_MASK (0x8000U) 3562 #define DMA_INT_INT15_SHIFT (15U) 3563 /*! INT15 - Interrupt Request 15 3564 * 0b0..The interrupt request for corresponding channel is cleared 3565 * 0b1..The interrupt request for corresponding channel is active 3566 */ 3567 #define DMA_INT_INT15(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT15_SHIFT)) & DMA_INT_INT15_MASK) 3568 /*! @} */ 3569 3570 /*! @name ERR - Error Register */ 3571 /*! @{ */ 3572 #define DMA_ERR_ERR0_MASK (0x1U) 3573 #define DMA_ERR_ERR0_SHIFT (0U) 3574 /*! ERR0 - Error In Channel 0 3575 * 0b0..An error in this channel has not occurred 3576 * 0b1..An error in this channel has occurred 3577 */ 3578 #define DMA_ERR_ERR0(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR0_SHIFT)) & DMA_ERR_ERR0_MASK) 3579 #define DMA_ERR_ERR1_MASK (0x2U) 3580 #define DMA_ERR_ERR1_SHIFT (1U) 3581 /*! ERR1 - Error In Channel 1 3582 * 0b0..An error in this channel has not occurred 3583 * 0b1..An error in this channel has occurred 3584 */ 3585 #define DMA_ERR_ERR1(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR1_SHIFT)) & DMA_ERR_ERR1_MASK) 3586 #define DMA_ERR_ERR2_MASK (0x4U) 3587 #define DMA_ERR_ERR2_SHIFT (2U) 3588 /*! ERR2 - Error In Channel 2 3589 * 0b0..An error in this channel has not occurred 3590 * 0b1..An error in this channel has occurred 3591 */ 3592 #define DMA_ERR_ERR2(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR2_SHIFT)) & DMA_ERR_ERR2_MASK) 3593 #define DMA_ERR_ERR3_MASK (0x8U) 3594 #define DMA_ERR_ERR3_SHIFT (3U) 3595 /*! ERR3 - Error In Channel 3 3596 * 0b0..An error in this channel has not occurred 3597 * 0b1..An error in this channel has occurred 3598 */ 3599 #define DMA_ERR_ERR3(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR3_SHIFT)) & DMA_ERR_ERR3_MASK) 3600 #define DMA_ERR_ERR4_MASK (0x10U) 3601 #define DMA_ERR_ERR4_SHIFT (4U) 3602 /*! ERR4 - Error In Channel 4 3603 * 0b0..An error in this channel has not occurred 3604 * 0b1..An error in this channel has occurred 3605 */ 3606 #define DMA_ERR_ERR4(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR4_SHIFT)) & DMA_ERR_ERR4_MASK) 3607 #define DMA_ERR_ERR5_MASK (0x20U) 3608 #define DMA_ERR_ERR5_SHIFT (5U) 3609 /*! ERR5 - Error In Channel 5 3610 * 0b0..An error in this channel has not occurred 3611 * 0b1..An error in this channel has occurred 3612 */ 3613 #define DMA_ERR_ERR5(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR5_SHIFT)) & DMA_ERR_ERR5_MASK) 3614 #define DMA_ERR_ERR6_MASK (0x40U) 3615 #define DMA_ERR_ERR6_SHIFT (6U) 3616 /*! ERR6 - Error In Channel 6 3617 * 0b0..An error in this channel has not occurred 3618 * 0b1..An error in this channel has occurred 3619 */ 3620 #define DMA_ERR_ERR6(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR6_SHIFT)) & DMA_ERR_ERR6_MASK) 3621 #define DMA_ERR_ERR7_MASK (0x80U) 3622 #define DMA_ERR_ERR7_SHIFT (7U) 3623 /*! ERR7 - Error In Channel 7 3624 * 0b0..An error in this channel has not occurred 3625 * 0b1..An error in this channel has occurred 3626 */ 3627 #define DMA_ERR_ERR7(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR7_SHIFT)) & DMA_ERR_ERR7_MASK) 3628 #define DMA_ERR_ERR8_MASK (0x100U) 3629 #define DMA_ERR_ERR8_SHIFT (8U) 3630 /*! ERR8 - Error In Channel 8 3631 * 0b0..An error in this channel has not occurred 3632 * 0b1..An error in this channel has occurred 3633 */ 3634 #define DMA_ERR_ERR8(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR8_SHIFT)) & DMA_ERR_ERR8_MASK) 3635 #define DMA_ERR_ERR9_MASK (0x200U) 3636 #define DMA_ERR_ERR9_SHIFT (9U) 3637 /*! ERR9 - Error In Channel 9 3638 * 0b0..An error in this channel has not occurred 3639 * 0b1..An error in this channel has occurred 3640 */ 3641 #define DMA_ERR_ERR9(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR9_SHIFT)) & DMA_ERR_ERR9_MASK) 3642 #define DMA_ERR_ERR10_MASK (0x400U) 3643 #define DMA_ERR_ERR10_SHIFT (10U) 3644 /*! ERR10 - Error In Channel 10 3645 * 0b0..An error in this channel has not occurred 3646 * 0b1..An error in this channel has occurred 3647 */ 3648 #define DMA_ERR_ERR10(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR10_SHIFT)) & DMA_ERR_ERR10_MASK) 3649 #define DMA_ERR_ERR11_MASK (0x800U) 3650 #define DMA_ERR_ERR11_SHIFT (11U) 3651 /*! ERR11 - Error In Channel 11 3652 * 0b0..An error in this channel has not occurred 3653 * 0b1..An error in this channel has occurred 3654 */ 3655 #define DMA_ERR_ERR11(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR11_SHIFT)) & DMA_ERR_ERR11_MASK) 3656 #define DMA_ERR_ERR12_MASK (0x1000U) 3657 #define DMA_ERR_ERR12_SHIFT (12U) 3658 /*! ERR12 - Error In Channel 12 3659 * 0b0..An error in this channel has not occurred 3660 * 0b1..An error in this channel has occurred 3661 */ 3662 #define DMA_ERR_ERR12(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR12_SHIFT)) & DMA_ERR_ERR12_MASK) 3663 #define DMA_ERR_ERR13_MASK (0x2000U) 3664 #define DMA_ERR_ERR13_SHIFT (13U) 3665 /*! ERR13 - Error In Channel 13 3666 * 0b0..An error in this channel has not occurred 3667 * 0b1..An error in this channel has occurred 3668 */ 3669 #define DMA_ERR_ERR13(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR13_SHIFT)) & DMA_ERR_ERR13_MASK) 3670 #define DMA_ERR_ERR14_MASK (0x4000U) 3671 #define DMA_ERR_ERR14_SHIFT (14U) 3672 /*! ERR14 - Error In Channel 14 3673 * 0b0..An error in this channel has not occurred 3674 * 0b1..An error in this channel has occurred 3675 */ 3676 #define DMA_ERR_ERR14(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR14_SHIFT)) & DMA_ERR_ERR14_MASK) 3677 #define DMA_ERR_ERR15_MASK (0x8000U) 3678 #define DMA_ERR_ERR15_SHIFT (15U) 3679 /*! ERR15 - Error In Channel 15 3680 * 0b0..An error in this channel has not occurred 3681 * 0b1..An error in this channel has occurred 3682 */ 3683 #define DMA_ERR_ERR15(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR15_SHIFT)) & DMA_ERR_ERR15_MASK) 3684 /*! @} */ 3685 3686 /*! @name HRS - Hardware Request Status Register */ 3687 /*! @{ */ 3688 #define DMA_HRS_HRS0_MASK (0x1U) 3689 #define DMA_HRS_HRS0_SHIFT (0U) 3690 /*! HRS0 - Hardware Request Status Channel 0 3691 * 0b0..A hardware service request for channel 0 is not present 3692 * 0b1..A hardware service request for channel 0 is present 3693 */ 3694 #define DMA_HRS_HRS0(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS0_SHIFT)) & DMA_HRS_HRS0_MASK) 3695 #define DMA_HRS_HRS1_MASK (0x2U) 3696 #define DMA_HRS_HRS1_SHIFT (1U) 3697 /*! HRS1 - Hardware Request Status Channel 1 3698 * 0b0..A hardware service request for channel 1 is not present 3699 * 0b1..A hardware service request for channel 1 is present 3700 */ 3701 #define DMA_HRS_HRS1(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS1_SHIFT)) & DMA_HRS_HRS1_MASK) 3702 #define DMA_HRS_HRS2_MASK (0x4U) 3703 #define DMA_HRS_HRS2_SHIFT (2U) 3704 /*! HRS2 - Hardware Request Status Channel 2 3705 * 0b0..A hardware service request for channel 2 is not present 3706 * 0b1..A hardware service request for channel 2 is present 3707 */ 3708 #define DMA_HRS_HRS2(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS2_SHIFT)) & DMA_HRS_HRS2_MASK) 3709 #define DMA_HRS_HRS3_MASK (0x8U) 3710 #define DMA_HRS_HRS3_SHIFT (3U) 3711 /*! HRS3 - Hardware Request Status Channel 3 3712 * 0b0..A hardware service request for channel 3 is not present 3713 * 0b1..A hardware service request for channel 3 is present 3714 */ 3715 #define DMA_HRS_HRS3(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS3_SHIFT)) & DMA_HRS_HRS3_MASK) 3716 #define DMA_HRS_HRS4_MASK (0x10U) 3717 #define DMA_HRS_HRS4_SHIFT (4U) 3718 /*! HRS4 - Hardware Request Status Channel 4 3719 * 0b0..A hardware service request for channel 4 is not present 3720 * 0b1..A hardware service request for channel 4 is present 3721 */ 3722 #define DMA_HRS_HRS4(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS4_SHIFT)) & DMA_HRS_HRS4_MASK) 3723 #define DMA_HRS_HRS5_MASK (0x20U) 3724 #define DMA_HRS_HRS5_SHIFT (5U) 3725 /*! HRS5 - Hardware Request Status Channel 5 3726 * 0b0..A hardware service request for channel 5 is not present 3727 * 0b1..A hardware service request for channel 5 is present 3728 */ 3729 #define DMA_HRS_HRS5(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS5_SHIFT)) & DMA_HRS_HRS5_MASK) 3730 #define DMA_HRS_HRS6_MASK (0x40U) 3731 #define DMA_HRS_HRS6_SHIFT (6U) 3732 /*! HRS6 - Hardware Request Status Channel 6 3733 * 0b0..A hardware service request for channel 6 is not present 3734 * 0b1..A hardware service request for channel 6 is present 3735 */ 3736 #define DMA_HRS_HRS6(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS6_SHIFT)) & DMA_HRS_HRS6_MASK) 3737 #define DMA_HRS_HRS7_MASK (0x80U) 3738 #define DMA_HRS_HRS7_SHIFT (7U) 3739 /*! HRS7 - Hardware Request Status Channel 7 3740 * 0b0..A hardware service request for channel 7 is not present 3741 * 0b1..A hardware service request for channel 7 is present 3742 */ 3743 #define DMA_HRS_HRS7(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS7_SHIFT)) & DMA_HRS_HRS7_MASK) 3744 #define DMA_HRS_HRS8_MASK (0x100U) 3745 #define DMA_HRS_HRS8_SHIFT (8U) 3746 /*! HRS8 - Hardware Request Status Channel 8 3747 * 0b0..A hardware service request for channel 8 is not present 3748 * 0b1..A hardware service request for channel 8 is present 3749 */ 3750 #define DMA_HRS_HRS8(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS8_SHIFT)) & DMA_HRS_HRS8_MASK) 3751 #define DMA_HRS_HRS9_MASK (0x200U) 3752 #define DMA_HRS_HRS9_SHIFT (9U) 3753 /*! HRS9 - Hardware Request Status Channel 9 3754 * 0b0..A hardware service request for channel 9 is not present 3755 * 0b1..A hardware service request for channel 9 is present 3756 */ 3757 #define DMA_HRS_HRS9(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS9_SHIFT)) & DMA_HRS_HRS9_MASK) 3758 #define DMA_HRS_HRS10_MASK (0x400U) 3759 #define DMA_HRS_HRS10_SHIFT (10U) 3760 /*! HRS10 - Hardware Request Status Channel 10 3761 * 0b0..A hardware service request for channel 10 is not present 3762 * 0b1..A hardware service request for channel 10 is present 3763 */ 3764 #define DMA_HRS_HRS10(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS10_SHIFT)) & DMA_HRS_HRS10_MASK) 3765 #define DMA_HRS_HRS11_MASK (0x800U) 3766 #define DMA_HRS_HRS11_SHIFT (11U) 3767 /*! HRS11 - Hardware Request Status Channel 11 3768 * 0b0..A hardware service request for channel 11 is not present 3769 * 0b1..A hardware service request for channel 11 is present 3770 */ 3771 #define DMA_HRS_HRS11(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS11_SHIFT)) & DMA_HRS_HRS11_MASK) 3772 #define DMA_HRS_HRS12_MASK (0x1000U) 3773 #define DMA_HRS_HRS12_SHIFT (12U) 3774 /*! HRS12 - Hardware Request Status Channel 12 3775 * 0b0..A hardware service request for channel 12 is not present 3776 * 0b1..A hardware service request for channel 12 is present 3777 */ 3778 #define DMA_HRS_HRS12(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS12_SHIFT)) & DMA_HRS_HRS12_MASK) 3779 #define DMA_HRS_HRS13_MASK (0x2000U) 3780 #define DMA_HRS_HRS13_SHIFT (13U) 3781 /*! HRS13 - Hardware Request Status Channel 13 3782 * 0b0..A hardware service request for channel 13 is not present 3783 * 0b1..A hardware service request for channel 13 is present 3784 */ 3785 #define DMA_HRS_HRS13(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS13_SHIFT)) & DMA_HRS_HRS13_MASK) 3786 #define DMA_HRS_HRS14_MASK (0x4000U) 3787 #define DMA_HRS_HRS14_SHIFT (14U) 3788 /*! HRS14 - Hardware Request Status Channel 14 3789 * 0b0..A hardware service request for channel 14 is not present 3790 * 0b1..A hardware service request for channel 14 is present 3791 */ 3792 #define DMA_HRS_HRS14(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS14_SHIFT)) & DMA_HRS_HRS14_MASK) 3793 #define DMA_HRS_HRS15_MASK (0x8000U) 3794 #define DMA_HRS_HRS15_SHIFT (15U) 3795 /*! HRS15 - Hardware Request Status Channel 15 3796 * 0b0..A hardware service request for channel 15 is not present 3797 * 0b1..A hardware service request for channel 15 is present 3798 */ 3799 #define DMA_HRS_HRS15(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS15_SHIFT)) & DMA_HRS_HRS15_MASK) 3800 /*! @} */ 3801 3802 /*! @name EARS - Enable Asynchronous Request in Stop Register */ 3803 /*! @{ */ 3804 #define DMA_EARS_EDREQ_0_MASK (0x1U) 3805 #define DMA_EARS_EDREQ_0_SHIFT (0U) 3806 /*! EDREQ_0 - Enable asynchronous DMA request in stop mode for channel 0. 3807 * 0b0..Disable asynchronous DMA request for channel 0. 3808 * 0b1..Enable asynchronous DMA request for channel 0. 3809 */ 3810 #define DMA_EARS_EDREQ_0(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_0_SHIFT)) & DMA_EARS_EDREQ_0_MASK) 3811 #define DMA_EARS_EDREQ_1_MASK (0x2U) 3812 #define DMA_EARS_EDREQ_1_SHIFT (1U) 3813 /*! EDREQ_1 - Enable asynchronous DMA request in stop mode for channel 1. 3814 * 0b0..Disable asynchronous DMA request for channel 1 3815 * 0b1..Enable asynchronous DMA request for channel 1. 3816 */ 3817 #define DMA_EARS_EDREQ_1(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_1_SHIFT)) & DMA_EARS_EDREQ_1_MASK) 3818 #define DMA_EARS_EDREQ_2_MASK (0x4U) 3819 #define DMA_EARS_EDREQ_2_SHIFT (2U) 3820 /*! EDREQ_2 - Enable asynchronous DMA request in stop mode for channel 2. 3821 * 0b0..Disable asynchronous DMA request for channel 2. 3822 * 0b1..Enable asynchronous DMA request for channel 2. 3823 */ 3824 #define DMA_EARS_EDREQ_2(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_2_SHIFT)) & DMA_EARS_EDREQ_2_MASK) 3825 #define DMA_EARS_EDREQ_3_MASK (0x8U) 3826 #define DMA_EARS_EDREQ_3_SHIFT (3U) 3827 /*! EDREQ_3 - Enable asynchronous DMA request in stop mode for channel 3. 3828 * 0b0..Disable asynchronous DMA request for channel 3. 3829 * 0b1..Enable asynchronous DMA request for channel 3. 3830 */ 3831 #define DMA_EARS_EDREQ_3(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_3_SHIFT)) & DMA_EARS_EDREQ_3_MASK) 3832 #define DMA_EARS_EDREQ_4_MASK (0x10U) 3833 #define DMA_EARS_EDREQ_4_SHIFT (4U) 3834 /*! EDREQ_4 - Enable asynchronous DMA request in stop mode for channel 4 3835 * 0b0..Disable asynchronous DMA request for channel 4. 3836 * 0b1..Enable asynchronous DMA request for channel 4. 3837 */ 3838 #define DMA_EARS_EDREQ_4(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_4_SHIFT)) & DMA_EARS_EDREQ_4_MASK) 3839 #define DMA_EARS_EDREQ_5_MASK (0x20U) 3840 #define DMA_EARS_EDREQ_5_SHIFT (5U) 3841 /*! EDREQ_5 - Enable asynchronous DMA request in stop mode for channel 5 3842 * 0b0..Disable asynchronous DMA request for channel 5. 3843 * 0b1..Enable asynchronous DMA request for channel 5. 3844 */ 3845 #define DMA_EARS_EDREQ_5(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_5_SHIFT)) & DMA_EARS_EDREQ_5_MASK) 3846 #define DMA_EARS_EDREQ_6_MASK (0x40U) 3847 #define DMA_EARS_EDREQ_6_SHIFT (6U) 3848 /*! EDREQ_6 - Enable asynchronous DMA request in stop mode for channel 6 3849 * 0b0..Disable asynchronous DMA request for channel 6. 3850 * 0b1..Enable asynchronous DMA request for channel 6. 3851 */ 3852 #define DMA_EARS_EDREQ_6(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_6_SHIFT)) & DMA_EARS_EDREQ_6_MASK) 3853 #define DMA_EARS_EDREQ_7_MASK (0x80U) 3854 #define DMA_EARS_EDREQ_7_SHIFT (7U) 3855 /*! EDREQ_7 - Enable asynchronous DMA request in stop mode for channel 7 3856 * 0b0..Disable asynchronous DMA request for channel 7. 3857 * 0b1..Enable asynchronous DMA request for channel 7. 3858 */ 3859 #define DMA_EARS_EDREQ_7(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_7_SHIFT)) & DMA_EARS_EDREQ_7_MASK) 3860 #define DMA_EARS_EDREQ_8_MASK (0x100U) 3861 #define DMA_EARS_EDREQ_8_SHIFT (8U) 3862 /*! EDREQ_8 - Enable asynchronous DMA request in stop mode for channel 8 3863 * 0b0..Disable asynchronous DMA request for channel 8. 3864 * 0b1..Enable asynchronous DMA request for channel 8. 3865 */ 3866 #define DMA_EARS_EDREQ_8(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_8_SHIFT)) & DMA_EARS_EDREQ_8_MASK) 3867 #define DMA_EARS_EDREQ_9_MASK (0x200U) 3868 #define DMA_EARS_EDREQ_9_SHIFT (9U) 3869 /*! EDREQ_9 - Enable asynchronous DMA request in stop mode for channel 9 3870 * 0b0..Disable asynchronous DMA request for channel 9. 3871 * 0b1..Enable asynchronous DMA request for channel 9. 3872 */ 3873 #define DMA_EARS_EDREQ_9(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_9_SHIFT)) & DMA_EARS_EDREQ_9_MASK) 3874 #define DMA_EARS_EDREQ_10_MASK (0x400U) 3875 #define DMA_EARS_EDREQ_10_SHIFT (10U) 3876 /*! EDREQ_10 - Enable asynchronous DMA request in stop mode for channel 10 3877 * 0b0..Disable asynchronous DMA request for channel 10. 3878 * 0b1..Enable asynchronous DMA request for channel 10. 3879 */ 3880 #define DMA_EARS_EDREQ_10(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_10_SHIFT)) & DMA_EARS_EDREQ_10_MASK) 3881 #define DMA_EARS_EDREQ_11_MASK (0x800U) 3882 #define DMA_EARS_EDREQ_11_SHIFT (11U) 3883 /*! EDREQ_11 - Enable asynchronous DMA request in stop mode for channel 11 3884 * 0b0..Disable asynchronous DMA request for channel 11. 3885 * 0b1..Enable asynchronous DMA request for channel 11. 3886 */ 3887 #define DMA_EARS_EDREQ_11(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_11_SHIFT)) & DMA_EARS_EDREQ_11_MASK) 3888 #define DMA_EARS_EDREQ_12_MASK (0x1000U) 3889 #define DMA_EARS_EDREQ_12_SHIFT (12U) 3890 /*! EDREQ_12 - Enable asynchronous DMA request in stop mode for channel 12 3891 * 0b0..Disable asynchronous DMA request for channel 12. 3892 * 0b1..Enable asynchronous DMA request for channel 12. 3893 */ 3894 #define DMA_EARS_EDREQ_12(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_12_SHIFT)) & DMA_EARS_EDREQ_12_MASK) 3895 #define DMA_EARS_EDREQ_13_MASK (0x2000U) 3896 #define DMA_EARS_EDREQ_13_SHIFT (13U) 3897 /*! EDREQ_13 - Enable asynchronous DMA request in stop mode for channel 13 3898 * 0b0..Disable asynchronous DMA request for channel 13. 3899 * 0b1..Enable asynchronous DMA request for channel 13. 3900 */ 3901 #define DMA_EARS_EDREQ_13(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_13_SHIFT)) & DMA_EARS_EDREQ_13_MASK) 3902 #define DMA_EARS_EDREQ_14_MASK (0x4000U) 3903 #define DMA_EARS_EDREQ_14_SHIFT (14U) 3904 /*! EDREQ_14 - Enable asynchronous DMA request in stop mode for channel 14 3905 * 0b0..Disable asynchronous DMA request for channel 14. 3906 * 0b1..Enable asynchronous DMA request for channel 14. 3907 */ 3908 #define DMA_EARS_EDREQ_14(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_14_SHIFT)) & DMA_EARS_EDREQ_14_MASK) 3909 #define DMA_EARS_EDREQ_15_MASK (0x8000U) 3910 #define DMA_EARS_EDREQ_15_SHIFT (15U) 3911 /*! EDREQ_15 - Enable asynchronous DMA request in stop mode for channel 15 3912 * 0b0..Disable asynchronous DMA request for channel 15. 3913 * 0b1..Enable asynchronous DMA request for channel 15. 3914 */ 3915 #define DMA_EARS_EDREQ_15(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_15_SHIFT)) & DMA_EARS_EDREQ_15_MASK) 3916 /*! @} */ 3917 3918 /*! @name DCHPRI3 - Channel Priority Register */ 3919 /*! @{ */ 3920 #define DMA_DCHPRI3_CHPRI_MASK (0xFU) 3921 #define DMA_DCHPRI3_CHPRI_SHIFT (0U) 3922 #define DMA_DCHPRI3_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_CHPRI_SHIFT)) & DMA_DCHPRI3_CHPRI_MASK) 3923 #define DMA_DCHPRI3_DPA_MASK (0x40U) 3924 #define DMA_DCHPRI3_DPA_SHIFT (6U) 3925 /*! DPA - Disable Preempt Ability. This field resets to 0. 3926 * 0b0..Channel n can suspend a lower priority channel. 3927 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 3928 */ 3929 #define DMA_DCHPRI3_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_DPA_SHIFT)) & DMA_DCHPRI3_DPA_MASK) 3930 #define DMA_DCHPRI3_ECP_MASK (0x80U) 3931 #define DMA_DCHPRI3_ECP_SHIFT (7U) 3932 /*! ECP - Enable Channel Preemption. This field resets to 0. 3933 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 3934 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 3935 */ 3936 #define DMA_DCHPRI3_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_ECP_SHIFT)) & DMA_DCHPRI3_ECP_MASK) 3937 /*! @} */ 3938 3939 /*! @name DCHPRI2 - Channel Priority Register */ 3940 /*! @{ */ 3941 #define DMA_DCHPRI2_CHPRI_MASK (0xFU) 3942 #define DMA_DCHPRI2_CHPRI_SHIFT (0U) 3943 #define DMA_DCHPRI2_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_CHPRI_SHIFT)) & DMA_DCHPRI2_CHPRI_MASK) 3944 #define DMA_DCHPRI2_DPA_MASK (0x40U) 3945 #define DMA_DCHPRI2_DPA_SHIFT (6U) 3946 /*! DPA - Disable Preempt Ability. This field resets to 0. 3947 * 0b0..Channel n can suspend a lower priority channel. 3948 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 3949 */ 3950 #define DMA_DCHPRI2_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_DPA_SHIFT)) & DMA_DCHPRI2_DPA_MASK) 3951 #define DMA_DCHPRI2_ECP_MASK (0x80U) 3952 #define DMA_DCHPRI2_ECP_SHIFT (7U) 3953 /*! ECP - Enable Channel Preemption. This field resets to 0. 3954 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 3955 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 3956 */ 3957 #define DMA_DCHPRI2_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_ECP_SHIFT)) & DMA_DCHPRI2_ECP_MASK) 3958 /*! @} */ 3959 3960 /*! @name DCHPRI1 - Channel Priority Register */ 3961 /*! @{ */ 3962 #define DMA_DCHPRI1_CHPRI_MASK (0xFU) 3963 #define DMA_DCHPRI1_CHPRI_SHIFT (0U) 3964 #define DMA_DCHPRI1_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_CHPRI_SHIFT)) & DMA_DCHPRI1_CHPRI_MASK) 3965 #define DMA_DCHPRI1_DPA_MASK (0x40U) 3966 #define DMA_DCHPRI1_DPA_SHIFT (6U) 3967 /*! DPA - Disable Preempt Ability. This field resets to 0. 3968 * 0b0..Channel n can suspend a lower priority channel. 3969 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 3970 */ 3971 #define DMA_DCHPRI1_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_DPA_SHIFT)) & DMA_DCHPRI1_DPA_MASK) 3972 #define DMA_DCHPRI1_ECP_MASK (0x80U) 3973 #define DMA_DCHPRI1_ECP_SHIFT (7U) 3974 /*! ECP - Enable Channel Preemption. This field resets to 0. 3975 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 3976 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 3977 */ 3978 #define DMA_DCHPRI1_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_ECP_SHIFT)) & DMA_DCHPRI1_ECP_MASK) 3979 /*! @} */ 3980 3981 /*! @name DCHPRI0 - Channel Priority Register */ 3982 /*! @{ */ 3983 #define DMA_DCHPRI0_CHPRI_MASK (0xFU) 3984 #define DMA_DCHPRI0_CHPRI_SHIFT (0U) 3985 #define DMA_DCHPRI0_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_CHPRI_SHIFT)) & DMA_DCHPRI0_CHPRI_MASK) 3986 #define DMA_DCHPRI0_DPA_MASK (0x40U) 3987 #define DMA_DCHPRI0_DPA_SHIFT (6U) 3988 /*! DPA - Disable Preempt Ability. This field resets to 0. 3989 * 0b0..Channel n can suspend a lower priority channel. 3990 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 3991 */ 3992 #define DMA_DCHPRI0_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_DPA_SHIFT)) & DMA_DCHPRI0_DPA_MASK) 3993 #define DMA_DCHPRI0_ECP_MASK (0x80U) 3994 #define DMA_DCHPRI0_ECP_SHIFT (7U) 3995 /*! ECP - Enable Channel Preemption. This field resets to 0. 3996 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 3997 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 3998 */ 3999 #define DMA_DCHPRI0_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_ECP_SHIFT)) & DMA_DCHPRI0_ECP_MASK) 4000 /*! @} */ 4001 4002 /*! @name DCHPRI7 - Channel Priority Register */ 4003 /*! @{ */ 4004 #define DMA_DCHPRI7_CHPRI_MASK (0xFU) 4005 #define DMA_DCHPRI7_CHPRI_SHIFT (0U) 4006 #define DMA_DCHPRI7_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_CHPRI_SHIFT)) & DMA_DCHPRI7_CHPRI_MASK) 4007 #define DMA_DCHPRI7_DPA_MASK (0x40U) 4008 #define DMA_DCHPRI7_DPA_SHIFT (6U) 4009 /*! DPA - Disable Preempt Ability. This field resets to 0. 4010 * 0b0..Channel n can suspend a lower priority channel. 4011 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 4012 */ 4013 #define DMA_DCHPRI7_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_DPA_SHIFT)) & DMA_DCHPRI7_DPA_MASK) 4014 #define DMA_DCHPRI7_ECP_MASK (0x80U) 4015 #define DMA_DCHPRI7_ECP_SHIFT (7U) 4016 /*! ECP - Enable Channel Preemption. This field resets to 0. 4017 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 4018 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 4019 */ 4020 #define DMA_DCHPRI7_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_ECP_SHIFT)) & DMA_DCHPRI7_ECP_MASK) 4021 /*! @} */ 4022 4023 /*! @name DCHPRI6 - Channel Priority Register */ 4024 /*! @{ */ 4025 #define DMA_DCHPRI6_CHPRI_MASK (0xFU) 4026 #define DMA_DCHPRI6_CHPRI_SHIFT (0U) 4027 #define DMA_DCHPRI6_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_CHPRI_SHIFT)) & DMA_DCHPRI6_CHPRI_MASK) 4028 #define DMA_DCHPRI6_DPA_MASK (0x40U) 4029 #define DMA_DCHPRI6_DPA_SHIFT (6U) 4030 /*! DPA - Disable Preempt Ability. This field resets to 0. 4031 * 0b0..Channel n can suspend a lower priority channel. 4032 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 4033 */ 4034 #define DMA_DCHPRI6_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_DPA_SHIFT)) & DMA_DCHPRI6_DPA_MASK) 4035 #define DMA_DCHPRI6_ECP_MASK (0x80U) 4036 #define DMA_DCHPRI6_ECP_SHIFT (7U) 4037 /*! ECP - Enable Channel Preemption. This field resets to 0. 4038 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 4039 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 4040 */ 4041 #define DMA_DCHPRI6_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_ECP_SHIFT)) & DMA_DCHPRI6_ECP_MASK) 4042 /*! @} */ 4043 4044 /*! @name DCHPRI5 - Channel Priority Register */ 4045 /*! @{ */ 4046 #define DMA_DCHPRI5_CHPRI_MASK (0xFU) 4047 #define DMA_DCHPRI5_CHPRI_SHIFT (0U) 4048 #define DMA_DCHPRI5_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_CHPRI_SHIFT)) & DMA_DCHPRI5_CHPRI_MASK) 4049 #define DMA_DCHPRI5_DPA_MASK (0x40U) 4050 #define DMA_DCHPRI5_DPA_SHIFT (6U) 4051 /*! DPA - Disable Preempt Ability. This field resets to 0. 4052 * 0b0..Channel n can suspend a lower priority channel. 4053 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 4054 */ 4055 #define DMA_DCHPRI5_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_DPA_SHIFT)) & DMA_DCHPRI5_DPA_MASK) 4056 #define DMA_DCHPRI5_ECP_MASK (0x80U) 4057 #define DMA_DCHPRI5_ECP_SHIFT (7U) 4058 /*! ECP - Enable Channel Preemption. This field resets to 0. 4059 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 4060 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 4061 */ 4062 #define DMA_DCHPRI5_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_ECP_SHIFT)) & DMA_DCHPRI5_ECP_MASK) 4063 /*! @} */ 4064 4065 /*! @name DCHPRI4 - Channel Priority Register */ 4066 /*! @{ */ 4067 #define DMA_DCHPRI4_CHPRI_MASK (0xFU) 4068 #define DMA_DCHPRI4_CHPRI_SHIFT (0U) 4069 #define DMA_DCHPRI4_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_CHPRI_SHIFT)) & DMA_DCHPRI4_CHPRI_MASK) 4070 #define DMA_DCHPRI4_DPA_MASK (0x40U) 4071 #define DMA_DCHPRI4_DPA_SHIFT (6U) 4072 /*! DPA - Disable Preempt Ability. This field resets to 0. 4073 * 0b0..Channel n can suspend a lower priority channel. 4074 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 4075 */ 4076 #define DMA_DCHPRI4_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_DPA_SHIFT)) & DMA_DCHPRI4_DPA_MASK) 4077 #define DMA_DCHPRI4_ECP_MASK (0x80U) 4078 #define DMA_DCHPRI4_ECP_SHIFT (7U) 4079 /*! ECP - Enable Channel Preemption. This field resets to 0. 4080 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 4081 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 4082 */ 4083 #define DMA_DCHPRI4_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_ECP_SHIFT)) & DMA_DCHPRI4_ECP_MASK) 4084 /*! @} */ 4085 4086 /*! @name DCHPRI11 - Channel Priority Register */ 4087 /*! @{ */ 4088 #define DMA_DCHPRI11_CHPRI_MASK (0xFU) 4089 #define DMA_DCHPRI11_CHPRI_SHIFT (0U) 4090 #define DMA_DCHPRI11_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_CHPRI_SHIFT)) & DMA_DCHPRI11_CHPRI_MASK) 4091 #define DMA_DCHPRI11_DPA_MASK (0x40U) 4092 #define DMA_DCHPRI11_DPA_SHIFT (6U) 4093 /*! DPA - Disable Preempt Ability. This field resets to 0. 4094 * 0b0..Channel n can suspend a lower priority channel. 4095 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 4096 */ 4097 #define DMA_DCHPRI11_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_DPA_SHIFT)) & DMA_DCHPRI11_DPA_MASK) 4098 #define DMA_DCHPRI11_ECP_MASK (0x80U) 4099 #define DMA_DCHPRI11_ECP_SHIFT (7U) 4100 /*! ECP - Enable Channel Preemption. This field resets to 0. 4101 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 4102 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 4103 */ 4104 #define DMA_DCHPRI11_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_ECP_SHIFT)) & DMA_DCHPRI11_ECP_MASK) 4105 /*! @} */ 4106 4107 /*! @name DCHPRI10 - Channel Priority Register */ 4108 /*! @{ */ 4109 #define DMA_DCHPRI10_CHPRI_MASK (0xFU) 4110 #define DMA_DCHPRI10_CHPRI_SHIFT (0U) 4111 #define DMA_DCHPRI10_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_CHPRI_SHIFT)) & DMA_DCHPRI10_CHPRI_MASK) 4112 #define DMA_DCHPRI10_DPA_MASK (0x40U) 4113 #define DMA_DCHPRI10_DPA_SHIFT (6U) 4114 /*! DPA - Disable Preempt Ability. This field resets to 0. 4115 * 0b0..Channel n can suspend a lower priority channel. 4116 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 4117 */ 4118 #define DMA_DCHPRI10_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_DPA_SHIFT)) & DMA_DCHPRI10_DPA_MASK) 4119 #define DMA_DCHPRI10_ECP_MASK (0x80U) 4120 #define DMA_DCHPRI10_ECP_SHIFT (7U) 4121 /*! ECP - Enable Channel Preemption. This field resets to 0. 4122 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 4123 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 4124 */ 4125 #define DMA_DCHPRI10_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_ECP_SHIFT)) & DMA_DCHPRI10_ECP_MASK) 4126 /*! @} */ 4127 4128 /*! @name DCHPRI9 - Channel Priority Register */ 4129 /*! @{ */ 4130 #define DMA_DCHPRI9_CHPRI_MASK (0xFU) 4131 #define DMA_DCHPRI9_CHPRI_SHIFT (0U) 4132 #define DMA_DCHPRI9_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_CHPRI_SHIFT)) & DMA_DCHPRI9_CHPRI_MASK) 4133 #define DMA_DCHPRI9_DPA_MASK (0x40U) 4134 #define DMA_DCHPRI9_DPA_SHIFT (6U) 4135 /*! DPA - Disable Preempt Ability. This field resets to 0. 4136 * 0b0..Channel n can suspend a lower priority channel. 4137 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 4138 */ 4139 #define DMA_DCHPRI9_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_DPA_SHIFT)) & DMA_DCHPRI9_DPA_MASK) 4140 #define DMA_DCHPRI9_ECP_MASK (0x80U) 4141 #define DMA_DCHPRI9_ECP_SHIFT (7U) 4142 /*! ECP - Enable Channel Preemption. This field resets to 0. 4143 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 4144 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 4145 */ 4146 #define DMA_DCHPRI9_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_ECP_SHIFT)) & DMA_DCHPRI9_ECP_MASK) 4147 /*! @} */ 4148 4149 /*! @name DCHPRI8 - Channel Priority Register */ 4150 /*! @{ */ 4151 #define DMA_DCHPRI8_CHPRI_MASK (0xFU) 4152 #define DMA_DCHPRI8_CHPRI_SHIFT (0U) 4153 #define DMA_DCHPRI8_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_CHPRI_SHIFT)) & DMA_DCHPRI8_CHPRI_MASK) 4154 #define DMA_DCHPRI8_DPA_MASK (0x40U) 4155 #define DMA_DCHPRI8_DPA_SHIFT (6U) 4156 /*! DPA - Disable Preempt Ability. This field resets to 0. 4157 * 0b0..Channel n can suspend a lower priority channel. 4158 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 4159 */ 4160 #define DMA_DCHPRI8_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_DPA_SHIFT)) & DMA_DCHPRI8_DPA_MASK) 4161 #define DMA_DCHPRI8_ECP_MASK (0x80U) 4162 #define DMA_DCHPRI8_ECP_SHIFT (7U) 4163 /*! ECP - Enable Channel Preemption. This field resets to 0. 4164 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 4165 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 4166 */ 4167 #define DMA_DCHPRI8_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_ECP_SHIFT)) & DMA_DCHPRI8_ECP_MASK) 4168 /*! @} */ 4169 4170 /*! @name DCHPRI15 - Channel Priority Register */ 4171 /*! @{ */ 4172 #define DMA_DCHPRI15_CHPRI_MASK (0xFU) 4173 #define DMA_DCHPRI15_CHPRI_SHIFT (0U) 4174 #define DMA_DCHPRI15_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_CHPRI_SHIFT)) & DMA_DCHPRI15_CHPRI_MASK) 4175 #define DMA_DCHPRI15_DPA_MASK (0x40U) 4176 #define DMA_DCHPRI15_DPA_SHIFT (6U) 4177 /*! DPA - Disable Preempt Ability. This field resets to 0. 4178 * 0b0..Channel n can suspend a lower priority channel. 4179 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 4180 */ 4181 #define DMA_DCHPRI15_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_DPA_SHIFT)) & DMA_DCHPRI15_DPA_MASK) 4182 #define DMA_DCHPRI15_ECP_MASK (0x80U) 4183 #define DMA_DCHPRI15_ECP_SHIFT (7U) 4184 /*! ECP - Enable Channel Preemption. This field resets to 0. 4185 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 4186 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 4187 */ 4188 #define DMA_DCHPRI15_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_ECP_SHIFT)) & DMA_DCHPRI15_ECP_MASK) 4189 /*! @} */ 4190 4191 /*! @name DCHPRI14 - Channel Priority Register */ 4192 /*! @{ */ 4193 #define DMA_DCHPRI14_CHPRI_MASK (0xFU) 4194 #define DMA_DCHPRI14_CHPRI_SHIFT (0U) 4195 #define DMA_DCHPRI14_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_CHPRI_SHIFT)) & DMA_DCHPRI14_CHPRI_MASK) 4196 #define DMA_DCHPRI14_DPA_MASK (0x40U) 4197 #define DMA_DCHPRI14_DPA_SHIFT (6U) 4198 /*! DPA - Disable Preempt Ability. This field resets to 0. 4199 * 0b0..Channel n can suspend a lower priority channel. 4200 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 4201 */ 4202 #define DMA_DCHPRI14_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_DPA_SHIFT)) & DMA_DCHPRI14_DPA_MASK) 4203 #define DMA_DCHPRI14_ECP_MASK (0x80U) 4204 #define DMA_DCHPRI14_ECP_SHIFT (7U) 4205 /*! ECP - Enable Channel Preemption. This field resets to 0. 4206 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 4207 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 4208 */ 4209 #define DMA_DCHPRI14_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_ECP_SHIFT)) & DMA_DCHPRI14_ECP_MASK) 4210 /*! @} */ 4211 4212 /*! @name DCHPRI13 - Channel Priority Register */ 4213 /*! @{ */ 4214 #define DMA_DCHPRI13_CHPRI_MASK (0xFU) 4215 #define DMA_DCHPRI13_CHPRI_SHIFT (0U) 4216 #define DMA_DCHPRI13_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_CHPRI_SHIFT)) & DMA_DCHPRI13_CHPRI_MASK) 4217 #define DMA_DCHPRI13_DPA_MASK (0x40U) 4218 #define DMA_DCHPRI13_DPA_SHIFT (6U) 4219 /*! DPA - Disable Preempt Ability. This field resets to 0. 4220 * 0b0..Channel n can suspend a lower priority channel. 4221 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 4222 */ 4223 #define DMA_DCHPRI13_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_DPA_SHIFT)) & DMA_DCHPRI13_DPA_MASK) 4224 #define DMA_DCHPRI13_ECP_MASK (0x80U) 4225 #define DMA_DCHPRI13_ECP_SHIFT (7U) 4226 /*! ECP - Enable Channel Preemption. This field resets to 0. 4227 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 4228 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 4229 */ 4230 #define DMA_DCHPRI13_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_ECP_SHIFT)) & DMA_DCHPRI13_ECP_MASK) 4231 /*! @} */ 4232 4233 /*! @name DCHPRI12 - Channel Priority Register */ 4234 /*! @{ */ 4235 #define DMA_DCHPRI12_CHPRI_MASK (0xFU) 4236 #define DMA_DCHPRI12_CHPRI_SHIFT (0U) 4237 #define DMA_DCHPRI12_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_CHPRI_SHIFT)) & DMA_DCHPRI12_CHPRI_MASK) 4238 #define DMA_DCHPRI12_DPA_MASK (0x40U) 4239 #define DMA_DCHPRI12_DPA_SHIFT (6U) 4240 /*! DPA - Disable Preempt Ability. This field resets to 0. 4241 * 0b0..Channel n can suspend a lower priority channel. 4242 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 4243 */ 4244 #define DMA_DCHPRI12_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_DPA_SHIFT)) & DMA_DCHPRI12_DPA_MASK) 4245 #define DMA_DCHPRI12_ECP_MASK (0x80U) 4246 #define DMA_DCHPRI12_ECP_SHIFT (7U) 4247 /*! ECP - Enable Channel Preemption. This field resets to 0. 4248 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 4249 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 4250 */ 4251 #define DMA_DCHPRI12_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_ECP_SHIFT)) & DMA_DCHPRI12_ECP_MASK) 4252 /*! @} */ 4253 4254 /*! @name SADDR - TCD Source Address */ 4255 /*! @{ */ 4256 #define DMA_SADDR_SADDR_MASK (0xFFFFFFFFU) 4257 #define DMA_SADDR_SADDR_SHIFT (0U) 4258 #define DMA_SADDR_SADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA_SADDR_SADDR_SHIFT)) & DMA_SADDR_SADDR_MASK) 4259 /*! @} */ 4260 4261 /* The count of DMA_SADDR */ 4262 #define DMA_SADDR_COUNT (16U) 4263 4264 /*! @name SOFF - TCD Signed Source Address Offset */ 4265 /*! @{ */ 4266 #define DMA_SOFF_SOFF_MASK (0xFFFFU) 4267 #define DMA_SOFF_SOFF_SHIFT (0U) 4268 #define DMA_SOFF_SOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA_SOFF_SOFF_SHIFT)) & DMA_SOFF_SOFF_MASK) 4269 /*! @} */ 4270 4271 /* The count of DMA_SOFF */ 4272 #define DMA_SOFF_COUNT (16U) 4273 4274 /*! @name ATTR - TCD Transfer Attributes */ 4275 /*! @{ */ 4276 #define DMA_ATTR_DSIZE_MASK (0x7U) 4277 #define DMA_ATTR_DSIZE_SHIFT (0U) 4278 #define DMA_ATTR_DSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_DSIZE_SHIFT)) & DMA_ATTR_DSIZE_MASK) 4279 #define DMA_ATTR_DMOD_MASK (0xF8U) 4280 #define DMA_ATTR_DMOD_SHIFT (3U) 4281 #define DMA_ATTR_DMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_DMOD_SHIFT)) & DMA_ATTR_DMOD_MASK) 4282 #define DMA_ATTR_SSIZE_MASK (0x700U) 4283 #define DMA_ATTR_SSIZE_SHIFT (8U) 4284 /*! SSIZE - Source data transfer size 4285 * 0b000..8-bit 4286 * 0b001..16-bit 4287 * 0b010..32-bit 4288 * 0b011..Reserved 4289 * 0b100..16-byte burst 4290 * 0b101..32-byte burst 4291 * 0b110..Reserved 4292 * 0b111..Reserved 4293 */ 4294 #define DMA_ATTR_SSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_SSIZE_SHIFT)) & DMA_ATTR_SSIZE_MASK) 4295 #define DMA_ATTR_SMOD_MASK (0xF800U) 4296 #define DMA_ATTR_SMOD_SHIFT (11U) 4297 /*! SMOD - Source Address Modulo 4298 * 0b00000..Source address modulo feature is disabled 4299 * 0b00001-0b11111..This value defines a specific address range specified to be the value after SADDR + SOFF calculation is performed on the original register value. Setting this field provides the ability to implement a circular data queue easily. For data queues requiring power-of-2 size bytes, the queue should start at a 0-modulo-size address and the SMOD field should be set to the appropriate value for the queue, freezing the desired number of upper address bits. The value programmed into this field specifies the number of lower address bits allowed to change. For a circular queue application, the SOFF is typically set to the transfer size to implement post-increment addressing with the SMOD function constraining the addresses to a 0-modulo-size range. 4300 */ 4301 #define DMA_ATTR_SMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_SMOD_SHIFT)) & DMA_ATTR_SMOD_MASK) 4302 /*! @} */ 4303 4304 /* The count of DMA_ATTR */ 4305 #define DMA_ATTR_COUNT (16U) 4306 4307 /*! @name NBYTES_MLNO - TCD Minor Byte Count (Minor Loop Mapping Disabled) */ 4308 /*! @{ */ 4309 #define DMA_NBYTES_MLNO_NBYTES_MASK (0xFFFFFFFFU) 4310 #define DMA_NBYTES_MLNO_NBYTES_SHIFT (0U) 4311 #define DMA_NBYTES_MLNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLNO_NBYTES_SHIFT)) & DMA_NBYTES_MLNO_NBYTES_MASK) 4312 /*! @} */ 4313 4314 /* The count of DMA_NBYTES_MLNO */ 4315 #define DMA_NBYTES_MLNO_COUNT (16U) 4316 4317 /*! @name NBYTES_MLOFFNO - TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled) */ 4318 /*! @{ */ 4319 #define DMA_NBYTES_MLOFFNO_NBYTES_MASK (0x3FFFFFFFU) 4320 #define DMA_NBYTES_MLOFFNO_NBYTES_SHIFT (0U) 4321 #define DMA_NBYTES_MLOFFNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_NBYTES_SHIFT)) & DMA_NBYTES_MLOFFNO_NBYTES_MASK) 4322 #define DMA_NBYTES_MLOFFNO_DMLOE_MASK (0x40000000U) 4323 #define DMA_NBYTES_MLOFFNO_DMLOE_SHIFT (30U) 4324 /*! DMLOE - Destination Minor Loop Offset enable 4325 * 0b0..The minor loop offset is not applied to the DADDR 4326 * 0b1..The minor loop offset is applied to the DADDR 4327 */ 4328 #define DMA_NBYTES_MLOFFNO_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_DMLOE_SHIFT)) & DMA_NBYTES_MLOFFNO_DMLOE_MASK) 4329 #define DMA_NBYTES_MLOFFNO_SMLOE_MASK (0x80000000U) 4330 #define DMA_NBYTES_MLOFFNO_SMLOE_SHIFT (31U) 4331 /*! SMLOE - Source Minor Loop Offset Enable 4332 * 0b0..The minor loop offset is not applied to the SADDR 4333 * 0b1..The minor loop offset is applied to the SADDR 4334 */ 4335 #define DMA_NBYTES_MLOFFNO_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_SMLOE_SHIFT)) & DMA_NBYTES_MLOFFNO_SMLOE_MASK) 4336 /*! @} */ 4337 4338 /* The count of DMA_NBYTES_MLOFFNO */ 4339 #define DMA_NBYTES_MLOFFNO_COUNT (16U) 4340 4341 /*! @name NBYTES_MLOFFYES - TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled) */ 4342 /*! @{ */ 4343 #define DMA_NBYTES_MLOFFYES_NBYTES_MASK (0x3FFU) 4344 #define DMA_NBYTES_MLOFFYES_NBYTES_SHIFT (0U) 4345 #define DMA_NBYTES_MLOFFYES_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_NBYTES_SHIFT)) & DMA_NBYTES_MLOFFYES_NBYTES_MASK) 4346 #define DMA_NBYTES_MLOFFYES_MLOFF_MASK (0x3FFFFC00U) 4347 #define DMA_NBYTES_MLOFFYES_MLOFF_SHIFT (10U) 4348 #define DMA_NBYTES_MLOFFYES_MLOFF(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_MLOFF_SHIFT)) & DMA_NBYTES_MLOFFYES_MLOFF_MASK) 4349 #define DMA_NBYTES_MLOFFYES_DMLOE_MASK (0x40000000U) 4350 #define DMA_NBYTES_MLOFFYES_DMLOE_SHIFT (30U) 4351 /*! DMLOE - Destination Minor Loop Offset enable 4352 * 0b0..The minor loop offset is not applied to the DADDR 4353 * 0b1..The minor loop offset is applied to the DADDR 4354 */ 4355 #define DMA_NBYTES_MLOFFYES_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_DMLOE_SHIFT)) & DMA_NBYTES_MLOFFYES_DMLOE_MASK) 4356 #define DMA_NBYTES_MLOFFYES_SMLOE_MASK (0x80000000U) 4357 #define DMA_NBYTES_MLOFFYES_SMLOE_SHIFT (31U) 4358 /*! SMLOE - Source Minor Loop Offset Enable 4359 * 0b0..The minor loop offset is not applied to the SADDR 4360 * 0b1..The minor loop offset is applied to the SADDR 4361 */ 4362 #define DMA_NBYTES_MLOFFYES_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_SMLOE_SHIFT)) & DMA_NBYTES_MLOFFYES_SMLOE_MASK) 4363 /*! @} */ 4364 4365 /* The count of DMA_NBYTES_MLOFFYES */ 4366 #define DMA_NBYTES_MLOFFYES_COUNT (16U) 4367 4368 /*! @name SLAST - TCD Last Source Address Adjustment */ 4369 /*! @{ */ 4370 #define DMA_SLAST_SLAST_MASK (0xFFFFFFFFU) 4371 #define DMA_SLAST_SLAST_SHIFT (0U) 4372 #define DMA_SLAST_SLAST(x) (((uint32_t)(((uint32_t)(x)) << DMA_SLAST_SLAST_SHIFT)) & DMA_SLAST_SLAST_MASK) 4373 /*! @} */ 4374 4375 /* The count of DMA_SLAST */ 4376 #define DMA_SLAST_COUNT (16U) 4377 4378 /*! @name DADDR - TCD Destination Address */ 4379 /*! @{ */ 4380 #define DMA_DADDR_DADDR_MASK (0xFFFFFFFFU) 4381 #define DMA_DADDR_DADDR_SHIFT (0U) 4382 #define DMA_DADDR_DADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA_DADDR_DADDR_SHIFT)) & DMA_DADDR_DADDR_MASK) 4383 /*! @} */ 4384 4385 /* The count of DMA_DADDR */ 4386 #define DMA_DADDR_COUNT (16U) 4387 4388 /*! @name DOFF - TCD Signed Destination Address Offset */ 4389 /*! @{ */ 4390 #define DMA_DOFF_DOFF_MASK (0xFFFFU) 4391 #define DMA_DOFF_DOFF_SHIFT (0U) 4392 #define DMA_DOFF_DOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA_DOFF_DOFF_SHIFT)) & DMA_DOFF_DOFF_MASK) 4393 /*! @} */ 4394 4395 /* The count of DMA_DOFF */ 4396 #define DMA_DOFF_COUNT (16U) 4397 4398 /*! @name CITER_ELINKNO - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled) */ 4399 /*! @{ */ 4400 #define DMA_CITER_ELINKNO_CITER_MASK (0x7FFFU) 4401 #define DMA_CITER_ELINKNO_CITER_SHIFT (0U) 4402 #define DMA_CITER_ELINKNO_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKNO_CITER_SHIFT)) & DMA_CITER_ELINKNO_CITER_MASK) 4403 #define DMA_CITER_ELINKNO_ELINK_MASK (0x8000U) 4404 #define DMA_CITER_ELINKNO_ELINK_SHIFT (15U) 4405 /*! ELINK - Enable channel-to-channel linking on minor-loop complete 4406 * 0b0..The channel-to-channel linking is disabled 4407 * 0b1..The channel-to-channel linking is enabled 4408 */ 4409 #define DMA_CITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKNO_ELINK_SHIFT)) & DMA_CITER_ELINKNO_ELINK_MASK) 4410 /*! @} */ 4411 4412 /* The count of DMA_CITER_ELINKNO */ 4413 #define DMA_CITER_ELINKNO_COUNT (16U) 4414 4415 /*! @name CITER_ELINKYES - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled) */ 4416 /*! @{ */ 4417 #define DMA_CITER_ELINKYES_CITER_MASK (0x1FFU) 4418 #define DMA_CITER_ELINKYES_CITER_SHIFT (0U) 4419 #define DMA_CITER_ELINKYES_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_CITER_SHIFT)) & DMA_CITER_ELINKYES_CITER_MASK) 4420 #define DMA_CITER_ELINKYES_LINKCH_MASK (0x1E00U) 4421 #define DMA_CITER_ELINKYES_LINKCH_SHIFT (9U) 4422 #define DMA_CITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_LINKCH_SHIFT)) & DMA_CITER_ELINKYES_LINKCH_MASK) 4423 #define DMA_CITER_ELINKYES_ELINK_MASK (0x8000U) 4424 #define DMA_CITER_ELINKYES_ELINK_SHIFT (15U) 4425 /*! ELINK - Enable channel-to-channel linking on minor-loop complete 4426 * 0b0..The channel-to-channel linking is disabled 4427 * 0b1..The channel-to-channel linking is enabled 4428 */ 4429 #define DMA_CITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_ELINK_SHIFT)) & DMA_CITER_ELINKYES_ELINK_MASK) 4430 /*! @} */ 4431 4432 /* The count of DMA_CITER_ELINKYES */ 4433 #define DMA_CITER_ELINKYES_COUNT (16U) 4434 4435 /*! @name DLAST_SGA - TCD Last Destination Address Adjustment/Scatter Gather Address */ 4436 /*! @{ */ 4437 #define DMA_DLAST_SGA_DLASTSGA_MASK (0xFFFFFFFFU) 4438 #define DMA_DLAST_SGA_DLASTSGA_SHIFT (0U) 4439 #define DMA_DLAST_SGA_DLASTSGA(x) (((uint32_t)(((uint32_t)(x)) << DMA_DLAST_SGA_DLASTSGA_SHIFT)) & DMA_DLAST_SGA_DLASTSGA_MASK) 4440 /*! @} */ 4441 4442 /* The count of DMA_DLAST_SGA */ 4443 #define DMA_DLAST_SGA_COUNT (16U) 4444 4445 /*! @name CSR - TCD Control and Status */ 4446 /*! @{ */ 4447 #define DMA_CSR_START_MASK (0x1U) 4448 #define DMA_CSR_START_SHIFT (0U) 4449 /*! START - Channel Start 4450 * 0b0..The channel is not explicitly started. 4451 * 0b1..The channel is explicitly started via a software initiated service request. 4452 */ 4453 #define DMA_CSR_START(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_START_SHIFT)) & DMA_CSR_START_MASK) 4454 #define DMA_CSR_INTMAJOR_MASK (0x2U) 4455 #define DMA_CSR_INTMAJOR_SHIFT (1U) 4456 /*! INTMAJOR - Enable an interrupt when major iteration count completes. 4457 * 0b0..The end-of-major loop interrupt is disabled. 4458 * 0b1..The end-of-major loop interrupt is enabled. 4459 */ 4460 #define DMA_CSR_INTMAJOR(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_INTMAJOR_SHIFT)) & DMA_CSR_INTMAJOR_MASK) 4461 #define DMA_CSR_INTHALF_MASK (0x4U) 4462 #define DMA_CSR_INTHALF_SHIFT (2U) 4463 /*! INTHALF - Enable an interrupt when major counter is half complete. 4464 * 0b0..The half-point interrupt is disabled. 4465 * 0b1..The half-point interrupt is enabled. 4466 */ 4467 #define DMA_CSR_INTHALF(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_INTHALF_SHIFT)) & DMA_CSR_INTHALF_MASK) 4468 #define DMA_CSR_DREQ_MASK (0x8U) 4469 #define DMA_CSR_DREQ_SHIFT (3U) 4470 /*! DREQ - Disable Request 4471 * 0b0..The channel's ERQ bit is not affected. 4472 * 0b1..The channel's ERQ bit is cleared when the major loop is complete. 4473 */ 4474 #define DMA_CSR_DREQ(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_DREQ_SHIFT)) & DMA_CSR_DREQ_MASK) 4475 #define DMA_CSR_ESG_MASK (0x10U) 4476 #define DMA_CSR_ESG_SHIFT (4U) 4477 /*! ESG - Enable Scatter/Gather Processing 4478 * 0b0..The current channel's TCD is normal format. 4479 * 0b1..The current channel's TCD specifies a scatter gather format. The DLASTSGA field provides a memory pointer to the next TCD to be loaded into this channel after the major loop completes its execution. 4480 */ 4481 #define DMA_CSR_ESG(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_ESG_SHIFT)) & DMA_CSR_ESG_MASK) 4482 #define DMA_CSR_MAJORELINK_MASK (0x20U) 4483 #define DMA_CSR_MAJORELINK_SHIFT (5U) 4484 /*! MAJORELINK - Enable channel-to-channel linking on major loop complete 4485 * 0b0..The channel-to-channel linking is disabled. 4486 * 0b1..The channel-to-channel linking is enabled. 4487 */ 4488 #define DMA_CSR_MAJORELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_MAJORELINK_SHIFT)) & DMA_CSR_MAJORELINK_MASK) 4489 #define DMA_CSR_ACTIVE_MASK (0x40U) 4490 #define DMA_CSR_ACTIVE_SHIFT (6U) 4491 #define DMA_CSR_ACTIVE(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_ACTIVE_SHIFT)) & DMA_CSR_ACTIVE_MASK) 4492 #define DMA_CSR_DONE_MASK (0x80U) 4493 #define DMA_CSR_DONE_SHIFT (7U) 4494 #define DMA_CSR_DONE(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_DONE_SHIFT)) & DMA_CSR_DONE_MASK) 4495 #define DMA_CSR_MAJORLINKCH_MASK (0xF00U) 4496 #define DMA_CSR_MAJORLINKCH_SHIFT (8U) 4497 #define DMA_CSR_MAJORLINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_MAJORLINKCH_SHIFT)) & DMA_CSR_MAJORLINKCH_MASK) 4498 #define DMA_CSR_BWC_MASK (0xC000U) 4499 #define DMA_CSR_BWC_SHIFT (14U) 4500 /*! BWC - Bandwidth Control 4501 * 0b00..No eDMA engine stalls. 4502 * 0b01..Reserved 4503 * 0b10..eDMA engine stalls for 4 cycles after each R/W. 4504 * 0b11..eDMA engine stalls for 8 cycles after each R/W. 4505 */ 4506 #define DMA_CSR_BWC(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_BWC_SHIFT)) & DMA_CSR_BWC_MASK) 4507 /*! @} */ 4508 4509 /* The count of DMA_CSR */ 4510 #define DMA_CSR_COUNT (16U) 4511 4512 /*! @name BITER_ELINKNO - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled) */ 4513 /*! @{ */ 4514 #define DMA_BITER_ELINKNO_BITER_MASK (0x7FFFU) 4515 #define DMA_BITER_ELINKNO_BITER_SHIFT (0U) 4516 #define DMA_BITER_ELINKNO_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKNO_BITER_SHIFT)) & DMA_BITER_ELINKNO_BITER_MASK) 4517 #define DMA_BITER_ELINKNO_ELINK_MASK (0x8000U) 4518 #define DMA_BITER_ELINKNO_ELINK_SHIFT (15U) 4519 /*! ELINK - Enables channel-to-channel linking on minor loop complete 4520 * 0b0..The channel-to-channel linking is disabled 4521 * 0b1..The channel-to-channel linking is enabled 4522 */ 4523 #define DMA_BITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKNO_ELINK_SHIFT)) & DMA_BITER_ELINKNO_ELINK_MASK) 4524 /*! @} */ 4525 4526 /* The count of DMA_BITER_ELINKNO */ 4527 #define DMA_BITER_ELINKNO_COUNT (16U) 4528 4529 /*! @name BITER_ELINKYES - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled) */ 4530 /*! @{ */ 4531 #define DMA_BITER_ELINKYES_BITER_MASK (0x1FFU) 4532 #define DMA_BITER_ELINKYES_BITER_SHIFT (0U) 4533 #define DMA_BITER_ELINKYES_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_BITER_SHIFT)) & DMA_BITER_ELINKYES_BITER_MASK) 4534 #define DMA_BITER_ELINKYES_LINKCH_MASK (0x1E00U) 4535 #define DMA_BITER_ELINKYES_LINKCH_SHIFT (9U) 4536 #define DMA_BITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_LINKCH_SHIFT)) & DMA_BITER_ELINKYES_LINKCH_MASK) 4537 #define DMA_BITER_ELINKYES_ELINK_MASK (0x8000U) 4538 #define DMA_BITER_ELINKYES_ELINK_SHIFT (15U) 4539 /*! ELINK - Enables channel-to-channel linking on minor loop complete 4540 * 0b0..The channel-to-channel linking is disabled 4541 * 0b1..The channel-to-channel linking is enabled 4542 */ 4543 #define DMA_BITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_ELINK_SHIFT)) & DMA_BITER_ELINKYES_ELINK_MASK) 4544 /*! @} */ 4545 4546 /* The count of DMA_BITER_ELINKYES */ 4547 #define DMA_BITER_ELINKYES_COUNT (16U) 4548 4549 4550 /*! 4551 * @} 4552 */ /* end of group DMA_Register_Masks */ 4553 4554 4555 /* DMA - Peripheral instance base addresses */ 4556 /** Peripheral DMA0 base address */ 4557 #define DMA0_BASE (0x40008000u) 4558 /** Peripheral DMA0 base pointer */ 4559 #define DMA0 ((DMA_Type *)DMA0_BASE) 4560 /** Array initializer of DMA peripheral base addresses */ 4561 #define DMA_BASE_ADDRS { DMA0_BASE } 4562 /** Array initializer of DMA peripheral base pointers */ 4563 #define DMA_BASE_PTRS { DMA0 } 4564 /** Interrupt vectors for the DMA peripheral type */ 4565 #define DMA_CHN_IRQS { {DMA0_0_4_8_12_IRQn, DMA0_1_5_9_13_IRQn, DMA0_2_6_10_14_IRQn, DMA0_3_7_11_15_IRQn} } 4566 #define DMA_ERROR_IRQS { DMA0_Error_IRQn } 4567 4568 /*! 4569 * @} 4570 */ /* end of group DMA_Peripheral_Access_Layer */ 4571 4572 4573 /* ---------------------------------------------------------------------------- 4574 -- DMAMUX Peripheral Access Layer 4575 ---------------------------------------------------------------------------- */ 4576 4577 /*! 4578 * @addtogroup DMAMUX_Peripheral_Access_Layer DMAMUX Peripheral Access Layer 4579 * @{ 4580 */ 4581 4582 /** DMAMUX - Register Layout Typedef */ 4583 typedef struct { 4584 __IO uint32_t CHCFG[16]; /**< Channel 0 Configuration Register..Channel 15 Configuration Register, array offset: 0x0, array step: 0x4 */ 4585 } DMAMUX_Type; 4586 4587 /* ---------------------------------------------------------------------------- 4588 -- DMAMUX Register Masks 4589 ---------------------------------------------------------------------------- */ 4590 4591 /*! 4592 * @addtogroup DMAMUX_Register_Masks DMAMUX Register Masks 4593 * @{ 4594 */ 4595 4596 /*! @name CHCFG - Channel 0 Configuration Register..Channel 15 Configuration Register */ 4597 /*! @{ */ 4598 #define DMAMUX_CHCFG_SOURCE_MASK (0x3FU) 4599 #define DMAMUX_CHCFG_SOURCE_SHIFT (0U) 4600 #define DMAMUX_CHCFG_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_SOURCE_SHIFT)) & DMAMUX_CHCFG_SOURCE_MASK) 4601 #define DMAMUX_CHCFG_A_ON_MASK (0x20000000U) 4602 #define DMAMUX_CHCFG_A_ON_SHIFT (29U) 4603 /*! A_ON - DMA Channel Always Enable 4604 * 0b0..DMA Channel Always ON function is disabled 4605 * 0b1..DMA Channel Always ON function is enabled 4606 */ 4607 #define DMAMUX_CHCFG_A_ON(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_A_ON_SHIFT)) & DMAMUX_CHCFG_A_ON_MASK) 4608 #define DMAMUX_CHCFG_TRIG_MASK (0x40000000U) 4609 #define DMAMUX_CHCFG_TRIG_SHIFT (30U) 4610 /*! TRIG - DMA Channel Trigger Enable 4611 * 0b0..Triggering is disabled. If triggering is disabled and ENBL is set, the DMA Channel will simply route the specified source to the DMA channel. (Normal mode) 4612 * 0b1..Triggering is enabled. If triggering is enabled and ENBL is set, the DMA_CH_MUX is in Periodic Trigger mode. 4613 */ 4614 #define DMAMUX_CHCFG_TRIG(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_TRIG_SHIFT)) & DMAMUX_CHCFG_TRIG_MASK) 4615 #define DMAMUX_CHCFG_ENBL_MASK (0x80000000U) 4616 #define DMAMUX_CHCFG_ENBL_SHIFT (31U) 4617 /*! ENBL - DMA Mux Channel Enable 4618 * 0b0..DMA Mux channel is disabled 4619 * 0b1..DMA Mux channel is enabled 4620 */ 4621 #define DMAMUX_CHCFG_ENBL(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_ENBL_SHIFT)) & DMAMUX_CHCFG_ENBL_MASK) 4622 /*! @} */ 4623 4624 /* The count of DMAMUX_CHCFG */ 4625 #define DMAMUX_CHCFG_COUNT (16U) 4626 4627 4628 /*! 4629 * @} 4630 */ /* end of group DMAMUX_Register_Masks */ 4631 4632 4633 /* DMAMUX - Peripheral instance base addresses */ 4634 /** Peripheral DMAMUX0 base address */ 4635 #define DMAMUX0_BASE (0x40021000u) 4636 /** Peripheral DMAMUX0 base pointer */ 4637 #define DMAMUX0 ((DMAMUX_Type *)DMAMUX0_BASE) 4638 /** Array initializer of DMAMUX peripheral base addresses */ 4639 #define DMAMUX_BASE_ADDRS { DMAMUX0_BASE } 4640 /** Array initializer of DMAMUX peripheral base pointers */ 4641 #define DMAMUX_BASE_PTRS { DMAMUX0 } 4642 4643 /*! 4644 * @} 4645 */ /* end of group DMAMUX_Peripheral_Access_Layer */ 4646 4647 4648 /* ---------------------------------------------------------------------------- 4649 -- EMVSIM Peripheral Access Layer 4650 ---------------------------------------------------------------------------- */ 4651 4652 /*! 4653 * @addtogroup EMVSIM_Peripheral_Access_Layer EMVSIM Peripheral Access Layer 4654 * @{ 4655 */ 4656 4657 /** EMVSIM - Register Layout Typedef */ 4658 typedef struct { 4659 __I uint32_t VER_ID; /**< Version ID Register, offset: 0x0 */ 4660 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 4661 __IO uint32_t CLKCFG; /**< Clock Configuration Register, offset: 0x8 */ 4662 __IO uint32_t DIVISOR; /**< Baud Rate Divisor Register, offset: 0xC */ 4663 __IO uint32_t CTRL; /**< Control Register, offset: 0x10 */ 4664 __IO uint32_t INT_MASK; /**< Interrupt Mask Register, offset: 0x14 */ 4665 __IO uint32_t RX_THD; /**< Receiver Threshold Register, offset: 0x18 */ 4666 __IO uint32_t TX_THD; /**< Transmitter Threshold Register, offset: 0x1C */ 4667 __IO uint32_t RX_STATUS; /**< Receive Status Register, offset: 0x20 */ 4668 __IO uint32_t TX_STATUS; /**< Transmitter Status Register, offset: 0x24 */ 4669 __IO uint32_t PCSR; /**< Port Control and Status Register, offset: 0x28 */ 4670 __I uint32_t RX_BUF; /**< Receive Data Read Buffer, offset: 0x2C */ 4671 __O uint32_t TX_BUF; /**< Transmit Data Buffer, offset: 0x30 */ 4672 __IO uint32_t TX_GETU; /**< Transmitter Guard ETU Value Register, offset: 0x34 */ 4673 __IO uint32_t CWT_VAL; /**< Character Wait Time Value Register, offset: 0x38 */ 4674 __IO uint32_t BWT_VAL; /**< Block Wait Time Value Register, offset: 0x3C */ 4675 __IO uint32_t BGT_VAL; /**< Block Guard Time Value Register, offset: 0x40 */ 4676 __IO uint32_t GPCNT0_VAL; /**< General Purpose Counter 0 Timeout Value Register, offset: 0x44 */ 4677 __IO uint32_t GPCNT1_VAL; /**< General Purpose Counter 1 Timeout Value, offset: 0x48 */ 4678 } EMVSIM_Type; 4679 4680 /* ---------------------------------------------------------------------------- 4681 -- EMVSIM Register Masks 4682 ---------------------------------------------------------------------------- */ 4683 4684 /*! 4685 * @addtogroup EMVSIM_Register_Masks EMVSIM Register Masks 4686 * @{ 4687 */ 4688 4689 /*! @name VER_ID - Version ID Register */ 4690 /*! @{ */ 4691 #define EMVSIM_VER_ID_VER_MASK (0xFFFFFFFFU) 4692 #define EMVSIM_VER_ID_VER_SHIFT (0U) 4693 #define EMVSIM_VER_ID_VER(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_VER_ID_VER_SHIFT)) & EMVSIM_VER_ID_VER_MASK) 4694 /*! @} */ 4695 4696 /*! @name PARAM - Parameter Register */ 4697 /*! @{ */ 4698 #define EMVSIM_PARAM_RX_FIFO_DEPTH_MASK (0xFFU) 4699 #define EMVSIM_PARAM_RX_FIFO_DEPTH_SHIFT (0U) 4700 #define EMVSIM_PARAM_RX_FIFO_DEPTH(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PARAM_RX_FIFO_DEPTH_SHIFT)) & EMVSIM_PARAM_RX_FIFO_DEPTH_MASK) 4701 #define EMVSIM_PARAM_TX_FIFO_DEPTH_MASK (0xFF00U) 4702 #define EMVSIM_PARAM_TX_FIFO_DEPTH_SHIFT (8U) 4703 #define EMVSIM_PARAM_TX_FIFO_DEPTH(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PARAM_TX_FIFO_DEPTH_SHIFT)) & EMVSIM_PARAM_TX_FIFO_DEPTH_MASK) 4704 /*! @} */ 4705 4706 /*! @name CLKCFG - Clock Configuration Register */ 4707 /*! @{ */ 4708 #define EMVSIM_CLKCFG_CLK_PRSC_MASK (0xFFU) 4709 #define EMVSIM_CLKCFG_CLK_PRSC_SHIFT (0U) 4710 /*! CLK_PRSC - Clock Prescaler Value 4711 * 0b00000010..Divide by 2 4712 */ 4713 #define EMVSIM_CLKCFG_CLK_PRSC(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CLKCFG_CLK_PRSC_SHIFT)) & EMVSIM_CLKCFG_CLK_PRSC_MASK) 4714 #define EMVSIM_CLKCFG_GPCNT1_CLK_SEL_MASK (0x300U) 4715 #define EMVSIM_CLKCFG_GPCNT1_CLK_SEL_SHIFT (8U) 4716 /*! GPCNT1_CLK_SEL - General Purpose Counter 1 Clock Select 4717 * 0b00..Disabled / Reset (default) 4718 * 0b01..Card Clock 4719 * 0b10..Receive Clock 4720 * 0b11..ETU Clock (transmit clock) 4721 */ 4722 #define EMVSIM_CLKCFG_GPCNT1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CLKCFG_GPCNT1_CLK_SEL_SHIFT)) & EMVSIM_CLKCFG_GPCNT1_CLK_SEL_MASK) 4723 #define EMVSIM_CLKCFG_GPCNT0_CLK_SEL_MASK (0xC00U) 4724 #define EMVSIM_CLKCFG_GPCNT0_CLK_SEL_SHIFT (10U) 4725 /*! GPCNT0_CLK_SEL - General Purpose Counter 0 Clock Select 4726 * 0b00..Disabled / Reset (default) 4727 * 0b01..Card Clock 4728 * 0b10..Receive Clock 4729 * 0b11..ETU Clock (transmit clock) 4730 */ 4731 #define EMVSIM_CLKCFG_GPCNT0_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CLKCFG_GPCNT0_CLK_SEL_SHIFT)) & EMVSIM_CLKCFG_GPCNT0_CLK_SEL_MASK) 4732 /*! @} */ 4733 4734 /*! @name DIVISOR - Baud Rate Divisor Register */ 4735 /*! @{ */ 4736 #define EMVSIM_DIVISOR_DIVISOR_VALUE_MASK (0x1FFU) 4737 #define EMVSIM_DIVISOR_DIVISOR_VALUE_SHIFT (0U) 4738 /*! DIVISOR_VALUE - Divisor (F/D) Value 4739 * 0b000000000-0b000000100..Invalid. As per ISO 7816 specification, minimum value of F/D is 5 4740 * 0b101110100..Divisor value for F = 372 and D = 1 (default) 4741 */ 4742 #define EMVSIM_DIVISOR_DIVISOR_VALUE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_DIVISOR_DIVISOR_VALUE_SHIFT)) & EMVSIM_DIVISOR_DIVISOR_VALUE_MASK) 4743 /*! @} */ 4744 4745 /*! @name CTRL - Control Register */ 4746 /*! @{ */ 4747 #define EMVSIM_CTRL_IC_MASK (0x1U) 4748 #define EMVSIM_CTRL_IC_SHIFT (0U) 4749 /*! IC - Inverse Convention 4750 * 0b0..Direction convention transfers enabled (default) 4751 * 0b1..Inverse convention transfers enabled 4752 */ 4753 #define EMVSIM_CTRL_IC(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_IC_SHIFT)) & EMVSIM_CTRL_IC_MASK) 4754 #define EMVSIM_CTRL_ICM_MASK (0x2U) 4755 #define EMVSIM_CTRL_ICM_SHIFT (1U) 4756 /*! ICM - Initial Character Mode 4757 * 0b0..Initial Character Mode disabled 4758 * 0b1..Initial Character Mode enabled (default) 4759 */ 4760 #define EMVSIM_CTRL_ICM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_ICM_SHIFT)) & EMVSIM_CTRL_ICM_MASK) 4761 #define EMVSIM_CTRL_ANACK_MASK (0x4U) 4762 #define EMVSIM_CTRL_ANACK_SHIFT (2U) 4763 /*! ANACK - Auto NACK Enable 4764 * 0b0..NACK generation on errors disabled 4765 * 0b1..NACK generation on errors enabled (default) 4766 */ 4767 #define EMVSIM_CTRL_ANACK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_ANACK_SHIFT)) & EMVSIM_CTRL_ANACK_MASK) 4768 #define EMVSIM_CTRL_ONACK_MASK (0x8U) 4769 #define EMVSIM_CTRL_ONACK_SHIFT (3U) 4770 /*! ONACK - Overrun NACK Enable 4771 * 0b0..NACK generation on overrun is disabled (default) 4772 * 0b1..NACK generation on overrun is enabled 4773 */ 4774 #define EMVSIM_CTRL_ONACK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_ONACK_SHIFT)) & EMVSIM_CTRL_ONACK_MASK) 4775 #define EMVSIM_CTRL_FLSH_RX_MASK (0x100U) 4776 #define EMVSIM_CTRL_FLSH_RX_SHIFT (8U) 4777 /*! FLSH_RX - Flush Receiver Bit 4778 * 0b0..EMV SIM Receiver normal operation (default) 4779 * 0b1..EMV SIM Receiver held in Reset 4780 */ 4781 #define EMVSIM_CTRL_FLSH_RX(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_FLSH_RX_SHIFT)) & EMVSIM_CTRL_FLSH_RX_MASK) 4782 #define EMVSIM_CTRL_FLSH_TX_MASK (0x200U) 4783 #define EMVSIM_CTRL_FLSH_TX_SHIFT (9U) 4784 /*! FLSH_TX - Flush Transmitter Bit 4785 * 0b0..EMV SIM Transmitter normal operation (default) 4786 * 0b1..EMV SIM Transmitter held in Reset 4787 */ 4788 #define EMVSIM_CTRL_FLSH_TX(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_FLSH_TX_SHIFT)) & EMVSIM_CTRL_FLSH_TX_MASK) 4789 #define EMVSIM_CTRL_SW_RST_MASK (0x400U) 4790 #define EMVSIM_CTRL_SW_RST_SHIFT (10U) 4791 /*! SW_RST - Software Reset Bit 4792 * 0b0..EMV SIM Normal operation (default) 4793 * 0b1..EMV SIM held in Reset 4794 */ 4795 #define EMVSIM_CTRL_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_SW_RST_SHIFT)) & EMVSIM_CTRL_SW_RST_MASK) 4796 #define EMVSIM_CTRL_KILL_CLOCKS_MASK (0x800U) 4797 #define EMVSIM_CTRL_KILL_CLOCKS_SHIFT (11U) 4798 /*! KILL_CLOCKS - Kill all internal clocks 4799 * 0b0..EMV SIM input clock enabled (default) 4800 * 0b1..EMV SIM input clock is disabled 4801 */ 4802 #define EMVSIM_CTRL_KILL_CLOCKS(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_KILL_CLOCKS_SHIFT)) & EMVSIM_CTRL_KILL_CLOCKS_MASK) 4803 #define EMVSIM_CTRL_DOZE_EN_MASK (0x1000U) 4804 #define EMVSIM_CTRL_DOZE_EN_SHIFT (12U) 4805 /*! DOZE_EN - Doze Enable 4806 * 0b0..DOZE instruction will gate all internal EMV SIM clocks as well as the Smart Card clock when the transmit FIFO is empty (default) 4807 * 0b1..DOZE instruction has no effect on EMV SIM module 4808 */ 4809 #define EMVSIM_CTRL_DOZE_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_DOZE_EN_SHIFT)) & EMVSIM_CTRL_DOZE_EN_MASK) 4810 #define EMVSIM_CTRL_STOP_EN_MASK (0x2000U) 4811 #define EMVSIM_CTRL_STOP_EN_SHIFT (13U) 4812 /*! STOP_EN - STOP Enable 4813 * 0b0..STOP instruction shuts down all EMV SIM clocks (default) 4814 * 0b1..STOP instruction shuts down all clocks except for the Smart Card Clock (SCK) (clock provided to Smart Card) 4815 */ 4816 #define EMVSIM_CTRL_STOP_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_STOP_EN_SHIFT)) & EMVSIM_CTRL_STOP_EN_MASK) 4817 #define EMVSIM_CTRL_RCV_EN_MASK (0x10000U) 4818 #define EMVSIM_CTRL_RCV_EN_SHIFT (16U) 4819 /*! RCV_EN - Receiver Enable 4820 * 0b0..EMV SIM Receiver disabled (default) 4821 * 0b1..EMV SIM Receiver enabled 4822 */ 4823 #define EMVSIM_CTRL_RCV_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_RCV_EN_SHIFT)) & EMVSIM_CTRL_RCV_EN_MASK) 4824 #define EMVSIM_CTRL_XMT_EN_MASK (0x20000U) 4825 #define EMVSIM_CTRL_XMT_EN_SHIFT (17U) 4826 /*! XMT_EN - Transmitter Enable 4827 * 0b0..EMV SIM Transmitter disabled (default) 4828 * 0b1..EMV SIM Transmitter enabled 4829 */ 4830 #define EMVSIM_CTRL_XMT_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_XMT_EN_SHIFT)) & EMVSIM_CTRL_XMT_EN_MASK) 4831 #define EMVSIM_CTRL_RCVR_11_MASK (0x40000U) 4832 #define EMVSIM_CTRL_RCVR_11_SHIFT (18U) 4833 /*! RCVR_11 - Receiver 11 ETU Mode Enable 4834 * 0b0..Receiver configured for 12 ETU operation mode (default) 4835 * 0b1..Receiver configured for 11 ETU operation mode 4836 */ 4837 #define EMVSIM_CTRL_RCVR_11(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_RCVR_11_SHIFT)) & EMVSIM_CTRL_RCVR_11_MASK) 4838 #define EMVSIM_CTRL_RX_DMA_EN_MASK (0x80000U) 4839 #define EMVSIM_CTRL_RX_DMA_EN_SHIFT (19U) 4840 /*! RX_DMA_EN - Receive DMA Enable 4841 * 0b0..No DMA Read Request asserted for Receiver (default) 4842 * 0b1..DMA Read Request asserted for Receiver 4843 */ 4844 #define EMVSIM_CTRL_RX_DMA_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_RX_DMA_EN_SHIFT)) & EMVSIM_CTRL_RX_DMA_EN_MASK) 4845 #define EMVSIM_CTRL_TX_DMA_EN_MASK (0x100000U) 4846 #define EMVSIM_CTRL_TX_DMA_EN_SHIFT (20U) 4847 /*! TX_DMA_EN - Transmit DMA Enable 4848 * 0b0..No DMA Write Request asserted for Transmitter (default) 4849 * 0b1..DMA Write Request asserted for Transmitter 4850 */ 4851 #define EMVSIM_CTRL_TX_DMA_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_TX_DMA_EN_SHIFT)) & EMVSIM_CTRL_TX_DMA_EN_MASK) 4852 #define EMVSIM_CTRL_INV_CRC_VAL_MASK (0x1000000U) 4853 #define EMVSIM_CTRL_INV_CRC_VAL_SHIFT (24U) 4854 /*! INV_CRC_VAL - Invert bits in the CRC Output Value 4855 * 0b0..Bits in CRC Output value will not be inverted. 4856 * 0b1..Bits in CRC Output value will be inverted. (default) 4857 */ 4858 #define EMVSIM_CTRL_INV_CRC_VAL(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_INV_CRC_VAL_SHIFT)) & EMVSIM_CTRL_INV_CRC_VAL_MASK) 4859 #define EMVSIM_CTRL_CRC_OUT_FLIP_MASK (0x2000000U) 4860 #define EMVSIM_CTRL_CRC_OUT_FLIP_SHIFT (25U) 4861 /*! CRC_OUT_FLIP - CRC Output Value Bit Reversal or Flip 4862 * 0b0..Bits within the CRC output bytes will not be reversed i.e. 15:0 will remain 15:0 (default) 4863 * 0b1..Bits within the CRC output bytes will be reversed i.e. 15:0 will become {8:15,0:7} 4864 */ 4865 #define EMVSIM_CTRL_CRC_OUT_FLIP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CRC_OUT_FLIP_SHIFT)) & EMVSIM_CTRL_CRC_OUT_FLIP_MASK) 4866 #define EMVSIM_CTRL_CRC_IN_FLIP_MASK (0x4000000U) 4867 #define EMVSIM_CTRL_CRC_IN_FLIP_SHIFT (26U) 4868 /*! CRC_IN_FLIP - CRC Input Byte's Bit Reversal or Flip Control 4869 * 0b0..Bits in the input byte will not be reversed (i.e. 7:0 will remain 7:0) before the CRC calculation (default) 4870 * 0b1..Bits in the input byte will be reversed (i.e. 7:0 will become 0:7) before CRC calculation 4871 */ 4872 #define EMVSIM_CTRL_CRC_IN_FLIP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CRC_IN_FLIP_SHIFT)) & EMVSIM_CTRL_CRC_IN_FLIP_MASK) 4873 #define EMVSIM_CTRL_CWT_EN_MASK (0x8000000U) 4874 #define EMVSIM_CTRL_CWT_EN_SHIFT (27U) 4875 /*! CWT_EN - Character Wait Time Counter Enable 4876 * 0b0..Character Wait time Counter is disabled (default) 4877 * 0b1..Character Wait time counter is enabled 4878 */ 4879 #define EMVSIM_CTRL_CWT_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CWT_EN_SHIFT)) & EMVSIM_CTRL_CWT_EN_MASK) 4880 #define EMVSIM_CTRL_LRC_EN_MASK (0x10000000U) 4881 #define EMVSIM_CTRL_LRC_EN_SHIFT (28U) 4882 /*! LRC_EN - LRC Enable 4883 * 0b0..8-bit Linear Redundancy Checking disabled (default) 4884 * 0b1..8-bit Linear Redundancy Checking enabled 4885 */ 4886 #define EMVSIM_CTRL_LRC_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_LRC_EN_SHIFT)) & EMVSIM_CTRL_LRC_EN_MASK) 4887 #define EMVSIM_CTRL_CRC_EN_MASK (0x20000000U) 4888 #define EMVSIM_CTRL_CRC_EN_SHIFT (29U) 4889 /*! CRC_EN - CRC Enable 4890 * 0b0..16-bit Cyclic Redundancy Checking disabled (default) 4891 * 0b1..16-bit Cyclic Redundancy Checking enabled 4892 */ 4893 #define EMVSIM_CTRL_CRC_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CRC_EN_SHIFT)) & EMVSIM_CTRL_CRC_EN_MASK) 4894 #define EMVSIM_CTRL_XMT_CRC_LRC_MASK (0x40000000U) 4895 #define EMVSIM_CTRL_XMT_CRC_LRC_SHIFT (30U) 4896 /*! XMT_CRC_LRC - Transmit CRC or LRC Enable 4897 * 0b0..No CRC or LRC value is transmitted (default) 4898 * 0b1..Transmit LRC or CRC info when FIFO empties (whichever is enabled) 4899 */ 4900 #define EMVSIM_CTRL_XMT_CRC_LRC(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_XMT_CRC_LRC_SHIFT)) & EMVSIM_CTRL_XMT_CRC_LRC_MASK) 4901 #define EMVSIM_CTRL_BWT_EN_MASK (0x80000000U) 4902 #define EMVSIM_CTRL_BWT_EN_SHIFT (31U) 4903 /*! BWT_EN - Block Wait Time Counter Enable 4904 * 0b0..Disable BWT, BGT Counters (default) 4905 * 0b1..Enable BWT, BGT Counters 4906 */ 4907 #define EMVSIM_CTRL_BWT_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_BWT_EN_SHIFT)) & EMVSIM_CTRL_BWT_EN_MASK) 4908 /*! @} */ 4909 4910 /*! @name INT_MASK - Interrupt Mask Register */ 4911 /*! @{ */ 4912 #define EMVSIM_INT_MASK_RDT_IM_MASK (0x1U) 4913 #define EMVSIM_INT_MASK_RDT_IM_SHIFT (0U) 4914 /*! RDT_IM - Receive Data Threshold Interrupt Mask 4915 * 0b0..RDTF interrupt enabled 4916 * 0b1..RDTF interrupt masked (default) 4917 */ 4918 #define EMVSIM_INT_MASK_RDT_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RDT_IM_SHIFT)) & EMVSIM_INT_MASK_RDT_IM_MASK) 4919 #define EMVSIM_INT_MASK_TC_IM_MASK (0x2U) 4920 #define EMVSIM_INT_MASK_TC_IM_SHIFT (1U) 4921 /*! TC_IM - Transmit Complete Interrupt Mask 4922 * 0b0..TCF interrupt enabled 4923 * 0b1..TCF interrupt masked (default) 4924 */ 4925 #define EMVSIM_INT_MASK_TC_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TC_IM_SHIFT)) & EMVSIM_INT_MASK_TC_IM_MASK) 4926 #define EMVSIM_INT_MASK_RFO_IM_MASK (0x4U) 4927 #define EMVSIM_INT_MASK_RFO_IM_SHIFT (2U) 4928 /*! RFO_IM - Receive FIFO Overflow Interrupt Mask 4929 * 0b0..RFO interrupt enabled 4930 * 0b1..RFO interrupt masked (default) 4931 */ 4932 #define EMVSIM_INT_MASK_RFO_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RFO_IM_SHIFT)) & EMVSIM_INT_MASK_RFO_IM_MASK) 4933 #define EMVSIM_INT_MASK_ETC_IM_MASK (0x8U) 4934 #define EMVSIM_INT_MASK_ETC_IM_SHIFT (3U) 4935 /*! ETC_IM - Early Transmit Complete Interrupt Mask 4936 * 0b0..ETC interrupt enabled 4937 * 0b1..ETC interrupt masked (default) 4938 */ 4939 #define EMVSIM_INT_MASK_ETC_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_ETC_IM_SHIFT)) & EMVSIM_INT_MASK_ETC_IM_MASK) 4940 #define EMVSIM_INT_MASK_TFE_IM_MASK (0x10U) 4941 #define EMVSIM_INT_MASK_TFE_IM_SHIFT (4U) 4942 /*! TFE_IM - Transmit FIFO Empty Interrupt Mask 4943 * 0b0..TFE interrupt enabled 4944 * 0b1..TFE interrupt masked (default) 4945 */ 4946 #define EMVSIM_INT_MASK_TFE_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TFE_IM_SHIFT)) & EMVSIM_INT_MASK_TFE_IM_MASK) 4947 #define EMVSIM_INT_MASK_TNACK_IM_MASK (0x20U) 4948 #define EMVSIM_INT_MASK_TNACK_IM_SHIFT (5U) 4949 /*! TNACK_IM - Transmit NACK Threshold Interrupt Mask 4950 * 0b0..TNTE interrupt enabled 4951 * 0b1..TNTE interrupt masked (default) 4952 */ 4953 #define EMVSIM_INT_MASK_TNACK_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TNACK_IM_SHIFT)) & EMVSIM_INT_MASK_TNACK_IM_MASK) 4954 #define EMVSIM_INT_MASK_TFF_IM_MASK (0x40U) 4955 #define EMVSIM_INT_MASK_TFF_IM_SHIFT (6U) 4956 /*! TFF_IM - Transmit FIFO Full Interrupt Mask 4957 * 0b0..TFF interrupt enabled 4958 * 0b1..TFF interrupt masked (default) 4959 */ 4960 #define EMVSIM_INT_MASK_TFF_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TFF_IM_SHIFT)) & EMVSIM_INT_MASK_TFF_IM_MASK) 4961 #define EMVSIM_INT_MASK_TDT_IM_MASK (0x80U) 4962 #define EMVSIM_INT_MASK_TDT_IM_SHIFT (7U) 4963 /*! TDT_IM - Transmit Data Threshold Interrupt Mask 4964 * 0b0..TDTF interrupt enabled 4965 * 0b1..TDTF interrupt masked (default) 4966 */ 4967 #define EMVSIM_INT_MASK_TDT_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TDT_IM_SHIFT)) & EMVSIM_INT_MASK_TDT_IM_MASK) 4968 #define EMVSIM_INT_MASK_GPCNT0_IM_MASK (0x100U) 4969 #define EMVSIM_INT_MASK_GPCNT0_IM_SHIFT (8U) 4970 /*! GPCNT0_IM - General Purpose Timer 0 Timeout Interrupt Mask 4971 * 0b0..GPCNT0_TO interrupt enabled 4972 * 0b1..GPCNT0_TO interrupt masked (default) 4973 */ 4974 #define EMVSIM_INT_MASK_GPCNT0_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_GPCNT0_IM_SHIFT)) & EMVSIM_INT_MASK_GPCNT0_IM_MASK) 4975 #define EMVSIM_INT_MASK_CWT_ERR_IM_MASK (0x200U) 4976 #define EMVSIM_INT_MASK_CWT_ERR_IM_SHIFT (9U) 4977 /*! CWT_ERR_IM - Character Wait Time Error Interrupt Mask 4978 * 0b0..CWT_ERR interrupt enabled 4979 * 0b1..CWT_ERR interrupt masked (default) 4980 */ 4981 #define EMVSIM_INT_MASK_CWT_ERR_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_CWT_ERR_IM_SHIFT)) & EMVSIM_INT_MASK_CWT_ERR_IM_MASK) 4982 #define EMVSIM_INT_MASK_RNACK_IM_MASK (0x400U) 4983 #define EMVSIM_INT_MASK_RNACK_IM_SHIFT (10U) 4984 /*! RNACK_IM - Receiver NACK Threshold Interrupt Mask 4985 * 0b0..RTE interrupt enabled 4986 * 0b1..RTE interrupt masked (default) 4987 */ 4988 #define EMVSIM_INT_MASK_RNACK_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RNACK_IM_SHIFT)) & EMVSIM_INT_MASK_RNACK_IM_MASK) 4989 #define EMVSIM_INT_MASK_BWT_ERR_IM_MASK (0x800U) 4990 #define EMVSIM_INT_MASK_BWT_ERR_IM_SHIFT (11U) 4991 /*! BWT_ERR_IM - Block Wait Time Error Interrupt Mask 4992 * 0b0..BWT_ERR interrupt enabled 4993 * 0b1..BWT_ERR interrupt masked (default) 4994 */ 4995 #define EMVSIM_INT_MASK_BWT_ERR_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_BWT_ERR_IM_SHIFT)) & EMVSIM_INT_MASK_BWT_ERR_IM_MASK) 4996 #define EMVSIM_INT_MASK_BGT_ERR_IM_MASK (0x1000U) 4997 #define EMVSIM_INT_MASK_BGT_ERR_IM_SHIFT (12U) 4998 /*! BGT_ERR_IM - Block Guard Time Error Interrupt 4999 * 0b0..BGT_ERR interrupt enabled 5000 * 0b1..BGT_ERR interrupt masked (default) 5001 */ 5002 #define EMVSIM_INT_MASK_BGT_ERR_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_BGT_ERR_IM_SHIFT)) & EMVSIM_INT_MASK_BGT_ERR_IM_MASK) 5003 #define EMVSIM_INT_MASK_GPCNT1_IM_MASK (0x2000U) 5004 #define EMVSIM_INT_MASK_GPCNT1_IM_SHIFT (13U) 5005 /*! GPCNT1_IM - General Purpose Counter 1 Timeout Interrupt Mask 5006 * 0b0..GPCNT1_TO interrupt enabled 5007 * 0b1..GPCNT1_TO interrupt masked (default) 5008 */ 5009 #define EMVSIM_INT_MASK_GPCNT1_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_GPCNT1_IM_SHIFT)) & EMVSIM_INT_MASK_GPCNT1_IM_MASK) 5010 #define EMVSIM_INT_MASK_RX_DATA_IM_MASK (0x4000U) 5011 #define EMVSIM_INT_MASK_RX_DATA_IM_SHIFT (14U) 5012 /*! RX_DATA_IM - Receive Data Interrupt Mask 5013 * 0b0..RX_DATA interrupt enabled 5014 * 0b1..RX_DATA interrupt masked (default) 5015 */ 5016 #define EMVSIM_INT_MASK_RX_DATA_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RX_DATA_IM_SHIFT)) & EMVSIM_INT_MASK_RX_DATA_IM_MASK) 5017 #define EMVSIM_INT_MASK_PEF_IM_MASK (0x8000U) 5018 #define EMVSIM_INT_MASK_PEF_IM_SHIFT (15U) 5019 /*! PEF_IM - Parity Error Interrupt Mask 5020 * 0b0..PEF interrupt enabled 5021 * 0b1..PEF interrupt masked (default) 5022 */ 5023 #define EMVSIM_INT_MASK_PEF_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_PEF_IM_SHIFT)) & EMVSIM_INT_MASK_PEF_IM_MASK) 5024 /*! @} */ 5025 5026 /*! @name RX_THD - Receiver Threshold Register */ 5027 /*! @{ */ 5028 #define EMVSIM_RX_THD_RDT_MASK (0xFU) 5029 #define EMVSIM_RX_THD_RDT_SHIFT (0U) 5030 #define EMVSIM_RX_THD_RDT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_THD_RDT_SHIFT)) & EMVSIM_RX_THD_RDT_MASK) 5031 #define EMVSIM_RX_THD_RNCK_THD_MASK (0xF00U) 5032 #define EMVSIM_RX_THD_RNCK_THD_SHIFT (8U) 5033 /*! RNCK_THD - Receiver NACK Threshold Value 5034 * 0b0000..Zero Threshold. RTE will not be set 5035 */ 5036 #define EMVSIM_RX_THD_RNCK_THD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_THD_RNCK_THD_SHIFT)) & EMVSIM_RX_THD_RNCK_THD_MASK) 5037 /*! @} */ 5038 5039 /*! @name TX_THD - Transmitter Threshold Register */ 5040 /*! @{ */ 5041 #define EMVSIM_TX_THD_TDT_MASK (0xFU) 5042 #define EMVSIM_TX_THD_TDT_SHIFT (0U) 5043 #define EMVSIM_TX_THD_TDT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_THD_TDT_SHIFT)) & EMVSIM_TX_THD_TDT_MASK) 5044 #define EMVSIM_TX_THD_TNCK_THD_MASK (0xF00U) 5045 #define EMVSIM_TX_THD_TNCK_THD_SHIFT (8U) 5046 /*! TNCK_THD - Transmitter NACK Threshold Value 5047 * 0b0000..TNTE will never be set; retransmission after NACK reception is disabled. 5048 * 0b0001..TNTE will be set after 1 nack is received; 0 retransmissions occurs. 5049 * 0b0010..TNTE will be set after 2 nacks are received; at most 1 retransmission occurs. 5050 * 0b0011..TNTE will be set after 3 nacks are received; at most 2 retransmissions occurs. 5051 * 0b1111..TNTE will be set after 15 nacks are received; at most 14 retransmissions occurs. 5052 */ 5053 #define EMVSIM_TX_THD_TNCK_THD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_THD_TNCK_THD_SHIFT)) & EMVSIM_TX_THD_TNCK_THD_MASK) 5054 /*! @} */ 5055 5056 /*! @name RX_STATUS - Receive Status Register */ 5057 /*! @{ */ 5058 #define EMVSIM_RX_STATUS_RFO_MASK (0x1U) 5059 #define EMVSIM_RX_STATUS_RFO_SHIFT (0U) 5060 /*! RFO - Receive FIFO Overflow Flag 5061 * 0b0..No overrun error has occurred (default) 5062 * 0b1..A byte was received when the received FIFO was already full 5063 */ 5064 #define EMVSIM_RX_STATUS_RFO(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RFO_SHIFT)) & EMVSIM_RX_STATUS_RFO_MASK) 5065 #define EMVSIM_RX_STATUS_RX_DATA_MASK (0x10U) 5066 #define EMVSIM_RX_STATUS_RX_DATA_SHIFT (4U) 5067 /*! RX_DATA - Receive Data Interrupt Flag 5068 * 0b0..No new byte is received 5069 * 0b1..New byte is received ans stored in Receive FIFO 5070 */ 5071 #define EMVSIM_RX_STATUS_RX_DATA(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RX_DATA_SHIFT)) & EMVSIM_RX_STATUS_RX_DATA_MASK) 5072 #define EMVSIM_RX_STATUS_RDTF_MASK (0x20U) 5073 #define EMVSIM_RX_STATUS_RDTF_SHIFT (5U) 5074 /*! RDTF - Receive Data Threshold Interrupt Flag 5075 * 0b0..Number of unread bytes in receive FIFO less than the value set by RDT[3:0] (default). 5076 * 0b1..Number of unread bytes in receive FIFO greater or than equal to value set by RDT[3:0]. 5077 */ 5078 #define EMVSIM_RX_STATUS_RDTF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RDTF_SHIFT)) & EMVSIM_RX_STATUS_RDTF_MASK) 5079 #define EMVSIM_RX_STATUS_LRC_OK_MASK (0x40U) 5080 #define EMVSIM_RX_STATUS_LRC_OK_SHIFT (6U) 5081 /*! LRC_OK - LRC Check OK Flag 5082 * 0b0..Current LRC value does not match remainder. 5083 * 0b1..Current calculated LRC value matches the expected result (i.e. zero). 5084 */ 5085 #define EMVSIM_RX_STATUS_LRC_OK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_LRC_OK_SHIFT)) & EMVSIM_RX_STATUS_LRC_OK_MASK) 5086 #define EMVSIM_RX_STATUS_CRC_OK_MASK (0x80U) 5087 #define EMVSIM_RX_STATUS_CRC_OK_SHIFT (7U) 5088 /*! CRC_OK - CRC Check OK Flag 5089 * 0b0..Current CRC value does not match remainder. 5090 * 0b1..Current calculated CRC value matches the expected result. 5091 */ 5092 #define EMVSIM_RX_STATUS_CRC_OK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_CRC_OK_SHIFT)) & EMVSIM_RX_STATUS_CRC_OK_MASK) 5093 #define EMVSIM_RX_STATUS_CWT_ERR_MASK (0x100U) 5094 #define EMVSIM_RX_STATUS_CWT_ERR_SHIFT (8U) 5095 /*! CWT_ERR - Character Wait Time Error Flag 5096 * 0b0..No CWT violation has occurred (default). 5097 * 0b1..Time between two consecutive characters has exceeded the value in CHAR_WAIT. 5098 */ 5099 #define EMVSIM_RX_STATUS_CWT_ERR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_CWT_ERR_SHIFT)) & EMVSIM_RX_STATUS_CWT_ERR_MASK) 5100 #define EMVSIM_RX_STATUS_RTE_MASK (0x200U) 5101 #define EMVSIM_RX_STATUS_RTE_SHIFT (9U) 5102 /*! RTE - Received NACK Threshold Error Flag 5103 * 0b0..Number of NACKs generated by the receiver is less than the value programmed in RTH[3:0] 5104 * 0b1..Number of NACKs generated by the receiver is equal to the value programmed in RTH[3:0] 5105 */ 5106 #define EMVSIM_RX_STATUS_RTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RTE_SHIFT)) & EMVSIM_RX_STATUS_RTE_MASK) 5107 #define EMVSIM_RX_STATUS_BWT_ERR_MASK (0x400U) 5108 #define EMVSIM_RX_STATUS_BWT_ERR_SHIFT (10U) 5109 /*! BWT_ERR - Block Wait Time Error Flag 5110 * 0b0..Block wait time not exceeded 5111 * 0b1..Block wait time was exceeded 5112 */ 5113 #define EMVSIM_RX_STATUS_BWT_ERR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_BWT_ERR_SHIFT)) & EMVSIM_RX_STATUS_BWT_ERR_MASK) 5114 #define EMVSIM_RX_STATUS_BGT_ERR_MASK (0x800U) 5115 #define EMVSIM_RX_STATUS_BGT_ERR_SHIFT (11U) 5116 /*! BGT_ERR - Block Guard Time Error Flag 5117 * 0b0..Block guard time was sufficient 5118 * 0b1..Block guard time was too small 5119 */ 5120 #define EMVSIM_RX_STATUS_BGT_ERR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_BGT_ERR_SHIFT)) & EMVSIM_RX_STATUS_BGT_ERR_MASK) 5121 #define EMVSIM_RX_STATUS_PEF_MASK (0x1000U) 5122 #define EMVSIM_RX_STATUS_PEF_SHIFT (12U) 5123 /*! PEF - Parity Error Flag 5124 * 0b0..No parity error detected 5125 * 0b1..Parity error detected 5126 */ 5127 #define EMVSIM_RX_STATUS_PEF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_PEF_SHIFT)) & EMVSIM_RX_STATUS_PEF_MASK) 5128 #define EMVSIM_RX_STATUS_FEF_MASK (0x2000U) 5129 #define EMVSIM_RX_STATUS_FEF_SHIFT (13U) 5130 /*! FEF - Frame Error Flag 5131 * 0b0..No frame error detected 5132 * 0b1..Frame error detected 5133 */ 5134 #define EMVSIM_RX_STATUS_FEF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_FEF_SHIFT)) & EMVSIM_RX_STATUS_FEF_MASK) 5135 #define EMVSIM_RX_STATUS_RX_WPTR_MASK (0xF0000U) 5136 #define EMVSIM_RX_STATUS_RX_WPTR_SHIFT (16U) 5137 #define EMVSIM_RX_STATUS_RX_WPTR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RX_WPTR_SHIFT)) & EMVSIM_RX_STATUS_RX_WPTR_MASK) 5138 #define EMVSIM_RX_STATUS_RX_CNT_MASK (0xF000000U) 5139 #define EMVSIM_RX_STATUS_RX_CNT_SHIFT (24U) 5140 /*! RX_CNT - Receive FIFO Byte Count 5141 * 0b0000..FIFO is emtpy 5142 */ 5143 #define EMVSIM_RX_STATUS_RX_CNT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RX_CNT_SHIFT)) & EMVSIM_RX_STATUS_RX_CNT_MASK) 5144 /*! @} */ 5145 5146 /*! @name TX_STATUS - Transmitter Status Register */ 5147 /*! @{ */ 5148 #define EMVSIM_TX_STATUS_TNTE_MASK (0x1U) 5149 #define EMVSIM_TX_STATUS_TNTE_SHIFT (0U) 5150 /*! TNTE - Transmit NACK Threshold Error Flag 5151 * 0b0..Transmit NACK threshold has not been reached (default) 5152 * 0b1..Transmit NACK threshold reached; transmitter frozen 5153 */ 5154 #define EMVSIM_TX_STATUS_TNTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TNTE_SHIFT)) & EMVSIM_TX_STATUS_TNTE_MASK) 5155 #define EMVSIM_TX_STATUS_TFE_MASK (0x8U) 5156 #define EMVSIM_TX_STATUS_TFE_SHIFT (3U) 5157 /*! TFE - Transmit FIFO Empty Flag 5158 * 0b0..Transmit FIFO is not empty 5159 * 0b1..Transmit FIFO is empty (default) 5160 */ 5161 #define EMVSIM_TX_STATUS_TFE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TFE_SHIFT)) & EMVSIM_TX_STATUS_TFE_MASK) 5162 #define EMVSIM_TX_STATUS_ETCF_MASK (0x10U) 5163 #define EMVSIM_TX_STATUS_ETCF_SHIFT (4U) 5164 /*! ETCF - Early Transmit Complete Flag 5165 * 0b0..Transmit pending or in progress 5166 * 0b1..Transmit complete (default) 5167 */ 5168 #define EMVSIM_TX_STATUS_ETCF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_ETCF_SHIFT)) & EMVSIM_TX_STATUS_ETCF_MASK) 5169 #define EMVSIM_TX_STATUS_TCF_MASK (0x20U) 5170 #define EMVSIM_TX_STATUS_TCF_SHIFT (5U) 5171 /*! TCF - Transmit Complete Flag 5172 * 0b0..Transmit pending or in progress 5173 * 0b1..Transmit complete (default) 5174 */ 5175 #define EMVSIM_TX_STATUS_TCF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TCF_SHIFT)) & EMVSIM_TX_STATUS_TCF_MASK) 5176 #define EMVSIM_TX_STATUS_TFF_MASK (0x40U) 5177 #define EMVSIM_TX_STATUS_TFF_SHIFT (6U) 5178 /*! TFF - Transmit FIFO Full Flag 5179 * 0b0..Transmit FIFO Full condition has not occurred (default) 5180 * 0b1..A Transmit FIFO Full condition has occurred 5181 */ 5182 #define EMVSIM_TX_STATUS_TFF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TFF_SHIFT)) & EMVSIM_TX_STATUS_TFF_MASK) 5183 #define EMVSIM_TX_STATUS_TDTF_MASK (0x80U) 5184 #define EMVSIM_TX_STATUS_TDTF_SHIFT (7U) 5185 /*! TDTF - Transmit Data Threshold Flag 5186 * 0b0..Number of bytes in FIFO is greater than TDT[3:0], or bit has been cleared 5187 * 0b1..Number of bytes in FIFO is less than or equal to TDT[3:0] (default) 5188 */ 5189 #define EMVSIM_TX_STATUS_TDTF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TDTF_SHIFT)) & EMVSIM_TX_STATUS_TDTF_MASK) 5190 #define EMVSIM_TX_STATUS_GPCNT0_TO_MASK (0x100U) 5191 #define EMVSIM_TX_STATUS_GPCNT0_TO_SHIFT (8U) 5192 /*! GPCNT0_TO - General Purpose Counter 0 Timeout Flag 5193 * 0b0..GPCNT0_VAL time not reached, or bit has been cleared. (default) 5194 * 0b1..General Purpose counter has reached the GPCNT0_VAL value 5195 */ 5196 #define EMVSIM_TX_STATUS_GPCNT0_TO(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_GPCNT0_TO_SHIFT)) & EMVSIM_TX_STATUS_GPCNT0_TO_MASK) 5197 #define EMVSIM_TX_STATUS_GPCNT1_TO_MASK (0x200U) 5198 #define EMVSIM_TX_STATUS_GPCNT1_TO_SHIFT (9U) 5199 /*! GPCNT1_TO - General Purpose Counter 1 Timeout Flag 5200 * 0b0..GPCNT1_VAL time not reached, or bit has been cleared. (default) 5201 * 0b1..General Purpose counter has reached the GPCNT1_VAL value 5202 */ 5203 #define EMVSIM_TX_STATUS_GPCNT1_TO(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_GPCNT1_TO_SHIFT)) & EMVSIM_TX_STATUS_GPCNT1_TO_MASK) 5204 #define EMVSIM_TX_STATUS_TX_RPTR_MASK (0xF0000U) 5205 #define EMVSIM_TX_STATUS_TX_RPTR_SHIFT (16U) 5206 #define EMVSIM_TX_STATUS_TX_RPTR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TX_RPTR_SHIFT)) & EMVSIM_TX_STATUS_TX_RPTR_MASK) 5207 #define EMVSIM_TX_STATUS_TX_CNT_MASK (0xF000000U) 5208 #define EMVSIM_TX_STATUS_TX_CNT_SHIFT (24U) 5209 /*! TX_CNT - Transmit FIFO Byte Count 5210 * 0b0000..FIFO is emtpy 5211 */ 5212 #define EMVSIM_TX_STATUS_TX_CNT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TX_CNT_SHIFT)) & EMVSIM_TX_STATUS_TX_CNT_MASK) 5213 /*! @} */ 5214 5215 /*! @name PCSR - Port Control and Status Register */ 5216 /*! @{ */ 5217 #define EMVSIM_PCSR_SAPD_MASK (0x1U) 5218 #define EMVSIM_PCSR_SAPD_SHIFT (0U) 5219 /*! SAPD - Auto Power Down Enable 5220 * 0b0..Auto power down disabled (default) 5221 * 0b1..Auto power down enabled 5222 */ 5223 #define EMVSIM_PCSR_SAPD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SAPD_SHIFT)) & EMVSIM_PCSR_SAPD_MASK) 5224 #define EMVSIM_PCSR_SVCC_EN_MASK (0x2U) 5225 #define EMVSIM_PCSR_SVCC_EN_SHIFT (1U) 5226 /*! SVCC_EN - Vcc Enable for Smart Card 5227 * 0b0..Smart Card Voltage disabled (default) 5228 * 0b1..Smart Card Voltage enabled 5229 */ 5230 #define EMVSIM_PCSR_SVCC_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SVCC_EN_SHIFT)) & EMVSIM_PCSR_SVCC_EN_MASK) 5231 #define EMVSIM_PCSR_VCCENP_MASK (0x4U) 5232 #define EMVSIM_PCSR_VCCENP_SHIFT (2U) 5233 /*! VCCENP - VCC Enable Polarity Control 5234 * 0b0..VCC_EN is active high. Polarity of SVCC_EN is unchanged. 5235 * 0b1..VCC_EN is active low. Polarity of SVCC_EN is inverted. 5236 */ 5237 #define EMVSIM_PCSR_VCCENP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_VCCENP_SHIFT)) & EMVSIM_PCSR_VCCENP_MASK) 5238 #define EMVSIM_PCSR_SRST_MASK (0x8U) 5239 #define EMVSIM_PCSR_SRST_SHIFT (3U) 5240 /*! SRST - Reset to Smart Card 5241 * 0b0..Smart Card Reset is asserted (default) 5242 * 0b1..Smart Card Reset is de-asserted 5243 */ 5244 #define EMVSIM_PCSR_SRST(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SRST_SHIFT)) & EMVSIM_PCSR_SRST_MASK) 5245 #define EMVSIM_PCSR_SCEN_MASK (0x10U) 5246 #define EMVSIM_PCSR_SCEN_SHIFT (4U) 5247 /*! SCEN - Clock Enable for Smart Card 5248 * 0b0..Smart Card Clock Disabled 5249 * 0b1..Smart Card Clock Enabled 5250 */ 5251 #define EMVSIM_PCSR_SCEN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SCEN_SHIFT)) & EMVSIM_PCSR_SCEN_MASK) 5252 #define EMVSIM_PCSR_SCSP_MASK (0x20U) 5253 #define EMVSIM_PCSR_SCSP_SHIFT (5U) 5254 /*! SCSP - Smart Card Clock Stop Polarity 5255 * 0b0..Clock is logic 0 when stopped by SCEN 5256 * 0b1..Clock is logic 1 when stopped by SCEN 5257 */ 5258 #define EMVSIM_PCSR_SCSP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SCSP_SHIFT)) & EMVSIM_PCSR_SCSP_MASK) 5259 #define EMVSIM_PCSR_SPD_MASK (0x80U) 5260 #define EMVSIM_PCSR_SPD_SHIFT (7U) 5261 /*! SPD - Auto Power Down Control 5262 * 0b0..No effect (default) 5263 * 0b1..Start Auto Powerdown or Power Down is in progress 5264 */ 5265 #define EMVSIM_PCSR_SPD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPD_SHIFT)) & EMVSIM_PCSR_SPD_MASK) 5266 #define EMVSIM_PCSR_SPDIM_MASK (0x1000000U) 5267 #define EMVSIM_PCSR_SPDIM_SHIFT (24U) 5268 /*! SPDIM - Smart Card Presence Detect Interrupt Mask 5269 * 0b0..SIM presence detect interrupt is enabled 5270 * 0b1..SIM presence detect interrupt is masked (default) 5271 */ 5272 #define EMVSIM_PCSR_SPDIM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDIM_SHIFT)) & EMVSIM_PCSR_SPDIM_MASK) 5273 #define EMVSIM_PCSR_SPDIF_MASK (0x2000000U) 5274 #define EMVSIM_PCSR_SPDIF_SHIFT (25U) 5275 /*! SPDIF - Smart Card Presence Detect Interrupt Flag 5276 * 0b0..No insertion or removal of Smart Card detected on Port (default) 5277 * 0b1..Insertion or removal of Smart Card detected on Port 5278 */ 5279 #define EMVSIM_PCSR_SPDIF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDIF_SHIFT)) & EMVSIM_PCSR_SPDIF_MASK) 5280 #define EMVSIM_PCSR_SPDP_MASK (0x4000000U) 5281 #define EMVSIM_PCSR_SPDP_SHIFT (26U) 5282 /*! SPDP - Smart Card Presence Detect Pin Status 5283 * 0b0..SIM Presence Detect pin is logic low 5284 * 0b1..SIM Presence Detectpin is logic high 5285 */ 5286 #define EMVSIM_PCSR_SPDP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDP_SHIFT)) & EMVSIM_PCSR_SPDP_MASK) 5287 #define EMVSIM_PCSR_SPDES_MASK (0x8000000U) 5288 #define EMVSIM_PCSR_SPDES_SHIFT (27U) 5289 /*! SPDES - SIM Presence Detect Edge Select 5290 * 0b0..Falling edge on the pin (default) 5291 * 0b1..Rising edge on the pin 5292 */ 5293 #define EMVSIM_PCSR_SPDES(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDES_SHIFT)) & EMVSIM_PCSR_SPDES_MASK) 5294 /*! @} */ 5295 5296 /*! @name RX_BUF - Receive Data Read Buffer */ 5297 /*! @{ */ 5298 #define EMVSIM_RX_BUF_RX_BYTE_MASK (0xFFU) 5299 #define EMVSIM_RX_BUF_RX_BYTE_SHIFT (0U) 5300 #define EMVSIM_RX_BUF_RX_BYTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_BUF_RX_BYTE_SHIFT)) & EMVSIM_RX_BUF_RX_BYTE_MASK) 5301 /*! @} */ 5302 5303 /*! @name TX_BUF - Transmit Data Buffer */ 5304 /*! @{ */ 5305 #define EMVSIM_TX_BUF_TX_BYTE_MASK (0xFFU) 5306 #define EMVSIM_TX_BUF_TX_BYTE_SHIFT (0U) 5307 #define EMVSIM_TX_BUF_TX_BYTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_BUF_TX_BYTE_SHIFT)) & EMVSIM_TX_BUF_TX_BYTE_MASK) 5308 /*! @} */ 5309 5310 /*! @name TX_GETU - Transmitter Guard ETU Value Register */ 5311 /*! @{ */ 5312 #define EMVSIM_TX_GETU_GETU_MASK (0xFFU) 5313 #define EMVSIM_TX_GETU_GETU_SHIFT (0U) 5314 /*! GETU - Transmitter Guard Time Value in ETU 5315 * 0b00000000..no additional ETUs inserted (default) 5316 * 0b00000001..1 additional ETU inserted 5317 * 0b11111110..254 additional ETUs inserted 5318 * 0b11111111..Subtracts one ETU by reducing the number of STOP bits from two to one 5319 */ 5320 #define EMVSIM_TX_GETU_GETU(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_GETU_GETU_SHIFT)) & EMVSIM_TX_GETU_GETU_MASK) 5321 /*! @} */ 5322 5323 /*! @name CWT_VAL - Character Wait Time Value Register */ 5324 /*! @{ */ 5325 #define EMVSIM_CWT_VAL_CWT_MASK (0xFFFFU) 5326 #define EMVSIM_CWT_VAL_CWT_SHIFT (0U) 5327 #define EMVSIM_CWT_VAL_CWT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CWT_VAL_CWT_SHIFT)) & EMVSIM_CWT_VAL_CWT_MASK) 5328 /*! @} */ 5329 5330 /*! @name BWT_VAL - Block Wait Time Value Register */ 5331 /*! @{ */ 5332 #define EMVSIM_BWT_VAL_BWT_MASK (0xFFFFFFFFU) 5333 #define EMVSIM_BWT_VAL_BWT_SHIFT (0U) 5334 #define EMVSIM_BWT_VAL_BWT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_BWT_VAL_BWT_SHIFT)) & EMVSIM_BWT_VAL_BWT_MASK) 5335 /*! @} */ 5336 5337 /*! @name BGT_VAL - Block Guard Time Value Register */ 5338 /*! @{ */ 5339 #define EMVSIM_BGT_VAL_BGT_MASK (0xFFFFU) 5340 #define EMVSIM_BGT_VAL_BGT_SHIFT (0U) 5341 #define EMVSIM_BGT_VAL_BGT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_BGT_VAL_BGT_SHIFT)) & EMVSIM_BGT_VAL_BGT_MASK) 5342 /*! @} */ 5343 5344 /*! @name GPCNT0_VAL - General Purpose Counter 0 Timeout Value Register */ 5345 /*! @{ */ 5346 #define EMVSIM_GPCNT0_VAL_GPCNT0_MASK (0xFFFFU) 5347 #define EMVSIM_GPCNT0_VAL_GPCNT0_SHIFT (0U) 5348 #define EMVSIM_GPCNT0_VAL_GPCNT0(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_GPCNT0_VAL_GPCNT0_SHIFT)) & EMVSIM_GPCNT0_VAL_GPCNT0_MASK) 5349 /*! @} */ 5350 5351 /*! @name GPCNT1_VAL - General Purpose Counter 1 Timeout Value */ 5352 /*! @{ */ 5353 #define EMVSIM_GPCNT1_VAL_GPCNT1_MASK (0xFFFFU) 5354 #define EMVSIM_GPCNT1_VAL_GPCNT1_SHIFT (0U) 5355 #define EMVSIM_GPCNT1_VAL_GPCNT1(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_GPCNT1_VAL_GPCNT1_SHIFT)) & EMVSIM_GPCNT1_VAL_GPCNT1_MASK) 5356 /*! @} */ 5357 5358 5359 /*! 5360 * @} 5361 */ /* end of group EMVSIM_Register_Masks */ 5362 5363 5364 /* EMVSIM - Peripheral instance base addresses */ 5365 /** Peripheral EMVSIM0 base address */ 5366 #define EMVSIM0_BASE (0x40038000u) 5367 /** Peripheral EMVSIM0 base pointer */ 5368 #define EMVSIM0 ((EMVSIM_Type *)EMVSIM0_BASE) 5369 /** Array initializer of EMVSIM peripheral base addresses */ 5370 #define EMVSIM_BASE_ADDRS { EMVSIM0_BASE } 5371 /** Array initializer of EMVSIM peripheral base pointers */ 5372 #define EMVSIM_BASE_PTRS { EMVSIM0 } 5373 /** Interrupt vectors for the EMVSIM peripheral type */ 5374 #define EMVSIM_IRQS { EMVSIM0_IRQn } 5375 5376 /*! 5377 * @} 5378 */ /* end of group EMVSIM_Peripheral_Access_Layer */ 5379 5380 5381 /* ---------------------------------------------------------------------------- 5382 -- EVENT Peripheral Access Layer 5383 ---------------------------------------------------------------------------- */ 5384 5385 /*! 5386 * @addtogroup EVENT_Peripheral_Access_Layer EVENT Peripheral Access Layer 5387 * @{ 5388 */ 5389 5390 /** EVENT - Register Layout Typedef */ 5391 typedef struct { 5392 __IO uint32_t INTPTEN; /**< Interrupt Enable Register, offset: 0x0 */ 5393 __IO uint32_t INTPTPEND; /**< Interrupt Pengding Register, offset: 0x4 */ 5394 __IO uint32_t INTPTPENDSET; /**< Set Interrupt Pengding Register, offset: 0x8 */ 5395 __IO uint32_t INTPTPENDCLEAR; /**< Clear Interrupt Pengding Register, offset: 0xC */ 5396 __IO uint32_t INTPTSECURE; /**< Interrupt Secure Register, offset: 0x10 */ 5397 __IO uint32_t INTPTPRI[4]; /**< Interrupt Priority 0 Register..Interrupt Priority 3 Register, array offset: 0x14, array step: 0x4 */ 5398 __IO uint32_t INTPRIBASE; /**< Interrupt Priority Base, offset: 0x24 */ 5399 __I uint32_t INTPTENACTIVE; /**< Interrupt Active Register, offset: 0x28 */ 5400 __I uint32_t INTACTPRI[4]; /**< Interrupt Active Priority 0 Register..Interrupt Active Priority 3 Register, array offset: 0x2C, array step: 0x4 */ 5401 uint8_t RESERVED_0[4]; 5402 __IO uint32_t EVENTEN; /**< Event Enable Register, offset: 0x40 */ 5403 __IO uint32_t EVENTPEND; /**< Event Pengding Register, offset: 0x44 */ 5404 __IO uint32_t EVTPENDSET; /**< Set Event Pengding Register, offset: 0x48 */ 5405 __IO uint32_t EVTPENDCLEAR; /**< Clear Event Pengding Register, offset: 0x4C */ 5406 uint8_t RESERVED_1[48]; 5407 __IO uint32_t SLPCTRL; /**< Sleep Control Register, offset: 0x80 */ 5408 __IO uint32_t SLPSTATUS; /**< Sleep Status Register, offset: 0x84 */ 5409 } EVENT_Type; 5410 5411 /* ---------------------------------------------------------------------------- 5412 -- EVENT Register Masks 5413 ---------------------------------------------------------------------------- */ 5414 5415 /*! 5416 * @addtogroup EVENT_Register_Masks EVENT Register Masks 5417 * @{ 5418 */ 5419 5420 /*! @name INTPTEN - Interrupt Enable Register */ 5421 /*! @{ */ 5422 #define EVENT_INTPTEN_IEN_MASK (0xFFFFFFFFU) 5423 #define EVENT_INTPTEN_IEN_SHIFT (0U) 5424 /*! IEN - Interrupt n Enable 5425 * 0b00000000000000000000000000000000..Interrupt n is disabled. 5426 * 0b00000000000000000000000000000001..Interrupt n is enabled. 5427 */ 5428 #define EVENT_INTPTEN_IEN(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTEN_IEN_SHIFT)) & EVENT_INTPTEN_IEN_MASK) 5429 /*! @} */ 5430 5431 /*! @name INTPTPEND - Interrupt Pengding Register */ 5432 /*! @{ */ 5433 #define EVENT_INTPTPEND_IPEND_MASK (0xFFFFFFFFU) 5434 #define EVENT_INTPTPEND_IPEND_SHIFT (0U) 5435 /*! IPEND - Interrupt n Pending 5436 * 0b00000000000000000000000000000000..Interrupt n is not pending. 5437 * 0b00000000000000000000000000000001..Interrupt n is pending. 5438 */ 5439 #define EVENT_INTPTPEND_IPEND(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPEND_IPEND_SHIFT)) & EVENT_INTPTPEND_IPEND_MASK) 5440 /*! @} */ 5441 5442 /*! @name INTPTPENDSET - Set Interrupt Pengding Register */ 5443 /*! @{ */ 5444 #define EVENT_INTPTPENDSET_IPENDSET_MASK (0xFFFFFFFFU) 5445 #define EVENT_INTPTPENDSET_IPENDSET_SHIFT (0U) 5446 /*! IPENDSET - Set Interrupt n Pending 5447 * 0b00000000000000000000000000000000..Not set interrupt n in pending status 5448 * 0b00000000000000000000000000000001..Set interrupt n in pending status. 5449 */ 5450 #define EVENT_INTPTPENDSET_IPENDSET(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPENDSET_IPENDSET_SHIFT)) & EVENT_INTPTPENDSET_IPENDSET_MASK) 5451 /*! @} */ 5452 5453 /*! @name INTPTPENDCLEAR - Clear Interrupt Pengding Register */ 5454 /*! @{ */ 5455 #define EVENT_INTPTPENDCLEAR_IPENDCLEAR_MASK (0xFFFFFFFFU) 5456 #define EVENT_INTPTPENDCLEAR_IPENDCLEAR_SHIFT (0U) 5457 /*! IPENDCLEAR - Clear Interrupt n out of Pending 5458 * 0b00000000000000000000000000000000..Not clear interrupt n out of pending status 5459 * 0b00000000000000000000000000000001..Clear interrupt n out of pending status. 5460 */ 5461 #define EVENT_INTPTPENDCLEAR_IPENDCLEAR(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPENDCLEAR_IPENDCLEAR_SHIFT)) & EVENT_INTPTPENDCLEAR_IPENDCLEAR_MASK) 5462 /*! @} */ 5463 5464 /*! @name INTPTSECURE - Interrupt Secure Register */ 5465 /*! @{ */ 5466 #define EVENT_INTPTSECURE_ISECURE_MASK (0xFFFFFFFFU) 5467 #define EVENT_INTPTSECURE_ISECURE_SHIFT (0U) 5468 /*! ISECURE - Set secure feature of Interrupt n 5469 * 0b00000000000000000000000000000000..Set interrupt n out of security 5470 * 0b00000000000000000000000000000001..Set interrupt n in secruity. 5471 */ 5472 #define EVENT_INTPTSECURE_ISECURE(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTSECURE_ISECURE_SHIFT)) & EVENT_INTPTSECURE_ISECURE_MASK) 5473 /*! @} */ 5474 5475 /*! @name INTPTPRI - Interrupt Priority 0 Register..Interrupt Priority 3 Register */ 5476 /*! @{ */ 5477 #define EVENT_INTPTPRI_IPRI0_MASK (0x7U) 5478 #define EVENT_INTPTPRI_IPRI0_SHIFT (0U) 5479 #define EVENT_INTPTPRI_IPRI0(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI0_SHIFT)) & EVENT_INTPTPRI_IPRI0_MASK) 5480 #define EVENT_INTPTPRI_IPRI8_MASK (0x7U) 5481 #define EVENT_INTPTPRI_IPRI8_SHIFT (0U) 5482 #define EVENT_INTPTPRI_IPRI8(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI8_SHIFT)) & EVENT_INTPTPRI_IPRI8_MASK) 5483 #define EVENT_INTPTPRI_IPRI16_MASK (0x7U) 5484 #define EVENT_INTPTPRI_IPRI16_SHIFT (0U) 5485 #define EVENT_INTPTPRI_IPRI16(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI16_SHIFT)) & EVENT_INTPTPRI_IPRI16_MASK) 5486 #define EVENT_INTPTPRI_IPRI24_MASK (0x7U) 5487 #define EVENT_INTPTPRI_IPRI24_SHIFT (0U) 5488 #define EVENT_INTPTPRI_IPRI24(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI24_SHIFT)) & EVENT_INTPTPRI_IPRI24_MASK) 5489 #define EVENT_INTPTPRI_IPRI1_MASK (0x70U) 5490 #define EVENT_INTPTPRI_IPRI1_SHIFT (4U) 5491 #define EVENT_INTPTPRI_IPRI1(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI1_SHIFT)) & EVENT_INTPTPRI_IPRI1_MASK) 5492 #define EVENT_INTPTPRI_IPRI9_MASK (0x70U) 5493 #define EVENT_INTPTPRI_IPRI9_SHIFT (4U) 5494 #define EVENT_INTPTPRI_IPRI9(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI9_SHIFT)) & EVENT_INTPTPRI_IPRI9_MASK) 5495 #define EVENT_INTPTPRI_IPRI17_MASK (0x70U) 5496 #define EVENT_INTPTPRI_IPRI17_SHIFT (4U) 5497 #define EVENT_INTPTPRI_IPRI17(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI17_SHIFT)) & EVENT_INTPTPRI_IPRI17_MASK) 5498 #define EVENT_INTPTPRI_IPRI25_MASK (0x70U) 5499 #define EVENT_INTPTPRI_IPRI25_SHIFT (4U) 5500 #define EVENT_INTPTPRI_IPRI25(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI25_SHIFT)) & EVENT_INTPTPRI_IPRI25_MASK) 5501 #define EVENT_INTPTPRI_IPRI2_MASK (0x700U) 5502 #define EVENT_INTPTPRI_IPRI2_SHIFT (8U) 5503 #define EVENT_INTPTPRI_IPRI2(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI2_SHIFT)) & EVENT_INTPTPRI_IPRI2_MASK) 5504 #define EVENT_INTPTPRI_IPRI10_MASK (0x700U) 5505 #define EVENT_INTPTPRI_IPRI10_SHIFT (8U) 5506 #define EVENT_INTPTPRI_IPRI10(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI10_SHIFT)) & EVENT_INTPTPRI_IPRI10_MASK) 5507 #define EVENT_INTPTPRI_IPRI18_MASK (0x700U) 5508 #define EVENT_INTPTPRI_IPRI18_SHIFT (8U) 5509 #define EVENT_INTPTPRI_IPRI18(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI18_SHIFT)) & EVENT_INTPTPRI_IPRI18_MASK) 5510 #define EVENT_INTPTPRI_IPRI26_MASK (0x700U) 5511 #define EVENT_INTPTPRI_IPRI26_SHIFT (8U) 5512 #define EVENT_INTPTPRI_IPRI26(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI26_SHIFT)) & EVENT_INTPTPRI_IPRI26_MASK) 5513 #define EVENT_INTPTPRI_IPRI3_MASK (0x7000U) 5514 #define EVENT_INTPTPRI_IPRI3_SHIFT (12U) 5515 #define EVENT_INTPTPRI_IPRI3(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI3_SHIFT)) & EVENT_INTPTPRI_IPRI3_MASK) 5516 #define EVENT_INTPTPRI_IPRI11_MASK (0x7000U) 5517 #define EVENT_INTPTPRI_IPRI11_SHIFT (12U) 5518 #define EVENT_INTPTPRI_IPRI11(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI11_SHIFT)) & EVENT_INTPTPRI_IPRI11_MASK) 5519 #define EVENT_INTPTPRI_IPRI19_MASK (0x7000U) 5520 #define EVENT_INTPTPRI_IPRI19_SHIFT (12U) 5521 #define EVENT_INTPTPRI_IPRI19(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI19_SHIFT)) & EVENT_INTPTPRI_IPRI19_MASK) 5522 #define EVENT_INTPTPRI_IPRI27_MASK (0x7000U) 5523 #define EVENT_INTPTPRI_IPRI27_SHIFT (12U) 5524 #define EVENT_INTPTPRI_IPRI27(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI27_SHIFT)) & EVENT_INTPTPRI_IPRI27_MASK) 5525 #define EVENT_INTPTPRI_IPRI4_MASK (0x70000U) 5526 #define EVENT_INTPTPRI_IPRI4_SHIFT (16U) 5527 #define EVENT_INTPTPRI_IPRI4(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI4_SHIFT)) & EVENT_INTPTPRI_IPRI4_MASK) 5528 #define EVENT_INTPTPRI_IPRI12_MASK (0x70000U) 5529 #define EVENT_INTPTPRI_IPRI12_SHIFT (16U) 5530 #define EVENT_INTPTPRI_IPRI12(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI12_SHIFT)) & EVENT_INTPTPRI_IPRI12_MASK) 5531 #define EVENT_INTPTPRI_IPRI20_MASK (0x70000U) 5532 #define EVENT_INTPTPRI_IPRI20_SHIFT (16U) 5533 #define EVENT_INTPTPRI_IPRI20(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI20_SHIFT)) & EVENT_INTPTPRI_IPRI20_MASK) 5534 #define EVENT_INTPTPRI_IPRI28_MASK (0x70000U) 5535 #define EVENT_INTPTPRI_IPRI28_SHIFT (16U) 5536 #define EVENT_INTPTPRI_IPRI28(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI28_SHIFT)) & EVENT_INTPTPRI_IPRI28_MASK) 5537 #define EVENT_INTPTPRI_IPRI5_MASK (0x700000U) 5538 #define EVENT_INTPTPRI_IPRI5_SHIFT (20U) 5539 #define EVENT_INTPTPRI_IPRI5(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI5_SHIFT)) & EVENT_INTPTPRI_IPRI5_MASK) 5540 #define EVENT_INTPTPRI_IPRI13_MASK (0x700000U) 5541 #define EVENT_INTPTPRI_IPRI13_SHIFT (20U) 5542 #define EVENT_INTPTPRI_IPRI13(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI13_SHIFT)) & EVENT_INTPTPRI_IPRI13_MASK) 5543 #define EVENT_INTPTPRI_IPRI21_MASK (0x700000U) 5544 #define EVENT_INTPTPRI_IPRI21_SHIFT (20U) 5545 #define EVENT_INTPTPRI_IPRI21(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI21_SHIFT)) & EVENT_INTPTPRI_IPRI21_MASK) 5546 #define EVENT_INTPTPRI_IPRI29_MASK (0x700000U) 5547 #define EVENT_INTPTPRI_IPRI29_SHIFT (20U) 5548 #define EVENT_INTPTPRI_IPRI29(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI29_SHIFT)) & EVENT_INTPTPRI_IPRI29_MASK) 5549 #define EVENT_INTPTPRI_IPRI6_MASK (0x7000000U) 5550 #define EVENT_INTPTPRI_IPRI6_SHIFT (24U) 5551 #define EVENT_INTPTPRI_IPRI6(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI6_SHIFT)) & EVENT_INTPTPRI_IPRI6_MASK) 5552 #define EVENT_INTPTPRI_IPRI14_MASK (0x7000000U) 5553 #define EVENT_INTPTPRI_IPRI14_SHIFT (24U) 5554 #define EVENT_INTPTPRI_IPRI14(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI14_SHIFT)) & EVENT_INTPTPRI_IPRI14_MASK) 5555 #define EVENT_INTPTPRI_IPRI22_MASK (0x7000000U) 5556 #define EVENT_INTPTPRI_IPRI22_SHIFT (24U) 5557 #define EVENT_INTPTPRI_IPRI22(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI22_SHIFT)) & EVENT_INTPTPRI_IPRI22_MASK) 5558 #define EVENT_INTPTPRI_IPRI30_MASK (0x7000000U) 5559 #define EVENT_INTPTPRI_IPRI30_SHIFT (24U) 5560 #define EVENT_INTPTPRI_IPRI30(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI30_SHIFT)) & EVENT_INTPTPRI_IPRI30_MASK) 5561 #define EVENT_INTPTPRI_IPRI7_MASK (0x70000000U) 5562 #define EVENT_INTPTPRI_IPRI7_SHIFT (28U) 5563 #define EVENT_INTPTPRI_IPRI7(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI7_SHIFT)) & EVENT_INTPTPRI_IPRI7_MASK) 5564 #define EVENT_INTPTPRI_IPRI15_MASK (0x70000000U) 5565 #define EVENT_INTPTPRI_IPRI15_SHIFT (28U) 5566 #define EVENT_INTPTPRI_IPRI15(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI15_SHIFT)) & EVENT_INTPTPRI_IPRI15_MASK) 5567 #define EVENT_INTPTPRI_IPRI23_MASK (0x70000000U) 5568 #define EVENT_INTPTPRI_IPRI23_SHIFT (28U) 5569 #define EVENT_INTPTPRI_IPRI23(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI23_SHIFT)) & EVENT_INTPTPRI_IPRI23_MASK) 5570 #define EVENT_INTPTPRI_IPRI31_MASK (0x70000000U) 5571 #define EVENT_INTPTPRI_IPRI31_SHIFT (28U) 5572 #define EVENT_INTPTPRI_IPRI31(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI31_SHIFT)) & EVENT_INTPTPRI_IPRI31_MASK) 5573 /*! @} */ 5574 5575 /* The count of EVENT_INTPTPRI */ 5576 #define EVENT_INTPTPRI_COUNT (4U) 5577 5578 /*! @name INTPRIBASE - Interrupt Priority Base */ 5579 /*! @{ */ 5580 #define EVENT_INTPRIBASE_IPBASE_MASK (0xFU) 5581 #define EVENT_INTPRIBASE_IPBASE_SHIFT (0U) 5582 #define EVENT_INTPRIBASE_IPBASE(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPRIBASE_IPBASE_SHIFT)) & EVENT_INTPRIBASE_IPBASE_MASK) 5583 /*! @} */ 5584 5585 /*! @name INTPTENACTIVE - Interrupt Active Register */ 5586 /*! @{ */ 5587 #define EVENT_INTPTENACTIVE_IACTIVE_MASK (0xFFFFFFFFU) 5588 #define EVENT_INTPTENACTIVE_IACTIVE_SHIFT (0U) 5589 /*! IACTIVE - Interrupt n Enable 5590 * 0b00000000000000000000000000000000..Interrupt n is not active. 5591 * 0b00000000000000000000000000000001..Interrupt n is active.. 5592 */ 5593 #define EVENT_INTPTENACTIVE_IACTIVE(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTENACTIVE_IACTIVE_SHIFT)) & EVENT_INTPTENACTIVE_IACTIVE_MASK) 5594 /*! @} */ 5595 5596 /*! @name INTACTPRI - Interrupt Active Priority 0 Register..Interrupt Active Priority 3 Register */ 5597 /*! @{ */ 5598 #define EVENT_INTACTPRI_IAPRI0_MASK (0x7U) 5599 #define EVENT_INTACTPRI_IAPRI0_SHIFT (0U) 5600 #define EVENT_INTACTPRI_IAPRI0(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI0_SHIFT)) & EVENT_INTACTPRI_IAPRI0_MASK) 5601 #define EVENT_INTACTPRI_IAPRI8_MASK (0x7U) 5602 #define EVENT_INTACTPRI_IAPRI8_SHIFT (0U) 5603 #define EVENT_INTACTPRI_IAPRI8(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI8_SHIFT)) & EVENT_INTACTPRI_IAPRI8_MASK) 5604 #define EVENT_INTACTPRI_IAPRI16_MASK (0x7U) 5605 #define EVENT_INTACTPRI_IAPRI16_SHIFT (0U) 5606 #define EVENT_INTACTPRI_IAPRI16(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI16_SHIFT)) & EVENT_INTACTPRI_IAPRI16_MASK) 5607 #define EVENT_INTACTPRI_IAPRI24_MASK (0x7U) 5608 #define EVENT_INTACTPRI_IAPRI24_SHIFT (0U) 5609 #define EVENT_INTACTPRI_IAPRI24(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI24_SHIFT)) & EVENT_INTACTPRI_IAPRI24_MASK) 5610 #define EVENT_INTACTPRI_IAPRI1_MASK (0x70U) 5611 #define EVENT_INTACTPRI_IAPRI1_SHIFT (4U) 5612 #define EVENT_INTACTPRI_IAPRI1(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI1_SHIFT)) & EVENT_INTACTPRI_IAPRI1_MASK) 5613 #define EVENT_INTACTPRI_IAPRI9_MASK (0x70U) 5614 #define EVENT_INTACTPRI_IAPRI9_SHIFT (4U) 5615 #define EVENT_INTACTPRI_IAPRI9(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI9_SHIFT)) & EVENT_INTACTPRI_IAPRI9_MASK) 5616 #define EVENT_INTACTPRI_IAPRI17_MASK (0x70U) 5617 #define EVENT_INTACTPRI_IAPRI17_SHIFT (4U) 5618 #define EVENT_INTACTPRI_IAPRI17(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI17_SHIFT)) & EVENT_INTACTPRI_IAPRI17_MASK) 5619 #define EVENT_INTACTPRI_IAPRI25_MASK (0x70U) 5620 #define EVENT_INTACTPRI_IAPRI25_SHIFT (4U) 5621 #define EVENT_INTACTPRI_IAPRI25(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI25_SHIFT)) & EVENT_INTACTPRI_IAPRI25_MASK) 5622 #define EVENT_INTACTPRI_IAPRI2_MASK (0x700U) 5623 #define EVENT_INTACTPRI_IAPRI2_SHIFT (8U) 5624 #define EVENT_INTACTPRI_IAPRI2(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI2_SHIFT)) & EVENT_INTACTPRI_IAPRI2_MASK) 5625 #define EVENT_INTACTPRI_IAPRI10_MASK (0x700U) 5626 #define EVENT_INTACTPRI_IAPRI10_SHIFT (8U) 5627 #define EVENT_INTACTPRI_IAPRI10(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI10_SHIFT)) & EVENT_INTACTPRI_IAPRI10_MASK) 5628 #define EVENT_INTACTPRI_IAPRI18_MASK (0x700U) 5629 #define EVENT_INTACTPRI_IAPRI18_SHIFT (8U) 5630 #define EVENT_INTACTPRI_IAPRI18(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI18_SHIFT)) & EVENT_INTACTPRI_IAPRI18_MASK) 5631 #define EVENT_INTACTPRI_IAPRI26_MASK (0x700U) 5632 #define EVENT_INTACTPRI_IAPRI26_SHIFT (8U) 5633 #define EVENT_INTACTPRI_IAPRI26(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI26_SHIFT)) & EVENT_INTACTPRI_IAPRI26_MASK) 5634 #define EVENT_INTACTPRI_IAPRI3_MASK (0x7000U) 5635 #define EVENT_INTACTPRI_IAPRI3_SHIFT (12U) 5636 #define EVENT_INTACTPRI_IAPRI3(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI3_SHIFT)) & EVENT_INTACTPRI_IAPRI3_MASK) 5637 #define EVENT_INTACTPRI_IAPRI11_MASK (0x7000U) 5638 #define EVENT_INTACTPRI_IAPRI11_SHIFT (12U) 5639 #define EVENT_INTACTPRI_IAPRI11(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI11_SHIFT)) & EVENT_INTACTPRI_IAPRI11_MASK) 5640 #define EVENT_INTACTPRI_IAPRI19_MASK (0x7000U) 5641 #define EVENT_INTACTPRI_IAPRI19_SHIFT (12U) 5642 #define EVENT_INTACTPRI_IAPRI19(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI19_SHIFT)) & EVENT_INTACTPRI_IAPRI19_MASK) 5643 #define EVENT_INTACTPRI_IAPRI27_MASK (0x7000U) 5644 #define EVENT_INTACTPRI_IAPRI27_SHIFT (12U) 5645 #define EVENT_INTACTPRI_IAPRI27(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI27_SHIFT)) & EVENT_INTACTPRI_IAPRI27_MASK) 5646 #define EVENT_INTACTPRI_IAPRI4_MASK (0x70000U) 5647 #define EVENT_INTACTPRI_IAPRI4_SHIFT (16U) 5648 #define EVENT_INTACTPRI_IAPRI4(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI4_SHIFT)) & EVENT_INTACTPRI_IAPRI4_MASK) 5649 #define EVENT_INTACTPRI_IAPRI12_MASK (0x70000U) 5650 #define EVENT_INTACTPRI_IAPRI12_SHIFT (16U) 5651 #define EVENT_INTACTPRI_IAPRI12(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI12_SHIFT)) & EVENT_INTACTPRI_IAPRI12_MASK) 5652 #define EVENT_INTACTPRI_IAPRI20_MASK (0x70000U) 5653 #define EVENT_INTACTPRI_IAPRI20_SHIFT (16U) 5654 #define EVENT_INTACTPRI_IAPRI20(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI20_SHIFT)) & EVENT_INTACTPRI_IAPRI20_MASK) 5655 #define EVENT_INTACTPRI_IAPRI28_MASK (0x70000U) 5656 #define EVENT_INTACTPRI_IAPRI28_SHIFT (16U) 5657 #define EVENT_INTACTPRI_IAPRI28(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI28_SHIFT)) & EVENT_INTACTPRI_IAPRI28_MASK) 5658 #define EVENT_INTACTPRI_IAPRI5_MASK (0x700000U) 5659 #define EVENT_INTACTPRI_IAPRI5_SHIFT (20U) 5660 #define EVENT_INTACTPRI_IAPRI5(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI5_SHIFT)) & EVENT_INTACTPRI_IAPRI5_MASK) 5661 #define EVENT_INTACTPRI_IAPRI13_MASK (0x700000U) 5662 #define EVENT_INTACTPRI_IAPRI13_SHIFT (20U) 5663 #define EVENT_INTACTPRI_IAPRI13(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI13_SHIFT)) & EVENT_INTACTPRI_IAPRI13_MASK) 5664 #define EVENT_INTACTPRI_IAPRI21_MASK (0x700000U) 5665 #define EVENT_INTACTPRI_IAPRI21_SHIFT (20U) 5666 #define EVENT_INTACTPRI_IAPRI21(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI21_SHIFT)) & EVENT_INTACTPRI_IAPRI21_MASK) 5667 #define EVENT_INTACTPRI_IAPRI29_MASK (0x700000U) 5668 #define EVENT_INTACTPRI_IAPRI29_SHIFT (20U) 5669 #define EVENT_INTACTPRI_IAPRI29(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI29_SHIFT)) & EVENT_INTACTPRI_IAPRI29_MASK) 5670 #define EVENT_INTACTPRI_IAPRI6_MASK (0x7000000U) 5671 #define EVENT_INTACTPRI_IAPRI6_SHIFT (24U) 5672 #define EVENT_INTACTPRI_IAPRI6(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI6_SHIFT)) & EVENT_INTACTPRI_IAPRI6_MASK) 5673 #define EVENT_INTACTPRI_IAPRI14_MASK (0x7000000U) 5674 #define EVENT_INTACTPRI_IAPRI14_SHIFT (24U) 5675 #define EVENT_INTACTPRI_IAPRI14(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI14_SHIFT)) & EVENT_INTACTPRI_IAPRI14_MASK) 5676 #define EVENT_INTACTPRI_IAPRI22_MASK (0x7000000U) 5677 #define EVENT_INTACTPRI_IAPRI22_SHIFT (24U) 5678 #define EVENT_INTACTPRI_IAPRI22(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI22_SHIFT)) & EVENT_INTACTPRI_IAPRI22_MASK) 5679 #define EVENT_INTACTPRI_IAPRI30_MASK (0x7000000U) 5680 #define EVENT_INTACTPRI_IAPRI30_SHIFT (24U) 5681 #define EVENT_INTACTPRI_IAPRI30(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI30_SHIFT)) & EVENT_INTACTPRI_IAPRI30_MASK) 5682 #define EVENT_INTACTPRI_IAPRI7_MASK (0x70000000U) 5683 #define EVENT_INTACTPRI_IAPRI7_SHIFT (28U) 5684 #define EVENT_INTACTPRI_IAPRI7(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI7_SHIFT)) & EVENT_INTACTPRI_IAPRI7_MASK) 5685 #define EVENT_INTACTPRI_IAPRI15_MASK (0x70000000U) 5686 #define EVENT_INTACTPRI_IAPRI15_SHIFT (28U) 5687 #define EVENT_INTACTPRI_IAPRI15(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI15_SHIFT)) & EVENT_INTACTPRI_IAPRI15_MASK) 5688 #define EVENT_INTACTPRI_IAPRI23_MASK (0x70000000U) 5689 #define EVENT_INTACTPRI_IAPRI23_SHIFT (28U) 5690 #define EVENT_INTACTPRI_IAPRI23(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI23_SHIFT)) & EVENT_INTACTPRI_IAPRI23_MASK) 5691 #define EVENT_INTACTPRI_IAPRI31_MASK (0x70000000U) 5692 #define EVENT_INTACTPRI_IAPRI31_SHIFT (28U) 5693 #define EVENT_INTACTPRI_IAPRI31(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI31_SHIFT)) & EVENT_INTACTPRI_IAPRI31_MASK) 5694 /*! @} */ 5695 5696 /* The count of EVENT_INTACTPRI */ 5697 #define EVENT_INTACTPRI_COUNT (4U) 5698 5699 /*! @name EVENTEN - Event Enable Register */ 5700 /*! @{ */ 5701 #define EVENT_EVENTEN_EEN_MASK (0xFFFFFFFFU) 5702 #define EVENT_EVENTEN_EEN_SHIFT (0U) 5703 /*! EEN - Event n Enable 5704 * 0b00000000000000000000000000000000..Event n is disabled. 5705 * 0b00000000000000000000000000000001..Event n is enabled. 5706 */ 5707 #define EVENT_EVENTEN_EEN(x) (((uint32_t)(((uint32_t)(x)) << EVENT_EVENTEN_EEN_SHIFT)) & EVENT_EVENTEN_EEN_MASK) 5708 /*! @} */ 5709 5710 /*! @name EVENTPEND - Event Pengding Register */ 5711 /*! @{ */ 5712 #define EVENT_EVENTPEND_EPEND_MASK (0xFFFFFFFFU) 5713 #define EVENT_EVENTPEND_EPEND_SHIFT (0U) 5714 /*! EPEND - Event n Pending 5715 * 0b00000000000000000000000000000000..Event n is not pending. 5716 * 0b00000000000000000000000000000001..Event n is pending. 5717 */ 5718 #define EVENT_EVENTPEND_EPEND(x) (((uint32_t)(((uint32_t)(x)) << EVENT_EVENTPEND_EPEND_SHIFT)) & EVENT_EVENTPEND_EPEND_MASK) 5719 /*! @} */ 5720 5721 /*! @name EVTPENDSET - Set Event Pengding Register */ 5722 /*! @{ */ 5723 #define EVENT_EVTPENDSET_EPENDSET_MASK (0xFFFFFFFFU) 5724 #define EVENT_EVTPENDSET_EPENDSET_SHIFT (0U) 5725 /*! EPENDSET - Set Event n Pending 5726 * 0b00000000000000000000000000000000..Not set event n in pending status 5727 * 0b00000000000000000000000000000001..Set event n in pending status. 5728 */ 5729 #define EVENT_EVTPENDSET_EPENDSET(x) (((uint32_t)(((uint32_t)(x)) << EVENT_EVTPENDSET_EPENDSET_SHIFT)) & EVENT_EVTPENDSET_EPENDSET_MASK) 5730 /*! @} */ 5731 5732 /*! @name EVTPENDCLEAR - Clear Event Pengding Register */ 5733 /*! @{ */ 5734 #define EVENT_EVTPENDCLEAR_EPENDCLEAR_MASK (0xFFFFFFFFU) 5735 #define EVENT_EVTPENDCLEAR_EPENDCLEAR_SHIFT (0U) 5736 /*! EPENDCLEAR - Clear Event n out of Pending 5737 * 0b00000000000000000000000000000000..Not clear event n out of pending status 5738 * 0b00000000000000000000000000000001..Clear event n out of pending status. 5739 */ 5740 #define EVENT_EVTPENDCLEAR_EPENDCLEAR(x) (((uint32_t)(((uint32_t)(x)) << EVENT_EVTPENDCLEAR_EPENDCLEAR_SHIFT)) & EVENT_EVTPENDCLEAR_EPENDCLEAR_MASK) 5741 /*! @} */ 5742 5743 /*! @name SLPCTRL - Sleep Control Register */ 5744 /*! @{ */ 5745 #define EVENT_SLPCTRL_SLPCTRL_MASK (0x3U) 5746 #define EVENT_SLPCTRL_SLPCTRL_SHIFT (0U) 5747 /*! SLPCTRL - Sleep Mode Control 5748 * 0b01..Sleep enable 5749 * 0b10..Deep sleep enable 5750 */ 5751 #define EVENT_SLPCTRL_SLPCTRL(x) (((uint32_t)(((uint32_t)(x)) << EVENT_SLPCTRL_SLPCTRL_SHIFT)) & EVENT_SLPCTRL_SLPCTRL_MASK) 5752 #define EVENT_SLPCTRL_SYSRSTREQST_MASK (0x80000000U) 5753 #define EVENT_SLPCTRL_SYSRSTREQST_SHIFT (31U) 5754 /*! SYSRSTREQST - System Reset Request 5755 * 0b0..Do not send system reset request. 5756 * 0b1..Send system reset request 5757 */ 5758 #define EVENT_SLPCTRL_SYSRSTREQST(x) (((uint32_t)(((uint32_t)(x)) << EVENT_SLPCTRL_SYSRSTREQST_SHIFT)) & EVENT_SLPCTRL_SYSRSTREQST_MASK) 5759 /*! @} */ 5760 5761 /*! @name SLPSTATUS - Sleep Status Register */ 5762 /*! @{ */ 5763 #define EVENT_SLPSTATUS_SLPSTAT_MASK (0x3U) 5764 #define EVENT_SLPSTATUS_SLPSTAT_SHIFT (0U) 5765 /*! SLPSTAT - Sleep Status 5766 * 0b01..In sleep mode 5767 * 0b10..In deep sleep mode 5768 */ 5769 #define EVENT_SLPSTATUS_SLPSTAT(x) (((uint32_t)(((uint32_t)(x)) << EVENT_SLPSTATUS_SLPSTAT_SHIFT)) & EVENT_SLPSTATUS_SLPSTAT_MASK) 5770 /*! @} */ 5771 5772 5773 /*! 5774 * @} 5775 */ /* end of group EVENT_Register_Masks */ 5776 5777 5778 /* EVENT - Peripheral instance base addresses */ 5779 /** Peripheral EVENT0 base address */ 5780 #define EVENT0_BASE (0xE0041000u) 5781 /** Peripheral EVENT0 base pointer */ 5782 #define EVENT0 ((EVENT_Type *)EVENT0_BASE) 5783 /** Array initializer of EVENT peripheral base addresses */ 5784 #define EVENT_BASE_ADDRS { EVENT0_BASE } 5785 /** Array initializer of EVENT peripheral base pointers */ 5786 #define EVENT_BASE_PTRS { EVENT0 } 5787 5788 /*! 5789 * @} 5790 */ /* end of group EVENT_Peripheral_Access_Layer */ 5791 5792 5793 /* ---------------------------------------------------------------------------- 5794 -- EWM Peripheral Access Layer 5795 ---------------------------------------------------------------------------- */ 5796 5797 /*! 5798 * @addtogroup EWM_Peripheral_Access_Layer EWM Peripheral Access Layer 5799 * @{ 5800 */ 5801 5802 /** EWM - Register Layout Typedef */ 5803 typedef struct { 5804 __IO uint8_t CTRL; /**< Control Register, offset: 0x0 */ 5805 __O uint8_t SERV; /**< Service Register, offset: 0x1 */ 5806 __IO uint8_t CMPL; /**< Compare Low Register, offset: 0x2 */ 5807 __IO uint8_t CMPH; /**< Compare High Register, offset: 0x3 */ 5808 uint8_t RESERVED_0[1]; 5809 __IO uint8_t CLKPRESCALER; /**< Clock Prescaler Register, offset: 0x5 */ 5810 } EWM_Type; 5811 5812 /* ---------------------------------------------------------------------------- 5813 -- EWM Register Masks 5814 ---------------------------------------------------------------------------- */ 5815 5816 /*! 5817 * @addtogroup EWM_Register_Masks EWM Register Masks 5818 * @{ 5819 */ 5820 5821 /*! @name CTRL - Control Register */ 5822 /*! @{ */ 5823 #define EWM_CTRL_EWMEN_MASK (0x1U) 5824 #define EWM_CTRL_EWMEN_SHIFT (0U) 5825 #define EWM_CTRL_EWMEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_EWMEN_SHIFT)) & EWM_CTRL_EWMEN_MASK) 5826 #define EWM_CTRL_ASSIN_MASK (0x2U) 5827 #define EWM_CTRL_ASSIN_SHIFT (1U) 5828 #define EWM_CTRL_ASSIN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_ASSIN_SHIFT)) & EWM_CTRL_ASSIN_MASK) 5829 #define EWM_CTRL_INEN_MASK (0x4U) 5830 #define EWM_CTRL_INEN_SHIFT (2U) 5831 #define EWM_CTRL_INEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_INEN_SHIFT)) & EWM_CTRL_INEN_MASK) 5832 #define EWM_CTRL_INTEN_MASK (0x8U) 5833 #define EWM_CTRL_INTEN_SHIFT (3U) 5834 #define EWM_CTRL_INTEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_INTEN_SHIFT)) & EWM_CTRL_INTEN_MASK) 5835 /*! @} */ 5836 5837 /*! @name SERV - Service Register */ 5838 /*! @{ */ 5839 #define EWM_SERV_SERVICE_MASK (0xFFU) 5840 #define EWM_SERV_SERVICE_SHIFT (0U) 5841 #define EWM_SERV_SERVICE(x) (((uint8_t)(((uint8_t)(x)) << EWM_SERV_SERVICE_SHIFT)) & EWM_SERV_SERVICE_MASK) 5842 /*! @} */ 5843 5844 /*! @name CMPL - Compare Low Register */ 5845 /*! @{ */ 5846 #define EWM_CMPL_COMPAREL_MASK (0xFFU) 5847 #define EWM_CMPL_COMPAREL_SHIFT (0U) 5848 #define EWM_CMPL_COMPAREL(x) (((uint8_t)(((uint8_t)(x)) << EWM_CMPL_COMPAREL_SHIFT)) & EWM_CMPL_COMPAREL_MASK) 5849 /*! @} */ 5850 5851 /*! @name CMPH - Compare High Register */ 5852 /*! @{ */ 5853 #define EWM_CMPH_COMPAREH_MASK (0xFFU) 5854 #define EWM_CMPH_COMPAREH_SHIFT (0U) 5855 #define EWM_CMPH_COMPAREH(x) (((uint8_t)(((uint8_t)(x)) << EWM_CMPH_COMPAREH_SHIFT)) & EWM_CMPH_COMPAREH_MASK) 5856 /*! @} */ 5857 5858 /*! @name CLKPRESCALER - Clock Prescaler Register */ 5859 /*! @{ */ 5860 #define EWM_CLKPRESCALER_CLK_DIV_MASK (0xFFU) 5861 #define EWM_CLKPRESCALER_CLK_DIV_SHIFT (0U) 5862 #define EWM_CLKPRESCALER_CLK_DIV(x) (((uint8_t)(((uint8_t)(x)) << EWM_CLKPRESCALER_CLK_DIV_SHIFT)) & EWM_CLKPRESCALER_CLK_DIV_MASK) 5863 /*! @} */ 5864 5865 5866 /*! 5867 * @} 5868 */ /* end of group EWM_Register_Masks */ 5869 5870 5871 /* EWM - Peripheral instance base addresses */ 5872 /** Peripheral EWM base address */ 5873 #define EWM_BASE (0x40022000u) 5874 /** Peripheral EWM base pointer */ 5875 #define EWM ((EWM_Type *)EWM_BASE) 5876 /** Array initializer of EWM peripheral base addresses */ 5877 #define EWM_BASE_ADDRS { EWM_BASE } 5878 /** Array initializer of EWM peripheral base pointers */ 5879 #define EWM_BASE_PTRS { EWM } 5880 /** Interrupt vectors for the EWM peripheral type */ 5881 #define EWM_IRQS { EWM_IRQn } 5882 5883 /*! 5884 * @} 5885 */ /* end of group EWM_Peripheral_Access_Layer */ 5886 5887 5888 /* ---------------------------------------------------------------------------- 5889 -- FB Peripheral Access Layer 5890 ---------------------------------------------------------------------------- */ 5891 5892 /*! 5893 * @addtogroup FB_Peripheral_Access_Layer FB Peripheral Access Layer 5894 * @{ 5895 */ 5896 5897 /** FB - Register Layout Typedef */ 5898 typedef struct { 5899 struct { /* offset: 0x0, array step: 0xC */ 5900 __IO uint32_t CSAR; /**< Chip Select Address Register, array offset: 0x0, array step: 0xC */ 5901 __IO uint32_t CSMR; /**< Chip Select Mask Register, array offset: 0x4, array step: 0xC */ 5902 __IO uint32_t CSCR; /**< Chip Select Control Register, array offset: 0x8, array step: 0xC */ 5903 } CS[6]; 5904 uint8_t RESERVED_0[24]; 5905 __IO uint32_t CSPMCR; /**< Chip Select Port Multiplexing Control Register, offset: 0x60 */ 5906 } FB_Type; 5907 5908 /* ---------------------------------------------------------------------------- 5909 -- FB Register Masks 5910 ---------------------------------------------------------------------------- */ 5911 5912 /*! 5913 * @addtogroup FB_Register_Masks FB Register Masks 5914 * @{ 5915 */ 5916 5917 /*! @name CSAR - Chip Select Address Register */ 5918 /*! @{ */ 5919 #define FB_CSAR_BA_MASK (0xFFFF0000U) 5920 #define FB_CSAR_BA_SHIFT (16U) 5921 #define FB_CSAR_BA(x) (((uint32_t)(((uint32_t)(x)) << FB_CSAR_BA_SHIFT)) & FB_CSAR_BA_MASK) 5922 /*! @} */ 5923 5924 /* The count of FB_CSAR */ 5925 #define FB_CSAR_COUNT (6U) 5926 5927 /*! @name CSMR - Chip Select Mask Register */ 5928 /*! @{ */ 5929 #define FB_CSMR_V_MASK (0x1U) 5930 #define FB_CSMR_V_SHIFT (0U) 5931 /*! V - Valid 5932 * 0b0..Chip-select is invalid. 5933 * 0b1..Chip-select is valid. 5934 */ 5935 #define FB_CSMR_V(x) (((uint32_t)(((uint32_t)(x)) << FB_CSMR_V_SHIFT)) & FB_CSMR_V_MASK) 5936 #define FB_CSMR_WP_MASK (0x100U) 5937 #define FB_CSMR_WP_SHIFT (8U) 5938 /*! WP - Write Protect 5939 * 0b0..Write accesses are allowed. 5940 * 0b1..Write accesses are not allowed. Attempting to write to the range of addresses for which the WP bit is set results in a bus error termination of the internal cycle and no external cycle. 5941 */ 5942 #define FB_CSMR_WP(x) (((uint32_t)(((uint32_t)(x)) << FB_CSMR_WP_SHIFT)) & FB_CSMR_WP_MASK) 5943 #define FB_CSMR_BAM_MASK (0xFFFF0000U) 5944 #define FB_CSMR_BAM_SHIFT (16U) 5945 /*! BAM - Base Address Mask 5946 * 0b0000000000000000..The corresponding address bit in CSAR is used in the chip-select decode. 5947 * 0b0000000000000001..The corresponding address bit in CSAR is a don't care in the chip-select decode. 5948 */ 5949 #define FB_CSMR_BAM(x) (((uint32_t)(((uint32_t)(x)) << FB_CSMR_BAM_SHIFT)) & FB_CSMR_BAM_MASK) 5950 /*! @} */ 5951 5952 /* The count of FB_CSMR */ 5953 #define FB_CSMR_COUNT (6U) 5954 5955 /*! @name CSCR - Chip Select Control Register */ 5956 /*! @{ */ 5957 #define FB_CSCR_BSTW_MASK (0x8U) 5958 #define FB_CSCR_BSTW_SHIFT (3U) 5959 /*! BSTW - Burst-Write Enable 5960 * 0b0..Disabled. Data exceeding the specified port size is broken into individual, port-sized, non-burst writes. For example, a 32-bit write to an 8-bit port takes four byte writes. 5961 * 0b1..Enabled. Enables burst write of data larger than the specified port size, including 32-bit writes to 8- and 16-bit ports, 16-bit writes to 8-bit ports, and line writes to 8-, 16-, and 32-bit ports. 5962 */ 5963 #define FB_CSCR_BSTW(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_BSTW_SHIFT)) & FB_CSCR_BSTW_MASK) 5964 #define FB_CSCR_BSTR_MASK (0x10U) 5965 #define FB_CSCR_BSTR_SHIFT (4U) 5966 /*! BSTR - Burst-Read Enable 5967 * 0b0..Disabled. Data exceeding the specified port size is broken into individual, port-sized, non-burst reads. For example, a 32-bit read from an 8-bit port is broken into four 8-bit reads. 5968 * 0b1..Enabled. Enables data burst reads larger than the specified port size, including 32-bit reads from 8- and 16-bit ports, 16-bit reads from 8-bit ports, and line reads from 8-, 16-, and 32-bit ports. 5969 */ 5970 #define FB_CSCR_BSTR(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_BSTR_SHIFT)) & FB_CSCR_BSTR_MASK) 5971 #define FB_CSCR_BEM_MASK (0x20U) 5972 #define FB_CSCR_BEM_SHIFT (5U) 5973 /*! BEM - Byte-Enable Mode 5974 * 0b0..FB_BE_B is asserted for data write only. 5975 * 0b1..FB_BE_B is asserted for data read and write accesses. 5976 */ 5977 #define FB_CSCR_BEM(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_BEM_SHIFT)) & FB_CSCR_BEM_MASK) 5978 #define FB_CSCR_PS_MASK (0xC0U) 5979 #define FB_CSCR_PS_SHIFT (6U) 5980 /*! PS - Port Size 5981 * 0b00..32-bit port size. Valid data is sampled and driven on FB_D[31:0]. 5982 * 0b01..8-bit port size. Valid data is sampled and driven on FB_D[31:24] when BLS is 0b, or FB_D[7:0] when BLS is 1b. 5983 * 0b1x..16-bit port size. Valid data is sampled and driven on FB_D[31:16] when BLS is 0b, or FB_D[15:0] when BLS is 1b. 5984 */ 5985 #define FB_CSCR_PS(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_PS_SHIFT)) & FB_CSCR_PS_MASK) 5986 #define FB_CSCR_AA_MASK (0x100U) 5987 #define FB_CSCR_AA_SHIFT (8U) 5988 /*! AA - Auto-Acknowledge Enable 5989 * 0b0..Disabled. No internal transfer acknowledge is asserted and the cycle is terminated externally. 5990 * 0b1..Enabled. Internal transfer acknowledge is asserted as specified by WS. 5991 */ 5992 #define FB_CSCR_AA(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_AA_SHIFT)) & FB_CSCR_AA_MASK) 5993 #define FB_CSCR_BLS_MASK (0x200U) 5994 #define FB_CSCR_BLS_SHIFT (9U) 5995 /*! BLS - Byte-Lane Shift 5996 * 0b0..Not shifted. Data is left-aligned on FB_AD. 5997 * 0b1..Shifted. Data is right-aligned on FB_AD. 5998 */ 5999 #define FB_CSCR_BLS(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_BLS_SHIFT)) & FB_CSCR_BLS_MASK) 6000 #define FB_CSCR_WS_MASK (0xFC00U) 6001 #define FB_CSCR_WS_SHIFT (10U) 6002 #define FB_CSCR_WS(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_WS_SHIFT)) & FB_CSCR_WS_MASK) 6003 #define FB_CSCR_WRAH_MASK (0x30000U) 6004 #define FB_CSCR_WRAH_SHIFT (16U) 6005 /*! WRAH - Write Address Hold or Deselect 6006 * 0b00..1 cycle (default for all but FB_CS0_B) 6007 * 0b01..2 cycles 6008 * 0b10..3 cycles 6009 * 0b11..4 cycles (default for FB_CS0_B) 6010 */ 6011 #define FB_CSCR_WRAH(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_WRAH_SHIFT)) & FB_CSCR_WRAH_MASK) 6012 #define FB_CSCR_RDAH_MASK (0xC0000U) 6013 #define FB_CSCR_RDAH_SHIFT (18U) 6014 /*! RDAH - Read Address Hold or Deselect 6015 * 0b00..When AA is 1b, 1 cycle. When AA is 0b, 0 cycles. 6016 * 0b01..When AA is 1b, 2 cycles. When AA is 0b, 1 cycle. 6017 * 0b10..When AA is 1b, 3 cycles. When AA is 0b, 2 cycles. 6018 * 0b11..When AA is 1b, 4 cycles. When AA is 0b, 3 cycles. 6019 */ 6020 #define FB_CSCR_RDAH(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_RDAH_SHIFT)) & FB_CSCR_RDAH_MASK) 6021 #define FB_CSCR_ASET_MASK (0x300000U) 6022 #define FB_CSCR_ASET_SHIFT (20U) 6023 /*! ASET - Address Setup 6024 * 0b00..Assert FB_CSn_B on the first rising clock edge after the address is asserted (default for all but FB_CS0_B). 6025 * 0b01..Assert FB_CSn_B on the second rising clock edge after the address is asserted. 6026 * 0b10..Assert FB_CSn_B on the third rising clock edge after the address is asserted. 6027 * 0b11..Assert FB_CSn_B on the fourth rising clock edge after the address is asserted (default for FB_CS0_B ). 6028 */ 6029 #define FB_CSCR_ASET(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_ASET_SHIFT)) & FB_CSCR_ASET_MASK) 6030 #define FB_CSCR_EXTS_MASK (0x400000U) 6031 #define FB_CSCR_EXTS_SHIFT (22U) 6032 /*! EXTS - EXTS 6033 * 0b0..Disabled. FB_TS_B/FB_ALE asserts for one bus clock cycle. 6034 * 0b1..Enabled. FB_TS_B/FB_ALE remains asserted until the first positive clock edge after FB_CSn_B asserts. 6035 */ 6036 #define FB_CSCR_EXTS(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_EXTS_SHIFT)) & FB_CSCR_EXTS_MASK) 6037 #define FB_CSCR_SWSEN_MASK (0x800000U) 6038 #define FB_CSCR_SWSEN_SHIFT (23U) 6039 /*! SWSEN - Secondary Wait State Enable 6040 * 0b0..Disabled. A number of wait states (specified by WS) are inserted before an internal transfer acknowledge is generated for all transfers. 6041 * 0b1..Enabled. A number of wait states (specified by SWS) are inserted before an internal transfer acknowledge is generated for burst transfer secondary terminations. 6042 */ 6043 #define FB_CSCR_SWSEN(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_SWSEN_SHIFT)) & FB_CSCR_SWSEN_MASK) 6044 #define FB_CSCR_SWS_MASK (0xFC000000U) 6045 #define FB_CSCR_SWS_SHIFT (26U) 6046 #define FB_CSCR_SWS(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_SWS_SHIFT)) & FB_CSCR_SWS_MASK) 6047 /*! @} */ 6048 6049 /* The count of FB_CSCR */ 6050 #define FB_CSCR_COUNT (6U) 6051 6052 /*! @name CSPMCR - Chip Select Port Multiplexing Control Register */ 6053 /*! @{ */ 6054 #define FB_CSPMCR_GROUP5_MASK (0xF000U) 6055 #define FB_CSPMCR_GROUP5_SHIFT (12U) 6056 /*! GROUP5 - FlexBus Signal Group 5 Multiplex control 6057 * 0b0000..FB_TA_B 6058 * 0b0001..FB_CS3_B. You must also write 1b to CSCR[AA]. 6059 * 0b0010..FB_BE_7_0_B. You must also write 1b to CSCR[AA]. 6060 */ 6061 #define FB_CSPMCR_GROUP5(x) (((uint32_t)(((uint32_t)(x)) << FB_CSPMCR_GROUP5_SHIFT)) & FB_CSPMCR_GROUP5_MASK) 6062 #define FB_CSPMCR_GROUP4_MASK (0xF0000U) 6063 #define FB_CSPMCR_GROUP4_SHIFT (16U) 6064 /*! GROUP4 - FlexBus Signal Group 4 Multiplex control 6065 * 0b0000..FB_TBST_B 6066 * 0b0001..FB_CS2_B 6067 * 0b0010..FB_BE_15_8_B 6068 */ 6069 #define FB_CSPMCR_GROUP4(x) (((uint32_t)(((uint32_t)(x)) << FB_CSPMCR_GROUP4_SHIFT)) & FB_CSPMCR_GROUP4_MASK) 6070 #define FB_CSPMCR_GROUP3_MASK (0xF00000U) 6071 #define FB_CSPMCR_GROUP3_SHIFT (20U) 6072 /*! GROUP3 - FlexBus Signal Group 3 Multiplex control 6073 * 0b0000..FB_CS5_B 6074 * 0b0001..FB_TSIZ1 6075 * 0b0010..FB_BE_23_16_B 6076 */ 6077 #define FB_CSPMCR_GROUP3(x) (((uint32_t)(((uint32_t)(x)) << FB_CSPMCR_GROUP3_SHIFT)) & FB_CSPMCR_GROUP3_MASK) 6078 #define FB_CSPMCR_GROUP2_MASK (0xF000000U) 6079 #define FB_CSPMCR_GROUP2_SHIFT (24U) 6080 /*! GROUP2 - FlexBus Signal Group 2 Multiplex control 6081 * 0b0000..FB_CS4_B 6082 * 0b0001..FB_TSIZ0 6083 * 0b0010..FB_BE_31_24_B 6084 */ 6085 #define FB_CSPMCR_GROUP2(x) (((uint32_t)(((uint32_t)(x)) << FB_CSPMCR_GROUP2_SHIFT)) & FB_CSPMCR_GROUP2_MASK) 6086 #define FB_CSPMCR_GROUP1_MASK (0xF0000000U) 6087 #define FB_CSPMCR_GROUP1_SHIFT (28U) 6088 /*! GROUP1 - FlexBus Signal Group 1 Multiplex control 6089 * 0b0000..FB_ALE 6090 * 0b0001..FB_CS1_B 6091 * 0b0010..FB_TS_B 6092 */ 6093 #define FB_CSPMCR_GROUP1(x) (((uint32_t)(((uint32_t)(x)) << FB_CSPMCR_GROUP1_SHIFT)) & FB_CSPMCR_GROUP1_MASK) 6094 /*! @} */ 6095 6096 6097 /*! 6098 * @} 6099 */ /* end of group FB_Register_Masks */ 6100 6101 6102 /* FB - Peripheral instance base addresses */ 6103 /** Peripheral FB base address */ 6104 #define FB_BASE (0x4000C000u) 6105 /** Peripheral FB base pointer */ 6106 #define FB ((FB_Type *)FB_BASE) 6107 /** Array initializer of FB peripheral base addresses */ 6108 #define FB_BASE_ADDRS { FB_BASE } 6109 /** Array initializer of FB peripheral base pointers */ 6110 #define FB_BASE_PTRS { FB } 6111 6112 /*! 6113 * @} 6114 */ /* end of group FB_Peripheral_Access_Layer */ 6115 6116 6117 /* ---------------------------------------------------------------------------- 6118 -- FLEXIO Peripheral Access Layer 6119 ---------------------------------------------------------------------------- */ 6120 6121 /*! 6122 * @addtogroup FLEXIO_Peripheral_Access_Layer FLEXIO Peripheral Access Layer 6123 * @{ 6124 */ 6125 6126 /** FLEXIO - Register Layout Typedef */ 6127 typedef struct { 6128 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 6129 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 6130 __IO uint32_t CTRL; /**< FlexIO Control Register, offset: 0x8 */ 6131 __I uint32_t PIN; /**< Pin State Register, offset: 0xC */ 6132 __IO uint32_t SHIFTSTAT; /**< Shifter Status Register, offset: 0x10 */ 6133 __IO uint32_t SHIFTERR; /**< Shifter Error Register, offset: 0x14 */ 6134 __IO uint32_t TIMSTAT; /**< Timer Status Register, offset: 0x18 */ 6135 uint8_t RESERVED_0[4]; 6136 __IO uint32_t SHIFTSIEN; /**< Shifter Status Interrupt Enable, offset: 0x20 */ 6137 __IO uint32_t SHIFTEIEN; /**< Shifter Error Interrupt Enable, offset: 0x24 */ 6138 __IO uint32_t TIMIEN; /**< Timer Interrupt Enable Register, offset: 0x28 */ 6139 uint8_t RESERVED_1[4]; 6140 __IO uint32_t SHIFTSDEN; /**< Shifter Status DMA Enable, offset: 0x30 */ 6141 uint8_t RESERVED_2[12]; 6142 __IO uint32_t SHIFTSTATE; /**< Shifter State Register, offset: 0x40 */ 6143 uint8_t RESERVED_3[60]; 6144 __IO uint32_t SHIFTCTL[8]; /**< Shifter Control N Register, array offset: 0x80, array step: 0x4 */ 6145 uint8_t RESERVED_4[96]; 6146 __IO uint32_t SHIFTCFG[8]; /**< Shifter Configuration N Register, array offset: 0x100, array step: 0x4 */ 6147 uint8_t RESERVED_5[224]; 6148 __IO uint32_t SHIFTBUF[8]; /**< Shifter Buffer N Register, array offset: 0x200, array step: 0x4 */ 6149 uint8_t RESERVED_6[96]; 6150 __IO uint32_t SHIFTBUFBIS[8]; /**< Shifter Buffer N Bit Swapped Register, array offset: 0x280, array step: 0x4 */ 6151 uint8_t RESERVED_7[96]; 6152 __IO uint32_t SHIFTBUFBYS[8]; /**< Shifter Buffer N Byte Swapped Register, array offset: 0x300, array step: 0x4 */ 6153 uint8_t RESERVED_8[96]; 6154 __IO uint32_t SHIFTBUFBBS[8]; /**< Shifter Buffer N Bit Byte Swapped Register, array offset: 0x380, array step: 0x4 */ 6155 uint8_t RESERVED_9[96]; 6156 __IO uint32_t TIMCTL[8]; /**< Timer Control N Register, array offset: 0x400, array step: 0x4 */ 6157 uint8_t RESERVED_10[96]; 6158 __IO uint32_t TIMCFG[8]; /**< Timer Configuration N Register, array offset: 0x480, array step: 0x4 */ 6159 uint8_t RESERVED_11[96]; 6160 __IO uint32_t TIMCMP[8]; /**< Timer Compare N Register, array offset: 0x500, array step: 0x4 */ 6161 uint8_t RESERVED_12[352]; 6162 __IO uint32_t SHIFTBUFNBS[8]; /**< Shifter Buffer N Nibble Byte Swapped Register, array offset: 0x680, array step: 0x4 */ 6163 uint8_t RESERVED_13[96]; 6164 __IO uint32_t SHIFTBUFHWS[8]; /**< Shifter Buffer N Half Word Swapped Register, array offset: 0x700, array step: 0x4 */ 6165 uint8_t RESERVED_14[96]; 6166 __IO uint32_t SHIFTBUFNIS[8]; /**< Shifter Buffer N Nibble Swapped Register, array offset: 0x780, array step: 0x4 */ 6167 } FLEXIO_Type; 6168 6169 /* ---------------------------------------------------------------------------- 6170 -- FLEXIO Register Masks 6171 ---------------------------------------------------------------------------- */ 6172 6173 /*! 6174 * @addtogroup FLEXIO_Register_Masks FLEXIO Register Masks 6175 * @{ 6176 */ 6177 6178 /*! @name VERID - Version ID Register */ 6179 /*! @{ */ 6180 #define FLEXIO_VERID_FEATURE_MASK (0xFFFFU) 6181 #define FLEXIO_VERID_FEATURE_SHIFT (0U) 6182 /*! FEATURE - Feature Specification Number 6183 * 0b0000000000000000..Standard features implemented. 6184 * 0b0000000000000001..Supports state, logic and parallel modes. 6185 */ 6186 #define FLEXIO_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_FEATURE_SHIFT)) & FLEXIO_VERID_FEATURE_MASK) 6187 #define FLEXIO_VERID_MINOR_MASK (0xFF0000U) 6188 #define FLEXIO_VERID_MINOR_SHIFT (16U) 6189 #define FLEXIO_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MINOR_SHIFT)) & FLEXIO_VERID_MINOR_MASK) 6190 #define FLEXIO_VERID_MAJOR_MASK (0xFF000000U) 6191 #define FLEXIO_VERID_MAJOR_SHIFT (24U) 6192 #define FLEXIO_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MAJOR_SHIFT)) & FLEXIO_VERID_MAJOR_MASK) 6193 /*! @} */ 6194 6195 /*! @name PARAM - Parameter Register */ 6196 /*! @{ */ 6197 #define FLEXIO_PARAM_SHIFTER_MASK (0xFFU) 6198 #define FLEXIO_PARAM_SHIFTER_SHIFT (0U) 6199 #define FLEXIO_PARAM_SHIFTER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_SHIFTER_SHIFT)) & FLEXIO_PARAM_SHIFTER_MASK) 6200 #define FLEXIO_PARAM_TIMER_MASK (0xFF00U) 6201 #define FLEXIO_PARAM_TIMER_SHIFT (8U) 6202 #define FLEXIO_PARAM_TIMER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TIMER_SHIFT)) & FLEXIO_PARAM_TIMER_MASK) 6203 #define FLEXIO_PARAM_PIN_MASK (0xFF0000U) 6204 #define FLEXIO_PARAM_PIN_SHIFT (16U) 6205 #define FLEXIO_PARAM_PIN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_PIN_SHIFT)) & FLEXIO_PARAM_PIN_MASK) 6206 #define FLEXIO_PARAM_TRIGGER_MASK (0xFF000000U) 6207 #define FLEXIO_PARAM_TRIGGER_SHIFT (24U) 6208 #define FLEXIO_PARAM_TRIGGER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TRIGGER_SHIFT)) & FLEXIO_PARAM_TRIGGER_MASK) 6209 /*! @} */ 6210 6211 /*! @name CTRL - FlexIO Control Register */ 6212 /*! @{ */ 6213 #define FLEXIO_CTRL_FLEXEN_MASK (0x1U) 6214 #define FLEXIO_CTRL_FLEXEN_SHIFT (0U) 6215 /*! FLEXEN - FlexIO Enable 6216 * 0b0..FlexIO module is disabled. 6217 * 0b1..FlexIO module is enabled. 6218 */ 6219 #define FLEXIO_CTRL_FLEXEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FLEXEN_SHIFT)) & FLEXIO_CTRL_FLEXEN_MASK) 6220 #define FLEXIO_CTRL_SWRST_MASK (0x2U) 6221 #define FLEXIO_CTRL_SWRST_SHIFT (1U) 6222 /*! SWRST - Software Reset 6223 * 0b0..Software reset is disabled 6224 * 0b1..Software reset is enabled, all FlexIO registers except the Control Register are reset. 6225 */ 6226 #define FLEXIO_CTRL_SWRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_SWRST_SHIFT)) & FLEXIO_CTRL_SWRST_MASK) 6227 #define FLEXIO_CTRL_FASTACC_MASK (0x4U) 6228 #define FLEXIO_CTRL_FASTACC_SHIFT (2U) 6229 /*! FASTACC - Fast Access 6230 * 0b0..Configures for normal register accesses to FlexIO 6231 * 0b1..Configures for fast register accesses to FlexIO 6232 */ 6233 #define FLEXIO_CTRL_FASTACC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FASTACC_SHIFT)) & FLEXIO_CTRL_FASTACC_MASK) 6234 #define FLEXIO_CTRL_DBGE_MASK (0x40000000U) 6235 #define FLEXIO_CTRL_DBGE_SHIFT (30U) 6236 /*! DBGE - Debug Enable 6237 * 0b0..FlexIO is disabled in debug modes. 6238 * 0b1..FlexIO is enabled in debug modes 6239 */ 6240 #define FLEXIO_CTRL_DBGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DBGE_SHIFT)) & FLEXIO_CTRL_DBGE_MASK) 6241 #define FLEXIO_CTRL_DOZEN_MASK (0x80000000U) 6242 #define FLEXIO_CTRL_DOZEN_SHIFT (31U) 6243 /*! DOZEN - Doze Enable 6244 * 0b0..FlexIO enabled in Doze modes. 6245 * 0b1..FlexIO disabled in Doze modes. 6246 */ 6247 #define FLEXIO_CTRL_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DOZEN_SHIFT)) & FLEXIO_CTRL_DOZEN_MASK) 6248 /*! @} */ 6249 6250 /*! @name PIN - Pin State Register */ 6251 /*! @{ */ 6252 #define FLEXIO_PIN_PDI_MASK (0xFFFFFFFFU) 6253 #define FLEXIO_PIN_PDI_SHIFT (0U) 6254 #define FLEXIO_PIN_PDI(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PIN_PDI_SHIFT)) & FLEXIO_PIN_PDI_MASK) 6255 /*! @} */ 6256 6257 /*! @name SHIFTSTAT - Shifter Status Register */ 6258 /*! @{ */ 6259 #define FLEXIO_SHIFTSTAT_SSF_MASK (0xFFU) 6260 #define FLEXIO_SHIFTSTAT_SSF_SHIFT (0U) 6261 #define FLEXIO_SHIFTSTAT_SSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTAT_SSF_SHIFT)) & FLEXIO_SHIFTSTAT_SSF_MASK) 6262 /*! @} */ 6263 6264 /*! @name SHIFTERR - Shifter Error Register */ 6265 /*! @{ */ 6266 #define FLEXIO_SHIFTERR_SEF_MASK (0xFFU) 6267 #define FLEXIO_SHIFTERR_SEF_SHIFT (0U) 6268 #define FLEXIO_SHIFTERR_SEF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTERR_SEF_SHIFT)) & FLEXIO_SHIFTERR_SEF_MASK) 6269 /*! @} */ 6270 6271 /*! @name TIMSTAT - Timer Status Register */ 6272 /*! @{ */ 6273 #define FLEXIO_TIMSTAT_TSF_MASK (0xFFU) 6274 #define FLEXIO_TIMSTAT_TSF_SHIFT (0U) 6275 #define FLEXIO_TIMSTAT_TSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMSTAT_TSF_SHIFT)) & FLEXIO_TIMSTAT_TSF_MASK) 6276 /*! @} */ 6277 6278 /*! @name SHIFTSIEN - Shifter Status Interrupt Enable */ 6279 /*! @{ */ 6280 #define FLEXIO_SHIFTSIEN_SSIE_MASK (0xFFU) 6281 #define FLEXIO_SHIFTSIEN_SSIE_SHIFT (0U) 6282 #define FLEXIO_SHIFTSIEN_SSIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSIEN_SSIE_SHIFT)) & FLEXIO_SHIFTSIEN_SSIE_MASK) 6283 /*! @} */ 6284 6285 /*! @name SHIFTEIEN - Shifter Error Interrupt Enable */ 6286 /*! @{ */ 6287 #define FLEXIO_SHIFTEIEN_SEIE_MASK (0xFFU) 6288 #define FLEXIO_SHIFTEIEN_SEIE_SHIFT (0U) 6289 #define FLEXIO_SHIFTEIEN_SEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTEIEN_SEIE_SHIFT)) & FLEXIO_SHIFTEIEN_SEIE_MASK) 6290 /*! @} */ 6291 6292 /*! @name TIMIEN - Timer Interrupt Enable Register */ 6293 /*! @{ */ 6294 #define FLEXIO_TIMIEN_TEIE_MASK (0xFFU) 6295 #define FLEXIO_TIMIEN_TEIE_SHIFT (0U) 6296 #define FLEXIO_TIMIEN_TEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMIEN_TEIE_SHIFT)) & FLEXIO_TIMIEN_TEIE_MASK) 6297 /*! @} */ 6298 6299 /*! @name SHIFTSDEN - Shifter Status DMA Enable */ 6300 /*! @{ */ 6301 #define FLEXIO_SHIFTSDEN_SSDE_MASK (0xFFU) 6302 #define FLEXIO_SHIFTSDEN_SSDE_SHIFT (0U) 6303 #define FLEXIO_SHIFTSDEN_SSDE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSDEN_SSDE_SHIFT)) & FLEXIO_SHIFTSDEN_SSDE_MASK) 6304 /*! @} */ 6305 6306 /*! @name SHIFTSTATE - Shifter State Register */ 6307 /*! @{ */ 6308 #define FLEXIO_SHIFTSTATE_STATE_MASK (0x7U) 6309 #define FLEXIO_SHIFTSTATE_STATE_SHIFT (0U) 6310 #define FLEXIO_SHIFTSTATE_STATE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTATE_STATE_SHIFT)) & FLEXIO_SHIFTSTATE_STATE_MASK) 6311 /*! @} */ 6312 6313 /*! @name SHIFTCTL - Shifter Control N Register */ 6314 /*! @{ */ 6315 #define FLEXIO_SHIFTCTL_SMOD_MASK (0x7U) 6316 #define FLEXIO_SHIFTCTL_SMOD_SHIFT (0U) 6317 /*! SMOD - Shifter Mode 6318 * 0b000..Disabled. 6319 * 0b001..Receive mode. Captures the current Shifter content into the SHIFTBUF on expiration of the Timer. 6320 * 0b010..Transmit mode. Load SHIFTBUF contents into the Shifter on expiration of the Timer. 6321 * 0b011..Reserved. 6322 * 0b100..Match Store mode. Shifter data is compared to SHIFTBUF content on expiration of the Timer. 6323 * 0b101..Match Continuous mode. Shifter data is continuously compared to SHIFTBUF contents. 6324 * 0b110..State mode. SHIFTBUF contents are used for storing programmable state attributes. 6325 * 0b111..Logic mode. SHIFTBUF contents are used for implementing programmable logic look up table. 6326 */ 6327 #define FLEXIO_SHIFTCTL_SMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_SMOD_SHIFT)) & FLEXIO_SHIFTCTL_SMOD_MASK) 6328 #define FLEXIO_SHIFTCTL_PINPOL_MASK (0x80U) 6329 #define FLEXIO_SHIFTCTL_PINPOL_SHIFT (7U) 6330 /*! PINPOL - Shifter Pin Polarity 6331 * 0b0..Pin is active high 6332 * 0b1..Pin is active low 6333 */ 6334 #define FLEXIO_SHIFTCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINPOL_SHIFT)) & FLEXIO_SHIFTCTL_PINPOL_MASK) 6335 #define FLEXIO_SHIFTCTL_PINSEL_MASK (0x1F00U) 6336 #define FLEXIO_SHIFTCTL_PINSEL_SHIFT (8U) 6337 #define FLEXIO_SHIFTCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINSEL_SHIFT)) & FLEXIO_SHIFTCTL_PINSEL_MASK) 6338 #define FLEXIO_SHIFTCTL_PINCFG_MASK (0x30000U) 6339 #define FLEXIO_SHIFTCTL_PINCFG_SHIFT (16U) 6340 /*! PINCFG - Shifter Pin Configuration 6341 * 0b00..Shifter pin output disabled 6342 * 0b01..Shifter pin open drain or bidirectional output enable 6343 * 0b10..Shifter pin bidirectional output data 6344 * 0b11..Shifter pin output 6345 */ 6346 #define FLEXIO_SHIFTCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINCFG_SHIFT)) & FLEXIO_SHIFTCTL_PINCFG_MASK) 6347 #define FLEXIO_SHIFTCTL_TIMPOL_MASK (0x800000U) 6348 #define FLEXIO_SHIFTCTL_TIMPOL_SHIFT (23U) 6349 /*! TIMPOL - Timer Polarity 6350 * 0b0..Shift on posedge of Shift clock 6351 * 0b1..Shift on negedge of Shift clock 6352 */ 6353 #define FLEXIO_SHIFTCTL_TIMPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMPOL_SHIFT)) & FLEXIO_SHIFTCTL_TIMPOL_MASK) 6354 #define FLEXIO_SHIFTCTL_TIMSEL_MASK (0x7000000U) 6355 #define FLEXIO_SHIFTCTL_TIMSEL_SHIFT (24U) 6356 #define FLEXIO_SHIFTCTL_TIMSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMSEL_SHIFT)) & FLEXIO_SHIFTCTL_TIMSEL_MASK) 6357 /*! @} */ 6358 6359 /* The count of FLEXIO_SHIFTCTL */ 6360 #define FLEXIO_SHIFTCTL_COUNT (8U) 6361 6362 /*! @name SHIFTCFG - Shifter Configuration N Register */ 6363 /*! @{ */ 6364 #define FLEXIO_SHIFTCFG_SSTART_MASK (0x3U) 6365 #define FLEXIO_SHIFTCFG_SSTART_SHIFT (0U) 6366 /*! SSTART - Shifter Start bit 6367 * 0b00..Start bit disabled for transmitter/receiver/match store, transmitter loads data on enable 6368 * 0b01..Start bit disabled for transmitter/receiver/match store, transmitter loads data on first shift 6369 * 0b10..Transmitter outputs start bit value 0 before loading data on first shift, receiver/match store sets error flag if start bit is not 0 6370 * 0b11..Transmitter outputs start bit value 1 before loading data on first shift, receiver/match store sets error flag if start bit is not 1 6371 */ 6372 #define FLEXIO_SHIFTCFG_SSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTART_SHIFT)) & FLEXIO_SHIFTCFG_SSTART_MASK) 6373 #define FLEXIO_SHIFTCFG_SSTOP_MASK (0x30U) 6374 #define FLEXIO_SHIFTCFG_SSTOP_SHIFT (4U) 6375 /*! SSTOP - Shifter Stop bit 6376 * 0b00..Stop bit disabled for transmitter/receiver/match store 6377 * 0b01..Reserved for transmitter/receiver/match store 6378 * 0b10..Transmitter outputs stop bit value 0 on store, receiver/match store sets error flag if stop bit is not 0 6379 * 0b11..Transmitter outputs stop bit value 1 on store, receiver/match store sets error flag if stop bit is not 1 6380 */ 6381 #define FLEXIO_SHIFTCFG_SSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTOP_SHIFT)) & FLEXIO_SHIFTCFG_SSTOP_MASK) 6382 #define FLEXIO_SHIFTCFG_INSRC_MASK (0x100U) 6383 #define FLEXIO_SHIFTCFG_INSRC_SHIFT (8U) 6384 /*! INSRC - Input Source 6385 * 0b0..Pin 6386 * 0b1..Shifter N+1 Output 6387 */ 6388 #define FLEXIO_SHIFTCFG_INSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_INSRC_SHIFT)) & FLEXIO_SHIFTCFG_INSRC_MASK) 6389 #define FLEXIO_SHIFTCFG_PWIDTH_MASK (0x1F0000U) 6390 #define FLEXIO_SHIFTCFG_PWIDTH_SHIFT (16U) 6391 #define FLEXIO_SHIFTCFG_PWIDTH(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_PWIDTH_SHIFT)) & FLEXIO_SHIFTCFG_PWIDTH_MASK) 6392 /*! @} */ 6393 6394 /* The count of FLEXIO_SHIFTCFG */ 6395 #define FLEXIO_SHIFTCFG_COUNT (8U) 6396 6397 /*! @name SHIFTBUF - Shifter Buffer N Register */ 6398 /*! @{ */ 6399 #define FLEXIO_SHIFTBUF_SHIFTBUF_MASK (0xFFFFFFFFU) 6400 #define FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT (0U) 6401 #define FLEXIO_SHIFTBUF_SHIFTBUF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT)) & FLEXIO_SHIFTBUF_SHIFTBUF_MASK) 6402 /*! @} */ 6403 6404 /* The count of FLEXIO_SHIFTBUF */ 6405 #define FLEXIO_SHIFTBUF_COUNT (8U) 6406 6407 /*! @name SHIFTBUFBIS - Shifter Buffer N Bit Swapped Register */ 6408 /*! @{ */ 6409 #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK (0xFFFFFFFFU) 6410 #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT (0U) 6411 #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT)) & FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK) 6412 /*! @} */ 6413 6414 /* The count of FLEXIO_SHIFTBUFBIS */ 6415 #define FLEXIO_SHIFTBUFBIS_COUNT (8U) 6416 6417 /*! @name SHIFTBUFBYS - Shifter Buffer N Byte Swapped Register */ 6418 /*! @{ */ 6419 #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK (0xFFFFFFFFU) 6420 #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT (0U) 6421 #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT)) & FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK) 6422 /*! @} */ 6423 6424 /* The count of FLEXIO_SHIFTBUFBYS */ 6425 #define FLEXIO_SHIFTBUFBYS_COUNT (8U) 6426 6427 /*! @name SHIFTBUFBBS - Shifter Buffer N Bit Byte Swapped Register */ 6428 /*! @{ */ 6429 #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK (0xFFFFFFFFU) 6430 #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT (0U) 6431 #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT)) & FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK) 6432 /*! @} */ 6433 6434 /* The count of FLEXIO_SHIFTBUFBBS */ 6435 #define FLEXIO_SHIFTBUFBBS_COUNT (8U) 6436 6437 /*! @name TIMCTL - Timer Control N Register */ 6438 /*! @{ */ 6439 #define FLEXIO_TIMCTL_TIMOD_MASK (0x3U) 6440 #define FLEXIO_TIMCTL_TIMOD_SHIFT (0U) 6441 /*! TIMOD - Timer Mode 6442 * 0b00..Timer Disabled. 6443 * 0b01..Dual 8-bit counters baud mode. 6444 * 0b10..Dual 8-bit counters PWM high mode. 6445 * 0b11..Single 16-bit counter mode. 6446 */ 6447 #define FLEXIO_TIMCTL_TIMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TIMOD_SHIFT)) & FLEXIO_TIMCTL_TIMOD_MASK) 6448 #define FLEXIO_TIMCTL_PINPOL_MASK (0x80U) 6449 #define FLEXIO_TIMCTL_PINPOL_SHIFT (7U) 6450 /*! PINPOL - Timer Pin Polarity 6451 * 0b0..Pin is active high 6452 * 0b1..Pin is active low 6453 */ 6454 #define FLEXIO_TIMCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINPOL_SHIFT)) & FLEXIO_TIMCTL_PINPOL_MASK) 6455 #define FLEXIO_TIMCTL_PINSEL_MASK (0x1F00U) 6456 #define FLEXIO_TIMCTL_PINSEL_SHIFT (8U) 6457 #define FLEXIO_TIMCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINSEL_SHIFT)) & FLEXIO_TIMCTL_PINSEL_MASK) 6458 #define FLEXIO_TIMCTL_PINCFG_MASK (0x30000U) 6459 #define FLEXIO_TIMCTL_PINCFG_SHIFT (16U) 6460 /*! PINCFG - Timer Pin Configuration 6461 * 0b00..Timer pin output disabled 6462 * 0b01..Timer pin open drain or bidirectional output enable 6463 * 0b10..Timer pin bidirectional output data 6464 * 0b11..Timer pin output 6465 */ 6466 #define FLEXIO_TIMCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINCFG_SHIFT)) & FLEXIO_TIMCTL_PINCFG_MASK) 6467 #define FLEXIO_TIMCTL_TRGSRC_MASK (0x400000U) 6468 #define FLEXIO_TIMCTL_TRGSRC_SHIFT (22U) 6469 /*! TRGSRC - Trigger Source 6470 * 0b0..External trigger selected 6471 * 0b1..Internal trigger selected 6472 */ 6473 #define FLEXIO_TIMCTL_TRGSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSRC_SHIFT)) & FLEXIO_TIMCTL_TRGSRC_MASK) 6474 #define FLEXIO_TIMCTL_TRGPOL_MASK (0x800000U) 6475 #define FLEXIO_TIMCTL_TRGPOL_SHIFT (23U) 6476 /*! TRGPOL - Trigger Polarity 6477 * 0b0..Trigger active high 6478 * 0b1..Trigger active low 6479 */ 6480 #define FLEXIO_TIMCTL_TRGPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGPOL_SHIFT)) & FLEXIO_TIMCTL_TRGPOL_MASK) 6481 #define FLEXIO_TIMCTL_TRGSEL_MASK (0x3F000000U) 6482 #define FLEXIO_TIMCTL_TRGSEL_SHIFT (24U) 6483 #define FLEXIO_TIMCTL_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSEL_SHIFT)) & FLEXIO_TIMCTL_TRGSEL_MASK) 6484 /*! @} */ 6485 6486 /* The count of FLEXIO_TIMCTL */ 6487 #define FLEXIO_TIMCTL_COUNT (8U) 6488 6489 /*! @name TIMCFG - Timer Configuration N Register */ 6490 /*! @{ */ 6491 #define FLEXIO_TIMCFG_TSTART_MASK (0x2U) 6492 #define FLEXIO_TIMCFG_TSTART_SHIFT (1U) 6493 /*! TSTART - Timer Start Bit 6494 * 0b0..Start bit disabled 6495 * 0b1..Start bit enabled 6496 */ 6497 #define FLEXIO_TIMCFG_TSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTART_SHIFT)) & FLEXIO_TIMCFG_TSTART_MASK) 6498 #define FLEXIO_TIMCFG_TSTOP_MASK (0x30U) 6499 #define FLEXIO_TIMCFG_TSTOP_SHIFT (4U) 6500 /*! TSTOP - Timer Stop Bit 6501 * 0b00..Stop bit disabled 6502 * 0b01..Stop bit is enabled on timer compare 6503 * 0b10..Stop bit is enabled on timer disable 6504 * 0b11..Stop bit is enabled on timer compare and timer disable 6505 */ 6506 #define FLEXIO_TIMCFG_TSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTOP_SHIFT)) & FLEXIO_TIMCFG_TSTOP_MASK) 6507 #define FLEXIO_TIMCFG_TIMENA_MASK (0x700U) 6508 #define FLEXIO_TIMCFG_TIMENA_SHIFT (8U) 6509 /*! TIMENA - Timer Enable 6510 * 0b000..Timer always enabled 6511 * 0b001..Timer enabled on Timer N-1 enable 6512 * 0b010..Timer enabled on Trigger high 6513 * 0b011..Timer enabled on Trigger high and Pin high 6514 * 0b100..Timer enabled on Pin rising edge 6515 * 0b101..Timer enabled on Pin rising edge and Trigger high 6516 * 0b110..Timer enabled on Trigger rising edge 6517 * 0b111..Timer enabled on Trigger rising or falling edge 6518 */ 6519 #define FLEXIO_TIMCFG_TIMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMENA_SHIFT)) & FLEXIO_TIMCFG_TIMENA_MASK) 6520 #define FLEXIO_TIMCFG_TIMDIS_MASK (0x7000U) 6521 #define FLEXIO_TIMCFG_TIMDIS_SHIFT (12U) 6522 /*! TIMDIS - Timer Disable 6523 * 0b000..Timer never disabled 6524 * 0b001..Timer disabled on Timer N-1 disable 6525 * 0b010..Timer disabled on Timer compare (upper 8-bits match and decrement) 6526 * 0b011..Timer disabled on Timer compare (upper 8-bits match and decrement) and Trigger Low 6527 * 0b100..Timer disabled on Pin rising or falling edge 6528 * 0b101..Timer disabled on Pin rising or falling edge provided Trigger is high 6529 * 0b110..Timer disabled on Trigger falling edge 6530 * 0b111..Reserved 6531 */ 6532 #define FLEXIO_TIMCFG_TIMDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDIS_SHIFT)) & FLEXIO_TIMCFG_TIMDIS_MASK) 6533 #define FLEXIO_TIMCFG_TIMRST_MASK (0x70000U) 6534 #define FLEXIO_TIMCFG_TIMRST_SHIFT (16U) 6535 /*! TIMRST - Timer Reset 6536 * 0b000..Timer never reset 6537 * 0b001..Reserved 6538 * 0b010..Timer reset on Timer Pin equal to Timer Output 6539 * 0b011..Timer reset on Timer Trigger equal to Timer Output 6540 * 0b100..Timer reset on Timer Pin rising edge 6541 * 0b101..Reserved 6542 * 0b110..Timer reset on Trigger rising edge 6543 * 0b111..Timer reset on Trigger rising or falling edge 6544 */ 6545 #define FLEXIO_TIMCFG_TIMRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMRST_SHIFT)) & FLEXIO_TIMCFG_TIMRST_MASK) 6546 #define FLEXIO_TIMCFG_TIMDEC_MASK (0x300000U) 6547 #define FLEXIO_TIMCFG_TIMDEC_SHIFT (20U) 6548 /*! TIMDEC - Timer Decrement 6549 * 0b00..Decrement counter on FlexIO clock, Shift clock equals Timer output. 6550 * 0b01..Decrement counter on Trigger input (both edges), Shift clock equals Timer output. 6551 * 0b10..Decrement counter on Pin input (both edges), Shift clock equals Pin input. 6552 * 0b11..Decrement counter on Trigger input (both edges), Shift clock equals Trigger input. 6553 */ 6554 #define FLEXIO_TIMCFG_TIMDEC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDEC_SHIFT)) & FLEXIO_TIMCFG_TIMDEC_MASK) 6555 #define FLEXIO_TIMCFG_TIMOUT_MASK (0x3000000U) 6556 #define FLEXIO_TIMCFG_TIMOUT_SHIFT (24U) 6557 /*! TIMOUT - Timer Output 6558 * 0b00..Timer output is logic one when enabled and is not affected by timer reset 6559 * 0b01..Timer output is logic zero when enabled and is not affected by timer reset 6560 * 0b10..Timer output is logic one when enabled and on timer reset 6561 * 0b11..Timer output is logic zero when enabled and on timer reset 6562 */ 6563 #define FLEXIO_TIMCFG_TIMOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMOUT_SHIFT)) & FLEXIO_TIMCFG_TIMOUT_MASK) 6564 /*! @} */ 6565 6566 /* The count of FLEXIO_TIMCFG */ 6567 #define FLEXIO_TIMCFG_COUNT (8U) 6568 6569 /*! @name TIMCMP - Timer Compare N Register */ 6570 /*! @{ */ 6571 #define FLEXIO_TIMCMP_CMP_MASK (0xFFFFU) 6572 #define FLEXIO_TIMCMP_CMP_SHIFT (0U) 6573 #define FLEXIO_TIMCMP_CMP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCMP_CMP_SHIFT)) & FLEXIO_TIMCMP_CMP_MASK) 6574 /*! @} */ 6575 6576 /* The count of FLEXIO_TIMCMP */ 6577 #define FLEXIO_TIMCMP_COUNT (8U) 6578 6579 /*! @name SHIFTBUFNBS - Shifter Buffer N Nibble Byte Swapped Register */ 6580 /*! @{ */ 6581 #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK (0xFFFFFFFFU) 6582 #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT (0U) 6583 #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT)) & FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK) 6584 /*! @} */ 6585 6586 /* The count of FLEXIO_SHIFTBUFNBS */ 6587 #define FLEXIO_SHIFTBUFNBS_COUNT (8U) 6588 6589 /*! @name SHIFTBUFHWS - Shifter Buffer N Half Word Swapped Register */ 6590 /*! @{ */ 6591 #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK (0xFFFFFFFFU) 6592 #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT (0U) 6593 #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT)) & FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK) 6594 /*! @} */ 6595 6596 /* The count of FLEXIO_SHIFTBUFHWS */ 6597 #define FLEXIO_SHIFTBUFHWS_COUNT (8U) 6598 6599 /*! @name SHIFTBUFNIS - Shifter Buffer N Nibble Swapped Register */ 6600 /*! @{ */ 6601 #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK (0xFFFFFFFFU) 6602 #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT (0U) 6603 #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT)) & FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK) 6604 /*! @} */ 6605 6606 /* The count of FLEXIO_SHIFTBUFNIS */ 6607 #define FLEXIO_SHIFTBUFNIS_COUNT (8U) 6608 6609 6610 /*! 6611 * @} 6612 */ /* end of group FLEXIO_Register_Masks */ 6613 6614 6615 /* FLEXIO - Peripheral instance base addresses */ 6616 /** Peripheral FLEXIO0 base address */ 6617 #define FLEXIO0_BASE (0x40039000u) 6618 /** Peripheral FLEXIO0 base pointer */ 6619 #define FLEXIO0 ((FLEXIO_Type *)FLEXIO0_BASE) 6620 /** Array initializer of FLEXIO peripheral base addresses */ 6621 #define FLEXIO_BASE_ADDRS { FLEXIO0_BASE } 6622 /** Array initializer of FLEXIO peripheral base pointers */ 6623 #define FLEXIO_BASE_PTRS { FLEXIO0 } 6624 /** Interrupt vectors for the FLEXIO peripheral type */ 6625 #define FLEXIO_IRQS { FLEXIO0_IRQn } 6626 6627 /*! 6628 * @} 6629 */ /* end of group FLEXIO_Peripheral_Access_Layer */ 6630 6631 6632 /* ---------------------------------------------------------------------------- 6633 -- FTFE Peripheral Access Layer 6634 ---------------------------------------------------------------------------- */ 6635 6636 /*! 6637 * @addtogroup FTFE_Peripheral_Access_Layer FTFE Peripheral Access Layer 6638 * @{ 6639 */ 6640 6641 /** FTFE - Register Layout Typedef */ 6642 typedef struct { 6643 __IO uint8_t FSTAT; /**< Flash Status Register, offset: 0x0 */ 6644 __IO uint8_t FCNFG; /**< Flash Configuration Register, offset: 0x1 */ 6645 __I uint8_t FSEC; /**< Flash Security Register, offset: 0x2 */ 6646 uint8_t RESERVED_0[1]; 6647 __IO uint8_t FCCOB3; /**< Flash Common Command Object Registers, offset: 0x4 */ 6648 __IO uint8_t FCCOB2; /**< Flash Common Command Object Registers, offset: 0x5 */ 6649 __IO uint8_t FCCOB1; /**< Flash Common Command Object Registers, offset: 0x6 */ 6650 __IO uint8_t FCCOB0; /**< Flash Common Command Object Registers, offset: 0x7 */ 6651 __IO uint8_t FCCOB7; /**< Flash Common Command Object Registers, offset: 0x8 */ 6652 __IO uint8_t FCCOB6; /**< Flash Common Command Object Registers, offset: 0x9 */ 6653 __IO uint8_t FCCOB5; /**< Flash Common Command Object Registers, offset: 0xA */ 6654 __IO uint8_t FCCOB4; /**< Flash Common Command Object Registers, offset: 0xB */ 6655 __IO uint8_t FCCOBB; /**< Flash Common Command Object Registers, offset: 0xC */ 6656 __IO uint8_t FCCOBA; /**< Flash Common Command Object Registers, offset: 0xD */ 6657 __IO uint8_t FCCOB9; /**< Flash Common Command Object Registers, offset: 0xE */ 6658 __IO uint8_t FCCOB8; /**< Flash Common Command Object Registers, offset: 0xF */ 6659 __I uint8_t FOPT3; /**< Flash Option Registers, offset: 0x10 */ 6660 __I uint8_t FOPT2; /**< Flash Option Registers, offset: 0x11 */ 6661 __I uint8_t FOPT1; /**< Flash Option Registers, offset: 0x12 */ 6662 __I uint8_t FOPT0; /**< Flash Option Registers, offset: 0x13 */ 6663 uint8_t RESERVED_1[4]; 6664 __IO uint8_t FPROTH3; /**< Primary Program Flash Protection Registers, offset: 0x18 */ 6665 __IO uint8_t FPROTH2; /**< Primary Program Flash Protection Registers, offset: 0x19 */ 6666 __IO uint8_t FPROTH1; /**< Primary Program Flash Protection Registers, offset: 0x1A */ 6667 __IO uint8_t FPROTH0; /**< Primary Program Flash Protection Registers, offset: 0x1B */ 6668 __IO uint8_t FPROTL3; /**< Primary Program Flash Protection Registers, offset: 0x1C */ 6669 __IO uint8_t FPROTL2; /**< Primary Program Flash Protection Registers, offset: 0x1D */ 6670 __IO uint8_t FPROTL1; /**< Primary Program Flash Protection Registers, offset: 0x1E */ 6671 __IO uint8_t FPROTL0; /**< Primary Program Flash Protection Registers, offset: 0x1F */ 6672 uint8_t RESERVED_2[4]; 6673 __IO uint8_t FPROTSL; /**< Secondary Program Flash Protection Registers, offset: 0x24 */ 6674 __IO uint8_t FPROTSH; /**< Secondary Program Flash Protection Registers, offset: 0x25 */ 6675 uint8_t RESERVED_3[6]; 6676 __I uint8_t FACSS; /**< Primary Flash Access Segment Size Register, offset: 0x2C */ 6677 __I uint8_t FACSN; /**< Primary Flash Access Segment Number Register, offset: 0x2D */ 6678 __I uint8_t FACSSS; /**< Secondary Flash Access Segment Size Register, offset: 0x2E */ 6679 __I uint8_t FACSNS; /**< Secondary Flash Access Segment Number Register, offset: 0x2F */ 6680 __I uint8_t XACCH3; /**< Primary Execute-only Access Registers, offset: 0x30 */ 6681 __I uint8_t XACCH2; /**< Primary Execute-only Access Registers, offset: 0x31 */ 6682 __I uint8_t XACCH1; /**< Primary Execute-only Access Registers, offset: 0x32 */ 6683 __I uint8_t XACCH0; /**< Primary Execute-only Access Registers, offset: 0x33 */ 6684 __I uint8_t XACCL3; /**< Primary Execute-only Access Registers, offset: 0x34 */ 6685 __I uint8_t XACCL2; /**< Primary Execute-only Access Registers, offset: 0x35 */ 6686 __I uint8_t XACCL1; /**< Primary Execute-only Access Registers, offset: 0x36 */ 6687 __I uint8_t XACCL0; /**< Primary Execute-only Access Registers, offset: 0x37 */ 6688 __I uint8_t SACCH3; /**< Primary Supervisor-only Access Registers, offset: 0x38 */ 6689 __I uint8_t SACCH2; /**< Primary Supervisor-only Access Registers, offset: 0x39 */ 6690 __I uint8_t SACCH1; /**< Primary Supervisor-only Access Registers, offset: 0x3A */ 6691 __I uint8_t SACCH0; /**< Primary Supervisor-only Access Registers, offset: 0x3B */ 6692 __I uint8_t SACCL3; /**< Primary Supervisor-only Access Registers, offset: 0x3C */ 6693 __I uint8_t SACCL2; /**< Primary Supervisor-only Access Registers, offset: 0x3D */ 6694 __I uint8_t SACCL1; /**< Primary Supervisor-only Access Registers, offset: 0x3E */ 6695 __I uint8_t SACCL0; /**< Primary Supervisor-only Access Registers, offset: 0x3F */ 6696 uint8_t RESERVED_4[4]; 6697 __I uint8_t XACCSL; /**< Secondary Execute-only Access Registers, offset: 0x44 */ 6698 __I uint8_t XACCSH; /**< Secondary Execute-only Access Registers, offset: 0x45 */ 6699 uint8_t RESERVED_5[6]; 6700 __I uint8_t SACCSL; /**< Secondary Supervisor-only Access Registers, offset: 0x4C */ 6701 __I uint8_t SACCSH; /**< Secondary Supervisor-only Access Registers, offset: 0x4D */ 6702 uint8_t RESERVED_6[4]; 6703 __I uint8_t FSTDBYCTL; /**< Flash Standby Control Register, offset: 0x52 */ 6704 __IO uint8_t FSTDBY; /**< Flash Standby Register, offset: 0x53 */ 6705 } FTFE_Type; 6706 6707 /* ---------------------------------------------------------------------------- 6708 -- FTFE Register Masks 6709 ---------------------------------------------------------------------------- */ 6710 6711 /*! 6712 * @addtogroup FTFE_Register_Masks FTFE Register Masks 6713 * @{ 6714 */ 6715 6716 /*! @name FSTAT - Flash Status Register */ 6717 /*! @{ */ 6718 #define FTFE_FSTAT_MGSTAT0_MASK (0x1U) 6719 #define FTFE_FSTAT_MGSTAT0_SHIFT (0U) 6720 #define FTFE_FSTAT_MGSTAT0(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTAT_MGSTAT0_SHIFT)) & FTFE_FSTAT_MGSTAT0_MASK) 6721 #define FTFE_FSTAT_FPVIOL_MASK (0x10U) 6722 #define FTFE_FSTAT_FPVIOL_SHIFT (4U) 6723 /*! FPVIOL - Flash Protection Violation Flag 6724 * 0b0..No protection violation detected 6725 * 0b1..Protection violation detected 6726 */ 6727 #define FTFE_FSTAT_FPVIOL(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTAT_FPVIOL_SHIFT)) & FTFE_FSTAT_FPVIOL_MASK) 6728 #define FTFE_FSTAT_ACCERR_MASK (0x20U) 6729 #define FTFE_FSTAT_ACCERR_SHIFT (5U) 6730 /*! ACCERR - Flash Access Error Flag 6731 * 0b0..No access error detected 6732 * 0b1..Access error detected 6733 */ 6734 #define FTFE_FSTAT_ACCERR(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTAT_ACCERR_SHIFT)) & FTFE_FSTAT_ACCERR_MASK) 6735 #define FTFE_FSTAT_RDCOLERR_MASK (0x40U) 6736 #define FTFE_FSTAT_RDCOLERR_SHIFT (6U) 6737 /*! RDCOLERR - Flash Read Collision Error Flag 6738 * 0b0..No collision error detected 6739 * 0b1..Collision error detected 6740 */ 6741 #define FTFE_FSTAT_RDCOLERR(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTAT_RDCOLERR_SHIFT)) & FTFE_FSTAT_RDCOLERR_MASK) 6742 #define FTFE_FSTAT_CCIF_MASK (0x80U) 6743 #define FTFE_FSTAT_CCIF_SHIFT (7U) 6744 /*! CCIF - Command Complete Interrupt Flag 6745 * 0b0..Flash command in progress 6746 * 0b1..Flash command has completed 6747 */ 6748 #define FTFE_FSTAT_CCIF(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTAT_CCIF_SHIFT)) & FTFE_FSTAT_CCIF_MASK) 6749 /*! @} */ 6750 6751 /*! @name FCNFG - Flash Configuration Register */ 6752 /*! @{ */ 6753 #define FTFE_FCNFG_RAMRDY_MASK (0x2U) 6754 #define FTFE_FCNFG_RAMRDY_SHIFT (1U) 6755 /*! RAMRDY - RAM Ready 6756 * 0b0..Programming acceleration RAM is not available 6757 * 0b1..Programming acceleration RAM is available 6758 */ 6759 #define FTFE_FCNFG_RAMRDY(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_RAMRDY_SHIFT)) & FTFE_FCNFG_RAMRDY_MASK) 6760 #define FTFE_FCNFG_CRCRDY_MASK (0x4U) 6761 #define FTFE_FCNFG_CRCRDY_SHIFT (2U) 6762 /*! CRCRDY - CRC Ready 6763 * 0b0..Programming acceleration RAM is not available for CRC operations 6764 * 0b1..Programming acceleration RAM is available for CRC operations 6765 */ 6766 #define FTFE_FCNFG_CRCRDY(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_CRCRDY_SHIFT)) & FTFE_FCNFG_CRCRDY_MASK) 6767 #define FTFE_FCNFG_SWAP_MASK (0x8U) 6768 #define FTFE_FCNFG_SWAP_SHIFT (3U) 6769 /*! SWAP - Swap 6770 * 0b0..Program flash 0 block is located at relative address 0x0000 6771 * 0b1..Program flash 1 block is located at relative address 0x0000 6772 */ 6773 #define FTFE_FCNFG_SWAP(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_SWAP_SHIFT)) & FTFE_FCNFG_SWAP_MASK) 6774 #define FTFE_FCNFG_ERSSUSP_MASK (0x10U) 6775 #define FTFE_FCNFG_ERSSUSP_SHIFT (4U) 6776 /*! ERSSUSP - Erase Suspend 6777 * 0b0..No suspend requested 6778 * 0b1..Suspend the current Erase Flash Sector command execution 6779 */ 6780 #define FTFE_FCNFG_ERSSUSP(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_ERSSUSP_SHIFT)) & FTFE_FCNFG_ERSSUSP_MASK) 6781 #define FTFE_FCNFG_ERSAREQ_MASK (0x20U) 6782 #define FTFE_FCNFG_ERSAREQ_SHIFT (5U) 6783 /*! ERSAREQ - Erase All Request 6784 * 0b0..No request or request complete 6785 * 0b1..Request to: (1) run the Erase All Blocks command, (2) verify the erased state, (3) program the security byte in the Flash Configuration Field to the unsecure state, and (4) release MCU security by setting the FSEC[SEC] field to the unsecure state. 6786 */ 6787 #define FTFE_FCNFG_ERSAREQ(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_ERSAREQ_SHIFT)) & FTFE_FCNFG_ERSAREQ_MASK) 6788 #define FTFE_FCNFG_RDCOLLIE_MASK (0x40U) 6789 #define FTFE_FCNFG_RDCOLLIE_SHIFT (6U) 6790 /*! RDCOLLIE - Read Collision Error Interrupt Enable 6791 * 0b0..Read collision error interrupt disabled 6792 * 0b1..Read collision error interrupt enabled. An interrupt request is generated whenever a flash read collision error is detected (see the description of FSTAT[RDCOLERR]). 6793 */ 6794 #define FTFE_FCNFG_RDCOLLIE(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_RDCOLLIE_SHIFT)) & FTFE_FCNFG_RDCOLLIE_MASK) 6795 #define FTFE_FCNFG_CCIE_MASK (0x80U) 6796 #define FTFE_FCNFG_CCIE_SHIFT (7U) 6797 /*! CCIE - Command Complete Interrupt Enable 6798 * 0b0..Command complete interrupt disabled 6799 * 0b1..Command complete interrupt enabled. An interrupt request is generated whenever the FSTAT[CCIF] flag is set. 6800 */ 6801 #define FTFE_FCNFG_CCIE(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_CCIE_SHIFT)) & FTFE_FCNFG_CCIE_MASK) 6802 /*! @} */ 6803 6804 /*! @name FSEC - Flash Security Register */ 6805 /*! @{ */ 6806 #define FTFE_FSEC_SEC_MASK (0x3U) 6807 #define FTFE_FSEC_SEC_SHIFT (0U) 6808 /*! SEC - Flash Security 6809 * 0b00..MCU security status is secure 6810 * 0b01..MCU security status is secure 6811 * 0b10..MCU security status is unsecure (The standard shipping condition of the flash module is unsecure.) 6812 * 0b11..MCU security status is secure 6813 */ 6814 #define FTFE_FSEC_SEC(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSEC_SEC_SHIFT)) & FTFE_FSEC_SEC_MASK) 6815 #define FTFE_FSEC_FSLACC_MASK (0xCU) 6816 #define FTFE_FSEC_FSLACC_SHIFT (2U) 6817 /*! FSLACC - Factory Security Level Access Code 6818 * 0b00..Factory access granted 6819 * 0b01..Factory access denied 6820 * 0b10..Factory access denied 6821 * 0b11..Factory access granted 6822 */ 6823 #define FTFE_FSEC_FSLACC(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSEC_FSLACC_SHIFT)) & FTFE_FSEC_FSLACC_MASK) 6824 #define FTFE_FSEC_MEEN_MASK (0x30U) 6825 #define FTFE_FSEC_MEEN_SHIFT (4U) 6826 /*! MEEN - Mass Erase Enable Bits 6827 * 0b00..Mass erase is enabled 6828 * 0b01..Mass erase is enabled 6829 * 0b10..Mass erase is disabled 6830 * 0b11..Mass erase is enabled 6831 */ 6832 #define FTFE_FSEC_MEEN(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSEC_MEEN_SHIFT)) & FTFE_FSEC_MEEN_MASK) 6833 #define FTFE_FSEC_KEYEN_MASK (0xC0U) 6834 #define FTFE_FSEC_KEYEN_SHIFT (6U) 6835 /*! KEYEN - Backdoor Key Security Enable 6836 * 0b00..Backdoor key access disabled 6837 * 0b01..Backdoor key access disabled (preferred KEYEN state to disable backdoor key access) 6838 * 0b10..Backdoor key access enabled 6839 * 0b11..Backdoor key access disabled 6840 */ 6841 #define FTFE_FSEC_KEYEN(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSEC_KEYEN_SHIFT)) & FTFE_FSEC_KEYEN_MASK) 6842 /*! @} */ 6843 6844 /*! @name FCCOB3 - Flash Common Command Object Registers */ 6845 /*! @{ */ 6846 #define FTFE_FCCOB3_CCOBn_MASK (0xFFU) 6847 #define FTFE_FCCOB3_CCOBn_SHIFT (0U) 6848 #define FTFE_FCCOB3_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB3_CCOBn_SHIFT)) & FTFE_FCCOB3_CCOBn_MASK) 6849 /*! @} */ 6850 6851 /*! @name FCCOB2 - Flash Common Command Object Registers */ 6852 /*! @{ */ 6853 #define FTFE_FCCOB2_CCOBn_MASK (0xFFU) 6854 #define FTFE_FCCOB2_CCOBn_SHIFT (0U) 6855 #define FTFE_FCCOB2_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB2_CCOBn_SHIFT)) & FTFE_FCCOB2_CCOBn_MASK) 6856 /*! @} */ 6857 6858 /*! @name FCCOB1 - Flash Common Command Object Registers */ 6859 /*! @{ */ 6860 #define FTFE_FCCOB1_CCOBn_MASK (0xFFU) 6861 #define FTFE_FCCOB1_CCOBn_SHIFT (0U) 6862 #define FTFE_FCCOB1_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB1_CCOBn_SHIFT)) & FTFE_FCCOB1_CCOBn_MASK) 6863 /*! @} */ 6864 6865 /*! @name FCCOB0 - Flash Common Command Object Registers */ 6866 /*! @{ */ 6867 #define FTFE_FCCOB0_CCOBn_MASK (0xFFU) 6868 #define FTFE_FCCOB0_CCOBn_SHIFT (0U) 6869 #define FTFE_FCCOB0_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB0_CCOBn_SHIFT)) & FTFE_FCCOB0_CCOBn_MASK) 6870 /*! @} */ 6871 6872 /*! @name FCCOB7 - Flash Common Command Object Registers */ 6873 /*! @{ */ 6874 #define FTFE_FCCOB7_CCOBn_MASK (0xFFU) 6875 #define FTFE_FCCOB7_CCOBn_SHIFT (0U) 6876 #define FTFE_FCCOB7_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB7_CCOBn_SHIFT)) & FTFE_FCCOB7_CCOBn_MASK) 6877 /*! @} */ 6878 6879 /*! @name FCCOB6 - Flash Common Command Object Registers */ 6880 /*! @{ */ 6881 #define FTFE_FCCOB6_CCOBn_MASK (0xFFU) 6882 #define FTFE_FCCOB6_CCOBn_SHIFT (0U) 6883 #define FTFE_FCCOB6_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB6_CCOBn_SHIFT)) & FTFE_FCCOB6_CCOBn_MASK) 6884 /*! @} */ 6885 6886 /*! @name FCCOB5 - Flash Common Command Object Registers */ 6887 /*! @{ */ 6888 #define FTFE_FCCOB5_CCOBn_MASK (0xFFU) 6889 #define FTFE_FCCOB5_CCOBn_SHIFT (0U) 6890 #define FTFE_FCCOB5_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB5_CCOBn_SHIFT)) & FTFE_FCCOB5_CCOBn_MASK) 6891 /*! @} */ 6892 6893 /*! @name FCCOB4 - Flash Common Command Object Registers */ 6894 /*! @{ */ 6895 #define FTFE_FCCOB4_CCOBn_MASK (0xFFU) 6896 #define FTFE_FCCOB4_CCOBn_SHIFT (0U) 6897 #define FTFE_FCCOB4_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB4_CCOBn_SHIFT)) & FTFE_FCCOB4_CCOBn_MASK) 6898 /*! @} */ 6899 6900 /*! @name FCCOBB - Flash Common Command Object Registers */ 6901 /*! @{ */ 6902 #define FTFE_FCCOBB_CCOBn_MASK (0xFFU) 6903 #define FTFE_FCCOBB_CCOBn_SHIFT (0U) 6904 #define FTFE_FCCOBB_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOBB_CCOBn_SHIFT)) & FTFE_FCCOBB_CCOBn_MASK) 6905 /*! @} */ 6906 6907 /*! @name FCCOBA - Flash Common Command Object Registers */ 6908 /*! @{ */ 6909 #define FTFE_FCCOBA_CCOBn_MASK (0xFFU) 6910 #define FTFE_FCCOBA_CCOBn_SHIFT (0U) 6911 #define FTFE_FCCOBA_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOBA_CCOBn_SHIFT)) & FTFE_FCCOBA_CCOBn_MASK) 6912 /*! @} */ 6913 6914 /*! @name FCCOB9 - Flash Common Command Object Registers */ 6915 /*! @{ */ 6916 #define FTFE_FCCOB9_CCOBn_MASK (0xFFU) 6917 #define FTFE_FCCOB9_CCOBn_SHIFT (0U) 6918 #define FTFE_FCCOB9_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB9_CCOBn_SHIFT)) & FTFE_FCCOB9_CCOBn_MASK) 6919 /*! @} */ 6920 6921 /*! @name FCCOB8 - Flash Common Command Object Registers */ 6922 /*! @{ */ 6923 #define FTFE_FCCOB8_CCOBn_MASK (0xFFU) 6924 #define FTFE_FCCOB8_CCOBn_SHIFT (0U) 6925 #define FTFE_FCCOB8_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB8_CCOBn_SHIFT)) & FTFE_FCCOB8_CCOBn_MASK) 6926 /*! @} */ 6927 6928 /*! @name FOPT3 - Flash Option Registers */ 6929 /*! @{ */ 6930 #define FTFE_FOPT3_OPT_MASK (0xFFU) 6931 #define FTFE_FOPT3_OPT_SHIFT (0U) 6932 #define FTFE_FOPT3_OPT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FOPT3_OPT_SHIFT)) & FTFE_FOPT3_OPT_MASK) 6933 /*! @} */ 6934 6935 /*! @name FOPT2 - Flash Option Registers */ 6936 /*! @{ */ 6937 #define FTFE_FOPT2_OPT_MASK (0xFFU) 6938 #define FTFE_FOPT2_OPT_SHIFT (0U) 6939 #define FTFE_FOPT2_OPT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FOPT2_OPT_SHIFT)) & FTFE_FOPT2_OPT_MASK) 6940 /*! @} */ 6941 6942 /*! @name FOPT1 - Flash Option Registers */ 6943 /*! @{ */ 6944 #define FTFE_FOPT1_OPT_MASK (0xFFU) 6945 #define FTFE_FOPT1_OPT_SHIFT (0U) 6946 #define FTFE_FOPT1_OPT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FOPT1_OPT_SHIFT)) & FTFE_FOPT1_OPT_MASK) 6947 /*! @} */ 6948 6949 /*! @name FOPT0 - Flash Option Registers */ 6950 /*! @{ */ 6951 #define FTFE_FOPT0_OPT_MASK (0xFFU) 6952 #define FTFE_FOPT0_OPT_SHIFT (0U) 6953 #define FTFE_FOPT0_OPT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FOPT0_OPT_SHIFT)) & FTFE_FOPT0_OPT_MASK) 6954 /*! @} */ 6955 6956 /*! @name FPROTH3 - Primary Program Flash Protection Registers */ 6957 /*! @{ */ 6958 #define FTFE_FPROTH3_PROT_MASK (0xFFU) 6959 #define FTFE_FPROTH3_PROT_SHIFT (0U) 6960 #define FTFE_FPROTH3_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTH3_PROT_SHIFT)) & FTFE_FPROTH3_PROT_MASK) 6961 /*! @} */ 6962 6963 /*! @name FPROTH2 - Primary Program Flash Protection Registers */ 6964 /*! @{ */ 6965 #define FTFE_FPROTH2_PROT_MASK (0xFFU) 6966 #define FTFE_FPROTH2_PROT_SHIFT (0U) 6967 #define FTFE_FPROTH2_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTH2_PROT_SHIFT)) & FTFE_FPROTH2_PROT_MASK) 6968 /*! @} */ 6969 6970 /*! @name FPROTH1 - Primary Program Flash Protection Registers */ 6971 /*! @{ */ 6972 #define FTFE_FPROTH1_PROT_MASK (0xFFU) 6973 #define FTFE_FPROTH1_PROT_SHIFT (0U) 6974 #define FTFE_FPROTH1_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTH1_PROT_SHIFT)) & FTFE_FPROTH1_PROT_MASK) 6975 /*! @} */ 6976 6977 /*! @name FPROTH0 - Primary Program Flash Protection Registers */ 6978 /*! @{ */ 6979 #define FTFE_FPROTH0_PROT_MASK (0xFFU) 6980 #define FTFE_FPROTH0_PROT_SHIFT (0U) 6981 #define FTFE_FPROTH0_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTH0_PROT_SHIFT)) & FTFE_FPROTH0_PROT_MASK) 6982 /*! @} */ 6983 6984 /*! @name FPROTL3 - Primary Program Flash Protection Registers */ 6985 /*! @{ */ 6986 #define FTFE_FPROTL3_PROT_MASK (0xFFU) 6987 #define FTFE_FPROTL3_PROT_SHIFT (0U) 6988 #define FTFE_FPROTL3_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTL3_PROT_SHIFT)) & FTFE_FPROTL3_PROT_MASK) 6989 /*! @} */ 6990 6991 /*! @name FPROTL2 - Primary Program Flash Protection Registers */ 6992 /*! @{ */ 6993 #define FTFE_FPROTL2_PROT_MASK (0xFFU) 6994 #define FTFE_FPROTL2_PROT_SHIFT (0U) 6995 #define FTFE_FPROTL2_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTL2_PROT_SHIFT)) & FTFE_FPROTL2_PROT_MASK) 6996 /*! @} */ 6997 6998 /*! @name FPROTL1 - Primary Program Flash Protection Registers */ 6999 /*! @{ */ 7000 #define FTFE_FPROTL1_PROT_MASK (0xFFU) 7001 #define FTFE_FPROTL1_PROT_SHIFT (0U) 7002 #define FTFE_FPROTL1_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTL1_PROT_SHIFT)) & FTFE_FPROTL1_PROT_MASK) 7003 /*! @} */ 7004 7005 /*! @name FPROTL0 - Primary Program Flash Protection Registers */ 7006 /*! @{ */ 7007 #define FTFE_FPROTL0_PROT_MASK (0xFFU) 7008 #define FTFE_FPROTL0_PROT_SHIFT (0U) 7009 #define FTFE_FPROTL0_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTL0_PROT_SHIFT)) & FTFE_FPROTL0_PROT_MASK) 7010 /*! @} */ 7011 7012 /*! @name FPROTSL - Secondary Program Flash Protection Registers */ 7013 /*! @{ */ 7014 #define FTFE_FPROTSL_PROTS_MASK (0xFFU) 7015 #define FTFE_FPROTSL_PROTS_SHIFT (0U) 7016 #define FTFE_FPROTSL_PROTS(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTSL_PROTS_SHIFT)) & FTFE_FPROTSL_PROTS_MASK) 7017 /*! @} */ 7018 7019 /*! @name FPROTSH - Secondary Program Flash Protection Registers */ 7020 /*! @{ */ 7021 #define FTFE_FPROTSH_PROTS_MASK (0xFFU) 7022 #define FTFE_FPROTSH_PROTS_SHIFT (0U) 7023 #define FTFE_FPROTSH_PROTS(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTSH_PROTS_SHIFT)) & FTFE_FPROTSH_PROTS_MASK) 7024 /*! @} */ 7025 7026 /*! @name FACSS - Primary Flash Access Segment Size Register */ 7027 /*! @{ */ 7028 #define FTFE_FACSS_SGSIZE_MASK (0xFFU) 7029 #define FTFE_FACSS_SGSIZE_SHIFT (0U) 7030 #define FTFE_FACSS_SGSIZE(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FACSS_SGSIZE_SHIFT)) & FTFE_FACSS_SGSIZE_MASK) 7031 /*! @} */ 7032 7033 /*! @name FACSN - Primary Flash Access Segment Number Register */ 7034 /*! @{ */ 7035 #define FTFE_FACSN_NUMSG_MASK (0xFFU) 7036 #define FTFE_FACSN_NUMSG_SHIFT (0U) 7037 /*! NUMSG - Number of Segments Indicator 7038 * 0b00110000..Primary Program flash memory is divided into 48 segments (768 Kbytes, 1.5 Mbytes) 7039 * 0b01000000..Primary Program flash memory is divided into 64 segments (512 Kbytes, 1 Mbyte, 2 Mbytes) 7040 */ 7041 #define FTFE_FACSN_NUMSG(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FACSN_NUMSG_SHIFT)) & FTFE_FACSN_NUMSG_MASK) 7042 /*! @} */ 7043 7044 /*! @name FACSSS - Secondary Flash Access Segment Size Register */ 7045 /*! @{ */ 7046 #define FTFE_FACSSS_SGSIZE_S_MASK (0xFFU) 7047 #define FTFE_FACSSS_SGSIZE_S_SHIFT (0U) 7048 #define FTFE_FACSSS_SGSIZE_S(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FACSSS_SGSIZE_S_SHIFT)) & FTFE_FACSSS_SGSIZE_S_MASK) 7049 /*! @} */ 7050 7051 /*! @name FACSNS - Secondary Flash Access Segment Number Register */ 7052 /*! @{ */ 7053 #define FTFE_FACSNS_NUMSG_S_MASK (0xFFU) 7054 #define FTFE_FACSNS_NUMSG_S_SHIFT (0U) 7055 /*! NUMSG_S - Number of Segments Indicator 7056 * 0b00010000..Secondary Program flash memory is divided into 16 segments 7057 */ 7058 #define FTFE_FACSNS_NUMSG_S(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FACSNS_NUMSG_S_SHIFT)) & FTFE_FACSNS_NUMSG_S_MASK) 7059 /*! @} */ 7060 7061 /*! @name XACCH3 - Primary Execute-only Access Registers */ 7062 /*! @{ */ 7063 #define FTFE_XACCH3_XA_MASK (0xFFU) 7064 #define FTFE_XACCH3_XA_SHIFT (0U) 7065 #define FTFE_XACCH3_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCH3_XA_SHIFT)) & FTFE_XACCH3_XA_MASK) 7066 /*! @} */ 7067 7068 /*! @name XACCH2 - Primary Execute-only Access Registers */ 7069 /*! @{ */ 7070 #define FTFE_XACCH2_XA_MASK (0xFFU) 7071 #define FTFE_XACCH2_XA_SHIFT (0U) 7072 #define FTFE_XACCH2_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCH2_XA_SHIFT)) & FTFE_XACCH2_XA_MASK) 7073 /*! @} */ 7074 7075 /*! @name XACCH1 - Primary Execute-only Access Registers */ 7076 /*! @{ */ 7077 #define FTFE_XACCH1_XA_MASK (0xFFU) 7078 #define FTFE_XACCH1_XA_SHIFT (0U) 7079 #define FTFE_XACCH1_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCH1_XA_SHIFT)) & FTFE_XACCH1_XA_MASK) 7080 /*! @} */ 7081 7082 /*! @name XACCH0 - Primary Execute-only Access Registers */ 7083 /*! @{ */ 7084 #define FTFE_XACCH0_XA_MASK (0xFFU) 7085 #define FTFE_XACCH0_XA_SHIFT (0U) 7086 #define FTFE_XACCH0_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCH0_XA_SHIFT)) & FTFE_XACCH0_XA_MASK) 7087 /*! @} */ 7088 7089 /*! @name XACCL3 - Primary Execute-only Access Registers */ 7090 /*! @{ */ 7091 #define FTFE_XACCL3_XA_MASK (0xFFU) 7092 #define FTFE_XACCL3_XA_SHIFT (0U) 7093 #define FTFE_XACCL3_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCL3_XA_SHIFT)) & FTFE_XACCL3_XA_MASK) 7094 /*! @} */ 7095 7096 /*! @name XACCL2 - Primary Execute-only Access Registers */ 7097 /*! @{ */ 7098 #define FTFE_XACCL2_XA_MASK (0xFFU) 7099 #define FTFE_XACCL2_XA_SHIFT (0U) 7100 #define FTFE_XACCL2_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCL2_XA_SHIFT)) & FTFE_XACCL2_XA_MASK) 7101 /*! @} */ 7102 7103 /*! @name XACCL1 - Primary Execute-only Access Registers */ 7104 /*! @{ */ 7105 #define FTFE_XACCL1_XA_MASK (0xFFU) 7106 #define FTFE_XACCL1_XA_SHIFT (0U) 7107 #define FTFE_XACCL1_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCL1_XA_SHIFT)) & FTFE_XACCL1_XA_MASK) 7108 /*! @} */ 7109 7110 /*! @name XACCL0 - Primary Execute-only Access Registers */ 7111 /*! @{ */ 7112 #define FTFE_XACCL0_XA_MASK (0xFFU) 7113 #define FTFE_XACCL0_XA_SHIFT (0U) 7114 #define FTFE_XACCL0_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCL0_XA_SHIFT)) & FTFE_XACCL0_XA_MASK) 7115 /*! @} */ 7116 7117 /*! @name SACCH3 - Primary Supervisor-only Access Registers */ 7118 /*! @{ */ 7119 #define FTFE_SACCH3_SA_MASK (0xFFU) 7120 #define FTFE_SACCH3_SA_SHIFT (0U) 7121 #define FTFE_SACCH3_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCH3_SA_SHIFT)) & FTFE_SACCH3_SA_MASK) 7122 /*! @} */ 7123 7124 /*! @name SACCH2 - Primary Supervisor-only Access Registers */ 7125 /*! @{ */ 7126 #define FTFE_SACCH2_SA_MASK (0xFFU) 7127 #define FTFE_SACCH2_SA_SHIFT (0U) 7128 #define FTFE_SACCH2_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCH2_SA_SHIFT)) & FTFE_SACCH2_SA_MASK) 7129 /*! @} */ 7130 7131 /*! @name SACCH1 - Primary Supervisor-only Access Registers */ 7132 /*! @{ */ 7133 #define FTFE_SACCH1_SA_MASK (0xFFU) 7134 #define FTFE_SACCH1_SA_SHIFT (0U) 7135 #define FTFE_SACCH1_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCH1_SA_SHIFT)) & FTFE_SACCH1_SA_MASK) 7136 /*! @} */ 7137 7138 /*! @name SACCH0 - Primary Supervisor-only Access Registers */ 7139 /*! @{ */ 7140 #define FTFE_SACCH0_SA_MASK (0xFFU) 7141 #define FTFE_SACCH0_SA_SHIFT (0U) 7142 #define FTFE_SACCH0_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCH0_SA_SHIFT)) & FTFE_SACCH0_SA_MASK) 7143 /*! @} */ 7144 7145 /*! @name SACCL3 - Primary Supervisor-only Access Registers */ 7146 /*! @{ */ 7147 #define FTFE_SACCL3_SA_MASK (0xFFU) 7148 #define FTFE_SACCL3_SA_SHIFT (0U) 7149 #define FTFE_SACCL3_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCL3_SA_SHIFT)) & FTFE_SACCL3_SA_MASK) 7150 /*! @} */ 7151 7152 /*! @name SACCL2 - Primary Supervisor-only Access Registers */ 7153 /*! @{ */ 7154 #define FTFE_SACCL2_SA_MASK (0xFFU) 7155 #define FTFE_SACCL2_SA_SHIFT (0U) 7156 #define FTFE_SACCL2_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCL2_SA_SHIFT)) & FTFE_SACCL2_SA_MASK) 7157 /*! @} */ 7158 7159 /*! @name SACCL1 - Primary Supervisor-only Access Registers */ 7160 /*! @{ */ 7161 #define FTFE_SACCL1_SA_MASK (0xFFU) 7162 #define FTFE_SACCL1_SA_SHIFT (0U) 7163 #define FTFE_SACCL1_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCL1_SA_SHIFT)) & FTFE_SACCL1_SA_MASK) 7164 /*! @} */ 7165 7166 /*! @name SACCL0 - Primary Supervisor-only Access Registers */ 7167 /*! @{ */ 7168 #define FTFE_SACCL0_SA_MASK (0xFFU) 7169 #define FTFE_SACCL0_SA_SHIFT (0U) 7170 #define FTFE_SACCL0_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCL0_SA_SHIFT)) & FTFE_SACCL0_SA_MASK) 7171 /*! @} */ 7172 7173 /*! @name XACCSL - Secondary Execute-only Access Registers */ 7174 /*! @{ */ 7175 #define FTFE_XACCSL_XA_S_MASK (0xFFU) 7176 #define FTFE_XACCSL_XA_S_SHIFT (0U) 7177 #define FTFE_XACCSL_XA_S(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCSL_XA_S_SHIFT)) & FTFE_XACCSL_XA_S_MASK) 7178 /*! @} */ 7179 7180 /*! @name XACCSH - Secondary Execute-only Access Registers */ 7181 /*! @{ */ 7182 #define FTFE_XACCSH_XA_S_MASK (0xFFU) 7183 #define FTFE_XACCSH_XA_S_SHIFT (0U) 7184 #define FTFE_XACCSH_XA_S(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCSH_XA_S_SHIFT)) & FTFE_XACCSH_XA_S_MASK) 7185 /*! @} */ 7186 7187 /*! @name SACCSL - Secondary Supervisor-only Access Registers */ 7188 /*! @{ */ 7189 #define FTFE_SACCSL_SA_S_MASK (0xFFU) 7190 #define FTFE_SACCSL_SA_S_SHIFT (0U) 7191 #define FTFE_SACCSL_SA_S(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCSL_SA_S_SHIFT)) & FTFE_SACCSL_SA_S_MASK) 7192 /*! @} */ 7193 7194 /*! @name SACCSH - Secondary Supervisor-only Access Registers */ 7195 /*! @{ */ 7196 #define FTFE_SACCSH_SA_S_MASK (0xFFU) 7197 #define FTFE_SACCSH_SA_S_SHIFT (0U) 7198 #define FTFE_SACCSH_SA_S(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCSH_SA_S_SHIFT)) & FTFE_SACCSH_SA_S_MASK) 7199 /*! @} */ 7200 7201 /*! @name FSTDBYCTL - Flash Standby Control Register */ 7202 /*! @{ */ 7203 #define FTFE_FSTDBYCTL_STDBYDIS_MASK (0x1U) 7204 #define FTFE_FSTDBYCTL_STDBYDIS_SHIFT (0U) 7205 /*! STDBYDIS - Standy Mode Disable 7206 * 0b0..Standby mode enabled for flash blocks selected by STDBYx 7207 * 0b1..Standby mode disabled (STDBYx ignored) 7208 */ 7209 #define FTFE_FSTDBYCTL_STDBYDIS(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTDBYCTL_STDBYDIS_SHIFT)) & FTFE_FSTDBYCTL_STDBYDIS_MASK) 7210 /*! @} */ 7211 7212 /*! @name FSTDBY - Flash Standby Register */ 7213 /*! @{ */ 7214 #define FTFE_FSTDBY_STDBY0_MASK (0x1U) 7215 #define FTFE_FSTDBY_STDBY0_SHIFT (0U) 7216 /*! STDBY0 - Standy Mode for Flash Block 0 7217 * 0b0..Standby mode not enabled for flash block 0 7218 * 0b1..If STDBYDIS is clear, standby mode is enabled for flash block 0 (when SWAP=0/1, flash block 1/0 is the inactive block) 7219 */ 7220 #define FTFE_FSTDBY_STDBY0(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTDBY_STDBY0_SHIFT)) & FTFE_FSTDBY_STDBY0_MASK) 7221 #define FTFE_FSTDBY_STDBY1_MASK (0x2U) 7222 #define FTFE_FSTDBY_STDBY1_SHIFT (1U) 7223 /*! STDBY1 - Standy Mode for Flash Block 1 7224 * 0b0..Standby mode not enabled for flash block 1 7225 * 0b1..If STDBYDIS is clear, standby mode is enabled for flash block 1 (when SWAP=0/1, flash block 1/0 is the inactive block) 7226 */ 7227 #define FTFE_FSTDBY_STDBY1(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTDBY_STDBY1_SHIFT)) & FTFE_FSTDBY_STDBY1_MASK) 7228 #define FTFE_FSTDBY_STDBY2_MASK (0x4U) 7229 #define FTFE_FSTDBY_STDBY2_SHIFT (2U) 7230 /*! STDBY2 - Standy Mode for Flash Block 2 7231 * 0b0..Standby mode not enabled for flash block 2 7232 * 0b1..If STDBYDIS is clear, standby mode is enabled for flash block 2 7233 */ 7234 #define FTFE_FSTDBY_STDBY2(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTDBY_STDBY2_SHIFT)) & FTFE_FSTDBY_STDBY2_MASK) 7235 /*! @} */ 7236 7237 7238 /*! 7239 * @} 7240 */ /* end of group FTFE_Register_Masks */ 7241 7242 7243 /* FTFE - Peripheral instance base addresses */ 7244 /** Peripheral FTFE base address */ 7245 #define FTFE_BASE (0x40023000u) 7246 /** Peripheral FTFE base pointer */ 7247 #define FTFE ((FTFE_Type *)FTFE_BASE) 7248 /** Array initializer of FTFE peripheral base addresses */ 7249 #define FTFE_BASE_ADDRS { FTFE_BASE } 7250 /** Array initializer of FTFE peripheral base pointers */ 7251 #define FTFE_BASE_PTRS { FTFE } 7252 /** Interrupt vectors for the FTFE peripheral type */ 7253 #define FTFE_COMMAND_COMPLETE_IRQS { FTFE_Command_Complete_IRQn } 7254 #define FTFE_READ_COLLISION_IRQS { FTFE_Read_Collision_IRQn } 7255 7256 /*! 7257 * @} 7258 */ /* end of group FTFE_Peripheral_Access_Layer */ 7259 7260 7261 /* ---------------------------------------------------------------------------- 7262 -- GPIO Peripheral Access Layer 7263 ---------------------------------------------------------------------------- */ 7264 7265 /*! 7266 * @addtogroup GPIO_Peripheral_Access_Layer GPIO Peripheral Access Layer 7267 * @{ 7268 */ 7269 7270 /** GPIO - Register Layout Typedef */ 7271 typedef struct { 7272 __IO uint32_t PDOR; /**< Port Data Output Register, offset: 0x0 */ 7273 __O uint32_t PSOR; /**< Port Set Output Register, offset: 0x4 */ 7274 __O uint32_t PCOR; /**< Port Clear Output Register, offset: 0x8 */ 7275 __O uint32_t PTOR; /**< Port Toggle Output Register, offset: 0xC */ 7276 __I uint32_t PDIR; /**< Port Data Input Register, offset: 0x10 */ 7277 __IO uint32_t PDDR; /**< Port Data Direction Register, offset: 0x14 */ 7278 } GPIO_Type; 7279 7280 /* ---------------------------------------------------------------------------- 7281 -- GPIO Register Masks 7282 ---------------------------------------------------------------------------- */ 7283 7284 /*! 7285 * @addtogroup GPIO_Register_Masks GPIO Register Masks 7286 * @{ 7287 */ 7288 7289 /*! @name PDOR - Port Data Output Register */ 7290 /*! @{ */ 7291 #define GPIO_PDOR_PDO_MASK (0xFFFFFFFFU) 7292 #define GPIO_PDOR_PDO_SHIFT (0U) 7293 #define GPIO_PDOR_PDO(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PDOR_PDO_SHIFT)) & GPIO_PDOR_PDO_MASK) 7294 /*! @} */ 7295 7296 /*! @name PSOR - Port Set Output Register */ 7297 /*! @{ */ 7298 #define GPIO_PSOR_PTSO_MASK (0xFFFFFFFFU) 7299 #define GPIO_PSOR_PTSO_SHIFT (0U) 7300 #define GPIO_PSOR_PTSO(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PSOR_PTSO_SHIFT)) & GPIO_PSOR_PTSO_MASK) 7301 /*! @} */ 7302 7303 /*! @name PCOR - Port Clear Output Register */ 7304 /*! @{ */ 7305 #define GPIO_PCOR_PTCO_MASK (0xFFFFFFFFU) 7306 #define GPIO_PCOR_PTCO_SHIFT (0U) 7307 #define GPIO_PCOR_PTCO(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PCOR_PTCO_SHIFT)) & GPIO_PCOR_PTCO_MASK) 7308 /*! @} */ 7309 7310 /*! @name PTOR - Port Toggle Output Register */ 7311 /*! @{ */ 7312 #define GPIO_PTOR_PTTO_MASK (0xFFFFFFFFU) 7313 #define GPIO_PTOR_PTTO_SHIFT (0U) 7314 #define GPIO_PTOR_PTTO(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PTOR_PTTO_SHIFT)) & GPIO_PTOR_PTTO_MASK) 7315 /*! @} */ 7316 7317 /*! @name PDIR - Port Data Input Register */ 7318 /*! @{ */ 7319 #define GPIO_PDIR_PDI_MASK (0xFFFFFFFFU) 7320 #define GPIO_PDIR_PDI_SHIFT (0U) 7321 #define GPIO_PDIR_PDI(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PDIR_PDI_SHIFT)) & GPIO_PDIR_PDI_MASK) 7322 /*! @} */ 7323 7324 /*! @name PDDR - Port Data Direction Register */ 7325 /*! @{ */ 7326 #define GPIO_PDDR_PDD_MASK (0xFFFFFFFFU) 7327 #define GPIO_PDDR_PDD_SHIFT (0U) 7328 #define GPIO_PDDR_PDD(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PDDR_PDD_SHIFT)) & GPIO_PDDR_PDD_MASK) 7329 /*! @} */ 7330 7331 7332 /*! 7333 * @} 7334 */ /* end of group GPIO_Register_Masks */ 7335 7336 7337 /* GPIO - Peripheral instance base addresses */ 7338 /** Peripheral GPIOA base address */ 7339 #define GPIOA_BASE (0x48020000u) 7340 /** Peripheral GPIOA base pointer */ 7341 #define GPIOA ((GPIO_Type *)GPIOA_BASE) 7342 /** Peripheral GPIOB base address */ 7343 #define GPIOB_BASE (0x48020040u) 7344 /** Peripheral GPIOB base pointer */ 7345 #define GPIOB ((GPIO_Type *)GPIOB_BASE) 7346 /** Peripheral GPIOC base address */ 7347 #define GPIOC_BASE (0x48020080u) 7348 /** Peripheral GPIOC base pointer */ 7349 #define GPIOC ((GPIO_Type *)GPIOC_BASE) 7350 /** Peripheral GPIOD base address */ 7351 #define GPIOD_BASE (0x480200C0u) 7352 /** Peripheral GPIOD base pointer */ 7353 #define GPIOD ((GPIO_Type *)GPIOD_BASE) 7354 /** Peripheral GPIOE base address */ 7355 #define GPIOE_BASE (0x4100F000u) 7356 /** Peripheral GPIOE base pointer */ 7357 #define GPIOE ((GPIO_Type *)GPIOE_BASE) 7358 /** Array initializer of GPIO peripheral base addresses */ 7359 #define GPIO_BASE_ADDRS { GPIOA_BASE, GPIOB_BASE, GPIOC_BASE, GPIOD_BASE, GPIOE_BASE } 7360 /** Array initializer of GPIO peripheral base pointers */ 7361 #define GPIO_BASE_PTRS { GPIOA, GPIOB, GPIOC, GPIOD, GPIOE } 7362 7363 /*! 7364 * @} 7365 */ /* end of group GPIO_Peripheral_Access_Layer */ 7366 7367 7368 /* ---------------------------------------------------------------------------- 7369 -- I2S Peripheral Access Layer 7370 ---------------------------------------------------------------------------- */ 7371 7372 /*! 7373 * @addtogroup I2S_Peripheral_Access_Layer I2S Peripheral Access Layer 7374 * @{ 7375 */ 7376 7377 /** I2S - Register Layout Typedef */ 7378 typedef struct { 7379 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 7380 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 7381 __IO uint32_t TCSR; /**< SAI Transmit Control Register, offset: 0x8 */ 7382 __IO uint32_t TCR1; /**< SAI Transmit Configuration 1 Register, offset: 0xC */ 7383 __IO uint32_t TCR2; /**< SAI Transmit Configuration 2 Register, offset: 0x10 */ 7384 __IO uint32_t TCR3; /**< SAI Transmit Configuration 3 Register, offset: 0x14 */ 7385 __IO uint32_t TCR4; /**< SAI Transmit Configuration 4 Register, offset: 0x18 */ 7386 __IO uint32_t TCR5; /**< SAI Transmit Configuration 5 Register, offset: 0x1C */ 7387 __O uint32_t TDR[2]; /**< SAI Transmit Data Register, array offset: 0x20, array step: 0x4 */ 7388 uint8_t RESERVED_0[24]; 7389 __I uint32_t TFR[2]; /**< SAI Transmit FIFO Register, array offset: 0x40, array step: 0x4 */ 7390 uint8_t RESERVED_1[24]; 7391 __IO uint32_t TMR; /**< SAI Transmit Mask Register, offset: 0x60 */ 7392 uint8_t RESERVED_2[36]; 7393 __IO uint32_t RCSR; /**< SAI Receive Control Register, offset: 0x88 */ 7394 __IO uint32_t RCR1; /**< SAI Receive Configuration 1 Register, offset: 0x8C */ 7395 __IO uint32_t RCR2; /**< SAI Receive Configuration 2 Register, offset: 0x90 */ 7396 __IO uint32_t RCR3; /**< SAI Receive Configuration 3 Register, offset: 0x94 */ 7397 __IO uint32_t RCR4; /**< SAI Receive Configuration 4 Register, offset: 0x98 */ 7398 __IO uint32_t RCR5; /**< SAI Receive Configuration 5 Register, offset: 0x9C */ 7399 __I uint32_t RDR[2]; /**< SAI Receive Data Register, array offset: 0xA0, array step: 0x4 */ 7400 uint8_t RESERVED_3[24]; 7401 __I uint32_t RFR[2]; /**< SAI Receive FIFO Register, array offset: 0xC0, array step: 0x4 */ 7402 uint8_t RESERVED_4[24]; 7403 __IO uint32_t RMR; /**< SAI Receive Mask Register, offset: 0xE0 */ 7404 } I2S_Type; 7405 7406 /* ---------------------------------------------------------------------------- 7407 -- I2S Register Masks 7408 ---------------------------------------------------------------------------- */ 7409 7410 /*! 7411 * @addtogroup I2S_Register_Masks I2S Register Masks 7412 * @{ 7413 */ 7414 7415 /*! @name VERID - Version ID Register */ 7416 /*! @{ */ 7417 #define I2S_VERID_FEATURE_MASK (0xFFFFU) 7418 #define I2S_VERID_FEATURE_SHIFT (0U) 7419 /*! FEATURE - Feature Specification Number 7420 * 0b0000000000000000..Standard feature set. 7421 */ 7422 #define I2S_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_FEATURE_SHIFT)) & I2S_VERID_FEATURE_MASK) 7423 #define I2S_VERID_MINOR_MASK (0xFF0000U) 7424 #define I2S_VERID_MINOR_SHIFT (16U) 7425 #define I2S_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MINOR_SHIFT)) & I2S_VERID_MINOR_MASK) 7426 #define I2S_VERID_MAJOR_MASK (0xFF000000U) 7427 #define I2S_VERID_MAJOR_SHIFT (24U) 7428 #define I2S_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MAJOR_SHIFT)) & I2S_VERID_MAJOR_MASK) 7429 /*! @} */ 7430 7431 /*! @name PARAM - Parameter Register */ 7432 /*! @{ */ 7433 #define I2S_PARAM_DATALINE_MASK (0xFU) 7434 #define I2S_PARAM_DATALINE_SHIFT (0U) 7435 #define I2S_PARAM_DATALINE(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_DATALINE_SHIFT)) & I2S_PARAM_DATALINE_MASK) 7436 #define I2S_PARAM_FIFO_MASK (0xF00U) 7437 #define I2S_PARAM_FIFO_SHIFT (8U) 7438 #define I2S_PARAM_FIFO(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FIFO_SHIFT)) & I2S_PARAM_FIFO_MASK) 7439 #define I2S_PARAM_FRAME_MASK (0xF0000U) 7440 #define I2S_PARAM_FRAME_SHIFT (16U) 7441 #define I2S_PARAM_FRAME(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FRAME_SHIFT)) & I2S_PARAM_FRAME_MASK) 7442 /*! @} */ 7443 7444 /*! @name TCSR - SAI Transmit Control Register */ 7445 /*! @{ */ 7446 #define I2S_TCSR_FRDE_MASK (0x1U) 7447 #define I2S_TCSR_FRDE_SHIFT (0U) 7448 /*! FRDE - FIFO Request DMA Enable 7449 * 0b0..Disables the DMA request. 7450 * 0b1..Enables the DMA request. 7451 */ 7452 #define I2S_TCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRDE_SHIFT)) & I2S_TCSR_FRDE_MASK) 7453 #define I2S_TCSR_FWDE_MASK (0x2U) 7454 #define I2S_TCSR_FWDE_SHIFT (1U) 7455 /*! FWDE - FIFO Warning DMA Enable 7456 * 0b0..Disables the DMA request. 7457 * 0b1..Enables the DMA request. 7458 */ 7459 #define I2S_TCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWDE_SHIFT)) & I2S_TCSR_FWDE_MASK) 7460 #define I2S_TCSR_FRIE_MASK (0x100U) 7461 #define I2S_TCSR_FRIE_SHIFT (8U) 7462 /*! FRIE - FIFO Request Interrupt Enable 7463 * 0b0..Disables the interrupt. 7464 * 0b1..Enables the interrupt. 7465 */ 7466 #define I2S_TCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRIE_SHIFT)) & I2S_TCSR_FRIE_MASK) 7467 #define I2S_TCSR_FWIE_MASK (0x200U) 7468 #define I2S_TCSR_FWIE_SHIFT (9U) 7469 /*! FWIE - FIFO Warning Interrupt Enable 7470 * 0b0..Disables the interrupt. 7471 * 0b1..Enables the interrupt. 7472 */ 7473 #define I2S_TCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWIE_SHIFT)) & I2S_TCSR_FWIE_MASK) 7474 #define I2S_TCSR_FEIE_MASK (0x400U) 7475 #define I2S_TCSR_FEIE_SHIFT (10U) 7476 /*! FEIE - FIFO Error Interrupt Enable 7477 * 0b0..Disables the interrupt. 7478 * 0b1..Enables the interrupt. 7479 */ 7480 #define I2S_TCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEIE_SHIFT)) & I2S_TCSR_FEIE_MASK) 7481 #define I2S_TCSR_SEIE_MASK (0x800U) 7482 #define I2S_TCSR_SEIE_SHIFT (11U) 7483 /*! SEIE - Sync Error Interrupt Enable 7484 * 0b0..Disables interrupt. 7485 * 0b1..Enables interrupt. 7486 */ 7487 #define I2S_TCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEIE_SHIFT)) & I2S_TCSR_SEIE_MASK) 7488 #define I2S_TCSR_WSIE_MASK (0x1000U) 7489 #define I2S_TCSR_WSIE_SHIFT (12U) 7490 /*! WSIE - Word Start Interrupt Enable 7491 * 0b0..Disables interrupt. 7492 * 0b1..Enables interrupt. 7493 */ 7494 #define I2S_TCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSIE_SHIFT)) & I2S_TCSR_WSIE_MASK) 7495 #define I2S_TCSR_FRF_MASK (0x10000U) 7496 #define I2S_TCSR_FRF_SHIFT (16U) 7497 /*! FRF - FIFO Request Flag 7498 * 0b0..Transmit FIFO watermark has not been reached. 7499 * 0b1..Transmit FIFO watermark has been reached. 7500 */ 7501 #define I2S_TCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRF_SHIFT)) & I2S_TCSR_FRF_MASK) 7502 #define I2S_TCSR_FWF_MASK (0x20000U) 7503 #define I2S_TCSR_FWF_SHIFT (17U) 7504 /*! FWF - FIFO Warning Flag 7505 * 0b0..No enabled transmit FIFO is empty. 7506 * 0b1..Enabled transmit FIFO is empty. 7507 */ 7508 #define I2S_TCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWF_SHIFT)) & I2S_TCSR_FWF_MASK) 7509 #define I2S_TCSR_FEF_MASK (0x40000U) 7510 #define I2S_TCSR_FEF_SHIFT (18U) 7511 /*! FEF - FIFO Error Flag 7512 * 0b0..Transmit underrun not detected. 7513 * 0b1..Transmit underrun detected. 7514 */ 7515 #define I2S_TCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEF_SHIFT)) & I2S_TCSR_FEF_MASK) 7516 #define I2S_TCSR_SEF_MASK (0x80000U) 7517 #define I2S_TCSR_SEF_SHIFT (19U) 7518 /*! SEF - Sync Error Flag 7519 * 0b0..Sync error not detected. 7520 * 0b1..Frame sync error detected. 7521 */ 7522 #define I2S_TCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEF_SHIFT)) & I2S_TCSR_SEF_MASK) 7523 #define I2S_TCSR_WSF_MASK (0x100000U) 7524 #define I2S_TCSR_WSF_SHIFT (20U) 7525 /*! WSF - Word Start Flag 7526 * 0b0..Start of word not detected. 7527 * 0b1..Start of word detected. 7528 */ 7529 #define I2S_TCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSF_SHIFT)) & I2S_TCSR_WSF_MASK) 7530 #define I2S_TCSR_SR_MASK (0x1000000U) 7531 #define I2S_TCSR_SR_SHIFT (24U) 7532 /*! SR - Software Reset 7533 * 0b0..No effect. 7534 * 0b1..Software reset. 7535 */ 7536 #define I2S_TCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SR_SHIFT)) & I2S_TCSR_SR_MASK) 7537 #define I2S_TCSR_FR_MASK (0x2000000U) 7538 #define I2S_TCSR_FR_SHIFT (25U) 7539 /*! FR - FIFO Reset 7540 * 0b0..No effect. 7541 * 0b1..FIFO reset. 7542 */ 7543 #define I2S_TCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FR_SHIFT)) & I2S_TCSR_FR_MASK) 7544 #define I2S_TCSR_BCE_MASK (0x10000000U) 7545 #define I2S_TCSR_BCE_SHIFT (28U) 7546 /*! BCE - Bit Clock Enable 7547 * 0b0..Transmit bit clock is disabled. 7548 * 0b1..Transmit bit clock is enabled. 7549 */ 7550 #define I2S_TCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_BCE_SHIFT)) & I2S_TCSR_BCE_MASK) 7551 #define I2S_TCSR_DBGE_MASK (0x20000000U) 7552 #define I2S_TCSR_DBGE_SHIFT (29U) 7553 /*! DBGE - Debug Enable 7554 * 0b0..Transmitter is disabled in Debug mode, after completing the current frame. 7555 * 0b1..Transmitter is enabled in Debug mode. 7556 */ 7557 #define I2S_TCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_DBGE_SHIFT)) & I2S_TCSR_DBGE_MASK) 7558 #define I2S_TCSR_STOPE_MASK (0x40000000U) 7559 #define I2S_TCSR_STOPE_SHIFT (30U) 7560 /*! STOPE - Stop Enable 7561 * 0b0..Transmitter disabled in Stop mode. 7562 * 0b1..Transmitter enabled in Stop mode. 7563 */ 7564 #define I2S_TCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_STOPE_SHIFT)) & I2S_TCSR_STOPE_MASK) 7565 #define I2S_TCSR_TE_MASK (0x80000000U) 7566 #define I2S_TCSR_TE_SHIFT (31U) 7567 /*! TE - Transmitter Enable 7568 * 0b0..Transmitter is disabled. 7569 * 0b1..Transmitter is enabled, or transmitter has been disabled and has not yet reached end of frame. 7570 */ 7571 #define I2S_TCSR_TE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_TE_SHIFT)) & I2S_TCSR_TE_MASK) 7572 /*! @} */ 7573 7574 /*! @name TCR1 - SAI Transmit Configuration 1 Register */ 7575 /*! @{ */ 7576 #define I2S_TCR1_TFW_MASK (0x7U) 7577 #define I2S_TCR1_TFW_SHIFT (0U) 7578 #define I2S_TCR1_TFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR1_TFW_SHIFT)) & I2S_TCR1_TFW_MASK) 7579 /*! @} */ 7580 7581 /*! @name TCR2 - SAI Transmit Configuration 2 Register */ 7582 /*! @{ */ 7583 #define I2S_TCR2_DIV_MASK (0xFFU) 7584 #define I2S_TCR2_DIV_SHIFT (0U) 7585 #define I2S_TCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_DIV_SHIFT)) & I2S_TCR2_DIV_MASK) 7586 #define I2S_TCR2_BCD_MASK (0x1000000U) 7587 #define I2S_TCR2_BCD_SHIFT (24U) 7588 /*! BCD - Bit Clock Direction 7589 * 0b0..Bit clock is generated externally in Slave mode. 7590 * 0b1..Bit clock is generated internally in Master mode. 7591 */ 7592 #define I2S_TCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCD_SHIFT)) & I2S_TCR2_BCD_MASK) 7593 #define I2S_TCR2_BCP_MASK (0x2000000U) 7594 #define I2S_TCR2_BCP_SHIFT (25U) 7595 /*! BCP - Bit Clock Polarity 7596 * 0b0..Bit clock is active high with drive outputs on rising edge and sample inputs on falling edge. 7597 * 0b1..Bit clock is active low with drive outputs on falling edge and sample inputs on rising edge. 7598 */ 7599 #define I2S_TCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCP_SHIFT)) & I2S_TCR2_BCP_MASK) 7600 #define I2S_TCR2_MSEL_MASK (0xC000000U) 7601 #define I2S_TCR2_MSEL_SHIFT (26U) 7602 /*! MSEL - MCLK Select 7603 * 0b00..Bus Clock selected. 7604 * 0b01..Master Clock (MCLK) 1 option selected. 7605 * 0b10..Master Clock (MCLK) 2 option selected. 7606 * 0b11..Master Clock (MCLK) 3 option selected. 7607 */ 7608 #define I2S_TCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_MSEL_SHIFT)) & I2S_TCR2_MSEL_MASK) 7609 #define I2S_TCR2_BCI_MASK (0x10000000U) 7610 #define I2S_TCR2_BCI_SHIFT (28U) 7611 /*! BCI - Bit Clock Input 7612 * 0b0..No effect. 7613 * 0b1..Internal logic is clocked as if bit clock was externally generated. 7614 */ 7615 #define I2S_TCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCI_SHIFT)) & I2S_TCR2_BCI_MASK) 7616 #define I2S_TCR2_BCS_MASK (0x20000000U) 7617 #define I2S_TCR2_BCS_SHIFT (29U) 7618 /*! BCS - Bit Clock Swap 7619 * 0b0..Use the normal bit clock source. 7620 * 0b1..Swap the bit clock source. 7621 */ 7622 #define I2S_TCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCS_SHIFT)) & I2S_TCR2_BCS_MASK) 7623 #define I2S_TCR2_SYNC_MASK (0xC0000000U) 7624 #define I2S_TCR2_SYNC_SHIFT (30U) 7625 /*! SYNC - Synchronous Mode 7626 * 0b00..Asynchronous mode. 7627 * 0b01..Synchronous with receiver. 7628 * 0b10..Synchronous with another SAI transmitter. 7629 * 0b11..Synchronous with another SAI receiver. 7630 */ 7631 #define I2S_TCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_SYNC_SHIFT)) & I2S_TCR2_SYNC_MASK) 7632 /*! @} */ 7633 7634 /*! @name TCR3 - SAI Transmit Configuration 3 Register */ 7635 /*! @{ */ 7636 #define I2S_TCR3_WDFL_MASK (0x1FU) 7637 #define I2S_TCR3_WDFL_SHIFT (0U) 7638 #define I2S_TCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_WDFL_SHIFT)) & I2S_TCR3_WDFL_MASK) 7639 #define I2S_TCR3_TCE_MASK (0x30000U) 7640 #define I2S_TCR3_TCE_SHIFT (16U) 7641 #define I2S_TCR3_TCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_TCE_SHIFT)) & I2S_TCR3_TCE_MASK) 7642 #define I2S_TCR3_CFR_MASK (0x3000000U) 7643 #define I2S_TCR3_CFR_SHIFT (24U) 7644 #define I2S_TCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_CFR_SHIFT)) & I2S_TCR3_CFR_MASK) 7645 /*! @} */ 7646 7647 /*! @name TCR4 - SAI Transmit Configuration 4 Register */ 7648 /*! @{ */ 7649 #define I2S_TCR4_FSD_MASK (0x1U) 7650 #define I2S_TCR4_FSD_SHIFT (0U) 7651 /*! FSD - Frame Sync Direction 7652 * 0b0..Frame sync is generated externally in Slave mode. 7653 * 0b1..Frame sync is generated internally in Master mode. 7654 */ 7655 #define I2S_TCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSD_SHIFT)) & I2S_TCR4_FSD_MASK) 7656 #define I2S_TCR4_FSP_MASK (0x2U) 7657 #define I2S_TCR4_FSP_SHIFT (1U) 7658 /*! FSP - Frame Sync Polarity 7659 * 0b0..Frame sync is active high. 7660 * 0b1..Frame sync is active low. 7661 */ 7662 #define I2S_TCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSP_SHIFT)) & I2S_TCR4_FSP_MASK) 7663 #define I2S_TCR4_ONDEM_MASK (0x4U) 7664 #define I2S_TCR4_ONDEM_SHIFT (2U) 7665 /*! ONDEM - On Demand Mode 7666 * 0b0..Internal frame sync is generated continuously. 7667 * 0b1..Internal frame sync is generated when the FIFO warning flag is clear. 7668 */ 7669 #define I2S_TCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_ONDEM_SHIFT)) & I2S_TCR4_ONDEM_MASK) 7670 #define I2S_TCR4_FSE_MASK (0x8U) 7671 #define I2S_TCR4_FSE_SHIFT (3U) 7672 /*! FSE - Frame Sync Early 7673 * 0b0..Frame sync asserts with the first bit of the frame. 7674 * 0b1..Frame sync asserts one bit before the first bit of the frame. 7675 */ 7676 #define I2S_TCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSE_SHIFT)) & I2S_TCR4_FSE_MASK) 7677 #define I2S_TCR4_MF_MASK (0x10U) 7678 #define I2S_TCR4_MF_SHIFT (4U) 7679 /*! MF - MSB First 7680 * 0b0..LSB is transmitted first. 7681 * 0b1..MSB is transmitted first. 7682 */ 7683 #define I2S_TCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_MF_SHIFT)) & I2S_TCR4_MF_MASK) 7684 #define I2S_TCR4_CHMOD_MASK (0x20U) 7685 #define I2S_TCR4_CHMOD_SHIFT (5U) 7686 /*! CHMOD - Channel Mode 7687 * 0b0..TDM mode, transmit data pins are tri-stated when slots are masked or channels are disabled. 7688 * 0b1..Output mode, transmit data pins are never tri-stated and will output zero when slots are masked or channels are disabled. 7689 */ 7690 #define I2S_TCR4_CHMOD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_CHMOD_SHIFT)) & I2S_TCR4_CHMOD_MASK) 7691 #define I2S_TCR4_SYWD_MASK (0x1F00U) 7692 #define I2S_TCR4_SYWD_SHIFT (8U) 7693 #define I2S_TCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_SYWD_SHIFT)) & I2S_TCR4_SYWD_MASK) 7694 #define I2S_TCR4_FRSZ_MASK (0x1F0000U) 7695 #define I2S_TCR4_FRSZ_SHIFT (16U) 7696 #define I2S_TCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FRSZ_SHIFT)) & I2S_TCR4_FRSZ_MASK) 7697 #define I2S_TCR4_FPACK_MASK (0x3000000U) 7698 #define I2S_TCR4_FPACK_SHIFT (24U) 7699 /*! FPACK - FIFO Packing Mode 7700 * 0b00..FIFO packing is disabled 7701 * 0b01..Reserved 7702 * 0b10..8-bit FIFO packing is enabled 7703 * 0b11..16-bit FIFO packing is enabled 7704 */ 7705 #define I2S_TCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FPACK_SHIFT)) & I2S_TCR4_FPACK_MASK) 7706 #define I2S_TCR4_FCOMB_MASK (0xC000000U) 7707 #define I2S_TCR4_FCOMB_SHIFT (26U) 7708 /*! FCOMB - FIFO Combine Mode 7709 * 0b00..FIFO combine mode disabled. 7710 * 0b01..FIFO combine mode enabled on FIFO reads (from transmit shift registers). 7711 * 0b10..FIFO combine mode enabled on FIFO writes (by software). 7712 * 0b11..FIFO combine mode enabled on FIFO reads (from transmit shift registers) and writes (by software). 7713 */ 7714 #define I2S_TCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCOMB_SHIFT)) & I2S_TCR4_FCOMB_MASK) 7715 #define I2S_TCR4_FCONT_MASK (0x10000000U) 7716 #define I2S_TCR4_FCONT_SHIFT (28U) 7717 /*! FCONT - FIFO Continue on Error 7718 * 0b0..On FIFO error, the SAI will continue from the start of the next frame after the FIFO error flag has been cleared. 7719 * 0b1..On FIFO error, the SAI will continue from the same word that caused the FIFO error to set after the FIFO warning flag has been cleared. 7720 */ 7721 #define I2S_TCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCONT_SHIFT)) & I2S_TCR4_FCONT_MASK) 7722 /*! @} */ 7723 7724 /*! @name TCR5 - SAI Transmit Configuration 5 Register */ 7725 /*! @{ */ 7726 #define I2S_TCR5_FBT_MASK (0x1F00U) 7727 #define I2S_TCR5_FBT_SHIFT (8U) 7728 #define I2S_TCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_FBT_SHIFT)) & I2S_TCR5_FBT_MASK) 7729 #define I2S_TCR5_W0W_MASK (0x1F0000U) 7730 #define I2S_TCR5_W0W_SHIFT (16U) 7731 #define I2S_TCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_W0W_SHIFT)) & I2S_TCR5_W0W_MASK) 7732 #define I2S_TCR5_WNW_MASK (0x1F000000U) 7733 #define I2S_TCR5_WNW_SHIFT (24U) 7734 #define I2S_TCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_WNW_SHIFT)) & I2S_TCR5_WNW_MASK) 7735 /*! @} */ 7736 7737 /*! @name TDR - SAI Transmit Data Register */ 7738 /*! @{ */ 7739 #define I2S_TDR_TDR_MASK (0xFFFFFFFFU) 7740 #define I2S_TDR_TDR_SHIFT (0U) 7741 #define I2S_TDR_TDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TDR_TDR_SHIFT)) & I2S_TDR_TDR_MASK) 7742 /*! @} */ 7743 7744 /* The count of I2S_TDR */ 7745 #define I2S_TDR_COUNT (2U) 7746 7747 /*! @name TFR - SAI Transmit FIFO Register */ 7748 /*! @{ */ 7749 #define I2S_TFR_RFP_MASK (0xFU) 7750 #define I2S_TFR_RFP_SHIFT (0U) 7751 #define I2S_TFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_RFP_SHIFT)) & I2S_TFR_RFP_MASK) 7752 #define I2S_TFR_WFP_MASK (0xF0000U) 7753 #define I2S_TFR_WFP_SHIFT (16U) 7754 #define I2S_TFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WFP_SHIFT)) & I2S_TFR_WFP_MASK) 7755 #define I2S_TFR_WCP_MASK (0x80000000U) 7756 #define I2S_TFR_WCP_SHIFT (31U) 7757 /*! WCP - Write Channel Pointer 7758 * 0b0..No effect. 7759 * 0b1..FIFO combine is enabled for FIFO writes and this FIFO will be written on the next FIFO write. 7760 */ 7761 #define I2S_TFR_WCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WCP_SHIFT)) & I2S_TFR_WCP_MASK) 7762 /*! @} */ 7763 7764 /* The count of I2S_TFR */ 7765 #define I2S_TFR_COUNT (2U) 7766 7767 /*! @name TMR - SAI Transmit Mask Register */ 7768 /*! @{ */ 7769 #define I2S_TMR_TWM_MASK (0xFFFFFFFFU) 7770 #define I2S_TMR_TWM_SHIFT (0U) 7771 /*! TWM - Transmit Word Mask 7772 * 0b00000000000000000000000000000000..Word N is enabled. 7773 * 0b00000000000000000000000000000001..Word N is masked. The transmit data pins are tri-stated or drive zero when masked. 7774 */ 7775 #define I2S_TMR_TWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TMR_TWM_SHIFT)) & I2S_TMR_TWM_MASK) 7776 /*! @} */ 7777 7778 /*! @name RCSR - SAI Receive Control Register */ 7779 /*! @{ */ 7780 #define I2S_RCSR_FRDE_MASK (0x1U) 7781 #define I2S_RCSR_FRDE_SHIFT (0U) 7782 /*! FRDE - FIFO Request DMA Enable 7783 * 0b0..Disables the DMA request. 7784 * 0b1..Enables the DMA request. 7785 */ 7786 #define I2S_RCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRDE_SHIFT)) & I2S_RCSR_FRDE_MASK) 7787 #define I2S_RCSR_FWDE_MASK (0x2U) 7788 #define I2S_RCSR_FWDE_SHIFT (1U) 7789 /*! FWDE - FIFO Warning DMA Enable 7790 * 0b0..Disables the DMA request. 7791 * 0b1..Enables the DMA request. 7792 */ 7793 #define I2S_RCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWDE_SHIFT)) & I2S_RCSR_FWDE_MASK) 7794 #define I2S_RCSR_FRIE_MASK (0x100U) 7795 #define I2S_RCSR_FRIE_SHIFT (8U) 7796 /*! FRIE - FIFO Request Interrupt Enable 7797 * 0b0..Disables the interrupt. 7798 * 0b1..Enables the interrupt. 7799 */ 7800 #define I2S_RCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRIE_SHIFT)) & I2S_RCSR_FRIE_MASK) 7801 #define I2S_RCSR_FWIE_MASK (0x200U) 7802 #define I2S_RCSR_FWIE_SHIFT (9U) 7803 /*! FWIE - FIFO Warning Interrupt Enable 7804 * 0b0..Disables the interrupt. 7805 * 0b1..Enables the interrupt. 7806 */ 7807 #define I2S_RCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWIE_SHIFT)) & I2S_RCSR_FWIE_MASK) 7808 #define I2S_RCSR_FEIE_MASK (0x400U) 7809 #define I2S_RCSR_FEIE_SHIFT (10U) 7810 /*! FEIE - FIFO Error Interrupt Enable 7811 * 0b0..Disables the interrupt. 7812 * 0b1..Enables the interrupt. 7813 */ 7814 #define I2S_RCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEIE_SHIFT)) & I2S_RCSR_FEIE_MASK) 7815 #define I2S_RCSR_SEIE_MASK (0x800U) 7816 #define I2S_RCSR_SEIE_SHIFT (11U) 7817 /*! SEIE - Sync Error Interrupt Enable 7818 * 0b0..Disables interrupt. 7819 * 0b1..Enables interrupt. 7820 */ 7821 #define I2S_RCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEIE_SHIFT)) & I2S_RCSR_SEIE_MASK) 7822 #define I2S_RCSR_WSIE_MASK (0x1000U) 7823 #define I2S_RCSR_WSIE_SHIFT (12U) 7824 /*! WSIE - Word Start Interrupt Enable 7825 * 0b0..Disables interrupt. 7826 * 0b1..Enables interrupt. 7827 */ 7828 #define I2S_RCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSIE_SHIFT)) & I2S_RCSR_WSIE_MASK) 7829 #define I2S_RCSR_FRF_MASK (0x10000U) 7830 #define I2S_RCSR_FRF_SHIFT (16U) 7831 /*! FRF - FIFO Request Flag 7832 * 0b0..Receive FIFO watermark not reached. 7833 * 0b1..Receive FIFO watermark has been reached. 7834 */ 7835 #define I2S_RCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRF_SHIFT)) & I2S_RCSR_FRF_MASK) 7836 #define I2S_RCSR_FWF_MASK (0x20000U) 7837 #define I2S_RCSR_FWF_SHIFT (17U) 7838 /*! FWF - FIFO Warning Flag 7839 * 0b0..No enabled receive FIFO is full. 7840 * 0b1..Enabled receive FIFO is full. 7841 */ 7842 #define I2S_RCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWF_SHIFT)) & I2S_RCSR_FWF_MASK) 7843 #define I2S_RCSR_FEF_MASK (0x40000U) 7844 #define I2S_RCSR_FEF_SHIFT (18U) 7845 /*! FEF - FIFO Error Flag 7846 * 0b0..Receive overflow not detected. 7847 * 0b1..Receive overflow detected. 7848 */ 7849 #define I2S_RCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEF_SHIFT)) & I2S_RCSR_FEF_MASK) 7850 #define I2S_RCSR_SEF_MASK (0x80000U) 7851 #define I2S_RCSR_SEF_SHIFT (19U) 7852 /*! SEF - Sync Error Flag 7853 * 0b0..Sync error not detected. 7854 * 0b1..Frame sync error detected. 7855 */ 7856 #define I2S_RCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEF_SHIFT)) & I2S_RCSR_SEF_MASK) 7857 #define I2S_RCSR_WSF_MASK (0x100000U) 7858 #define I2S_RCSR_WSF_SHIFT (20U) 7859 /*! WSF - Word Start Flag 7860 * 0b0..Start of word not detected. 7861 * 0b1..Start of word detected. 7862 */ 7863 #define I2S_RCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSF_SHIFT)) & I2S_RCSR_WSF_MASK) 7864 #define I2S_RCSR_SR_MASK (0x1000000U) 7865 #define I2S_RCSR_SR_SHIFT (24U) 7866 /*! SR - Software Reset 7867 * 0b0..No effect. 7868 * 0b1..Software reset. 7869 */ 7870 #define I2S_RCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SR_SHIFT)) & I2S_RCSR_SR_MASK) 7871 #define I2S_RCSR_FR_MASK (0x2000000U) 7872 #define I2S_RCSR_FR_SHIFT (25U) 7873 /*! FR - FIFO Reset 7874 * 0b0..No effect. 7875 * 0b1..FIFO reset. 7876 */ 7877 #define I2S_RCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FR_SHIFT)) & I2S_RCSR_FR_MASK) 7878 #define I2S_RCSR_BCE_MASK (0x10000000U) 7879 #define I2S_RCSR_BCE_SHIFT (28U) 7880 /*! BCE - Bit Clock Enable 7881 * 0b0..Receive bit clock is disabled. 7882 * 0b1..Receive bit clock is enabled. 7883 */ 7884 #define I2S_RCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_BCE_SHIFT)) & I2S_RCSR_BCE_MASK) 7885 #define I2S_RCSR_DBGE_MASK (0x20000000U) 7886 #define I2S_RCSR_DBGE_SHIFT (29U) 7887 /*! DBGE - Debug Enable 7888 * 0b0..Receiver is disabled in Debug mode, after completing the current frame. 7889 * 0b1..Receiver is enabled in Debug mode. 7890 */ 7891 #define I2S_RCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_DBGE_SHIFT)) & I2S_RCSR_DBGE_MASK) 7892 #define I2S_RCSR_STOPE_MASK (0x40000000U) 7893 #define I2S_RCSR_STOPE_SHIFT (30U) 7894 /*! STOPE - Stop Enable 7895 * 0b0..Receiver disabled in Stop mode. 7896 * 0b1..Receiver enabled in Stop mode. 7897 */ 7898 #define I2S_RCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_STOPE_SHIFT)) & I2S_RCSR_STOPE_MASK) 7899 #define I2S_RCSR_RE_MASK (0x80000000U) 7900 #define I2S_RCSR_RE_SHIFT (31U) 7901 /*! RE - Receiver Enable 7902 * 0b0..Receiver is disabled. 7903 * 0b1..Receiver is enabled, or receiver has been disabled and has not yet reached end of frame. 7904 */ 7905 #define I2S_RCSR_RE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_RE_SHIFT)) & I2S_RCSR_RE_MASK) 7906 /*! @} */ 7907 7908 /*! @name RCR1 - SAI Receive Configuration 1 Register */ 7909 /*! @{ */ 7910 #define I2S_RCR1_RFW_MASK (0x7U) 7911 #define I2S_RCR1_RFW_SHIFT (0U) 7912 #define I2S_RCR1_RFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR1_RFW_SHIFT)) & I2S_RCR1_RFW_MASK) 7913 /*! @} */ 7914 7915 /*! @name RCR2 - SAI Receive Configuration 2 Register */ 7916 /*! @{ */ 7917 #define I2S_RCR2_DIV_MASK (0xFFU) 7918 #define I2S_RCR2_DIV_SHIFT (0U) 7919 #define I2S_RCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_DIV_SHIFT)) & I2S_RCR2_DIV_MASK) 7920 #define I2S_RCR2_BCD_MASK (0x1000000U) 7921 #define I2S_RCR2_BCD_SHIFT (24U) 7922 /*! BCD - Bit Clock Direction 7923 * 0b0..Bit clock is generated externally in Slave mode. 7924 * 0b1..Bit clock is generated internally in Master mode. 7925 */ 7926 #define I2S_RCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCD_SHIFT)) & I2S_RCR2_BCD_MASK) 7927 #define I2S_RCR2_BCP_MASK (0x2000000U) 7928 #define I2S_RCR2_BCP_SHIFT (25U) 7929 /*! BCP - Bit Clock Polarity 7930 * 0b0..Bit Clock is active high with drive outputs on rising edge and sample inputs on falling edge. 7931 * 0b1..Bit Clock is active low with drive outputs on falling edge and sample inputs on rising edge. 7932 */ 7933 #define I2S_RCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCP_SHIFT)) & I2S_RCR2_BCP_MASK) 7934 #define I2S_RCR2_MSEL_MASK (0xC000000U) 7935 #define I2S_RCR2_MSEL_SHIFT (26U) 7936 /*! MSEL - MCLK Select 7937 * 0b00..Bus Clock selected. 7938 * 0b01..Master Clock (MCLK) 1 option selected. 7939 * 0b10..Master Clock (MCLK) 2 option selected. 7940 * 0b11..Master Clock (MCLK) 3 option selected. 7941 */ 7942 #define I2S_RCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_MSEL_SHIFT)) & I2S_RCR2_MSEL_MASK) 7943 #define I2S_RCR2_BCI_MASK (0x10000000U) 7944 #define I2S_RCR2_BCI_SHIFT (28U) 7945 /*! BCI - Bit Clock Input 7946 * 0b0..No effect. 7947 * 0b1..Internal logic is clocked as if bit clock was externally generated. 7948 */ 7949 #define I2S_RCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCI_SHIFT)) & I2S_RCR2_BCI_MASK) 7950 #define I2S_RCR2_BCS_MASK (0x20000000U) 7951 #define I2S_RCR2_BCS_SHIFT (29U) 7952 /*! BCS - Bit Clock Swap 7953 * 0b0..Use the normal bit clock source. 7954 * 0b1..Swap the bit clock source. 7955 */ 7956 #define I2S_RCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCS_SHIFT)) & I2S_RCR2_BCS_MASK) 7957 #define I2S_RCR2_SYNC_MASK (0xC0000000U) 7958 #define I2S_RCR2_SYNC_SHIFT (30U) 7959 /*! SYNC - Synchronous Mode 7960 * 0b00..Asynchronous mode. 7961 * 0b01..Synchronous with transmitter. 7962 * 0b10..Synchronous with another SAI receiver. 7963 * 0b11..Synchronous with another SAI transmitter. 7964 */ 7965 #define I2S_RCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_SYNC_SHIFT)) & I2S_RCR2_SYNC_MASK) 7966 /*! @} */ 7967 7968 /*! @name RCR3 - SAI Receive Configuration 3 Register */ 7969 /*! @{ */ 7970 #define I2S_RCR3_WDFL_MASK (0x1FU) 7971 #define I2S_RCR3_WDFL_SHIFT (0U) 7972 #define I2S_RCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_WDFL_SHIFT)) & I2S_RCR3_WDFL_MASK) 7973 #define I2S_RCR3_RCE_MASK (0x30000U) 7974 #define I2S_RCR3_RCE_SHIFT (16U) 7975 #define I2S_RCR3_RCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_RCE_SHIFT)) & I2S_RCR3_RCE_MASK) 7976 #define I2S_RCR3_CFR_MASK (0x3000000U) 7977 #define I2S_RCR3_CFR_SHIFT (24U) 7978 #define I2S_RCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_CFR_SHIFT)) & I2S_RCR3_CFR_MASK) 7979 /*! @} */ 7980 7981 /*! @name RCR4 - SAI Receive Configuration 4 Register */ 7982 /*! @{ */ 7983 #define I2S_RCR4_FSD_MASK (0x1U) 7984 #define I2S_RCR4_FSD_SHIFT (0U) 7985 /*! FSD - Frame Sync Direction 7986 * 0b0..Frame Sync is generated externally in Slave mode. 7987 * 0b1..Frame Sync is generated internally in Master mode. 7988 */ 7989 #define I2S_RCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSD_SHIFT)) & I2S_RCR4_FSD_MASK) 7990 #define I2S_RCR4_FSP_MASK (0x2U) 7991 #define I2S_RCR4_FSP_SHIFT (1U) 7992 /*! FSP - Frame Sync Polarity 7993 * 0b0..Frame sync is active high. 7994 * 0b1..Frame sync is active low. 7995 */ 7996 #define I2S_RCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSP_SHIFT)) & I2S_RCR4_FSP_MASK) 7997 #define I2S_RCR4_ONDEM_MASK (0x4U) 7998 #define I2S_RCR4_ONDEM_SHIFT (2U) 7999 /*! ONDEM - On Demand Mode 8000 * 0b0..Internal frame sync is generated continuously. 8001 * 0b1..Internal frame sync is generated when the FIFO warning flag is clear. 8002 */ 8003 #define I2S_RCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_ONDEM_SHIFT)) & I2S_RCR4_ONDEM_MASK) 8004 #define I2S_RCR4_FSE_MASK (0x8U) 8005 #define I2S_RCR4_FSE_SHIFT (3U) 8006 /*! FSE - Frame Sync Early 8007 * 0b0..Frame sync asserts with the first bit of the frame. 8008 * 0b1..Frame sync asserts one bit before the first bit of the frame. 8009 */ 8010 #define I2S_RCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSE_SHIFT)) & I2S_RCR4_FSE_MASK) 8011 #define I2S_RCR4_MF_MASK (0x10U) 8012 #define I2S_RCR4_MF_SHIFT (4U) 8013 /*! MF - MSB First 8014 * 0b0..LSB is received first. 8015 * 0b1..MSB is received first. 8016 */ 8017 #define I2S_RCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_MF_SHIFT)) & I2S_RCR4_MF_MASK) 8018 #define I2S_RCR4_SYWD_MASK (0x1F00U) 8019 #define I2S_RCR4_SYWD_SHIFT (8U) 8020 #define I2S_RCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_SYWD_SHIFT)) & I2S_RCR4_SYWD_MASK) 8021 #define I2S_RCR4_FRSZ_MASK (0x1F0000U) 8022 #define I2S_RCR4_FRSZ_SHIFT (16U) 8023 #define I2S_RCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FRSZ_SHIFT)) & I2S_RCR4_FRSZ_MASK) 8024 #define I2S_RCR4_FPACK_MASK (0x3000000U) 8025 #define I2S_RCR4_FPACK_SHIFT (24U) 8026 /*! FPACK - FIFO Packing Mode 8027 * 0b00..FIFO packing is disabled 8028 * 0b01..Reserved. 8029 * 0b10..8-bit FIFO packing is enabled 8030 * 0b11..16-bit FIFO packing is enabled 8031 */ 8032 #define I2S_RCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FPACK_SHIFT)) & I2S_RCR4_FPACK_MASK) 8033 #define I2S_RCR4_FCOMB_MASK (0xC000000U) 8034 #define I2S_RCR4_FCOMB_SHIFT (26U) 8035 /*! FCOMB - FIFO Combine Mode 8036 * 0b00..FIFO combine mode disabled. 8037 * 0b01..FIFO combine mode enabled on FIFO writes (from receive shift registers). 8038 * 0b10..FIFO combine mode enabled on FIFO reads (by software). 8039 * 0b11..FIFO combine mode enabled on FIFO writes (from receive shift registers) and reads (by software). 8040 */ 8041 #define I2S_RCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCOMB_SHIFT)) & I2S_RCR4_FCOMB_MASK) 8042 #define I2S_RCR4_FCONT_MASK (0x10000000U) 8043 #define I2S_RCR4_FCONT_SHIFT (28U) 8044 /*! FCONT - FIFO Continue on Error 8045 * 0b0..On FIFO error, the SAI will continue from the start of the next frame after the FIFO error flag has been cleared. 8046 * 0b1..On FIFO error, the SAI will continue from the same word that caused the FIFO error to set after the FIFO warning flag has been cleared. 8047 */ 8048 #define I2S_RCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCONT_SHIFT)) & I2S_RCR4_FCONT_MASK) 8049 /*! @} */ 8050 8051 /*! @name RCR5 - SAI Receive Configuration 5 Register */ 8052 /*! @{ */ 8053 #define I2S_RCR5_FBT_MASK (0x1F00U) 8054 #define I2S_RCR5_FBT_SHIFT (8U) 8055 #define I2S_RCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_FBT_SHIFT)) & I2S_RCR5_FBT_MASK) 8056 #define I2S_RCR5_W0W_MASK (0x1F0000U) 8057 #define I2S_RCR5_W0W_SHIFT (16U) 8058 #define I2S_RCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_W0W_SHIFT)) & I2S_RCR5_W0W_MASK) 8059 #define I2S_RCR5_WNW_MASK (0x1F000000U) 8060 #define I2S_RCR5_WNW_SHIFT (24U) 8061 #define I2S_RCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_WNW_SHIFT)) & I2S_RCR5_WNW_MASK) 8062 /*! @} */ 8063 8064 /*! @name RDR - SAI Receive Data Register */ 8065 /*! @{ */ 8066 #define I2S_RDR_RDR_MASK (0xFFFFFFFFU) 8067 #define I2S_RDR_RDR_SHIFT (0U) 8068 #define I2S_RDR_RDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RDR_RDR_SHIFT)) & I2S_RDR_RDR_MASK) 8069 /*! @} */ 8070 8071 /* The count of I2S_RDR */ 8072 #define I2S_RDR_COUNT (2U) 8073 8074 /*! @name RFR - SAI Receive FIFO Register */ 8075 /*! @{ */ 8076 #define I2S_RFR_RFP_MASK (0xFU) 8077 #define I2S_RFR_RFP_SHIFT (0U) 8078 #define I2S_RFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RFP_SHIFT)) & I2S_RFR_RFP_MASK) 8079 #define I2S_RFR_RCP_MASK (0x8000U) 8080 #define I2S_RFR_RCP_SHIFT (15U) 8081 /*! RCP - Receive Channel Pointer 8082 * 0b0..No effect. 8083 * 0b1..FIFO combine is enabled for FIFO reads and this FIFO will be read on the next FIFO read. 8084 */ 8085 #define I2S_RFR_RCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RCP_SHIFT)) & I2S_RFR_RCP_MASK) 8086 #define I2S_RFR_WFP_MASK (0xF0000U) 8087 #define I2S_RFR_WFP_SHIFT (16U) 8088 #define I2S_RFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_WFP_SHIFT)) & I2S_RFR_WFP_MASK) 8089 /*! @} */ 8090 8091 /* The count of I2S_RFR */ 8092 #define I2S_RFR_COUNT (2U) 8093 8094 /*! @name RMR - SAI Receive Mask Register */ 8095 /*! @{ */ 8096 #define I2S_RMR_RWM_MASK (0xFFFFFFFFU) 8097 #define I2S_RMR_RWM_SHIFT (0U) 8098 /*! RWM - Receive Word Mask 8099 * 0b00000000000000000000000000000000..Word N is enabled. 8100 * 0b00000000000000000000000000000001..Word N is masked. 8101 */ 8102 #define I2S_RMR_RWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RMR_RWM_SHIFT)) & I2S_RMR_RWM_MASK) 8103 /*! @} */ 8104 8105 8106 /*! 8107 * @} 8108 */ /* end of group I2S_Register_Masks */ 8109 8110 8111 /* I2S - Peripheral instance base addresses */ 8112 /** Peripheral I2S0 base address */ 8113 #define I2S0_BASE (0x4003D000u) 8114 /** Peripheral I2S0 base pointer */ 8115 #define I2S0 ((I2S_Type *)I2S0_BASE) 8116 /** Array initializer of I2S peripheral base addresses */ 8117 #define I2S_BASE_ADDRS { I2S0_BASE } 8118 /** Array initializer of I2S peripheral base pointers */ 8119 #define I2S_BASE_PTRS { I2S0 } 8120 /** Interrupt vectors for the I2S peripheral type */ 8121 #define I2S_RX_IRQS { I2S0_IRQn } 8122 #define I2S_TX_IRQS { I2S0_IRQn } 8123 8124 /*! 8125 * @} 8126 */ /* end of group I2S_Peripheral_Access_Layer */ 8127 8128 8129 /* ---------------------------------------------------------------------------- 8130 -- INTMUX Peripheral Access Layer 8131 ---------------------------------------------------------------------------- */ 8132 8133 /*! 8134 * @addtogroup INTMUX_Peripheral_Access_Layer INTMUX Peripheral Access Layer 8135 * @{ 8136 */ 8137 8138 /** INTMUX - Register Layout Typedef */ 8139 typedef struct { 8140 struct { /* offset: 0x0, array step: 0x40 */ 8141 __IO uint32_t CHn_CSR; /**< Channel n Control Status Register, array offset: 0x0, array step: 0x40 */ 8142 __I uint32_t CHn_VEC; /**< Channel n Vector Number Register, array offset: 0x4, array step: 0x40 */ 8143 uint8_t RESERVED_0[8]; 8144 __IO uint32_t CHn_IER_31_0; /**< Channel n Interrupt Enable Register, array offset: 0x10, array step: 0x40 */ 8145 uint8_t RESERVED_1[12]; 8146 __I uint32_t CHn_IPR_31_0; /**< Channel n Interrupt Pending Register, array offset: 0x20, array step: 0x40 */ 8147 uint8_t RESERVED_2[28]; 8148 } CHANNEL[8]; 8149 } INTMUX_Type; 8150 8151 /* ---------------------------------------------------------------------------- 8152 -- INTMUX Register Masks 8153 ---------------------------------------------------------------------------- */ 8154 8155 /*! 8156 * @addtogroup INTMUX_Register_Masks INTMUX Register Masks 8157 * @{ 8158 */ 8159 8160 /*! @name CHn_CSR - Channel n Control Status Register */ 8161 /*! @{ */ 8162 #define INTMUX_CHn_CSR_RST_MASK (0x1U) 8163 #define INTMUX_CHn_CSR_RST_SHIFT (0U) 8164 /*! RST - Software Reset 8165 * 0b0..No operation. 8166 * 0b1..Perform a software reset on this channel. 8167 */ 8168 #define INTMUX_CHn_CSR_RST(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_CSR_RST_SHIFT)) & INTMUX_CHn_CSR_RST_MASK) 8169 #define INTMUX_CHn_CSR_AND_MASK (0x2U) 8170 #define INTMUX_CHn_CSR_AND_SHIFT (1U) 8171 /*! AND - Logic AND 8172 * 0b0..Logic OR all enabled interrupt inputs. 8173 * 0b1..Logic AND all enabled interrupt inputs. 8174 */ 8175 #define INTMUX_CHn_CSR_AND(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_CSR_AND_SHIFT)) & INTMUX_CHn_CSR_AND_MASK) 8176 #define INTMUX_CHn_CSR_IRQN_MASK (0x30U) 8177 #define INTMUX_CHn_CSR_IRQN_SHIFT (4U) 8178 /*! IRQN - Channel Input Number 8179 * 0b00..32 interrupt inputs 8180 * 0b01..Reserved 8181 * 0b10..Reserved 8182 * 0b11..Reserved 8183 */ 8184 #define INTMUX_CHn_CSR_IRQN(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_CSR_IRQN_SHIFT)) & INTMUX_CHn_CSR_IRQN_MASK) 8185 #define INTMUX_CHn_CSR_CHIN_MASK (0xF00U) 8186 #define INTMUX_CHn_CSR_CHIN_SHIFT (8U) 8187 #define INTMUX_CHn_CSR_CHIN(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_CSR_CHIN_SHIFT)) & INTMUX_CHn_CSR_CHIN_MASK) 8188 #define INTMUX_CHn_CSR_IRQP_MASK (0x80000000U) 8189 #define INTMUX_CHn_CSR_IRQP_SHIFT (31U) 8190 /*! IRQP - Channel Interrupt Request Pending 8191 * 0b0..No interrupt is pending. 8192 * 0b1..The interrupt output of this channel is pending. 8193 */ 8194 #define INTMUX_CHn_CSR_IRQP(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_CSR_IRQP_SHIFT)) & INTMUX_CHn_CSR_IRQP_MASK) 8195 /*! @} */ 8196 8197 /* The count of INTMUX_CHn_CSR */ 8198 #define INTMUX_CHn_CSR_COUNT (8U) 8199 8200 /*! @name CHn_VEC - Channel n Vector Number Register */ 8201 /*! @{ */ 8202 #define INTMUX_CHn_VEC_VECN_MASK (0x3FFCU) 8203 #define INTMUX_CHn_VEC_VECN_SHIFT (2U) 8204 #define INTMUX_CHn_VEC_VECN(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_VEC_VECN_SHIFT)) & INTMUX_CHn_VEC_VECN_MASK) 8205 /*! @} */ 8206 8207 /* The count of INTMUX_CHn_VEC */ 8208 #define INTMUX_CHn_VEC_COUNT (8U) 8209 8210 /*! @name CHn_IER_31_0 - Channel n Interrupt Enable Register */ 8211 /*! @{ */ 8212 #define INTMUX_CHn_IER_31_0_INTE_MASK (0xFFFFFFFFU) 8213 #define INTMUX_CHn_IER_31_0_INTE_SHIFT (0U) 8214 #define INTMUX_CHn_IER_31_0_INTE(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_IER_31_0_INTE_SHIFT)) & INTMUX_CHn_IER_31_0_INTE_MASK) 8215 /*! @} */ 8216 8217 /* The count of INTMUX_CHn_IER_31_0 */ 8218 #define INTMUX_CHn_IER_31_0_COUNT (8U) 8219 8220 /*! @name CHn_IPR_31_0 - Channel n Interrupt Pending Register */ 8221 /*! @{ */ 8222 #define INTMUX_CHn_IPR_31_0_INTP_MASK (0xFFFFFFFFU) 8223 #define INTMUX_CHn_IPR_31_0_INTP_SHIFT (0U) 8224 #define INTMUX_CHn_IPR_31_0_INTP(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_IPR_31_0_INTP_SHIFT)) & INTMUX_CHn_IPR_31_0_INTP_MASK) 8225 /*! @} */ 8226 8227 /* The count of INTMUX_CHn_IPR_31_0 */ 8228 #define INTMUX_CHn_IPR_31_0_COUNT (8U) 8229 8230 8231 /*! 8232 * @} 8233 */ /* end of group INTMUX_Register_Masks */ 8234 8235 8236 /* INTMUX - Peripheral instance base addresses */ 8237 /** Peripheral INTMUX0 base address */ 8238 #define INTMUX0_BASE (0x4004F000u) 8239 /** Peripheral INTMUX0 base pointer */ 8240 #define INTMUX0 ((INTMUX_Type *)INTMUX0_BASE) 8241 /** Array initializer of INTMUX peripheral base addresses */ 8242 #define INTMUX_BASE_ADDRS { INTMUX0_BASE } 8243 /** Array initializer of INTMUX peripheral base pointers */ 8244 #define INTMUX_BASE_PTRS { INTMUX0 } 8245 /** Interrupt vectors for the INTMUX peripheral type */ 8246 #define INTMUX_IRQS { { INTMUX0_0_IRQn, INTMUX0_1_IRQn, INTMUX0_2_IRQn, INTMUX0_3_IRQn, INTMUX0_4_IRQn, INTMUX0_5_IRQn, INTMUX0_6_IRQn, INTMUX0_7_IRQn }, } 8247 8248 /*! 8249 * @} 8250 */ /* end of group INTMUX_Peripheral_Access_Layer */ 8251 8252 8253 /* ---------------------------------------------------------------------------- 8254 -- LLWU Peripheral Access Layer 8255 ---------------------------------------------------------------------------- */ 8256 8257 /*! 8258 * @addtogroup LLWU_Peripheral_Access_Layer LLWU Peripheral Access Layer 8259 * @{ 8260 */ 8261 8262 /** LLWU - Register Layout Typedef */ 8263 typedef struct { 8264 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 8265 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 8266 __IO uint32_t PE1; /**< Pin Enable 1 register, offset: 0x8 */ 8267 __IO uint32_t PE2; /**< Pin Enable 2 register, offset: 0xC */ 8268 uint8_t RESERVED_0[8]; 8269 __IO uint32_t ME; /**< Module Interrupt Enable register, offset: 0x18 */ 8270 __IO uint32_t DE; /**< Module DMA/Trigger Enable register, offset: 0x1C */ 8271 __IO uint32_t PF; /**< Pin Flag register, offset: 0x20 */ 8272 uint8_t RESERVED_1[12]; 8273 __IO uint32_t FILT; /**< Pin Filter register, offset: 0x30 */ 8274 uint8_t RESERVED_2[4]; 8275 __IO uint32_t PDC1; /**< Pin DMA/Trigger Configuration 1 register, offset: 0x38 */ 8276 __IO uint32_t PDC2; /**< Pin DMA/Trigger Configuration 2 register, offset: 0x3C */ 8277 uint8_t RESERVED_3[8]; 8278 __IO uint32_t FDC; /**< Pin Filter DMA/Trigger Configuration register, offset: 0x48 */ 8279 uint8_t RESERVED_4[4]; 8280 __IO uint32_t PMC; /**< Pin Mode Configuration register, offset: 0x50 */ 8281 uint8_t RESERVED_5[4]; 8282 __IO uint32_t FMC; /**< Pin Filter Mode Configuration register, offset: 0x58 */ 8283 } LLWU_Type; 8284 8285 /* ---------------------------------------------------------------------------- 8286 -- LLWU Register Masks 8287 ---------------------------------------------------------------------------- */ 8288 8289 /*! 8290 * @addtogroup LLWU_Register_Masks LLWU Register Masks 8291 * @{ 8292 */ 8293 8294 /*! @name VERID - Version ID Register */ 8295 /*! @{ */ 8296 #define LLWU_VERID_FEATURE_MASK (0xFFFFU) 8297 #define LLWU_VERID_FEATURE_SHIFT (0U) 8298 /*! FEATURE - Feature Specification Number 8299 * 0b0000000000000000..Standard features implemented 8300 * 0b0000000000000001..Support for DMA/Trigger generation from wakeup pins and filters enabled. Support for external pin/filter detection during all power modes enabled. 8301 */ 8302 #define LLWU_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LLWU_VERID_FEATURE_SHIFT)) & LLWU_VERID_FEATURE_MASK) 8303 #define LLWU_VERID_MINOR_MASK (0xFF0000U) 8304 #define LLWU_VERID_MINOR_SHIFT (16U) 8305 #define LLWU_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LLWU_VERID_MINOR_SHIFT)) & LLWU_VERID_MINOR_MASK) 8306 #define LLWU_VERID_MAJOR_MASK (0xFF000000U) 8307 #define LLWU_VERID_MAJOR_SHIFT (24U) 8308 #define LLWU_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LLWU_VERID_MAJOR_SHIFT)) & LLWU_VERID_MAJOR_MASK) 8309 /*! @} */ 8310 8311 /*! @name PARAM - Parameter Register */ 8312 /*! @{ */ 8313 #define LLWU_PARAM_FILTERS_MASK (0xFFU) 8314 #define LLWU_PARAM_FILTERS_SHIFT (0U) 8315 #define LLWU_PARAM_FILTERS(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PARAM_FILTERS_SHIFT)) & LLWU_PARAM_FILTERS_MASK) 8316 #define LLWU_PARAM_DMAS_MASK (0xFF00U) 8317 #define LLWU_PARAM_DMAS_SHIFT (8U) 8318 #define LLWU_PARAM_DMAS(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PARAM_DMAS_SHIFT)) & LLWU_PARAM_DMAS_MASK) 8319 #define LLWU_PARAM_MODULES_MASK (0xFF0000U) 8320 #define LLWU_PARAM_MODULES_SHIFT (16U) 8321 #define LLWU_PARAM_MODULES(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PARAM_MODULES_SHIFT)) & LLWU_PARAM_MODULES_MASK) 8322 #define LLWU_PARAM_PINS_MASK (0xFF000000U) 8323 #define LLWU_PARAM_PINS_SHIFT (24U) 8324 #define LLWU_PARAM_PINS(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PARAM_PINS_SHIFT)) & LLWU_PARAM_PINS_MASK) 8325 /*! @} */ 8326 8327 /*! @name PE1 - Pin Enable 1 register */ 8328 /*! @{ */ 8329 #define LLWU_PE1_WUPE0_MASK (0x3U) 8330 #define LLWU_PE1_WUPE0_SHIFT (0U) 8331 /*! WUPE0 - Wakeup pin enable for LLWU_Pn 8332 * 0b00..External input pin disabled as wakeup input 8333 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8334 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8335 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8336 */ 8337 #define LLWU_PE1_WUPE0(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE0_SHIFT)) & LLWU_PE1_WUPE0_MASK) 8338 #define LLWU_PE1_WUPE1_MASK (0xCU) 8339 #define LLWU_PE1_WUPE1_SHIFT (2U) 8340 /*! WUPE1 - Wakeup pin enable for LLWU_Pn 8341 * 0b00..External input pin disabled as wakeup input 8342 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8343 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8344 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8345 */ 8346 #define LLWU_PE1_WUPE1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE1_SHIFT)) & LLWU_PE1_WUPE1_MASK) 8347 #define LLWU_PE1_WUPE2_MASK (0x30U) 8348 #define LLWU_PE1_WUPE2_SHIFT (4U) 8349 /*! WUPE2 - Wakeup pin enable for LLWU_Pn 8350 * 0b00..External input pin disabled as wakeup input 8351 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8352 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8353 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8354 */ 8355 #define LLWU_PE1_WUPE2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE2_SHIFT)) & LLWU_PE1_WUPE2_MASK) 8356 #define LLWU_PE1_WUPE3_MASK (0xC0U) 8357 #define LLWU_PE1_WUPE3_SHIFT (6U) 8358 /*! WUPE3 - Wakeup pin enable for LLWU_Pn 8359 * 0b00..External input pin disabled as wakeup input 8360 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8361 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8362 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8363 */ 8364 #define LLWU_PE1_WUPE3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE3_SHIFT)) & LLWU_PE1_WUPE3_MASK) 8365 #define LLWU_PE1_WUPE4_MASK (0x300U) 8366 #define LLWU_PE1_WUPE4_SHIFT (8U) 8367 /*! WUPE4 - Wakeup pin enable for LLWU_Pn 8368 * 0b00..External input pin disabled as wakeup input 8369 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8370 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8371 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8372 */ 8373 #define LLWU_PE1_WUPE4(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE4_SHIFT)) & LLWU_PE1_WUPE4_MASK) 8374 #define LLWU_PE1_WUPE5_MASK (0xC00U) 8375 #define LLWU_PE1_WUPE5_SHIFT (10U) 8376 /*! WUPE5 - Wakeup pin enable for LLWU_Pn 8377 * 0b00..External input pin disabled as wakeup input 8378 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8379 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8380 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8381 */ 8382 #define LLWU_PE1_WUPE5(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE5_SHIFT)) & LLWU_PE1_WUPE5_MASK) 8383 #define LLWU_PE1_WUPE6_MASK (0x3000U) 8384 #define LLWU_PE1_WUPE6_SHIFT (12U) 8385 /*! WUPE6 - Wakeup pin enable for LLWU_Pn 8386 * 0b00..External input pin disabled as wakeup input 8387 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8388 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8389 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8390 */ 8391 #define LLWU_PE1_WUPE6(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE6_SHIFT)) & LLWU_PE1_WUPE6_MASK) 8392 #define LLWU_PE1_WUPE7_MASK (0xC000U) 8393 #define LLWU_PE1_WUPE7_SHIFT (14U) 8394 /*! WUPE7 - Wakeup pin enable for LLWU_Pn 8395 * 0b00..External input pin disabled as wakeup input 8396 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8397 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8398 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8399 */ 8400 #define LLWU_PE1_WUPE7(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE7_SHIFT)) & LLWU_PE1_WUPE7_MASK) 8401 #define LLWU_PE1_WUPE8_MASK (0x30000U) 8402 #define LLWU_PE1_WUPE8_SHIFT (16U) 8403 /*! WUPE8 - Wakeup pin enable for LLWU_Pn 8404 * 0b00..External input pin disabled as wakeup input 8405 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8406 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8407 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8408 */ 8409 #define LLWU_PE1_WUPE8(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE8_SHIFT)) & LLWU_PE1_WUPE8_MASK) 8410 #define LLWU_PE1_WUPE9_MASK (0xC0000U) 8411 #define LLWU_PE1_WUPE9_SHIFT (18U) 8412 /*! WUPE9 - Wakeup pin enable for LLWU_Pn 8413 * 0b00..External input pin disabled as wakeup input 8414 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8415 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8416 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8417 */ 8418 #define LLWU_PE1_WUPE9(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE9_SHIFT)) & LLWU_PE1_WUPE9_MASK) 8419 #define LLWU_PE1_WUPE10_MASK (0x300000U) 8420 #define LLWU_PE1_WUPE10_SHIFT (20U) 8421 /*! WUPE10 - Wakeup pin enable for LLWU_Pn 8422 * 0b00..External input pin disabled as wakeup input 8423 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8424 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8425 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8426 */ 8427 #define LLWU_PE1_WUPE10(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE10_SHIFT)) & LLWU_PE1_WUPE10_MASK) 8428 #define LLWU_PE1_WUPE11_MASK (0xC00000U) 8429 #define LLWU_PE1_WUPE11_SHIFT (22U) 8430 /*! WUPE11 - Wakeup pin enable for LLWU_Pn 8431 * 0b00..External input pin disabled as wakeup input 8432 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8433 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8434 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8435 */ 8436 #define LLWU_PE1_WUPE11(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE11_SHIFT)) & LLWU_PE1_WUPE11_MASK) 8437 #define LLWU_PE1_WUPE12_MASK (0x3000000U) 8438 #define LLWU_PE1_WUPE12_SHIFT (24U) 8439 /*! WUPE12 - Wakeup pin enable for LLWU_Pn 8440 * 0b00..External input pin disabled as wakeup input 8441 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8442 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8443 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8444 */ 8445 #define LLWU_PE1_WUPE12(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE12_SHIFT)) & LLWU_PE1_WUPE12_MASK) 8446 #define LLWU_PE1_WUPE13_MASK (0xC000000U) 8447 #define LLWU_PE1_WUPE13_SHIFT (26U) 8448 /*! WUPE13 - Wakeup pin enable for LLWU_Pn 8449 * 0b00..External input pin disabled as wakeup input 8450 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8451 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8452 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8453 */ 8454 #define LLWU_PE1_WUPE13(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE13_SHIFT)) & LLWU_PE1_WUPE13_MASK) 8455 #define LLWU_PE1_WUPE14_MASK (0x30000000U) 8456 #define LLWU_PE1_WUPE14_SHIFT (28U) 8457 /*! WUPE14 - Wakeup pin enable for LLWU_Pn 8458 * 0b00..External input pin disabled as wakeup input 8459 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8460 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8461 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8462 */ 8463 #define LLWU_PE1_WUPE14(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE14_SHIFT)) & LLWU_PE1_WUPE14_MASK) 8464 #define LLWU_PE1_WUPE15_MASK (0xC0000000U) 8465 #define LLWU_PE1_WUPE15_SHIFT (30U) 8466 /*! WUPE15 - Wakeup pin enable for LLWU_Pn 8467 * 0b00..External input pin disabled as wakeup input 8468 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8469 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8470 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8471 */ 8472 #define LLWU_PE1_WUPE15(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE15_SHIFT)) & LLWU_PE1_WUPE15_MASK) 8473 /*! @} */ 8474 8475 /*! @name PE2 - Pin Enable 2 register */ 8476 /*! @{ */ 8477 #define LLWU_PE2_WUPE16_MASK (0x3U) 8478 #define LLWU_PE2_WUPE16_SHIFT (0U) 8479 /*! WUPE16 - Wakeup pin enable for LLWU_Pn 8480 * 0b00..External input pin disabled as wakeup input 8481 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8482 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8483 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8484 */ 8485 #define LLWU_PE2_WUPE16(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE16_SHIFT)) & LLWU_PE2_WUPE16_MASK) 8486 #define LLWU_PE2_WUPE17_MASK (0xCU) 8487 #define LLWU_PE2_WUPE17_SHIFT (2U) 8488 /*! WUPE17 - Wakeup pin enable for LLWU_Pn 8489 * 0b00..External input pin disabled as wakeup input 8490 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8491 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8492 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8493 */ 8494 #define LLWU_PE2_WUPE17(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE17_SHIFT)) & LLWU_PE2_WUPE17_MASK) 8495 #define LLWU_PE2_WUPE18_MASK (0x30U) 8496 #define LLWU_PE2_WUPE18_SHIFT (4U) 8497 /*! WUPE18 - Wakeup pin enable for LLWU_Pn 8498 * 0b00..External input pin disabled as wakeup input 8499 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8500 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8501 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8502 */ 8503 #define LLWU_PE2_WUPE18(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE18_SHIFT)) & LLWU_PE2_WUPE18_MASK) 8504 #define LLWU_PE2_WUPE19_MASK (0xC0U) 8505 #define LLWU_PE2_WUPE19_SHIFT (6U) 8506 /*! WUPE19 - Wakeup pin enable for LLWU_Pn 8507 * 0b00..External input pin disabled as wakeup input 8508 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8509 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8510 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8511 */ 8512 #define LLWU_PE2_WUPE19(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE19_SHIFT)) & LLWU_PE2_WUPE19_MASK) 8513 #define LLWU_PE2_WUPE20_MASK (0x300U) 8514 #define LLWU_PE2_WUPE20_SHIFT (8U) 8515 /*! WUPE20 - Wakeup pin enable for LLWU_Pn 8516 * 0b00..External input pin disabled as wakeup input 8517 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8518 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8519 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8520 */ 8521 #define LLWU_PE2_WUPE20(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE20_SHIFT)) & LLWU_PE2_WUPE20_MASK) 8522 #define LLWU_PE2_WUPE21_MASK (0xC00U) 8523 #define LLWU_PE2_WUPE21_SHIFT (10U) 8524 /*! WUPE21 - Wakeup pin enable for LLWU_Pn 8525 * 0b00..External input pin disabled as wakeup input 8526 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8527 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8528 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8529 */ 8530 #define LLWU_PE2_WUPE21(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE21_SHIFT)) & LLWU_PE2_WUPE21_MASK) 8531 #define LLWU_PE2_WUPE22_MASK (0x3000U) 8532 #define LLWU_PE2_WUPE22_SHIFT (12U) 8533 /*! WUPE22 - Wakeup pin enable for LLWU_Pn 8534 * 0b00..External input pin disabled as wakeup input 8535 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8536 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8537 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8538 */ 8539 #define LLWU_PE2_WUPE22(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE22_SHIFT)) & LLWU_PE2_WUPE22_MASK) 8540 #define LLWU_PE2_WUPE23_MASK (0xC000U) 8541 #define LLWU_PE2_WUPE23_SHIFT (14U) 8542 /*! WUPE23 - Wakeup pin enable for LLWU_Pn 8543 * 0b00..External input pin disabled as wakeup input 8544 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8545 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8546 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8547 */ 8548 #define LLWU_PE2_WUPE23(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE23_SHIFT)) & LLWU_PE2_WUPE23_MASK) 8549 #define LLWU_PE2_WUPE24_MASK (0x30000U) 8550 #define LLWU_PE2_WUPE24_SHIFT (16U) 8551 /*! WUPE24 - Wakeup pin enable for LLWU_Pn 8552 * 0b00..External input pin disabled as wakeup input 8553 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8554 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8555 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8556 */ 8557 #define LLWU_PE2_WUPE24(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE24_SHIFT)) & LLWU_PE2_WUPE24_MASK) 8558 #define LLWU_PE2_WUPE25_MASK (0xC0000U) 8559 #define LLWU_PE2_WUPE25_SHIFT (18U) 8560 /*! WUPE25 - Wakeup pin enable for LLWU_Pn 8561 * 0b00..External input pin disabled as wakeup input 8562 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8563 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8564 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8565 */ 8566 #define LLWU_PE2_WUPE25(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE25_SHIFT)) & LLWU_PE2_WUPE25_MASK) 8567 #define LLWU_PE2_WUPE26_MASK (0x300000U) 8568 #define LLWU_PE2_WUPE26_SHIFT (20U) 8569 /*! WUPE26 - Wakeup pin enable for LLWU_Pn 8570 * 0b00..External input pin disabled as wakeup input 8571 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8572 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8573 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8574 */ 8575 #define LLWU_PE2_WUPE26(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE26_SHIFT)) & LLWU_PE2_WUPE26_MASK) 8576 #define LLWU_PE2_Reserved27_MASK (0xC00000U) 8577 #define LLWU_PE2_Reserved27_SHIFT (22U) 8578 /*! Reserved27 - Wakeup pin enable for LLWU_Pn 8579 * 0b00..External input pin disabled as wakeup input 8580 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8581 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8582 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8583 */ 8584 #define LLWU_PE2_Reserved27(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_Reserved27_SHIFT)) & LLWU_PE2_Reserved27_MASK) 8585 #define LLWU_PE2_Reserved28_MASK (0x3000000U) 8586 #define LLWU_PE2_Reserved28_SHIFT (24U) 8587 /*! Reserved28 - Wakeup pin enable for LLWU_Pn 8588 * 0b00..External input pin disabled as wakeup input 8589 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8590 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8591 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8592 */ 8593 #define LLWU_PE2_Reserved28(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_Reserved28_SHIFT)) & LLWU_PE2_Reserved28_MASK) 8594 #define LLWU_PE2_WUPE29_MASK (0xC000000U) 8595 #define LLWU_PE2_WUPE29_SHIFT (26U) 8596 /*! WUPE29 - Wakeup pin enable for LLWU_Pn 8597 * 0b00..External input pin disabled as wakeup input 8598 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8599 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8600 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8601 */ 8602 #define LLWU_PE2_WUPE29(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE29_SHIFT)) & LLWU_PE2_WUPE29_MASK) 8603 #define LLWU_PE2_WUPE30_MASK (0x30000000U) 8604 #define LLWU_PE2_WUPE30_SHIFT (28U) 8605 /*! WUPE30 - Wakeup pin enable for LLWU_Pn 8606 * 0b00..External input pin disabled as wakeup input 8607 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8608 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8609 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8610 */ 8611 #define LLWU_PE2_WUPE30(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE30_SHIFT)) & LLWU_PE2_WUPE30_MASK) 8612 #define LLWU_PE2_WUPE31_MASK (0xC0000000U) 8613 #define LLWU_PE2_WUPE31_SHIFT (30U) 8614 /*! WUPE31 - Wakeup pin enable for LLWU_Pn 8615 * 0b00..External input pin disabled as wakeup input 8616 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8617 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8618 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8619 */ 8620 #define LLWU_PE2_WUPE31(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE31_SHIFT)) & LLWU_PE2_WUPE31_MASK) 8621 /*! @} */ 8622 8623 /*! @name ME - Module Interrupt Enable register */ 8624 /*! @{ */ 8625 #define LLWU_ME_WUME0_MASK (0x1U) 8626 #define LLWU_ME_WUME0_SHIFT (0U) 8627 /*! WUME0 - Wakeup module enable for module n 8628 * 0b0..Internal module flag not used as wakeup source 8629 * 0b1..Internal module flag used as wakeup source 8630 */ 8631 #define LLWU_ME_WUME0(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME0_SHIFT)) & LLWU_ME_WUME0_MASK) 8632 #define LLWU_ME_WUME1_MASK (0x2U) 8633 #define LLWU_ME_WUME1_SHIFT (1U) 8634 /*! WUME1 - Wakeup module enable for module n 8635 * 0b0..Internal module flag not used as wakeup source 8636 * 0b1..Internal module flag used as wakeup source 8637 */ 8638 #define LLWU_ME_WUME1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME1_SHIFT)) & LLWU_ME_WUME1_MASK) 8639 #define LLWU_ME_WUME2_MASK (0x4U) 8640 #define LLWU_ME_WUME2_SHIFT (2U) 8641 /*! WUME2 - Wakeup module enable for module n 8642 * 0b0..Internal module flag not used as wakeup source 8643 * 0b1..Internal module flag used as wakeup source 8644 */ 8645 #define LLWU_ME_WUME2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME2_SHIFT)) & LLWU_ME_WUME2_MASK) 8646 #define LLWU_ME_Reserved3_MASK (0x8U) 8647 #define LLWU_ME_Reserved3_SHIFT (3U) 8648 /*! Reserved3 - Wakeup module enable for module n 8649 * 0b0..Internal module flag not used as wakeup source 8650 * 0b1..Internal module flag used as wakeup source 8651 */ 8652 #define LLWU_ME_Reserved3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_Reserved3_SHIFT)) & LLWU_ME_Reserved3_MASK) 8653 #define LLWU_ME_WUME3_MASK (0x8U) 8654 #define LLWU_ME_WUME3_SHIFT (3U) 8655 /*! WUME3 - Wakeup module enable for module n 8656 * 0b0..Internal module flag not used as wakeup source 8657 * 0b1..Internal module flag used as wakeup source 8658 */ 8659 #define LLWU_ME_WUME3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME3_SHIFT)) & LLWU_ME_WUME3_MASK) 8660 #define LLWU_ME_Reserved4_MASK (0x10U) 8661 #define LLWU_ME_Reserved4_SHIFT (4U) 8662 /*! Reserved4 - Wakeup module enable for module n 8663 * 0b0..Internal module flag not used as wakeup source 8664 * 0b1..Internal module flag used as wakeup source 8665 */ 8666 #define LLWU_ME_Reserved4(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_Reserved4_SHIFT)) & LLWU_ME_Reserved4_MASK) 8667 #define LLWU_ME_WUME5_MASK (0x20U) 8668 #define LLWU_ME_WUME5_SHIFT (5U) 8669 /*! WUME5 - Wakeup module enable for module n 8670 * 0b0..Internal module flag not used as wakeup source 8671 * 0b1..Internal module flag used as wakeup source 8672 */ 8673 #define LLWU_ME_WUME5(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME5_SHIFT)) & LLWU_ME_WUME5_MASK) 8674 #define LLWU_ME_WUME6_MASK (0x40U) 8675 #define LLWU_ME_WUME6_SHIFT (6U) 8676 /*! WUME6 - Wakeup module enable for module n 8677 * 0b0..Internal module flag not used as wakeup source 8678 * 0b1..Internal module flag used as wakeup source 8679 */ 8680 #define LLWU_ME_WUME6(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME6_SHIFT)) & LLWU_ME_WUME6_MASK) 8681 #define LLWU_ME_WUME7_MASK (0x80U) 8682 #define LLWU_ME_WUME7_SHIFT (7U) 8683 /*! WUME7 - Wakeup module enable for module n 8684 * 0b0..Internal module flag not used as wakeup source 8685 * 0b1..Internal module flag used as wakeup source 8686 */ 8687 #define LLWU_ME_WUME7(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME7_SHIFT)) & LLWU_ME_WUME7_MASK) 8688 /*! @} */ 8689 8690 /*! @name DE - Module DMA/Trigger Enable register */ 8691 /*! @{ */ 8692 #define LLWU_DE_WUDE0_MASK (0x1U) 8693 #define LLWU_DE_WUDE0_SHIFT (0U) 8694 /*! WUDE0 - DMA/Trigger wakeup enable for module n 8695 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8696 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8697 */ 8698 #define LLWU_DE_WUDE0(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_WUDE0_SHIFT)) & LLWU_DE_WUDE0_MASK) 8699 #define LLWU_DE_WUDE1_MASK (0x2U) 8700 #define LLWU_DE_WUDE1_SHIFT (1U) 8701 /*! WUDE1 - DMA/Trigger wakeup enable for module n 8702 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8703 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8704 */ 8705 #define LLWU_DE_WUDE1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_WUDE1_SHIFT)) & LLWU_DE_WUDE1_MASK) 8706 #define LLWU_DE_WUDE2_MASK (0x4U) 8707 #define LLWU_DE_WUDE2_SHIFT (2U) 8708 /*! WUDE2 - DMA/Trigger wakeup enable for module n 8709 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8710 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8711 */ 8712 #define LLWU_DE_WUDE2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_WUDE2_SHIFT)) & LLWU_DE_WUDE2_MASK) 8713 #define LLWU_DE_Reserved3_MASK (0x8U) 8714 #define LLWU_DE_Reserved3_SHIFT (3U) 8715 /*! Reserved3 - DMA/Trigger wakeup enable for module n 8716 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8717 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8718 */ 8719 #define LLWU_DE_Reserved3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_Reserved3_SHIFT)) & LLWU_DE_Reserved3_MASK) 8720 #define LLWU_DE_WUDE4_MASK (0x10U) 8721 #define LLWU_DE_WUDE4_SHIFT (4U) 8722 /*! WUDE4 - DMA/Trigger wakeup enable for module n 8723 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8724 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8725 */ 8726 #define LLWU_DE_WUDE4(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_WUDE4_SHIFT)) & LLWU_DE_WUDE4_MASK) 8727 #define LLWU_DE_WUDE5_MASK (0x20U) 8728 #define LLWU_DE_WUDE5_SHIFT (5U) 8729 /*! WUDE5 - DMA/Trigger wakeup enable for module n 8730 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8731 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8732 */ 8733 #define LLWU_DE_WUDE5(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_WUDE5_SHIFT)) & LLWU_DE_WUDE5_MASK) 8734 #define LLWU_DE_WUDE6_MASK (0x40U) 8735 #define LLWU_DE_WUDE6_SHIFT (6U) 8736 /*! WUDE6 - DMA/Trigger wakeup enable for module n 8737 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8738 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8739 */ 8740 #define LLWU_DE_WUDE6(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_WUDE6_SHIFT)) & LLWU_DE_WUDE6_MASK) 8741 #define LLWU_DE_Reserved7_MASK (0x80U) 8742 #define LLWU_DE_Reserved7_SHIFT (7U) 8743 /*! Reserved7 - DMA/Trigger wakeup enable for module n 8744 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8745 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8746 */ 8747 #define LLWU_DE_Reserved7(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_Reserved7_SHIFT)) & LLWU_DE_Reserved7_MASK) 8748 /*! @} */ 8749 8750 /*! @name PF - Pin Flag register */ 8751 /*! @{ */ 8752 #define LLWU_PF_WUF0_MASK (0x1U) 8753 #define LLWU_PF_WUF0_SHIFT (0U) 8754 /*! WUF0 - Wakeup flag for LLWU_Pn 8755 * 0b0..LLWU_Pn input was not a wakeup source 8756 * 0b1..LLWU_Pn input was a wakeup source 8757 */ 8758 #define LLWU_PF_WUF0(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF0_SHIFT)) & LLWU_PF_WUF0_MASK) 8759 #define LLWU_PF_WUF1_MASK (0x2U) 8760 #define LLWU_PF_WUF1_SHIFT (1U) 8761 /*! WUF1 - Wakeup flag for LLWU_Pn 8762 * 0b0..LLWU_Pn input was not a wakeup source 8763 * 0b1..LLWU_Pn input was a wakeup source 8764 */ 8765 #define LLWU_PF_WUF1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF1_SHIFT)) & LLWU_PF_WUF1_MASK) 8766 #define LLWU_PF_WUF2_MASK (0x4U) 8767 #define LLWU_PF_WUF2_SHIFT (2U) 8768 /*! WUF2 - Wakeup flag for LLWU_Pn 8769 * 0b0..LLWU_Pn input was not a wakeup source 8770 * 0b1..LLWU_Pn input was a wakeup source 8771 */ 8772 #define LLWU_PF_WUF2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF2_SHIFT)) & LLWU_PF_WUF2_MASK) 8773 #define LLWU_PF_WUF3_MASK (0x8U) 8774 #define LLWU_PF_WUF3_SHIFT (3U) 8775 /*! WUF3 - Wakeup flag for LLWU_Pn 8776 * 0b0..LLWU_Pn input was not a wakeup source 8777 * 0b1..LLWU_Pn input was a wakeup source 8778 */ 8779 #define LLWU_PF_WUF3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF3_SHIFT)) & LLWU_PF_WUF3_MASK) 8780 #define LLWU_PF_WUF4_MASK (0x10U) 8781 #define LLWU_PF_WUF4_SHIFT (4U) 8782 /*! WUF4 - Wakeup flag for LLWU_Pn 8783 * 0b0..LLWU_Pn input was not a wakeup source 8784 * 0b1..LLWU_Pn input was a wakeup source 8785 */ 8786 #define LLWU_PF_WUF4(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF4_SHIFT)) & LLWU_PF_WUF4_MASK) 8787 #define LLWU_PF_WUF5_MASK (0x20U) 8788 #define LLWU_PF_WUF5_SHIFT (5U) 8789 /*! WUF5 - Wakeup flag for LLWU_Pn 8790 * 0b0..LLWU_Pn input was not a wakeup source 8791 * 0b1..LLWU_Pn input was a wakeup source 8792 */ 8793 #define LLWU_PF_WUF5(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF5_SHIFT)) & LLWU_PF_WUF5_MASK) 8794 #define LLWU_PF_WUF6_MASK (0x40U) 8795 #define LLWU_PF_WUF6_SHIFT (6U) 8796 /*! WUF6 - Wakeup flag for LLWU_Pn 8797 * 0b0..LLWU_Pn input was not a wakeup source 8798 * 0b1..LLWU_Pn input was a wakeup source 8799 */ 8800 #define LLWU_PF_WUF6(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF6_SHIFT)) & LLWU_PF_WUF6_MASK) 8801 #define LLWU_PF_WUF7_MASK (0x80U) 8802 #define LLWU_PF_WUF7_SHIFT (7U) 8803 /*! WUF7 - Wakeup flag for LLWU_Pn 8804 * 0b0..LLWU_Pn input was not a wakeup source 8805 * 0b1..LLWU_Pn input was a wakeup source 8806 */ 8807 #define LLWU_PF_WUF7(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF7_SHIFT)) & LLWU_PF_WUF7_MASK) 8808 #define LLWU_PF_WUF8_MASK (0x100U) 8809 #define LLWU_PF_WUF8_SHIFT (8U) 8810 /*! WUF8 - Wakeup flag for LLWU_Pn 8811 * 0b0..LLWU_Pn input was not a wakeup source 8812 * 0b1..LLWU_Pn input was a wakeup source 8813 */ 8814 #define LLWU_PF_WUF8(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF8_SHIFT)) & LLWU_PF_WUF8_MASK) 8815 #define LLWU_PF_WUF9_MASK (0x200U) 8816 #define LLWU_PF_WUF9_SHIFT (9U) 8817 /*! WUF9 - Wakeup flag for LLWU_Pn 8818 * 0b0..LLWU_Pn input was not a wakeup source 8819 * 0b1..LLWU_Pn input was a wakeup source 8820 */ 8821 #define LLWU_PF_WUF9(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF9_SHIFT)) & LLWU_PF_WUF9_MASK) 8822 #define LLWU_PF_WUF10_MASK (0x400U) 8823 #define LLWU_PF_WUF10_SHIFT (10U) 8824 /*! WUF10 - Wakeup flag for LLWU_Pn 8825 * 0b0..LLWU_Pn input was not a wakeup source 8826 * 0b1..LLWU_Pn input was a wakeup source 8827 */ 8828 #define LLWU_PF_WUF10(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF10_SHIFT)) & LLWU_PF_WUF10_MASK) 8829 #define LLWU_PF_WUF11_MASK (0x800U) 8830 #define LLWU_PF_WUF11_SHIFT (11U) 8831 /*! WUF11 - Wakeup flag for LLWU_Pn 8832 * 0b0..LLWU_Pn input was not a wakeup source 8833 * 0b1..LLWU_Pn input was a wakeup source 8834 */ 8835 #define LLWU_PF_WUF11(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF11_SHIFT)) & LLWU_PF_WUF11_MASK) 8836 #define LLWU_PF_WUF12_MASK (0x1000U) 8837 #define LLWU_PF_WUF12_SHIFT (12U) 8838 /*! WUF12 - Wakeup flag for LLWU_Pn 8839 * 0b0..LLWU_Pn input was not a wakeup source 8840 * 0b1..LLWU_Pn input was a wakeup source 8841 */ 8842 #define LLWU_PF_WUF12(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF12_SHIFT)) & LLWU_PF_WUF12_MASK) 8843 #define LLWU_PF_WUF13_MASK (0x2000U) 8844 #define LLWU_PF_WUF13_SHIFT (13U) 8845 /*! WUF13 - Wakeup flag for LLWU_Pn 8846 * 0b0..LLWU_Pn input was not a wakeup source 8847 * 0b1..LLWU_Pn input was a wakeup source 8848 */ 8849 #define LLWU_PF_WUF13(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF13_SHIFT)) & LLWU_PF_WUF13_MASK) 8850 #define LLWU_PF_WUF14_MASK (0x4000U) 8851 #define LLWU_PF_WUF14_SHIFT (14U) 8852 /*! WUF14 - Wakeup flag for LLWU_Pn 8853 * 0b0..LLWU_Pn input was not a wakeup source 8854 * 0b1..LLWU_Pn input was a wakeup source 8855 */ 8856 #define LLWU_PF_WUF14(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF14_SHIFT)) & LLWU_PF_WUF14_MASK) 8857 #define LLWU_PF_WUF15_MASK (0x8000U) 8858 #define LLWU_PF_WUF15_SHIFT (15U) 8859 /*! WUF15 - Wakeup flag for LLWU_Pn 8860 * 0b0..LLWU_Pn input was not a wakeup source 8861 * 0b1..LLWU_Pn input was a wakeup source 8862 */ 8863 #define LLWU_PF_WUF15(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF15_SHIFT)) & LLWU_PF_WUF15_MASK) 8864 #define LLWU_PF_WUF16_MASK (0x10000U) 8865 #define LLWU_PF_WUF16_SHIFT (16U) 8866 /*! WUF16 - Wakeup flag for LLWU_Pn 8867 * 0b0..LLWU_Pn input was not a wakeup source 8868 * 0b1..LLWU_Pn input was a wakeup source 8869 */ 8870 #define LLWU_PF_WUF16(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF16_SHIFT)) & LLWU_PF_WUF16_MASK) 8871 #define LLWU_PF_WUF17_MASK (0x20000U) 8872 #define LLWU_PF_WUF17_SHIFT (17U) 8873 /*! WUF17 - Wakeup flag for LLWU_Pn 8874 * 0b0..LLWU_Pn input was not a wakeup source 8875 * 0b1..LLWU_Pn input was a wakeup source 8876 */ 8877 #define LLWU_PF_WUF17(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF17_SHIFT)) & LLWU_PF_WUF17_MASK) 8878 #define LLWU_PF_WUF18_MASK (0x40000U) 8879 #define LLWU_PF_WUF18_SHIFT (18U) 8880 /*! WUF18 - Wakeup flag for LLWU_Pn 8881 * 0b0..LLWU_Pn input was not a wakeup source 8882 * 0b1..LLWU_Pn input was a wakeup source 8883 */ 8884 #define LLWU_PF_WUF18(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF18_SHIFT)) & LLWU_PF_WUF18_MASK) 8885 #define LLWU_PF_WUF19_MASK (0x80000U) 8886 #define LLWU_PF_WUF19_SHIFT (19U) 8887 /*! WUF19 - Wakeup flag for LLWU_Pn 8888 * 0b0..LLWU_Pn input was not a wakeup source 8889 * 0b1..LLWU_Pn input was a wakeup source 8890 */ 8891 #define LLWU_PF_WUF19(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF19_SHIFT)) & LLWU_PF_WUF19_MASK) 8892 #define LLWU_PF_WUF20_MASK (0x100000U) 8893 #define LLWU_PF_WUF20_SHIFT (20U) 8894 /*! WUF20 - Wakeup flag for LLWU_Pn 8895 * 0b0..LLWU_Pn input was not a wakeup source 8896 * 0b1..LLWU_Pn input was a wakeup source 8897 */ 8898 #define LLWU_PF_WUF20(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF20_SHIFT)) & LLWU_PF_WUF20_MASK) 8899 #define LLWU_PF_WUF21_MASK (0x200000U) 8900 #define LLWU_PF_WUF21_SHIFT (21U) 8901 /*! WUF21 - Wakeup flag for LLWU_Pn 8902 * 0b0..LLWU_Pn input was not a wakeup source 8903 * 0b1..LLWU_Pn input was a wakeup source 8904 */ 8905 #define LLWU_PF_WUF21(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF21_SHIFT)) & LLWU_PF_WUF21_MASK) 8906 #define LLWU_PF_WUF22_MASK (0x400000U) 8907 #define LLWU_PF_WUF22_SHIFT (22U) 8908 /*! WUF22 - Wakeup flag for LLWU_Pn 8909 * 0b0..LLWU_Pn input was not a wakeup source 8910 * 0b1..LLWU_Pn input was a wakeup source 8911 */ 8912 #define LLWU_PF_WUF22(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF22_SHIFT)) & LLWU_PF_WUF22_MASK) 8913 #define LLWU_PF_WUF23_MASK (0x800000U) 8914 #define LLWU_PF_WUF23_SHIFT (23U) 8915 /*! WUF23 - Wakeup flag for LLWU_Pn 8916 * 0b0..LLWU_Pn input was not a wakeup source 8917 * 0b1..LLWU_Pn input was a wakeup source 8918 */ 8919 #define LLWU_PF_WUF23(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF23_SHIFT)) & LLWU_PF_WUF23_MASK) 8920 #define LLWU_PF_WUF24_MASK (0x1000000U) 8921 #define LLWU_PF_WUF24_SHIFT (24U) 8922 /*! WUF24 - Wakeup flag for LLWU_Pn 8923 * 0b0..LLWU_Pn input was not a wakeup source 8924 * 0b1..LLWU_Pn input was a wakeup source 8925 */ 8926 #define LLWU_PF_WUF24(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF24_SHIFT)) & LLWU_PF_WUF24_MASK) 8927 #define LLWU_PF_WUF25_MASK (0x2000000U) 8928 #define LLWU_PF_WUF25_SHIFT (25U) 8929 /*! WUF25 - Wakeup flag for LLWU_Pn 8930 * 0b0..LLWU_Pn input was not a wakeup source 8931 * 0b1..LLWU_Pn input was a wakeup source 8932 */ 8933 #define LLWU_PF_WUF25(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF25_SHIFT)) & LLWU_PF_WUF25_MASK) 8934 #define LLWU_PF_WUF26_MASK (0x4000000U) 8935 #define LLWU_PF_WUF26_SHIFT (26U) 8936 /*! WUF26 - Wakeup flag for LLWU_Pn 8937 * 0b0..LLWU_Pn input was not a wakeup source 8938 * 0b1..LLWU_Pn input was a wakeup source 8939 */ 8940 #define LLWU_PF_WUF26(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF26_SHIFT)) & LLWU_PF_WUF26_MASK) 8941 #define LLWU_PF_Reserved27_MASK (0x8000000U) 8942 #define LLWU_PF_Reserved27_SHIFT (27U) 8943 /*! Reserved27 - Wakeup flag for LLWU_Pn 8944 * 0b0..LLWU_Pn input was not a wakeup source 8945 * 0b1..LLWU_Pn input was a wakeup source 8946 */ 8947 #define LLWU_PF_Reserved27(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_Reserved27_SHIFT)) & LLWU_PF_Reserved27_MASK) 8948 #define LLWU_PF_Reserved28_MASK (0x10000000U) 8949 #define LLWU_PF_Reserved28_SHIFT (28U) 8950 /*! Reserved28 - Wakeup flag for LLWU_Pn 8951 * 0b0..LLWU_Pn input was not a wakeup source 8952 * 0b1..LLWU_Pn input was a wakeup source 8953 */ 8954 #define LLWU_PF_Reserved28(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_Reserved28_SHIFT)) & LLWU_PF_Reserved28_MASK) 8955 #define LLWU_PF_WUF29_MASK (0x20000000U) 8956 #define LLWU_PF_WUF29_SHIFT (29U) 8957 /*! WUF29 - Wakeup flag for LLWU_Pn 8958 * 0b0..LLWU_Pn input was not a wakeup source 8959 * 0b1..LLWU_Pn input was a wakeup source 8960 */ 8961 #define LLWU_PF_WUF29(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF29_SHIFT)) & LLWU_PF_WUF29_MASK) 8962 #define LLWU_PF_WUF30_MASK (0x40000000U) 8963 #define LLWU_PF_WUF30_SHIFT (30U) 8964 /*! WUF30 - Wakeup flag for LLWU_Pn 8965 * 0b0..LLWU_Pn input was not a wakeup source 8966 * 0b1..LLWU_Pn input was a wakeup source 8967 */ 8968 #define LLWU_PF_WUF30(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF30_SHIFT)) & LLWU_PF_WUF30_MASK) 8969 #define LLWU_PF_WUF31_MASK (0x80000000U) 8970 #define LLWU_PF_WUF31_SHIFT (31U) 8971 /*! WUF31 - Wakeup flag for LLWU_Pn 8972 * 0b0..LLWU_Pn input was not a wakeup source 8973 * 0b1..LLWU_Pn input was a wakeup source 8974 */ 8975 #define LLWU_PF_WUF31(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF31_SHIFT)) & LLWU_PF_WUF31_MASK) 8976 /*! @} */ 8977 8978 /*! @name FILT - Pin Filter register */ 8979 /*! @{ */ 8980 #define LLWU_FILT_FILTSEL1_MASK (0x1FU) 8981 #define LLWU_FILT_FILTSEL1_SHIFT (0U) 8982 /*! FILTSEL1 - Filter 1 Pin Select 8983 * 0b00000..Select LLWU_P0 for filter 8984 * 0b11111..Select LLWU_P31 for filter 8985 */ 8986 #define LLWU_FILT_FILTSEL1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FILT_FILTSEL1_SHIFT)) & LLWU_FILT_FILTSEL1_MASK) 8987 #define LLWU_FILT_FILTE1_MASK (0x60U) 8988 #define LLWU_FILT_FILTE1_SHIFT (5U) 8989 /*! FILTE1 - Filter 1 Enable 8990 * 0b00..Filter disabled 8991 * 0b01..Filter posedge detect enabled when configured as interrupt/DMA request or high level detection when configured as trigger request 8992 * 0b10..Filter negedge detect enabled when configured as interrupt/DMA request or low level detection when configured as trigger request 8993 * 0b11..Filter any edge detect enabled when configured as interrupt/DMA request 8994 */ 8995 #define LLWU_FILT_FILTE1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FILT_FILTE1_SHIFT)) & LLWU_FILT_FILTE1_MASK) 8996 #define LLWU_FILT_FILTF1_MASK (0x80U) 8997 #define LLWU_FILT_FILTF1_SHIFT (7U) 8998 /*! FILTF1 - Filter 1 Flag 8999 * 0b0..Pin Filter 1 was not a wakeup source 9000 * 0b1..Pin Filter 1 was a wakeup source 9001 */ 9002 #define LLWU_FILT_FILTF1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FILT_FILTF1_SHIFT)) & LLWU_FILT_FILTF1_MASK) 9003 #define LLWU_FILT_FILTSEL2_MASK (0x1F00U) 9004 #define LLWU_FILT_FILTSEL2_SHIFT (8U) 9005 /*! FILTSEL2 - Filter 2 Pin Select 9006 * 0b00000..Select LLWU_P0 for filter 9007 * 0b11111..Select LLWU_P31 for filter 9008 */ 9009 #define LLWU_FILT_FILTSEL2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FILT_FILTSEL2_SHIFT)) & LLWU_FILT_FILTSEL2_MASK) 9010 #define LLWU_FILT_FILTE2_MASK (0x6000U) 9011 #define LLWU_FILT_FILTE2_SHIFT (13U) 9012 /*! FILTE2 - Filter 2 Enable 9013 * 0b00..Filter disabled 9014 * 0b01..Filter posedge detect enabled when configured as interrupt/DMA request or high level detection when configured as trigger request 9015 * 0b10..Filter negedge detect enabled when configured as interrupt/DMA request or low level detection when configured as trigger request 9016 * 0b11..Filter any edge detect enabled when configured as interrupt/DMA request 9017 */ 9018 #define LLWU_FILT_FILTE2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FILT_FILTE2_SHIFT)) & LLWU_FILT_FILTE2_MASK) 9019 #define LLWU_FILT_FILTF2_MASK (0x8000U) 9020 #define LLWU_FILT_FILTF2_SHIFT (15U) 9021 /*! FILTF2 - Filter 2 Flag 9022 * 0b0..Pin Filter 2 was not a wakeup source 9023 * 0b1..Pin Filter 2 was a wakeup source 9024 */ 9025 #define LLWU_FILT_FILTF2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FILT_FILTF2_SHIFT)) & LLWU_FILT_FILTF2_MASK) 9026 /*! @} */ 9027 9028 /*! @name PDC1 - Pin DMA/Trigger Configuration 1 register */ 9029 /*! @{ */ 9030 #define LLWU_PDC1_WUPDC0_MASK (0x3U) 9031 #define LLWU_PDC1_WUPDC0_SHIFT (0U) 9032 /*! WUPDC0 - Wakeup pin configuration for LLWU_Pn 9033 * 0b00..External input pin configured as interrupt 9034 * 0b01..External input pin configured as DMA request 9035 * 0b10..External input pin configured as trigger event 9036 * 0b11..Reserved 9037 */ 9038 #define LLWU_PDC1_WUPDC0(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC0_SHIFT)) & LLWU_PDC1_WUPDC0_MASK) 9039 #define LLWU_PDC1_WUPDC1_MASK (0xCU) 9040 #define LLWU_PDC1_WUPDC1_SHIFT (2U) 9041 /*! WUPDC1 - Wakeup pin configuration for LLWU_Pn 9042 * 0b00..External input pin configured as interrupt 9043 * 0b01..External input pin configured as DMA request 9044 * 0b10..External input pin configured as trigger event 9045 * 0b11..Reserved 9046 */ 9047 #define LLWU_PDC1_WUPDC1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC1_SHIFT)) & LLWU_PDC1_WUPDC1_MASK) 9048 #define LLWU_PDC1_WUPDC2_MASK (0x30U) 9049 #define LLWU_PDC1_WUPDC2_SHIFT (4U) 9050 /*! WUPDC2 - Wakeup pin configuration for LLWU_Pn 9051 * 0b00..External input pin configured as interrupt 9052 * 0b01..External input pin configured as DMA request 9053 * 0b10..External input pin configured as trigger event 9054 * 0b11..Reserved 9055 */ 9056 #define LLWU_PDC1_WUPDC2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC2_SHIFT)) & LLWU_PDC1_WUPDC2_MASK) 9057 #define LLWU_PDC1_WUPDC3_MASK (0xC0U) 9058 #define LLWU_PDC1_WUPDC3_SHIFT (6U) 9059 /*! WUPDC3 - Wakeup pin configuration for LLWU_Pn 9060 * 0b00..External input pin configured as interrupt 9061 * 0b01..External input pin configured as DMA request 9062 * 0b10..External input pin configured as trigger event 9063 * 0b11..Reserved 9064 */ 9065 #define LLWU_PDC1_WUPDC3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC3_SHIFT)) & LLWU_PDC1_WUPDC3_MASK) 9066 #define LLWU_PDC1_WUPDC4_MASK (0x300U) 9067 #define LLWU_PDC1_WUPDC4_SHIFT (8U) 9068 /*! WUPDC4 - Wakeup pin configuration for LLWU_Pn 9069 * 0b00..External input pin configured as interrupt 9070 * 0b01..External input pin configured as DMA request 9071 * 0b10..External input pin configured as trigger event 9072 * 0b11..Reserved 9073 */ 9074 #define LLWU_PDC1_WUPDC4(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC4_SHIFT)) & LLWU_PDC1_WUPDC4_MASK) 9075 #define LLWU_PDC1_WUPDC5_MASK (0xC00U) 9076 #define LLWU_PDC1_WUPDC5_SHIFT (10U) 9077 /*! WUPDC5 - Wakeup pin configuration for LLWU_Pn 9078 * 0b00..External input pin configured as interrupt 9079 * 0b01..External input pin configured as DMA request 9080 * 0b10..External input pin configured as trigger event 9081 * 0b11..Reserved 9082 */ 9083 #define LLWU_PDC1_WUPDC5(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC5_SHIFT)) & LLWU_PDC1_WUPDC5_MASK) 9084 #define LLWU_PDC1_WUPDC6_MASK (0x3000U) 9085 #define LLWU_PDC1_WUPDC6_SHIFT (12U) 9086 /*! WUPDC6 - Wakeup pin configuration for LLWU_Pn 9087 * 0b00..External input pin configured as interrupt 9088 * 0b01..External input pin configured as DMA request 9089 * 0b10..External input pin configured as trigger event 9090 * 0b11..Reserved 9091 */ 9092 #define LLWU_PDC1_WUPDC6(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC6_SHIFT)) & LLWU_PDC1_WUPDC6_MASK) 9093 #define LLWU_PDC1_WUPDC7_MASK (0xC000U) 9094 #define LLWU_PDC1_WUPDC7_SHIFT (14U) 9095 /*! WUPDC7 - Wakeup pin configuration for LLWU_Pn 9096 * 0b00..External input pin configured as interrupt 9097 * 0b01..External input pin configured as DMA request 9098 * 0b10..External input pin configured as trigger event 9099 * 0b11..Reserved 9100 */ 9101 #define LLWU_PDC1_WUPDC7(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC7_SHIFT)) & LLWU_PDC1_WUPDC7_MASK) 9102 #define LLWU_PDC1_WUPDC8_MASK (0x30000U) 9103 #define LLWU_PDC1_WUPDC8_SHIFT (16U) 9104 /*! WUPDC8 - Wakeup pin configuration for LLWU_Pn 9105 * 0b00..External input pin configured as interrupt 9106 * 0b01..External input pin configured as DMA request 9107 * 0b10..External input pin configured as trigger event 9108 * 0b11..Reserved 9109 */ 9110 #define LLWU_PDC1_WUPDC8(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC8_SHIFT)) & LLWU_PDC1_WUPDC8_MASK) 9111 #define LLWU_PDC1_WUPDC9_MASK (0xC0000U) 9112 #define LLWU_PDC1_WUPDC9_SHIFT (18U) 9113 /*! WUPDC9 - Wakeup pin configuration for LLWU_Pn 9114 * 0b00..External input pin configured as interrupt 9115 * 0b01..External input pin configured as DMA request 9116 * 0b10..External input pin configured as trigger event 9117 * 0b11..Reserved 9118 */ 9119 #define LLWU_PDC1_WUPDC9(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC9_SHIFT)) & LLWU_PDC1_WUPDC9_MASK) 9120 #define LLWU_PDC1_WUPDC10_MASK (0x300000U) 9121 #define LLWU_PDC1_WUPDC10_SHIFT (20U) 9122 /*! WUPDC10 - Wakeup pin configuration for LLWU_Pn 9123 * 0b00..External input pin configured as interrupt 9124 * 0b01..External input pin configured as DMA request 9125 * 0b10..External input pin configured as trigger event 9126 * 0b11..Reserved 9127 */ 9128 #define LLWU_PDC1_WUPDC10(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC10_SHIFT)) & LLWU_PDC1_WUPDC10_MASK) 9129 #define LLWU_PDC1_WUPDC11_MASK (0xC00000U) 9130 #define LLWU_PDC1_WUPDC11_SHIFT (22U) 9131 /*! WUPDC11 - Wakeup pin configuration for LLWU_Pn 9132 * 0b00..External input pin configured as interrupt 9133 * 0b01..External input pin configured as DMA request 9134 * 0b10..External input pin configured as trigger event 9135 * 0b11..Reserved 9136 */ 9137 #define LLWU_PDC1_WUPDC11(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC11_SHIFT)) & LLWU_PDC1_WUPDC11_MASK) 9138 #define LLWU_PDC1_WUPDC12_MASK (0x3000000U) 9139 #define LLWU_PDC1_WUPDC12_SHIFT (24U) 9140 /*! WUPDC12 - Wakeup pin configuration for LLWU_Pn 9141 * 0b00..External input pin configured as interrupt 9142 * 0b01..External input pin configured as DMA request 9143 * 0b10..External input pin configured as trigger event 9144 * 0b11..Reserved 9145 */ 9146 #define LLWU_PDC1_WUPDC12(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC12_SHIFT)) & LLWU_PDC1_WUPDC12_MASK) 9147 #define LLWU_PDC1_WUPDC13_MASK (0xC000000U) 9148 #define LLWU_PDC1_WUPDC13_SHIFT (26U) 9149 /*! WUPDC13 - Wakeup pin configuration for LLWU_Pn 9150 * 0b00..External input pin configured as interrupt 9151 * 0b01..External input pin configured as DMA request 9152 * 0b10..External input pin configured as trigger event 9153 * 0b11..Reserved 9154 */ 9155 #define LLWU_PDC1_WUPDC13(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC13_SHIFT)) & LLWU_PDC1_WUPDC13_MASK) 9156 #define LLWU_PDC1_WUPDC14_MASK (0x30000000U) 9157 #define LLWU_PDC1_WUPDC14_SHIFT (28U) 9158 /*! WUPDC14 - Wakeup pin configuration for LLWU_Pn 9159 * 0b00..External input pin configured as interrupt 9160 * 0b01..External input pin configured as DMA request 9161 * 0b10..External input pin configured as trigger event 9162 * 0b11..Reserved 9163 */ 9164 #define LLWU_PDC1_WUPDC14(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC14_SHIFT)) & LLWU_PDC1_WUPDC14_MASK) 9165 #define LLWU_PDC1_WUPDC15_MASK (0xC0000000U) 9166 #define LLWU_PDC1_WUPDC15_SHIFT (30U) 9167 /*! WUPDC15 - Wakeup pin configuration for LLWU_Pn 9168 * 0b00..External input pin configured as interrupt 9169 * 0b01..External input pin configured as DMA request 9170 * 0b10..External input pin configured as trigger event 9171 * 0b11..Reserved 9172 */ 9173 #define LLWU_PDC1_WUPDC15(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC15_SHIFT)) & LLWU_PDC1_WUPDC15_MASK) 9174 /*! @} */ 9175 9176 /*! @name PDC2 - Pin DMA/Trigger Configuration 2 register */ 9177 /*! @{ */ 9178 #define LLWU_PDC2_WUPDC16_MASK (0x3U) 9179 #define LLWU_PDC2_WUPDC16_SHIFT (0U) 9180 /*! WUPDC16 - Wakeup pin configuration for LLWU_Pn 9181 * 0b00..External input pin configured as interrupt 9182 * 0b01..External input pin configured as DMA request 9183 * 0b10..External input pin configured as trigger event 9184 * 0b11..Reserved 9185 */ 9186 #define LLWU_PDC2_WUPDC16(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC16_SHIFT)) & LLWU_PDC2_WUPDC16_MASK) 9187 #define LLWU_PDC2_WUPDC17_MASK (0xCU) 9188 #define LLWU_PDC2_WUPDC17_SHIFT (2U) 9189 /*! WUPDC17 - Wakeup pin configuration for LLWU_Pn 9190 * 0b00..External input pin configured as interrupt 9191 * 0b01..External input pin configured as DMA request 9192 * 0b10..External input pin configured as trigger event 9193 * 0b11..Reserved 9194 */ 9195 #define LLWU_PDC2_WUPDC17(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC17_SHIFT)) & LLWU_PDC2_WUPDC17_MASK) 9196 #define LLWU_PDC2_WUPDC18_MASK (0x30U) 9197 #define LLWU_PDC2_WUPDC18_SHIFT (4U) 9198 /*! WUPDC18 - Wakeup pin configuration for LLWU_Pn 9199 * 0b00..External input pin configured as interrupt 9200 * 0b01..External input pin configured as DMA request 9201 * 0b10..External input pin configured as trigger event 9202 * 0b11..Reserved 9203 */ 9204 #define LLWU_PDC2_WUPDC18(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC18_SHIFT)) & LLWU_PDC2_WUPDC18_MASK) 9205 #define LLWU_PDC2_WUPDC19_MASK (0xC0U) 9206 #define LLWU_PDC2_WUPDC19_SHIFT (6U) 9207 /*! WUPDC19 - Wakeup pin configuration for LLWU_Pn 9208 * 0b00..External input pin configured as interrupt 9209 * 0b01..External input pin configured as DMA request 9210 * 0b10..External input pin configured as trigger event 9211 * 0b11..Reserved 9212 */ 9213 #define LLWU_PDC2_WUPDC19(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC19_SHIFT)) & LLWU_PDC2_WUPDC19_MASK) 9214 #define LLWU_PDC2_WUPDC20_MASK (0x300U) 9215 #define LLWU_PDC2_WUPDC20_SHIFT (8U) 9216 /*! WUPDC20 - Wakeup pin configuration for LLWU_Pn 9217 * 0b00..External input pin configured as interrupt 9218 * 0b01..External input pin configured as DMA request 9219 * 0b10..External input pin configured as trigger event 9220 * 0b11..Reserved 9221 */ 9222 #define LLWU_PDC2_WUPDC20(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC20_SHIFT)) & LLWU_PDC2_WUPDC20_MASK) 9223 #define LLWU_PDC2_WUPDC21_MASK (0xC00U) 9224 #define LLWU_PDC2_WUPDC21_SHIFT (10U) 9225 /*! WUPDC21 - Wakeup pin configuration for LLWU_Pn 9226 * 0b00..External input pin configured as interrupt 9227 * 0b01..External input pin configured as DMA request 9228 * 0b10..External input pin configured as trigger event 9229 * 0b11..Reserved 9230 */ 9231 #define LLWU_PDC2_WUPDC21(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC21_SHIFT)) & LLWU_PDC2_WUPDC21_MASK) 9232 #define LLWU_PDC2_WUPDC22_MASK (0x3000U) 9233 #define LLWU_PDC2_WUPDC22_SHIFT (12U) 9234 /*! WUPDC22 - Wakeup pin configuration for LLWU_Pn 9235 * 0b00..External input pin configured as interrupt 9236 * 0b01..External input pin configured as DMA request 9237 * 0b10..External input pin configured as trigger event 9238 * 0b11..Reserved 9239 */ 9240 #define LLWU_PDC2_WUPDC22(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC22_SHIFT)) & LLWU_PDC2_WUPDC22_MASK) 9241 #define LLWU_PDC2_WUPDC23_MASK (0xC000U) 9242 #define LLWU_PDC2_WUPDC23_SHIFT (14U) 9243 /*! WUPDC23 - Wakeup pin configuration for LLWU_Pn 9244 * 0b00..External input pin configured as interrupt 9245 * 0b01..External input pin configured as DMA request 9246 * 0b10..External input pin configured as trigger event 9247 * 0b11..Reserved 9248 */ 9249 #define LLWU_PDC2_WUPDC23(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC23_SHIFT)) & LLWU_PDC2_WUPDC23_MASK) 9250 #define LLWU_PDC2_WUPDC24_MASK (0x30000U) 9251 #define LLWU_PDC2_WUPDC24_SHIFT (16U) 9252 /*! WUPDC24 - Wakeup pin configuration for LLWU_Pn 9253 * 0b00..External input pin configured as interrupt 9254 * 0b01..External input pin configured as DMA request 9255 * 0b10..External input pin configured as trigger event 9256 * 0b11..Reserved 9257 */ 9258 #define LLWU_PDC2_WUPDC24(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC24_SHIFT)) & LLWU_PDC2_WUPDC24_MASK) 9259 #define LLWU_PDC2_WUPDC25_MASK (0xC0000U) 9260 #define LLWU_PDC2_WUPDC25_SHIFT (18U) 9261 /*! WUPDC25 - Wakeup pin configuration for LLWU_Pn 9262 * 0b00..External input pin configured as interrupt 9263 * 0b01..External input pin configured as DMA request 9264 * 0b10..External input pin configured as trigger event 9265 * 0b11..Reserved 9266 */ 9267 #define LLWU_PDC2_WUPDC25(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC25_SHIFT)) & LLWU_PDC2_WUPDC25_MASK) 9268 #define LLWU_PDC2_WUPDC26_MASK (0x300000U) 9269 #define LLWU_PDC2_WUPDC26_SHIFT (20U) 9270 /*! WUPDC26 - Wakeup pin configuration for LLWU_Pn 9271 * 0b00..External input pin configured as interrupt 9272 * 0b01..External input pin configured as DMA request 9273 * 0b10..External input pin configured as trigger event 9274 * 0b11..Reserved 9275 */ 9276 #define LLWU_PDC2_WUPDC26(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC26_SHIFT)) & LLWU_PDC2_WUPDC26_MASK) 9277 #define LLWU_PDC2_Reserved27_MASK (0xC00000U) 9278 #define LLWU_PDC2_Reserved27_SHIFT (22U) 9279 /*! Reserved27 - Wakeup pin configuration for LLWU_Pn 9280 * 0b00..External input pin configured as interrupt 9281 * 0b01..External input pin configured as DMA request 9282 * 0b10..External input pin configured as trigger event 9283 * 0b11..Reserved 9284 */ 9285 #define LLWU_PDC2_Reserved27(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_Reserved27_SHIFT)) & LLWU_PDC2_Reserved27_MASK) 9286 #define LLWU_PDC2_Reserved28_MASK (0x3000000U) 9287 #define LLWU_PDC2_Reserved28_SHIFT (24U) 9288 /*! Reserved28 - Wakeup pin configuration for LLWU_Pn 9289 * 0b00..External input pin configured as interrupt 9290 * 0b01..External input pin configured as DMA request 9291 * 0b10..External input pin configured as trigger event 9292 * 0b11..Reserved 9293 */ 9294 #define LLWU_PDC2_Reserved28(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_Reserved28_SHIFT)) & LLWU_PDC2_Reserved28_MASK) 9295 #define LLWU_PDC2_WUPDC29_MASK (0xC000000U) 9296 #define LLWU_PDC2_WUPDC29_SHIFT (26U) 9297 /*! WUPDC29 - Wakeup pin configuration for LLWU_Pn 9298 * 0b00..External input pin configured as interrupt 9299 * 0b01..External input pin configured as DMA request 9300 * 0b10..External input pin configured as trigger event 9301 * 0b11..Reserved 9302 */ 9303 #define LLWU_PDC2_WUPDC29(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC29_SHIFT)) & LLWU_PDC2_WUPDC29_MASK) 9304 #define LLWU_PDC2_WUPDC30_MASK (0x30000000U) 9305 #define LLWU_PDC2_WUPDC30_SHIFT (28U) 9306 /*! WUPDC30 - Wakeup pin configuration for LLWU_Pn 9307 * 0b00..External input pin configured as interrupt 9308 * 0b01..External input pin configured as DMA request 9309 * 0b10..External input pin configured as trigger event 9310 * 0b11..Reserved 9311 */ 9312 #define LLWU_PDC2_WUPDC30(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC30_SHIFT)) & LLWU_PDC2_WUPDC30_MASK) 9313 #define LLWU_PDC2_WUPDC31_MASK (0xC0000000U) 9314 #define LLWU_PDC2_WUPDC31_SHIFT (30U) 9315 /*! WUPDC31 - Wakeup pin configuration for LLWU_Pn 9316 * 0b00..External input pin configured as interrupt 9317 * 0b01..External input pin configured as DMA request 9318 * 0b10..External input pin configured as trigger event 9319 * 0b11..Reserved 9320 */ 9321 #define LLWU_PDC2_WUPDC31(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC31_SHIFT)) & LLWU_PDC2_WUPDC31_MASK) 9322 /*! @} */ 9323 9324 /*! @name FDC - Pin Filter DMA/Trigger Configuration register */ 9325 /*! @{ */ 9326 #define LLWU_FDC_FILTC1_MASK (0x3U) 9327 #define LLWU_FDC_FILTC1_SHIFT (0U) 9328 /*! FILTC1 - Filter configuration for FILT1 9329 * 0b00..Filter output configured as interrupt 9330 * 0b01..Filter output configured as DMA request 9331 * 0b10..Filter output configured as trigger event 9332 * 0b11..Reserved 9333 */ 9334 #define LLWU_FDC_FILTC1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FDC_FILTC1_SHIFT)) & LLWU_FDC_FILTC1_MASK) 9335 #define LLWU_FDC_FILTC2_MASK (0xCU) 9336 #define LLWU_FDC_FILTC2_SHIFT (2U) 9337 /*! FILTC2 - Filter configuration for FILT2 9338 * 0b00..Filter output configured as interrupt 9339 * 0b01..Filter output configured as DMA request 9340 * 0b10..Filter output configured as trigger event 9341 * 0b11..Reserved 9342 */ 9343 #define LLWU_FDC_FILTC2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FDC_FILTC2_SHIFT)) & LLWU_FDC_FILTC2_MASK) 9344 /*! @} */ 9345 9346 /*! @name PMC - Pin Mode Configuration register */ 9347 /*! @{ */ 9348 #define LLWU_PMC_WUPMC0_MASK (0x1U) 9349 #define LLWU_PMC_WUPMC0_SHIFT (0U) 9350 /*! WUPMC0 - Wakeup pin mode for LLWU_Pn 9351 * 0b0..External input pin detection active only during LLS/VLLS mode 9352 * 0b1..External input pin detection active during all power modes 9353 */ 9354 #define LLWU_PMC_WUPMC0(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC0_SHIFT)) & LLWU_PMC_WUPMC0_MASK) 9355 #define LLWU_PMC_WUPMC1_MASK (0x2U) 9356 #define LLWU_PMC_WUPMC1_SHIFT (1U) 9357 /*! WUPMC1 - Wakeup pin mode for LLWU_Pn 9358 * 0b0..External input pin detection active only during LLS/VLLS mode 9359 * 0b1..External input pin detection active during all power modes 9360 */ 9361 #define LLWU_PMC_WUPMC1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC1_SHIFT)) & LLWU_PMC_WUPMC1_MASK) 9362 #define LLWU_PMC_WUPMC2_MASK (0x4U) 9363 #define LLWU_PMC_WUPMC2_SHIFT (2U) 9364 /*! WUPMC2 - Wakeup pin mode for LLWU_Pn 9365 * 0b0..External input pin detection active only during LLS/VLLS mode 9366 * 0b1..External input pin detection active during all power modes 9367 */ 9368 #define LLWU_PMC_WUPMC2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC2_SHIFT)) & LLWU_PMC_WUPMC2_MASK) 9369 #define LLWU_PMC_WUPMC3_MASK (0x8U) 9370 #define LLWU_PMC_WUPMC3_SHIFT (3U) 9371 /*! WUPMC3 - Wakeup pin mode for LLWU_Pn 9372 * 0b0..External input pin detection active only during LLS/VLLS mode 9373 * 0b1..External input pin detection active during all power modes 9374 */ 9375 #define LLWU_PMC_WUPMC3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC3_SHIFT)) & LLWU_PMC_WUPMC3_MASK) 9376 #define LLWU_PMC_WUPMC4_MASK (0x10U) 9377 #define LLWU_PMC_WUPMC4_SHIFT (4U) 9378 /*! WUPMC4 - Wakeup pin mode for LLWU_Pn 9379 * 0b0..External input pin detection active only during LLS/VLLS mode 9380 * 0b1..External input pin detection active during all power modes 9381 */ 9382 #define LLWU_PMC_WUPMC4(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC4_SHIFT)) & LLWU_PMC_WUPMC4_MASK) 9383 #define LLWU_PMC_WUPMC5_MASK (0x20U) 9384 #define LLWU_PMC_WUPMC5_SHIFT (5U) 9385 /*! WUPMC5 - Wakeup pin mode for LLWU_Pn 9386 * 0b0..External input pin detection active only during LLS/VLLS mode 9387 * 0b1..External input pin detection active during all power modes 9388 */ 9389 #define LLWU_PMC_WUPMC5(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC5_SHIFT)) & LLWU_PMC_WUPMC5_MASK) 9390 #define LLWU_PMC_WUPMC6_MASK (0x40U) 9391 #define LLWU_PMC_WUPMC6_SHIFT (6U) 9392 /*! WUPMC6 - Wakeup pin mode for LLWU_Pn 9393 * 0b0..External input pin detection active only during LLS/VLLS mode 9394 * 0b1..External input pin detection active during all power modes 9395 */ 9396 #define LLWU_PMC_WUPMC6(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC6_SHIFT)) & LLWU_PMC_WUPMC6_MASK) 9397 #define LLWU_PMC_WUPMC7_MASK (0x80U) 9398 #define LLWU_PMC_WUPMC7_SHIFT (7U) 9399 /*! WUPMC7 - Wakeup pin mode for LLWU_Pn 9400 * 0b0..External input pin detection active only during LLS/VLLS mode 9401 * 0b1..External input pin detection active during all power modes 9402 */ 9403 #define LLWU_PMC_WUPMC7(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC7_SHIFT)) & LLWU_PMC_WUPMC7_MASK) 9404 #define LLWU_PMC_WUPMC8_MASK (0x100U) 9405 #define LLWU_PMC_WUPMC8_SHIFT (8U) 9406 /*! WUPMC8 - Wakeup pin mode for LLWU_Pn 9407 * 0b0..External input pin detection active only during LLS/VLLS mode 9408 * 0b1..External input pin detection active during all power modes 9409 */ 9410 #define LLWU_PMC_WUPMC8(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC8_SHIFT)) & LLWU_PMC_WUPMC8_MASK) 9411 #define LLWU_PMC_WUPMC9_MASK (0x200U) 9412 #define LLWU_PMC_WUPMC9_SHIFT (9U) 9413 /*! WUPMC9 - Wakeup pin mode for LLWU_Pn 9414 * 0b0..External input pin detection active only during LLS/VLLS mode 9415 * 0b1..External input pin detection active during all power modes 9416 */ 9417 #define LLWU_PMC_WUPMC9(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC9_SHIFT)) & LLWU_PMC_WUPMC9_MASK) 9418 #define LLWU_PMC_WUPMC10_MASK (0x400U) 9419 #define LLWU_PMC_WUPMC10_SHIFT (10U) 9420 /*! WUPMC10 - Wakeup pin mode for LLWU_Pn 9421 * 0b0..External input pin detection active only during LLS/VLLS mode 9422 * 0b1..External input pin detection active during all power modes 9423 */ 9424 #define LLWU_PMC_WUPMC10(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC10_SHIFT)) & LLWU_PMC_WUPMC10_MASK) 9425 #define LLWU_PMC_WUPMC11_MASK (0x800U) 9426 #define LLWU_PMC_WUPMC11_SHIFT (11U) 9427 /*! WUPMC11 - Wakeup pin mode for LLWU_Pn 9428 * 0b0..External input pin detection active only during LLS/VLLS mode 9429 * 0b1..External input pin detection active during all power modes 9430 */ 9431 #define LLWU_PMC_WUPMC11(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC11_SHIFT)) & LLWU_PMC_WUPMC11_MASK) 9432 #define LLWU_PMC_WUPMC12_MASK (0x1000U) 9433 #define LLWU_PMC_WUPMC12_SHIFT (12U) 9434 /*! WUPMC12 - Wakeup pin mode for LLWU_Pn 9435 * 0b0..External input pin detection active only during LLS/VLLS mode 9436 * 0b1..External input pin detection active during all power modes 9437 */ 9438 #define LLWU_PMC_WUPMC12(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC12_SHIFT)) & LLWU_PMC_WUPMC12_MASK) 9439 #define LLWU_PMC_WUPMC13_MASK (0x2000U) 9440 #define LLWU_PMC_WUPMC13_SHIFT (13U) 9441 /*! WUPMC13 - Wakeup pin mode for LLWU_Pn 9442 * 0b0..External input pin detection active only during LLS/VLLS mode 9443 * 0b1..External input pin detection active during all power modes 9444 */ 9445 #define LLWU_PMC_WUPMC13(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC13_SHIFT)) & LLWU_PMC_WUPMC13_MASK) 9446 #define LLWU_PMC_WUPMC14_MASK (0x4000U) 9447 #define LLWU_PMC_WUPMC14_SHIFT (14U) 9448 /*! WUPMC14 - Wakeup pin mode for LLWU_Pn 9449 * 0b0..External input pin detection active only during LLS/VLLS mode 9450 * 0b1..External input pin detection active during all power modes 9451 */ 9452 #define LLWU_PMC_WUPMC14(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC14_SHIFT)) & LLWU_PMC_WUPMC14_MASK) 9453 #define LLWU_PMC_WUPMC15_MASK (0x8000U) 9454 #define LLWU_PMC_WUPMC15_SHIFT (15U) 9455 /*! WUPMC15 - Wakeup pin mode for LLWU_Pn 9456 * 0b0..External input pin detection active only during LLS/VLLS mode 9457 * 0b1..External input pin detection active during all power modes 9458 */ 9459 #define LLWU_PMC_WUPMC15(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC15_SHIFT)) & LLWU_PMC_WUPMC15_MASK) 9460 #define LLWU_PMC_WUPMC16_MASK (0x10000U) 9461 #define LLWU_PMC_WUPMC16_SHIFT (16U) 9462 /*! WUPMC16 - Wakeup pin mode for LLWU_Pn 9463 * 0b0..External input pin detection active only during LLS/VLLS mode 9464 * 0b1..External input pin detection active during all power modes 9465 */ 9466 #define LLWU_PMC_WUPMC16(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC16_SHIFT)) & LLWU_PMC_WUPMC16_MASK) 9467 #define LLWU_PMC_WUPMC17_MASK (0x20000U) 9468 #define LLWU_PMC_WUPMC17_SHIFT (17U) 9469 /*! WUPMC17 - Wakeup pin mode for LLWU_Pn 9470 * 0b0..External input pin detection active only during LLS/VLLS mode 9471 * 0b1..External input pin detection active during all power modes 9472 */ 9473 #define LLWU_PMC_WUPMC17(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC17_SHIFT)) & LLWU_PMC_WUPMC17_MASK) 9474 #define LLWU_PMC_WUPMC18_MASK (0x40000U) 9475 #define LLWU_PMC_WUPMC18_SHIFT (18U) 9476 /*! WUPMC18 - Wakeup pin mode for LLWU_Pn 9477 * 0b0..External input pin detection active only during LLS/VLLS mode 9478 * 0b1..External input pin detection active during all power modes 9479 */ 9480 #define LLWU_PMC_WUPMC18(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC18_SHIFT)) & LLWU_PMC_WUPMC18_MASK) 9481 #define LLWU_PMC_WUPMC19_MASK (0x80000U) 9482 #define LLWU_PMC_WUPMC19_SHIFT (19U) 9483 /*! WUPMC19 - Wakeup pin mode for LLWU_Pn 9484 * 0b0..External input pin detection active only during LLS/VLLS mode 9485 * 0b1..External input pin detection active during all power modes 9486 */ 9487 #define LLWU_PMC_WUPMC19(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC19_SHIFT)) & LLWU_PMC_WUPMC19_MASK) 9488 #define LLWU_PMC_WUPMC20_MASK (0x100000U) 9489 #define LLWU_PMC_WUPMC20_SHIFT (20U) 9490 /*! WUPMC20 - Wakeup pin mode for LLWU_Pn 9491 * 0b0..External input pin detection active only during LLS/VLLS mode 9492 * 0b1..External input pin detection active during all power modes 9493 */ 9494 #define LLWU_PMC_WUPMC20(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC20_SHIFT)) & LLWU_PMC_WUPMC20_MASK) 9495 #define LLWU_PMC_WUPMC21_MASK (0x200000U) 9496 #define LLWU_PMC_WUPMC21_SHIFT (21U) 9497 /*! WUPMC21 - Wakeup pin mode for LLWU_Pn 9498 * 0b0..External input pin detection active only during LLS/VLLS mode 9499 * 0b1..External input pin detection active during all power modes 9500 */ 9501 #define LLWU_PMC_WUPMC21(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC21_SHIFT)) & LLWU_PMC_WUPMC21_MASK) 9502 #define LLWU_PMC_WUPMC22_MASK (0x400000U) 9503 #define LLWU_PMC_WUPMC22_SHIFT (22U) 9504 /*! WUPMC22 - Wakeup pin mode for LLWU_Pn 9505 * 0b0..External input pin detection active only during LLS/VLLS mode 9506 * 0b1..External input pin detection active during all power modes 9507 */ 9508 #define LLWU_PMC_WUPMC22(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC22_SHIFT)) & LLWU_PMC_WUPMC22_MASK) 9509 #define LLWU_PMC_WUPMC23_MASK (0x800000U) 9510 #define LLWU_PMC_WUPMC23_SHIFT (23U) 9511 /*! WUPMC23 - Wakeup pin mode for LLWU_Pn 9512 * 0b0..External input pin detection active only during LLS/VLLS mode 9513 * 0b1..External input pin detection active during all power modes 9514 */ 9515 #define LLWU_PMC_WUPMC23(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC23_SHIFT)) & LLWU_PMC_WUPMC23_MASK) 9516 #define LLWU_PMC_WUPMC24_MASK (0x1000000U) 9517 #define LLWU_PMC_WUPMC24_SHIFT (24U) 9518 /*! WUPMC24 - Wakeup pin mode for LLWU_Pn 9519 * 0b0..External input pin detection active only during LLS/VLLS mode 9520 * 0b1..External input pin detection active during all power modes 9521 */ 9522 #define LLWU_PMC_WUPMC24(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC24_SHIFT)) & LLWU_PMC_WUPMC24_MASK) 9523 #define LLWU_PMC_WUPMC25_MASK (0x2000000U) 9524 #define LLWU_PMC_WUPMC25_SHIFT (25U) 9525 /*! WUPMC25 - Wakeup pin mode for LLWU_Pn 9526 * 0b0..External input pin detection active only during LLS/VLLS mode 9527 * 0b1..External input pin detection active during all power modes 9528 */ 9529 #define LLWU_PMC_WUPMC25(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC25_SHIFT)) & LLWU_PMC_WUPMC25_MASK) 9530 #define LLWU_PMC_WUPMC26_MASK (0x4000000U) 9531 #define LLWU_PMC_WUPMC26_SHIFT (26U) 9532 /*! WUPMC26 - Wakeup pin mode for LLWU_Pn 9533 * 0b0..External input pin detection active only during LLS/VLLS mode 9534 * 0b1..External input pin detection active during all power modes 9535 */ 9536 #define LLWU_PMC_WUPMC26(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC26_SHIFT)) & LLWU_PMC_WUPMC26_MASK) 9537 #define LLWU_PMC_Reserved27_MASK (0x8000000U) 9538 #define LLWU_PMC_Reserved27_SHIFT (27U) 9539 /*! Reserved27 - Wakeup pin mode for LLWU_Pn 9540 * 0b0..External input pin detection active only during LLS/VLLS mode 9541 * 0b1..External input pin detection active during all power modes 9542 */ 9543 #define LLWU_PMC_Reserved27(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_Reserved27_SHIFT)) & LLWU_PMC_Reserved27_MASK) 9544 #define LLWU_PMC_Reserved28_MASK (0x10000000U) 9545 #define LLWU_PMC_Reserved28_SHIFT (28U) 9546 /*! Reserved28 - Wakeup pin mode for LLWU_Pn 9547 * 0b0..External input pin detection active only during LLS/VLLS mode 9548 * 0b1..External input pin detection active during all power modes 9549 */ 9550 #define LLWU_PMC_Reserved28(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_Reserved28_SHIFT)) & LLWU_PMC_Reserved28_MASK) 9551 #define LLWU_PMC_WUPMC29_MASK (0x20000000U) 9552 #define LLWU_PMC_WUPMC29_SHIFT (29U) 9553 /*! WUPMC29 - Wakeup pin mode for LLWU_Pn 9554 * 0b0..External input pin detection active only during LLS/VLLS mode 9555 * 0b1..External input pin detection active during all power modes 9556 */ 9557 #define LLWU_PMC_WUPMC29(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC29_SHIFT)) & LLWU_PMC_WUPMC29_MASK) 9558 #define LLWU_PMC_WUPMC30_MASK (0x40000000U) 9559 #define LLWU_PMC_WUPMC30_SHIFT (30U) 9560 /*! WUPMC30 - Wakeup pin mode for LLWU_Pn 9561 * 0b0..External input pin detection active only during LLS/VLLS mode 9562 * 0b1..External input pin detection active during all power modes 9563 */ 9564 #define LLWU_PMC_WUPMC30(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC30_SHIFT)) & LLWU_PMC_WUPMC30_MASK) 9565 #define LLWU_PMC_WUPMC31_MASK (0x80000000U) 9566 #define LLWU_PMC_WUPMC31_SHIFT (31U) 9567 /*! WUPMC31 - Wakeup pin mode for LLWU_Pn 9568 * 0b0..External input pin detection active only during LLS/VLLS mode 9569 * 0b1..External input pin detection active during all power modes 9570 */ 9571 #define LLWU_PMC_WUPMC31(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC31_SHIFT)) & LLWU_PMC_WUPMC31_MASK) 9572 /*! @} */ 9573 9574 /*! @name FMC - Pin Filter Mode Configuration register */ 9575 /*! @{ */ 9576 #define LLWU_FMC_FILTM1_MASK (0x1U) 9577 #define LLWU_FMC_FILTM1_SHIFT (0U) 9578 /*! FILTM1 - Filter Mode for FILT1 9579 * 0b0..External input pin filter detection active only during LLS/VLLS mode 9580 * 0b1..External input pin filter detection active during all power modes 9581 */ 9582 #define LLWU_FMC_FILTM1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FMC_FILTM1_SHIFT)) & LLWU_FMC_FILTM1_MASK) 9583 #define LLWU_FMC_FILTM2_MASK (0x2U) 9584 #define LLWU_FMC_FILTM2_SHIFT (1U) 9585 /*! FILTM2 - Filter Mode for FILT2 9586 * 0b0..External input pin filter detection active only during LLS/VLLS mode 9587 * 0b1..External input pin filter detection active during all power modes 9588 */ 9589 #define LLWU_FMC_FILTM2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FMC_FILTM2_SHIFT)) & LLWU_FMC_FILTM2_MASK) 9590 /*! @} */ 9591 9592 9593 /*! 9594 * @} 9595 */ /* end of group LLWU_Register_Masks */ 9596 9597 9598 /* LLWU - Peripheral instance base addresses */ 9599 /** Peripheral LLWU0 base address */ 9600 #define LLWU0_BASE (0x40024000u) 9601 /** Peripheral LLWU0 base pointer */ 9602 #define LLWU0 ((LLWU_Type *)LLWU0_BASE) 9603 /** Peripheral LLWU1 base address */ 9604 #define LLWU1_BASE (0x41023000u) 9605 /** Peripheral LLWU1 base pointer */ 9606 #define LLWU1 ((LLWU_Type *)LLWU1_BASE) 9607 /** Array initializer of LLWU peripheral base addresses */ 9608 #define LLWU_BASE_ADDRS { LLWU0_BASE, LLWU1_BASE } 9609 /** Array initializer of LLWU peripheral base pointers */ 9610 #define LLWU_BASE_PTRS { LLWU0, LLWU1 } 9611 /** Interrupt vectors for the LLWU peripheral type */ 9612 #define LLWU_IRQS { LLWU0_IRQn, NotAvail_IRQn } 9613 9614 /*! 9615 * @} 9616 */ /* end of group LLWU_Peripheral_Access_Layer */ 9617 9618 9619 /* ---------------------------------------------------------------------------- 9620 -- LPCMP Peripheral Access Layer 9621 ---------------------------------------------------------------------------- */ 9622 9623 /*! 9624 * @addtogroup LPCMP_Peripheral_Access_Layer LPCMP Peripheral Access Layer 9625 * @{ 9626 */ 9627 9628 /** LPCMP - Register Layout Typedef */ 9629 typedef struct { 9630 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 9631 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 9632 __IO uint32_t CCR0; /**< Comparator Control Register 0, offset: 0x8 */ 9633 __IO uint32_t CCR1; /**< Comparator Control Register 1, offset: 0xC */ 9634 __IO uint32_t CCR2; /**< Comparator Control Register 2, offset: 0x10 */ 9635 uint8_t RESERVED_0[4]; 9636 __IO uint32_t DCR; /**< DAC Control Register, offset: 0x18 */ 9637 __IO uint32_t IER; /**< Interrupt Enable Register, offset: 0x1C */ 9638 __IO uint32_t CSR; /**< Comparator Status Register, offset: 0x20 */ 9639 } LPCMP_Type; 9640 9641 /* ---------------------------------------------------------------------------- 9642 -- LPCMP Register Masks 9643 ---------------------------------------------------------------------------- */ 9644 9645 /*! 9646 * @addtogroup LPCMP_Register_Masks LPCMP Register Masks 9647 * @{ 9648 */ 9649 9650 /*! @name VERID - Version ID Register */ 9651 /*! @{ */ 9652 #define LPCMP_VERID_FEATURE_MASK (0xFFFFU) 9653 #define LPCMP_VERID_FEATURE_SHIFT (0U) 9654 /*! FEATURE - Feature Specification Number 9655 * 0b0000000000000001..Round robin feature 9656 */ 9657 #define LPCMP_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_VERID_FEATURE_SHIFT)) & LPCMP_VERID_FEATURE_MASK) 9658 #define LPCMP_VERID_MINOR_MASK (0xFF0000U) 9659 #define LPCMP_VERID_MINOR_SHIFT (16U) 9660 #define LPCMP_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_VERID_MINOR_SHIFT)) & LPCMP_VERID_MINOR_MASK) 9661 #define LPCMP_VERID_MAJOR_MASK (0xFF000000U) 9662 #define LPCMP_VERID_MAJOR_SHIFT (24U) 9663 #define LPCMP_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_VERID_MAJOR_SHIFT)) & LPCMP_VERID_MAJOR_MASK) 9664 /*! @} */ 9665 9666 /*! @name PARAM - Parameter Register */ 9667 /*! @{ */ 9668 #define LPCMP_PARAM_DAC_RES_MASK (0xFU) 9669 #define LPCMP_PARAM_DAC_RES_SHIFT (0U) 9670 /*! DAC_RES - DAC resolution 9671 * 0b0000..4 bit DAC 9672 * 0b0001..6 bit DAC 9673 * 0b0010..8 bit DAC 9674 * 0b0011..10 bit DAC 9675 * 0b0100..12 bit DAC 9676 * 0b0101..14 bit DAC 9677 * 0b0110..16 bit DAC 9678 */ 9679 #define LPCMP_PARAM_DAC_RES(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_PARAM_DAC_RES_SHIFT)) & LPCMP_PARAM_DAC_RES_MASK) 9680 /*! @} */ 9681 9682 /*! @name CCR0 - Comparator Control Register 0 */ 9683 /*! @{ */ 9684 #define LPCMP_CCR0_CMP_EN_MASK (0x1U) 9685 #define LPCMP_CCR0_CMP_EN_SHIFT (0U) 9686 /*! CMP_EN - Comparator Module Enable 9687 * 0b0..Analog Comparator is disabled. 9688 * 0b1..Analog Comparator is enabled. 9689 */ 9690 #define LPCMP_CCR0_CMP_EN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR0_CMP_EN_SHIFT)) & LPCMP_CCR0_CMP_EN_MASK) 9691 #define LPCMP_CCR0_CMP_STOP_EN_MASK (0x2U) 9692 #define LPCMP_CCR0_CMP_STOP_EN_SHIFT (1U) 9693 /*! CMP_STOP_EN - Comparator Module STOP Mode Enable 9694 * 0b0..Comparator is disabled in STOP modes regardless of CMP_EN. 9695 * 0b1..Comparator is enabled in STOP mode if CMP_EN is active 9696 */ 9697 #define LPCMP_CCR0_CMP_STOP_EN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR0_CMP_STOP_EN_SHIFT)) & LPCMP_CCR0_CMP_STOP_EN_MASK) 9698 /*! @} */ 9699 9700 /*! @name CCR1 - Comparator Control Register 1 */ 9701 /*! @{ */ 9702 #define LPCMP_CCR1_WINDOW_EN_MASK (0x1U) 9703 #define LPCMP_CCR1_WINDOW_EN_SHIFT (0U) 9704 /*! WINDOW_EN - Windowing Enable 9705 * 0b0..Windowing mode is not selected. 9706 * 0b1..Windowing mode is selected. 9707 */ 9708 #define LPCMP_CCR1_WINDOW_EN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_WINDOW_EN_SHIFT)) & LPCMP_CCR1_WINDOW_EN_MASK) 9709 #define LPCMP_CCR1_SAMPLE_EN_MASK (0x2U) 9710 #define LPCMP_CCR1_SAMPLE_EN_SHIFT (1U) 9711 /*! SAMPLE_EN - Sample Enable 9712 * 0b0..Sampling mode is not selected. 9713 * 0b1..Sampling mode is selected. 9714 */ 9715 #define LPCMP_CCR1_SAMPLE_EN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_SAMPLE_EN_SHIFT)) & LPCMP_CCR1_SAMPLE_EN_MASK) 9716 #define LPCMP_CCR1_DMA_EN_MASK (0x4U) 9717 #define LPCMP_CCR1_DMA_EN_SHIFT (2U) 9718 /*! DMA_EN - DMA Enable 9719 * 0b0..DMA is disabled. 9720 * 0b1..DMA is enabled. 9721 */ 9722 #define LPCMP_CCR1_DMA_EN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_DMA_EN_SHIFT)) & LPCMP_CCR1_DMA_EN_MASK) 9723 #define LPCMP_CCR1_COUT_INV_MASK (0x8U) 9724 #define LPCMP_CCR1_COUT_INV_SHIFT (3U) 9725 /*! COUT_INV - Comparator invert 9726 * 0b0..Does not invert the comparator output. 9727 * 0b1..Inverts the comparator output. 9728 */ 9729 #define LPCMP_CCR1_COUT_INV(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_COUT_INV_SHIFT)) & LPCMP_CCR1_COUT_INV_MASK) 9730 #define LPCMP_CCR1_COUT_SEL_MASK (0x10U) 9731 #define LPCMP_CCR1_COUT_SEL_SHIFT (4U) 9732 /*! COUT_SEL - Comparator Output Select 9733 * 0b0..Set CMPO to equal COUT (filtered comparator output). 9734 * 0b1..Set CMPO to equal COUTA (unfiltered comparator output). 9735 */ 9736 #define LPCMP_CCR1_COUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_COUT_SEL_SHIFT)) & LPCMP_CCR1_COUT_SEL_MASK) 9737 #define LPCMP_CCR1_COUT_PEN_MASK (0x20U) 9738 #define LPCMP_CCR1_COUT_PEN_SHIFT (5U) 9739 /*! COUT_PEN - Comparator Output Pin Enable 9740 * 0b0..When COUT_PEN is 0, the comparator output (after window/filter settings dependent on software configuration) is not available to a packaged pin. 9741 * 0b1..When COUT_PEN is 1, and if the software has configured the comparator to own a packaged pin, the comparator output is available in a packaged pin. 9742 */ 9743 #define LPCMP_CCR1_COUT_PEN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_COUT_PEN_SHIFT)) & LPCMP_CCR1_COUT_PEN_MASK) 9744 #define LPCMP_CCR1_FILT_CNT_MASK (0x70000U) 9745 #define LPCMP_CCR1_FILT_CNT_SHIFT (16U) 9746 /*! FILT_CNT - Filter Sample Count 9747 * 0b000..Filter is disabled. If SAMPLE_EN = 1, then COUT is a logic zero (this is not a legal state in , and is not recommended). If SAMPLE_EN = 0, COUT = COUTA. 9748 * 0b001..1 consecutive sample must agree (comparator output is simply sampled). 9749 * 0b010..2 consecutive samples must agree. 9750 * 0b011..3 consecutive samples must agree. 9751 * 0b100..4 consecutive samples must agree. 9752 * 0b101..5 consecutive samples must agree. 9753 * 0b110..6 consecutive samples must agree. 9754 * 0b111..7 consecutive samples must agree. 9755 */ 9756 #define LPCMP_CCR1_FILT_CNT(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_FILT_CNT_SHIFT)) & LPCMP_CCR1_FILT_CNT_MASK) 9757 #define LPCMP_CCR1_FILT_PER_MASK (0xFF000000U) 9758 #define LPCMP_CCR1_FILT_PER_SHIFT (24U) 9759 #define LPCMP_CCR1_FILT_PER(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_FILT_PER_SHIFT)) & LPCMP_CCR1_FILT_PER_MASK) 9760 /*! @} */ 9761 9762 /*! @name CCR2 - Comparator Control Register 2 */ 9763 /*! @{ */ 9764 #define LPCMP_CCR2_CMP_HPMD_MASK (0x1U) 9765 #define LPCMP_CCR2_CMP_HPMD_SHIFT (0U) 9766 /*! CMP_HPMD - CMP High Power Mode Select 9767 * 0b0..Low speed comparison mode is selected.(when CMP_NPMD is 0) 9768 * 0b1..High speed comparison mode is selected.(when CMP_NPMD is 0) 9769 */ 9770 #define LPCMP_CCR2_CMP_HPMD(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_CMP_HPMD_SHIFT)) & LPCMP_CCR2_CMP_HPMD_MASK) 9771 #define LPCMP_CCR2_CMP_NPMD_MASK (0x2U) 9772 #define LPCMP_CCR2_CMP_NPMD_SHIFT (1U) 9773 /*! CMP_NPMD - CMP Nano Power Mode Select 9774 * 0b0..Nano Power Comparator is not enabled (mode is determined by CMP_HPMD) 9775 * 0b1..Nano Power Comparator is enabled 9776 */ 9777 #define LPCMP_CCR2_CMP_NPMD(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_CMP_NPMD_SHIFT)) & LPCMP_CCR2_CMP_NPMD_MASK) 9778 #define LPCMP_CCR2_HYSTCTR_MASK (0x30U) 9779 #define LPCMP_CCR2_HYSTCTR_SHIFT (4U) 9780 /*! HYSTCTR - Comparator hard block hysteresis control. See chip data sheet to get the actual hystersis value with each level 9781 * 0b00..The hard block output has level 0 hysteresis internally. 9782 * 0b01..The hard block output has level 1 hysteresis internally. 9783 * 0b10..The hard block output has level 2 hysteresis internally. 9784 * 0b11..The hard block output has level 3 hysteresis internally. 9785 */ 9786 #define LPCMP_CCR2_HYSTCTR(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_HYSTCTR_SHIFT)) & LPCMP_CCR2_HYSTCTR_MASK) 9787 #define LPCMP_CCR2_PSEL_MASK (0x70000U) 9788 #define LPCMP_CCR2_PSEL_SHIFT (16U) 9789 /*! PSEL - Plus Input MUX Control 9790 * 0b000..Input 0 9791 * 0b001..Input 1 9792 * 0b010..Input 2 9793 * 0b011..Input 3 9794 * 0b100..Input 4 9795 * 0b101..Input 5 9796 * 0b110..Input 6 9797 * 0b111..Internal DAC output 9798 */ 9799 #define LPCMP_CCR2_PSEL(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_PSEL_SHIFT)) & LPCMP_CCR2_PSEL_MASK) 9800 #define LPCMP_CCR2_MSEL_MASK (0x700000U) 9801 #define LPCMP_CCR2_MSEL_SHIFT (20U) 9802 /*! MSEL - Minus Input MUX Control 9803 * 0b000..Input 0 9804 * 0b001..Input 1 9805 * 0b010..Input 2 9806 * 0b011..Input 3 9807 * 0b100..Input 4 9808 * 0b101..Input 5 9809 * 0b110..Input 6 9810 * 0b111..Internal DAC output 9811 */ 9812 #define LPCMP_CCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_MSEL_SHIFT)) & LPCMP_CCR2_MSEL_MASK) 9813 /*! @} */ 9814 9815 /*! @name DCR - DAC Control Register */ 9816 /*! @{ */ 9817 #define LPCMP_DCR_DAC_EN_MASK (0x1U) 9818 #define LPCMP_DCR_DAC_EN_SHIFT (0U) 9819 /*! DAC_EN - DAC Enable 9820 * 0b0..DAC is disabled. 9821 * 0b1..DAC is enabled. 9822 */ 9823 #define LPCMP_DCR_DAC_EN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_DCR_DAC_EN_SHIFT)) & LPCMP_DCR_DAC_EN_MASK) 9824 #define LPCMP_DCR_DAC_HPMD_MASK (0x2U) 9825 #define LPCMP_DCR_DAC_HPMD_SHIFT (1U) 9826 /*! DAC_HPMD - DAC High Power Mode Select 9827 * 0b0..DAC high power mode is not enabled. 9828 * 0b1..DAC high power mode is enabled. 9829 */ 9830 #define LPCMP_DCR_DAC_HPMD(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_DCR_DAC_HPMD_SHIFT)) & LPCMP_DCR_DAC_HPMD_MASK) 9831 #define LPCMP_DCR_VRSEL_MASK (0x100U) 9832 #define LPCMP_DCR_VRSEL_SHIFT (8U) 9833 /*! VRSEL - Supply Voltage Reference Source Select 9834 * 0b0..vrefh_int is selected as resistor ladder network supply reference Vin. 9835 * 0b1..vrefh_ext is selected as resistor ladder network supply reference Vin. 9836 */ 9837 #define LPCMP_DCR_VRSEL(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_DCR_VRSEL_SHIFT)) & LPCMP_DCR_VRSEL_MASK) 9838 #define LPCMP_DCR_DAC_DATA_MASK (0x3F0000U) 9839 #define LPCMP_DCR_DAC_DATA_SHIFT (16U) 9840 #define LPCMP_DCR_DAC_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_DCR_DAC_DATA_SHIFT)) & LPCMP_DCR_DAC_DATA_MASK) 9841 /*! @} */ 9842 9843 /*! @name IER - Interrupt Enable Register */ 9844 /*! @{ */ 9845 #define LPCMP_IER_CFR_IE_MASK (0x1U) 9846 #define LPCMP_IER_CFR_IE_SHIFT (0U) 9847 /*! CFR_IE - Comparator Flag Rising Interrupt Enable 9848 * 0b0..CFR interrupt is disabled. 9849 * 0b1..CFR interrupt is enabled. 9850 */ 9851 #define LPCMP_IER_CFR_IE(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_IER_CFR_IE_SHIFT)) & LPCMP_IER_CFR_IE_MASK) 9852 #define LPCMP_IER_CFF_IE_MASK (0x2U) 9853 #define LPCMP_IER_CFF_IE_SHIFT (1U) 9854 /*! CFF_IE - Comparator Flag Falling Interrupt Enable 9855 * 0b0..CFF interrupt is disabled. 9856 * 0b1..CFF interrupt is enabled. 9857 */ 9858 #define LPCMP_IER_CFF_IE(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_IER_CFF_IE_SHIFT)) & LPCMP_IER_CFF_IE_MASK) 9859 /*! @} */ 9860 9861 /*! @name CSR - Comparator Status Register */ 9862 /*! @{ */ 9863 #define LPCMP_CSR_CFR_MASK (0x1U) 9864 #define LPCMP_CSR_CFR_SHIFT (0U) 9865 /*! CFR - Analog Comparator Flag Rising 9866 * 0b0..A rising edge has not been detected on COUT. 9867 * 0b1..A rising edge on COUT has occurred. 9868 */ 9869 #define LPCMP_CSR_CFR(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CSR_CFR_SHIFT)) & LPCMP_CSR_CFR_MASK) 9870 #define LPCMP_CSR_CFF_MASK (0x2U) 9871 #define LPCMP_CSR_CFF_SHIFT (1U) 9872 /*! CFF - Analog Comparator Flag Falling 9873 * 0b0..A falling edge has not been detected on COUT. 9874 * 0b1..A falling edge on COUT has occurred. 9875 */ 9876 #define LPCMP_CSR_CFF(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CSR_CFF_SHIFT)) & LPCMP_CSR_CFF_MASK) 9877 #define LPCMP_CSR_COUT_MASK (0x100U) 9878 #define LPCMP_CSR_COUT_SHIFT (8U) 9879 #define LPCMP_CSR_COUT(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CSR_COUT_SHIFT)) & LPCMP_CSR_COUT_MASK) 9880 /*! @} */ 9881 9882 9883 /*! 9884 * @} 9885 */ /* end of group LPCMP_Register_Masks */ 9886 9887 9888 /* LPCMP - Peripheral instance base addresses */ 9889 /** Peripheral LPCMP0 base address */ 9890 #define LPCMP0_BASE (0x4004B000u) 9891 /** Peripheral LPCMP0 base pointer */ 9892 #define LPCMP0 ((LPCMP_Type *)LPCMP0_BASE) 9893 /** Peripheral LPCMP1 base address */ 9894 #define LPCMP1_BASE (0x41038000u) 9895 /** Peripheral LPCMP1 base pointer */ 9896 #define LPCMP1 ((LPCMP_Type *)LPCMP1_BASE) 9897 /** Array initializer of LPCMP peripheral base addresses */ 9898 #define LPCMP_BASE_ADDRS { LPCMP0_BASE, LPCMP1_BASE } 9899 /** Array initializer of LPCMP peripheral base pointers */ 9900 #define LPCMP_BASE_PTRS { LPCMP0, LPCMP1 } 9901 /** Interrupt vectors for the LPCMP peripheral type */ 9902 #define LPCMP_IRQS { LPCMP0_IRQn, LPCMP1_IRQn } 9903 9904 /*! 9905 * @} 9906 */ /* end of group LPCMP_Peripheral_Access_Layer */ 9907 9908 9909 /* ---------------------------------------------------------------------------- 9910 -- LPDAC Peripheral Access Layer 9911 ---------------------------------------------------------------------------- */ 9912 9913 /*! 9914 * @addtogroup LPDAC_Peripheral_Access_Layer LPDAC Peripheral Access Layer 9915 * @{ 9916 */ 9917 9918 /** LPDAC - Register Layout Typedef */ 9919 typedef struct { 9920 __I uint32_t VERID; /**< Version Identifier Register, offset: 0x0 */ 9921 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 9922 __O uint32_t DATA; /**< DAC Data Register, offset: 0x8 */ 9923 __IO uint32_t GCR; /**< DAC Global Control Register, offset: 0xC */ 9924 __IO uint32_t FCR; /**< DAC FIFO Control Register, offset: 0x10 */ 9925 __I uint32_t FPR; /**< DAC FIFO Pointer Register, offset: 0x14 */ 9926 __IO uint32_t FSR; /**< FIFO Status Register, offset: 0x18 */ 9927 __IO uint32_t IER; /**< DAC Interrupt Enable Register, offset: 0x1C */ 9928 __IO uint32_t DER; /**< DAC DMA Enable Register, offset: 0x20 */ 9929 __IO uint32_t RCR; /**< DAC Reset Control Register, offset: 0x24 */ 9930 __O uint32_t TCR; /**< DAC Trigger Control Register, offset: 0x28 */ 9931 } LPDAC_Type; 9932 9933 /* ---------------------------------------------------------------------------- 9934 -- LPDAC Register Masks 9935 ---------------------------------------------------------------------------- */ 9936 9937 /*! 9938 * @addtogroup LPDAC_Register_Masks LPDAC Register Masks 9939 * @{ 9940 */ 9941 9942 /*! @name VERID - Version Identifier Register */ 9943 /*! @{ */ 9944 #define LPDAC_VERID_FEATURE_MASK (0xFFFFU) 9945 #define LPDAC_VERID_FEATURE_SHIFT (0U) 9946 #define LPDAC_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_VERID_FEATURE_SHIFT)) & LPDAC_VERID_FEATURE_MASK) 9947 #define LPDAC_VERID_MINOR_MASK (0xFF0000U) 9948 #define LPDAC_VERID_MINOR_SHIFT (16U) 9949 #define LPDAC_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_VERID_MINOR_SHIFT)) & LPDAC_VERID_MINOR_MASK) 9950 #define LPDAC_VERID_MAJOR_MASK (0xFF000000U) 9951 #define LPDAC_VERID_MAJOR_SHIFT (24U) 9952 #define LPDAC_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_VERID_MAJOR_SHIFT)) & LPDAC_VERID_MAJOR_MASK) 9953 /*! @} */ 9954 9955 /*! @name PARAM - Parameter Register */ 9956 /*! @{ */ 9957 #define LPDAC_PARAM_FIFOSZ_MASK (0x7U) 9958 #define LPDAC_PARAM_FIFOSZ_SHIFT (0U) 9959 /*! FIFOSZ - FIFO size 9960 * 0b000..Reserved 9961 * 0b001..FIFO depth is 4 9962 * 0b010..FIFO depth is 8 9963 * 0b011..FIFO depth is 16 9964 * 0b100..FIFO depth is 32 9965 * 0b101..FIFO depth is 64 9966 * 0b110..FIFO depth is 128 9967 * 0b111..FIFO depth is 256 9968 */ 9969 #define LPDAC_PARAM_FIFOSZ(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_PARAM_FIFOSZ_SHIFT)) & LPDAC_PARAM_FIFOSZ_MASK) 9970 /*! @} */ 9971 9972 /*! @name DATA - DAC Data Register */ 9973 /*! @{ */ 9974 #define LPDAC_DATA_DATA_MASK (0xFFFU) 9975 #define LPDAC_DATA_DATA_SHIFT (0U) 9976 #define LPDAC_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_DATA_DATA_SHIFT)) & LPDAC_DATA_DATA_MASK) 9977 /*! @} */ 9978 9979 /*! @name GCR - DAC Global Control Register */ 9980 /*! @{ */ 9981 #define LPDAC_GCR_DACEN_MASK (0x1U) 9982 #define LPDAC_GCR_DACEN_SHIFT (0U) 9983 /*! DACEN - DAC Enable 9984 * 0b0..The DAC system is disabled. 9985 * 0b1..The DAC system is enabled. 9986 */ 9987 #define LPDAC_GCR_DACEN(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_GCR_DACEN_SHIFT)) & LPDAC_GCR_DACEN_MASK) 9988 #define LPDAC_GCR_DACRFS_MASK (0x2U) 9989 #define LPDAC_GCR_DACRFS_SHIFT (1U) 9990 /*! DACRFS - DAC Reference Select 9991 * 0b0..The DAC selects VREFH_INT as the reference voltage. 9992 * 0b1..The DAC selects VREFH_EXT as the reference voltage. 9993 */ 9994 #define LPDAC_GCR_DACRFS(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_GCR_DACRFS_SHIFT)) & LPDAC_GCR_DACRFS_MASK) 9995 #define LPDAC_GCR_LPEN_MASK (0x4U) 9996 #define LPDAC_GCR_LPEN_SHIFT (2U) 9997 /*! LPEN - Low Power Enable 9998 * 0b0..High-Power mode 9999 * 0b1..Low-Power mode 10000 */ 10001 #define LPDAC_GCR_LPEN(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_GCR_LPEN_SHIFT)) & LPDAC_GCR_LPEN_MASK) 10002 #define LPDAC_GCR_FIFOEN_MASK (0x8U) 10003 #define LPDAC_GCR_FIFOEN_SHIFT (3U) 10004 /*! FIFOEN - FIFO Enable 10005 * 0b0..FIFO mode is disabled and buffer mode is enabled. Any data written to DATA[DATA] goes to buffer then goes to conversion. 10006 * 0b1..FIFO mode is enabled. Data will be first read from FIFO to buffer then goes to conversion 10007 */ 10008 #define LPDAC_GCR_FIFOEN(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_GCR_FIFOEN_SHIFT)) & LPDAC_GCR_FIFOEN_MASK) 10009 #define LPDAC_GCR_SWMD_MASK (0x10U) 10010 #define LPDAC_GCR_SWMD_SHIFT (4U) 10011 /*! SWMD - Swing Back Mode 10012 * 0b0..Swing back mode disable 10013 * 0b1..Swing back mode enable 10014 */ 10015 #define LPDAC_GCR_SWMD(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_GCR_SWMD_SHIFT)) & LPDAC_GCR_SWMD_MASK) 10016 #define LPDAC_GCR_TRGSEL_MASK (0x20U) 10017 #define LPDAC_GCR_TRGSEL_SHIFT (5U) 10018 /*! TRGSEL - DAC Trigger Select 10019 * 0b0..The DAC hardware trigger is selected. 10020 * 0b1..The DAC software trigger is selected. 10021 */ 10022 #define LPDAC_GCR_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_GCR_TRGSEL_SHIFT)) & LPDAC_GCR_TRGSEL_MASK) 10023 /*! @} */ 10024 10025 /*! @name FCR - DAC FIFO Control Register */ 10026 /*! @{ */ 10027 #define LPDAC_FCR_WML_MASK (0xFU) 10028 #define LPDAC_FCR_WML_SHIFT (0U) 10029 #define LPDAC_FCR_WML(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FCR_WML_SHIFT)) & LPDAC_FCR_WML_MASK) 10030 /*! @} */ 10031 10032 /*! @name FPR - DAC FIFO Pointer Register */ 10033 /*! @{ */ 10034 #define LPDAC_FPR_FIFO_RPT_MASK (0xFU) 10035 #define LPDAC_FPR_FIFO_RPT_SHIFT (0U) 10036 #define LPDAC_FPR_FIFO_RPT(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FPR_FIFO_RPT_SHIFT)) & LPDAC_FPR_FIFO_RPT_MASK) 10037 #define LPDAC_FPR_FIFO_WPT_MASK (0xF0000U) 10038 #define LPDAC_FPR_FIFO_WPT_SHIFT (16U) 10039 #define LPDAC_FPR_FIFO_WPT(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FPR_FIFO_WPT_SHIFT)) & LPDAC_FPR_FIFO_WPT_MASK) 10040 /*! @} */ 10041 10042 /*! @name FSR - FIFO Status Register */ 10043 /*! @{ */ 10044 #define LPDAC_FSR_FULL_MASK (0x1U) 10045 #define LPDAC_FSR_FULL_SHIFT (0U) 10046 /*! FULL - FIFO Full Flag 10047 * 0b0..FIFO is not full 10048 * 0b1..FIFO is full 10049 */ 10050 #define LPDAC_FSR_FULL(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FSR_FULL_SHIFT)) & LPDAC_FSR_FULL_MASK) 10051 #define LPDAC_FSR_EMPTY_MASK (0x2U) 10052 #define LPDAC_FSR_EMPTY_SHIFT (1U) 10053 /*! EMPTY - FIFO Empty Flag 10054 * 0b0..FIFO is not empty 10055 * 0b1..FIFO is empty 10056 */ 10057 #define LPDAC_FSR_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FSR_EMPTY_SHIFT)) & LPDAC_FSR_EMPTY_MASK) 10058 #define LPDAC_FSR_WM_MASK (0x4U) 10059 #define LPDAC_FSR_WM_SHIFT (2U) 10060 /*! WM - FIFO Watermark Status Flag 10061 * 0b0..Data in FIFO is more than watermark level 10062 * 0b1..Data in FIFO is less than or equal to watermark level 10063 */ 10064 #define LPDAC_FSR_WM(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FSR_WM_SHIFT)) & LPDAC_FSR_WM_MASK) 10065 #define LPDAC_FSR_SWBK_MASK (0x8U) 10066 #define LPDAC_FSR_SWBK_SHIFT (3U) 10067 /*! SWBK - Swing Back One Cycle Complete Flag 10068 * 0b0..No swing back cycle has completed since the last time the flag was cleared. 10069 * 0b1..At least one swing back cycle has occurred since the last time the flag was cleared. 10070 */ 10071 #define LPDAC_FSR_SWBK(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FSR_SWBK_SHIFT)) & LPDAC_FSR_SWBK_MASK) 10072 #define LPDAC_FSR_OF_MASK (0x40U) 10073 #define LPDAC_FSR_OF_SHIFT (6U) 10074 /*! OF - FIFO Overflow Flag 10075 * 0b0..No overflow has occurred since the last time the flag was cleared. 10076 * 0b1..At least one FIFO overflow has occurred since the last time the flag was cleared. 10077 */ 10078 #define LPDAC_FSR_OF(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FSR_OF_SHIFT)) & LPDAC_FSR_OF_MASK) 10079 #define LPDAC_FSR_UF_MASK (0x80U) 10080 #define LPDAC_FSR_UF_SHIFT (7U) 10081 /*! UF - FIFO Underflow Flag 10082 * 0b0..No underflow has occurred since the last time the flag was cleared. 10083 * 0b1..At least one trigger underflow has occurred since the last time the flag was cleared. 10084 */ 10085 #define LPDAC_FSR_UF(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FSR_UF_SHIFT)) & LPDAC_FSR_UF_MASK) 10086 /*! @} */ 10087 10088 /*! @name IER - DAC Interrupt Enable Register */ 10089 /*! @{ */ 10090 #define LPDAC_IER_FULL_IE_MASK (0x1U) 10091 #define LPDAC_IER_FULL_IE_SHIFT (0U) 10092 /*! FULL_IE - FIFO Full Interrupt Enable 10093 * 0b0..FIFO Full interrupt is disabled. 10094 * 0b1..FIFO Full interrupt is enabled. 10095 */ 10096 #define LPDAC_IER_FULL_IE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_IER_FULL_IE_SHIFT)) & LPDAC_IER_FULL_IE_MASK) 10097 #define LPDAC_IER_EMPTY_IE_MASK (0x2U) 10098 #define LPDAC_IER_EMPTY_IE_SHIFT (1U) 10099 /*! EMPTY_IE - FIFO Empty Interrupt Enable 10100 * 0b0..FIFO Empty interrupt is disabled. 10101 * 0b1..FIFO Empty interrupt is enabled. 10102 */ 10103 #define LPDAC_IER_EMPTY_IE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_IER_EMPTY_IE_SHIFT)) & LPDAC_IER_EMPTY_IE_MASK) 10104 #define LPDAC_IER_WM_IE_MASK (0x4U) 10105 #define LPDAC_IER_WM_IE_SHIFT (2U) 10106 /*! WM_IE - FIFO Watermark Interrupt Enable 10107 * 0b0..Watermark interrupt is disabled. 10108 * 0b1..Watermark interrupt is enabled. 10109 */ 10110 #define LPDAC_IER_WM_IE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_IER_WM_IE_SHIFT)) & LPDAC_IER_WM_IE_MASK) 10111 #define LPDAC_IER_SWBK_IE_MASK (0x8U) 10112 #define LPDAC_IER_SWBK_IE_SHIFT (3U) 10113 /*! SWBK_IE - Swing back One Cycle Complete Interrupt Enable 10114 * 0b0..Swing back one time complete interrupt is disabled. 10115 * 0b1..Swing back one time complete interrupt is enabled. 10116 */ 10117 #define LPDAC_IER_SWBK_IE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_IER_SWBK_IE_SHIFT)) & LPDAC_IER_SWBK_IE_MASK) 10118 #define LPDAC_IER_OF_IE_MASK (0x40U) 10119 #define LPDAC_IER_OF_IE_SHIFT (6U) 10120 /*! OF_IE - FIFO Overflow Interrupt Enable 10121 * 0b0..Overflow interrupt is disabled 10122 * 0b1..Overflow interrupt is enabled. 10123 */ 10124 #define LPDAC_IER_OF_IE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_IER_OF_IE_SHIFT)) & LPDAC_IER_OF_IE_MASK) 10125 #define LPDAC_IER_UF_IE_MASK (0x80U) 10126 #define LPDAC_IER_UF_IE_SHIFT (7U) 10127 /*! UF_IE - FIFO Underflow Interrupt Enable 10128 * 0b0..Underflow interrupt is disabled. 10129 * 0b1..Underflow interrupt is enabled. 10130 */ 10131 #define LPDAC_IER_UF_IE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_IER_UF_IE_SHIFT)) & LPDAC_IER_UF_IE_MASK) 10132 /*! @} */ 10133 10134 /*! @name DER - DAC DMA Enable Register */ 10135 /*! @{ */ 10136 #define LPDAC_DER_EMPTY_DMAEN_MASK (0x2U) 10137 #define LPDAC_DER_EMPTY_DMAEN_SHIFT (1U) 10138 /*! EMPTY_DMAEN - FIFO Empty DMA Enable 10139 * 0b0..FIFO Empty DMA request is disabled. 10140 * 0b1..FIFO Empty DMA request is enabled. 10141 */ 10142 #define LPDAC_DER_EMPTY_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_DER_EMPTY_DMAEN_SHIFT)) & LPDAC_DER_EMPTY_DMAEN_MASK) 10143 #define LPDAC_DER_WM_DMAEN_MASK (0x4U) 10144 #define LPDAC_DER_WM_DMAEN_SHIFT (2U) 10145 /*! WM_DMAEN - FIFO Watermark DMA Enable 10146 * 0b0..Watermark DMA request is disabled. 10147 * 0b1..Watermark DMA request is enabled. 10148 */ 10149 #define LPDAC_DER_WM_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_DER_WM_DMAEN_SHIFT)) & LPDAC_DER_WM_DMAEN_MASK) 10150 /*! @} */ 10151 10152 /*! @name RCR - DAC Reset Control Register */ 10153 /*! @{ */ 10154 #define LPDAC_RCR_SWRST_MASK (0x1U) 10155 #define LPDAC_RCR_SWRST_SHIFT (0U) 10156 /*! SWRST - Software Reset 10157 * 0b0..No effect 10158 * 0b1..Software reset 10159 */ 10160 #define LPDAC_RCR_SWRST(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_RCR_SWRST_SHIFT)) & LPDAC_RCR_SWRST_MASK) 10161 #define LPDAC_RCR_FIFORST_MASK (0x2U) 10162 #define LPDAC_RCR_FIFORST_SHIFT (1U) 10163 /*! FIFORST - FIFO Reset 10164 * 0b0..No effect 10165 * 0b1..FIFO reset 10166 */ 10167 #define LPDAC_RCR_FIFORST(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_RCR_FIFORST_SHIFT)) & LPDAC_RCR_FIFORST_MASK) 10168 /*! @} */ 10169 10170 /*! @name TCR - DAC Trigger Control Register */ 10171 /*! @{ */ 10172 #define LPDAC_TCR_SWTRG_MASK (0x1U) 10173 #define LPDAC_TCR_SWTRG_SHIFT (0U) 10174 /*! SWTRG - Software Trigger 10175 * 0b0..The DAC soft trigger is not valid. 10176 * 0b1..The DAC soft trigger is valid. 10177 */ 10178 #define LPDAC_TCR_SWTRG(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_TCR_SWTRG_SHIFT)) & LPDAC_TCR_SWTRG_MASK) 10179 /*! @} */ 10180 10181 10182 /*! 10183 * @} 10184 */ /* end of group LPDAC_Register_Masks */ 10185 10186 10187 /* LPDAC - Peripheral instance base addresses */ 10188 /** Peripheral LPDAC0 base address */ 10189 #define LPDAC0_BASE (0x4004C000u) 10190 /** Peripheral LPDAC0 base pointer */ 10191 #define LPDAC0 ((LPDAC_Type *)LPDAC0_BASE) 10192 /** Array initializer of LPDAC peripheral base addresses */ 10193 #define LPDAC_BASE_ADDRS { LPDAC0_BASE } 10194 /** Array initializer of LPDAC peripheral base pointers */ 10195 #define LPDAC_BASE_PTRS { LPDAC0 } 10196 /** Interrupt vectors for the LPDAC peripheral type */ 10197 #define LPDAC_IRQS { LPDAC0_IRQn } 10198 10199 /*! 10200 * @} 10201 */ /* end of group LPDAC_Peripheral_Access_Layer */ 10202 10203 10204 /* ---------------------------------------------------------------------------- 10205 -- LPI2C Peripheral Access Layer 10206 ---------------------------------------------------------------------------- */ 10207 10208 /*! 10209 * @addtogroup LPI2C_Peripheral_Access_Layer LPI2C Peripheral Access Layer 10210 * @{ 10211 */ 10212 10213 /** LPI2C - Register Layout Typedef */ 10214 typedef struct { 10215 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 10216 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 10217 uint8_t RESERVED_0[8]; 10218 __IO uint32_t MCR; /**< Master Control Register, offset: 0x10 */ 10219 __IO uint32_t MSR; /**< Master Status Register, offset: 0x14 */ 10220 __IO uint32_t MIER; /**< Master Interrupt Enable Register, offset: 0x18 */ 10221 __IO uint32_t MDER; /**< Master DMA Enable Register, offset: 0x1C */ 10222 __IO uint32_t MCFGR0; /**< Master Configuration Register 0, offset: 0x20 */ 10223 __IO uint32_t MCFGR1; /**< Master Configuration Register 1, offset: 0x24 */ 10224 __IO uint32_t MCFGR2; /**< Master Configuration Register 2, offset: 0x28 */ 10225 __IO uint32_t MCFGR3; /**< Master Configuration Register 3, offset: 0x2C */ 10226 uint8_t RESERVED_1[16]; 10227 __IO uint32_t MDMR; /**< Master Data Match Register, offset: 0x40 */ 10228 uint8_t RESERVED_2[4]; 10229 __IO uint32_t MCCR0; /**< Master Clock Configuration Register 0, offset: 0x48 */ 10230 uint8_t RESERVED_3[4]; 10231 __IO uint32_t MCCR1; /**< Master Clock Configuration Register 1, offset: 0x50 */ 10232 uint8_t RESERVED_4[4]; 10233 __IO uint32_t MFCR; /**< Master FIFO Control Register, offset: 0x58 */ 10234 __I uint32_t MFSR; /**< Master FIFO Status Register, offset: 0x5C */ 10235 __O uint32_t MTDR; /**< Master Transmit Data Register, offset: 0x60 */ 10236 uint8_t RESERVED_5[12]; 10237 __I uint32_t MRDR; /**< Master Receive Data Register, offset: 0x70 */ 10238 uint8_t RESERVED_6[156]; 10239 __IO uint32_t SCR; /**< Slave Control Register, offset: 0x110 */ 10240 __IO uint32_t SSR; /**< Slave Status Register, offset: 0x114 */ 10241 __IO uint32_t SIER; /**< Slave Interrupt Enable Register, offset: 0x118 */ 10242 __IO uint32_t SDER; /**< Slave DMA Enable Register, offset: 0x11C */ 10243 uint8_t RESERVED_7[4]; 10244 __IO uint32_t SCFGR1; /**< Slave Configuration Register 1, offset: 0x124 */ 10245 __IO uint32_t SCFGR2; /**< Slave Configuration Register 2, offset: 0x128 */ 10246 uint8_t RESERVED_8[20]; 10247 __IO uint32_t SAMR; /**< Slave Address Match Register, offset: 0x140 */ 10248 uint8_t RESERVED_9[12]; 10249 __I uint32_t SASR; /**< Slave Address Status Register, offset: 0x150 */ 10250 __IO uint32_t STAR; /**< Slave Transmit ACK Register, offset: 0x154 */ 10251 uint8_t RESERVED_10[8]; 10252 __O uint32_t STDR; /**< Slave Transmit Data Register, offset: 0x160 */ 10253 uint8_t RESERVED_11[12]; 10254 __I uint32_t SRDR; /**< Slave Receive Data Register, offset: 0x170 */ 10255 } LPI2C_Type; 10256 10257 /* ---------------------------------------------------------------------------- 10258 -- LPI2C Register Masks 10259 ---------------------------------------------------------------------------- */ 10260 10261 /*! 10262 * @addtogroup LPI2C_Register_Masks LPI2C Register Masks 10263 * @{ 10264 */ 10265 10266 /*! @name VERID - Version ID Register */ 10267 /*! @{ */ 10268 #define LPI2C_VERID_FEATURE_MASK (0xFFFFU) 10269 #define LPI2C_VERID_FEATURE_SHIFT (0U) 10270 /*! FEATURE - Feature Specification Number 10271 * 0b0000000000000010..Master only, with standard feature set 10272 * 0b0000000000000011..Master and slave, with standard feature set 10273 */ 10274 #define LPI2C_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_FEATURE_SHIFT)) & LPI2C_VERID_FEATURE_MASK) 10275 #define LPI2C_VERID_MINOR_MASK (0xFF0000U) 10276 #define LPI2C_VERID_MINOR_SHIFT (16U) 10277 #define LPI2C_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MINOR_SHIFT)) & LPI2C_VERID_MINOR_MASK) 10278 #define LPI2C_VERID_MAJOR_MASK (0xFF000000U) 10279 #define LPI2C_VERID_MAJOR_SHIFT (24U) 10280 #define LPI2C_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MAJOR_SHIFT)) & LPI2C_VERID_MAJOR_MASK) 10281 /*! @} */ 10282 10283 /*! @name PARAM - Parameter Register */ 10284 /*! @{ */ 10285 #define LPI2C_PARAM_MTXFIFO_MASK (0xFU) 10286 #define LPI2C_PARAM_MTXFIFO_SHIFT (0U) 10287 #define LPI2C_PARAM_MTXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MTXFIFO_SHIFT)) & LPI2C_PARAM_MTXFIFO_MASK) 10288 #define LPI2C_PARAM_MRXFIFO_MASK (0xF00U) 10289 #define LPI2C_PARAM_MRXFIFO_SHIFT (8U) 10290 #define LPI2C_PARAM_MRXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MRXFIFO_SHIFT)) & LPI2C_PARAM_MRXFIFO_MASK) 10291 /*! @} */ 10292 10293 /*! @name MCR - Master Control Register */ 10294 /*! @{ */ 10295 #define LPI2C_MCR_MEN_MASK (0x1U) 10296 #define LPI2C_MCR_MEN_SHIFT (0U) 10297 /*! MEN - Master Enable 10298 * 0b0..Master logic is disabled 10299 * 0b1..Master logic is enabled 10300 */ 10301 #define LPI2C_MCR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_MEN_SHIFT)) & LPI2C_MCR_MEN_MASK) 10302 #define LPI2C_MCR_RST_MASK (0x2U) 10303 #define LPI2C_MCR_RST_SHIFT (1U) 10304 /*! RST - Software Reset 10305 * 0b0..Master logic is not reset 10306 * 0b1..Master logic is reset 10307 */ 10308 #define LPI2C_MCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RST_SHIFT)) & LPI2C_MCR_RST_MASK) 10309 #define LPI2C_MCR_DOZEN_MASK (0x4U) 10310 #define LPI2C_MCR_DOZEN_SHIFT (2U) 10311 /*! DOZEN - Doze mode enable 10312 * 0b0..Master is enabled in Doze mode 10313 * 0b1..Master is disabled in Doze mode 10314 */ 10315 #define LPI2C_MCR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DOZEN_SHIFT)) & LPI2C_MCR_DOZEN_MASK) 10316 #define LPI2C_MCR_DBGEN_MASK (0x8U) 10317 #define LPI2C_MCR_DBGEN_SHIFT (3U) 10318 /*! DBGEN - Debug Enable 10319 * 0b0..Master is disabled in debug mode 10320 * 0b1..Master is enabled in debug mode 10321 */ 10322 #define LPI2C_MCR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DBGEN_SHIFT)) & LPI2C_MCR_DBGEN_MASK) 10323 #define LPI2C_MCR_RTF_MASK (0x100U) 10324 #define LPI2C_MCR_RTF_SHIFT (8U) 10325 /*! RTF - Reset Transmit FIFO 10326 * 0b0..No effect 10327 * 0b1..Transmit FIFO is reset 10328 */ 10329 #define LPI2C_MCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RTF_SHIFT)) & LPI2C_MCR_RTF_MASK) 10330 #define LPI2C_MCR_RRF_MASK (0x200U) 10331 #define LPI2C_MCR_RRF_SHIFT (9U) 10332 /*! RRF - Reset Receive FIFO 10333 * 0b0..No effect 10334 * 0b1..Receive FIFO is reset 10335 */ 10336 #define LPI2C_MCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RRF_SHIFT)) & LPI2C_MCR_RRF_MASK) 10337 /*! @} */ 10338 10339 /*! @name MSR - Master Status Register */ 10340 /*! @{ */ 10341 #define LPI2C_MSR_TDF_MASK (0x1U) 10342 #define LPI2C_MSR_TDF_SHIFT (0U) 10343 /*! TDF - Transmit Data Flag 10344 * 0b0..Transmit data is not requested 10345 * 0b1..Transmit data is requested 10346 */ 10347 #define LPI2C_MSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_TDF_SHIFT)) & LPI2C_MSR_TDF_MASK) 10348 #define LPI2C_MSR_RDF_MASK (0x2U) 10349 #define LPI2C_MSR_RDF_SHIFT (1U) 10350 /*! RDF - Receive Data Flag 10351 * 0b0..Receive Data is not ready 10352 * 0b1..Receive data is ready 10353 */ 10354 #define LPI2C_MSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_RDF_SHIFT)) & LPI2C_MSR_RDF_MASK) 10355 #define LPI2C_MSR_EPF_MASK (0x100U) 10356 #define LPI2C_MSR_EPF_SHIFT (8U) 10357 /*! EPF - End Packet Flag 10358 * 0b0..Master has not generated a STOP or Repeated START condition 10359 * 0b1..Master has generated a STOP or Repeated START condition 10360 */ 10361 #define LPI2C_MSR_EPF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_EPF_SHIFT)) & LPI2C_MSR_EPF_MASK) 10362 #define LPI2C_MSR_SDF_MASK (0x200U) 10363 #define LPI2C_MSR_SDF_SHIFT (9U) 10364 /*! SDF - STOP Detect Flag 10365 * 0b0..Master has not generated a STOP condition 10366 * 0b1..Master has generated a STOP condition 10367 */ 10368 #define LPI2C_MSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_SDF_SHIFT)) & LPI2C_MSR_SDF_MASK) 10369 #define LPI2C_MSR_NDF_MASK (0x400U) 10370 #define LPI2C_MSR_NDF_SHIFT (10U) 10371 /*! NDF - NACK Detect Flag 10372 * 0b0..Unexpected NACK was not detected 10373 * 0b1..Unexpected NACK was detected 10374 */ 10375 #define LPI2C_MSR_NDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_NDF_SHIFT)) & LPI2C_MSR_NDF_MASK) 10376 #define LPI2C_MSR_ALF_MASK (0x800U) 10377 #define LPI2C_MSR_ALF_SHIFT (11U) 10378 /*! ALF - Arbitration Lost Flag 10379 * 0b0..Master has not lost arbitration 10380 * 0b1..Master has lost arbitration 10381 */ 10382 #define LPI2C_MSR_ALF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_ALF_SHIFT)) & LPI2C_MSR_ALF_MASK) 10383 #define LPI2C_MSR_FEF_MASK (0x1000U) 10384 #define LPI2C_MSR_FEF_SHIFT (12U) 10385 /*! FEF - FIFO Error Flag 10386 * 0b0..No error 10387 * 0b1..Master sending or receiving data without a START condition 10388 */ 10389 #define LPI2C_MSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_FEF_SHIFT)) & LPI2C_MSR_FEF_MASK) 10390 #define LPI2C_MSR_PLTF_MASK (0x2000U) 10391 #define LPI2C_MSR_PLTF_SHIFT (13U) 10392 /*! PLTF - Pin Low Timeout Flag 10393 * 0b0..Pin low timeout has not occurred or is disabled 10394 * 0b1..Pin low timeout has occurred 10395 */ 10396 #define LPI2C_MSR_PLTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_PLTF_SHIFT)) & LPI2C_MSR_PLTF_MASK) 10397 #define LPI2C_MSR_DMF_MASK (0x4000U) 10398 #define LPI2C_MSR_DMF_SHIFT (14U) 10399 /*! DMF - Data Match Flag 10400 * 0b0..Have not received matching data 10401 * 0b1..Have received matching data 10402 */ 10403 #define LPI2C_MSR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_DMF_SHIFT)) & LPI2C_MSR_DMF_MASK) 10404 #define LPI2C_MSR_MBF_MASK (0x1000000U) 10405 #define LPI2C_MSR_MBF_SHIFT (24U) 10406 /*! MBF - Master Busy Flag 10407 * 0b0..I2C Master is idle 10408 * 0b1..I2C Master is busy 10409 */ 10410 #define LPI2C_MSR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_MBF_SHIFT)) & LPI2C_MSR_MBF_MASK) 10411 #define LPI2C_MSR_BBF_MASK (0x2000000U) 10412 #define LPI2C_MSR_BBF_SHIFT (25U) 10413 /*! BBF - Bus Busy Flag 10414 * 0b0..I2C Bus is idle 10415 * 0b1..I2C Bus is busy 10416 */ 10417 #define LPI2C_MSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_BBF_SHIFT)) & LPI2C_MSR_BBF_MASK) 10418 /*! @} */ 10419 10420 /*! @name MIER - Master Interrupt Enable Register */ 10421 /*! @{ */ 10422 #define LPI2C_MIER_TDIE_MASK (0x1U) 10423 #define LPI2C_MIER_TDIE_SHIFT (0U) 10424 /*! TDIE - Transmit Data Interrupt Enable 10425 * 0b0..Disabled 10426 * 0b1..Enabled 10427 */ 10428 #define LPI2C_MIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_TDIE_SHIFT)) & LPI2C_MIER_TDIE_MASK) 10429 #define LPI2C_MIER_RDIE_MASK (0x2U) 10430 #define LPI2C_MIER_RDIE_SHIFT (1U) 10431 /*! RDIE - Receive Data Interrupt Enable 10432 * 0b0..Disabled 10433 * 0b1..Enabled 10434 */ 10435 #define LPI2C_MIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_RDIE_SHIFT)) & LPI2C_MIER_RDIE_MASK) 10436 #define LPI2C_MIER_EPIE_MASK (0x100U) 10437 #define LPI2C_MIER_EPIE_SHIFT (8U) 10438 /*! EPIE - End Packet Interrupt Enable 10439 * 0b0..Disabled 10440 * 0b1..Enabled 10441 */ 10442 #define LPI2C_MIER_EPIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_EPIE_SHIFT)) & LPI2C_MIER_EPIE_MASK) 10443 #define LPI2C_MIER_SDIE_MASK (0x200U) 10444 #define LPI2C_MIER_SDIE_SHIFT (9U) 10445 /*! SDIE - STOP Detect Interrupt Enable 10446 * 0b0..Disabled 10447 * 0b1..Enabled 10448 */ 10449 #define LPI2C_MIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_SDIE_SHIFT)) & LPI2C_MIER_SDIE_MASK) 10450 #define LPI2C_MIER_NDIE_MASK (0x400U) 10451 #define LPI2C_MIER_NDIE_SHIFT (10U) 10452 /*! NDIE - NACK Detect Interrupt Enable 10453 * 0b0..Disabled 10454 * 0b1..Enabled 10455 */ 10456 #define LPI2C_MIER_NDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_NDIE_SHIFT)) & LPI2C_MIER_NDIE_MASK) 10457 #define LPI2C_MIER_ALIE_MASK (0x800U) 10458 #define LPI2C_MIER_ALIE_SHIFT (11U) 10459 /*! ALIE - Arbitration Lost Interrupt Enable 10460 * 0b0..Disabled 10461 * 0b1..Enabled 10462 */ 10463 #define LPI2C_MIER_ALIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_ALIE_SHIFT)) & LPI2C_MIER_ALIE_MASK) 10464 #define LPI2C_MIER_FEIE_MASK (0x1000U) 10465 #define LPI2C_MIER_FEIE_SHIFT (12U) 10466 /*! FEIE - FIFO Error Interrupt Enable 10467 * 0b0..Enabled 10468 * 0b1..Disabled 10469 */ 10470 #define LPI2C_MIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_FEIE_SHIFT)) & LPI2C_MIER_FEIE_MASK) 10471 #define LPI2C_MIER_PLTIE_MASK (0x2000U) 10472 #define LPI2C_MIER_PLTIE_SHIFT (13U) 10473 /*! PLTIE - Pin Low Timeout Interrupt Enable 10474 * 0b0..Disabled 10475 * 0b1..Enabled 10476 */ 10477 #define LPI2C_MIER_PLTIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_PLTIE_SHIFT)) & LPI2C_MIER_PLTIE_MASK) 10478 #define LPI2C_MIER_DMIE_MASK (0x4000U) 10479 #define LPI2C_MIER_DMIE_SHIFT (14U) 10480 /*! DMIE - Data Match Interrupt Enable 10481 * 0b0..Disabled 10482 * 0b1..Enabled 10483 */ 10484 #define LPI2C_MIER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_DMIE_SHIFT)) & LPI2C_MIER_DMIE_MASK) 10485 /*! @} */ 10486 10487 /*! @name MDER - Master DMA Enable Register */ 10488 /*! @{ */ 10489 #define LPI2C_MDER_TDDE_MASK (0x1U) 10490 #define LPI2C_MDER_TDDE_SHIFT (0U) 10491 /*! TDDE - Transmit Data DMA Enable 10492 * 0b0..DMA request is disabled 10493 * 0b1..DMA request is enabled 10494 */ 10495 #define LPI2C_MDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_TDDE_SHIFT)) & LPI2C_MDER_TDDE_MASK) 10496 #define LPI2C_MDER_RDDE_MASK (0x2U) 10497 #define LPI2C_MDER_RDDE_SHIFT (1U) 10498 /*! RDDE - Receive Data DMA Enable 10499 * 0b0..DMA request is disabled 10500 * 0b1..DMA request is enabled 10501 */ 10502 #define LPI2C_MDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_RDDE_SHIFT)) & LPI2C_MDER_RDDE_MASK) 10503 /*! @} */ 10504 10505 /*! @name MCFGR0 - Master Configuration Register 0 */ 10506 /*! @{ */ 10507 #define LPI2C_MCFGR0_HREN_MASK (0x1U) 10508 #define LPI2C_MCFGR0_HREN_SHIFT (0U) 10509 /*! HREN - Host Request Enable 10510 * 0b0..Host request input is disabled 10511 * 0b1..Host request input is enabled 10512 */ 10513 #define LPI2C_MCFGR0_HREN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HREN_SHIFT)) & LPI2C_MCFGR0_HREN_MASK) 10514 #define LPI2C_MCFGR0_HRPOL_MASK (0x2U) 10515 #define LPI2C_MCFGR0_HRPOL_SHIFT (1U) 10516 /*! HRPOL - Host Request Polarity 10517 * 0b0..Active low 10518 * 0b1..Active high 10519 */ 10520 #define LPI2C_MCFGR0_HRPOL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRPOL_SHIFT)) & LPI2C_MCFGR0_HRPOL_MASK) 10521 #define LPI2C_MCFGR0_HRSEL_MASK (0x4U) 10522 #define LPI2C_MCFGR0_HRSEL_SHIFT (2U) 10523 /*! HRSEL - Host Request Select 10524 * 0b0..Host request input is pin HREQ 10525 * 0b1..Host request input is input trigger 10526 */ 10527 #define LPI2C_MCFGR0_HRSEL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRSEL_SHIFT)) & LPI2C_MCFGR0_HRSEL_MASK) 10528 #define LPI2C_MCFGR0_CIRFIFO_MASK (0x100U) 10529 #define LPI2C_MCFGR0_CIRFIFO_SHIFT (8U) 10530 /*! CIRFIFO - Circular FIFO Enable 10531 * 0b0..Circular FIFO is disabled 10532 * 0b1..Circular FIFO is enabled 10533 */ 10534 #define LPI2C_MCFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_CIRFIFO_SHIFT)) & LPI2C_MCFGR0_CIRFIFO_MASK) 10535 #define LPI2C_MCFGR0_RDMO_MASK (0x200U) 10536 #define LPI2C_MCFGR0_RDMO_SHIFT (9U) 10537 /*! RDMO - Receive Data Match Only 10538 * 0b0..Received data is stored in the receive FIFO 10539 * 0b1..Received data is discarded unless the the Data Match Flag (MSR[DMF]) is set 10540 */ 10541 #define LPI2C_MCFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_RDMO_SHIFT)) & LPI2C_MCFGR0_RDMO_MASK) 10542 /*! @} */ 10543 10544 /*! @name MCFGR1 - Master Configuration Register 1 */ 10545 /*! @{ */ 10546 #define LPI2C_MCFGR1_PRESCALE_MASK (0x7U) 10547 #define LPI2C_MCFGR1_PRESCALE_SHIFT (0U) 10548 /*! PRESCALE - Prescaler 10549 * 0b000..Divide by 1 10550 * 0b001..Divide by 2 10551 * 0b010..Divide by 4 10552 * 0b011..Divide by 8 10553 * 0b100..Divide by 16 10554 * 0b101..Divide by 32 10555 * 0b110..Divide by 64 10556 * 0b111..Divide by 128 10557 */ 10558 #define LPI2C_MCFGR1_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PRESCALE_SHIFT)) & LPI2C_MCFGR1_PRESCALE_MASK) 10559 #define LPI2C_MCFGR1_AUTOSTOP_MASK (0x100U) 10560 #define LPI2C_MCFGR1_AUTOSTOP_SHIFT (8U) 10561 /*! AUTOSTOP - Automatic STOP Generation 10562 * 0b0..No effect 10563 * 0b1..STOP condition is automatically generated whenever the transmit FIFO is empty and the LPI2C master is busy 10564 */ 10565 #define LPI2C_MCFGR1_AUTOSTOP(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_AUTOSTOP_SHIFT)) & LPI2C_MCFGR1_AUTOSTOP_MASK) 10566 #define LPI2C_MCFGR1_IGNACK_MASK (0x200U) 10567 #define LPI2C_MCFGR1_IGNACK_SHIFT (9U) 10568 /*! IGNACK - IGNACK 10569 * 0b0..LPI2C Master will receive ACK and NACK normally 10570 * 0b1..LPI2C Master will treat a received NACK as if it (NACK) was an ACK 10571 */ 10572 #define LPI2C_MCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_IGNACK_SHIFT)) & LPI2C_MCFGR1_IGNACK_MASK) 10573 #define LPI2C_MCFGR1_TIMECFG_MASK (0x400U) 10574 #define LPI2C_MCFGR1_TIMECFG_SHIFT (10U) 10575 /*! TIMECFG - Timeout Configuration 10576 * 0b0..Pin Low Timeout Flag will set if SCL is low for longer than the configured timeout 10577 * 0b1..Pin Low Timeout Flag will set if either SCL or SDA is low for longer than the configured timeout 10578 */ 10579 #define LPI2C_MCFGR1_TIMECFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_TIMECFG_SHIFT)) & LPI2C_MCFGR1_TIMECFG_MASK) 10580 #define LPI2C_MCFGR1_MATCFG_MASK (0x70000U) 10581 #define LPI2C_MCFGR1_MATCFG_SHIFT (16U) 10582 /*! MATCFG - Match Configuration 10583 * 0b000..Match is disabled 10584 * 0b001..Reserved 10585 * 0b010..Match is enabled (1st data word equals MATCH0 OR MATCH1) 10586 * 0b011..Match is enabled (any data word equals MATCH0 OR MATCH1) 10587 * 0b100..Match is enabled (1st data word equals MATCH0 AND 2nd data word equals MATCH1) 10588 * 0b101..Match is enabled (any data word equals MATCH0 AND next data word equals MATCH1) 10589 * 0b110..Match is enabled (1st data word AND MATCH1 equals MATCH0 AND MATCH1) 10590 * 0b111..Match is enabled (any data word AND MATCH1 equals MATCH0 AND MATCH1) 10591 */ 10592 #define LPI2C_MCFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_MATCFG_SHIFT)) & LPI2C_MCFGR1_MATCFG_MASK) 10593 #define LPI2C_MCFGR1_PINCFG_MASK (0x7000000U) 10594 #define LPI2C_MCFGR1_PINCFG_SHIFT (24U) 10595 /*! PINCFG - Pin Configuration 10596 * 0b000..2-pin open drain mode 10597 * 0b001..2-pin output only mode (ultra-fast mode) 10598 * 0b010..2-pin push-pull mode 10599 * 0b011..4-pin push-pull mode 10600 * 0b100..2-pin open drain mode with separate LPI2C slave 10601 * 0b101..2-pin output only mode (ultra-fast mode) with separate LPI2C slave 10602 * 0b110..2-pin push-pull mode with separate LPI2C slave 10603 * 0b111..4-pin push-pull mode (inverted outputs) 10604 */ 10605 #define LPI2C_MCFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PINCFG_SHIFT)) & LPI2C_MCFGR1_PINCFG_MASK) 10606 /*! @} */ 10607 10608 /*! @name MCFGR2 - Master Configuration Register 2 */ 10609 /*! @{ */ 10610 #define LPI2C_MCFGR2_BUSIDLE_MASK (0xFFFU) 10611 #define LPI2C_MCFGR2_BUSIDLE_SHIFT (0U) 10612 #define LPI2C_MCFGR2_BUSIDLE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_BUSIDLE_SHIFT)) & LPI2C_MCFGR2_BUSIDLE_MASK) 10613 #define LPI2C_MCFGR2_FILTSCL_MASK (0xF0000U) 10614 #define LPI2C_MCFGR2_FILTSCL_SHIFT (16U) 10615 #define LPI2C_MCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSCL_SHIFT)) & LPI2C_MCFGR2_FILTSCL_MASK) 10616 #define LPI2C_MCFGR2_FILTSDA_MASK (0xF000000U) 10617 #define LPI2C_MCFGR2_FILTSDA_SHIFT (24U) 10618 #define LPI2C_MCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSDA_SHIFT)) & LPI2C_MCFGR2_FILTSDA_MASK) 10619 /*! @} */ 10620 10621 /*! @name MCFGR3 - Master Configuration Register 3 */ 10622 /*! @{ */ 10623 #define LPI2C_MCFGR3_PINLOW_MASK (0xFFF00U) 10624 #define LPI2C_MCFGR3_PINLOW_SHIFT (8U) 10625 #define LPI2C_MCFGR3_PINLOW(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR3_PINLOW_SHIFT)) & LPI2C_MCFGR3_PINLOW_MASK) 10626 /*! @} */ 10627 10628 /*! @name MDMR - Master Data Match Register */ 10629 /*! @{ */ 10630 #define LPI2C_MDMR_MATCH0_MASK (0xFFU) 10631 #define LPI2C_MDMR_MATCH0_SHIFT (0U) 10632 #define LPI2C_MDMR_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH0_SHIFT)) & LPI2C_MDMR_MATCH0_MASK) 10633 #define LPI2C_MDMR_MATCH1_MASK (0xFF0000U) 10634 #define LPI2C_MDMR_MATCH1_SHIFT (16U) 10635 #define LPI2C_MDMR_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH1_SHIFT)) & LPI2C_MDMR_MATCH1_MASK) 10636 /*! @} */ 10637 10638 /*! @name MCCR0 - Master Clock Configuration Register 0 */ 10639 /*! @{ */ 10640 #define LPI2C_MCCR0_CLKLO_MASK (0x3FU) 10641 #define LPI2C_MCCR0_CLKLO_SHIFT (0U) 10642 #define LPI2C_MCCR0_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKLO_SHIFT)) & LPI2C_MCCR0_CLKLO_MASK) 10643 #define LPI2C_MCCR0_CLKHI_MASK (0x3F00U) 10644 #define LPI2C_MCCR0_CLKHI_SHIFT (8U) 10645 #define LPI2C_MCCR0_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKHI_SHIFT)) & LPI2C_MCCR0_CLKHI_MASK) 10646 #define LPI2C_MCCR0_SETHOLD_MASK (0x3F0000U) 10647 #define LPI2C_MCCR0_SETHOLD_SHIFT (16U) 10648 #define LPI2C_MCCR0_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_SETHOLD_SHIFT)) & LPI2C_MCCR0_SETHOLD_MASK) 10649 #define LPI2C_MCCR0_DATAVD_MASK (0x3F000000U) 10650 #define LPI2C_MCCR0_DATAVD_SHIFT (24U) 10651 #define LPI2C_MCCR0_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_DATAVD_SHIFT)) & LPI2C_MCCR0_DATAVD_MASK) 10652 /*! @} */ 10653 10654 /*! @name MCCR1 - Master Clock Configuration Register 1 */ 10655 /*! @{ */ 10656 #define LPI2C_MCCR1_CLKLO_MASK (0x3FU) 10657 #define LPI2C_MCCR1_CLKLO_SHIFT (0U) 10658 #define LPI2C_MCCR1_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKLO_SHIFT)) & LPI2C_MCCR1_CLKLO_MASK) 10659 #define LPI2C_MCCR1_CLKHI_MASK (0x3F00U) 10660 #define LPI2C_MCCR1_CLKHI_SHIFT (8U) 10661 #define LPI2C_MCCR1_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKHI_SHIFT)) & LPI2C_MCCR1_CLKHI_MASK) 10662 #define LPI2C_MCCR1_SETHOLD_MASK (0x3F0000U) 10663 #define LPI2C_MCCR1_SETHOLD_SHIFT (16U) 10664 #define LPI2C_MCCR1_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_SETHOLD_SHIFT)) & LPI2C_MCCR1_SETHOLD_MASK) 10665 #define LPI2C_MCCR1_DATAVD_MASK (0x3F000000U) 10666 #define LPI2C_MCCR1_DATAVD_SHIFT (24U) 10667 #define LPI2C_MCCR1_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_DATAVD_SHIFT)) & LPI2C_MCCR1_DATAVD_MASK) 10668 /*! @} */ 10669 10670 /*! @name MFCR - Master FIFO Control Register */ 10671 /*! @{ */ 10672 #define LPI2C_MFCR_TXWATER_MASK (0x3U) 10673 #define LPI2C_MFCR_TXWATER_SHIFT (0U) 10674 #define LPI2C_MFCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_TXWATER_SHIFT)) & LPI2C_MFCR_TXWATER_MASK) 10675 #define LPI2C_MFCR_RXWATER_MASK (0x30000U) 10676 #define LPI2C_MFCR_RXWATER_SHIFT (16U) 10677 #define LPI2C_MFCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_RXWATER_SHIFT)) & LPI2C_MFCR_RXWATER_MASK) 10678 /*! @} */ 10679 10680 /*! @name MFSR - Master FIFO Status Register */ 10681 /*! @{ */ 10682 #define LPI2C_MFSR_TXCOUNT_MASK (0x7U) 10683 #define LPI2C_MFSR_TXCOUNT_SHIFT (0U) 10684 #define LPI2C_MFSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_TXCOUNT_SHIFT)) & LPI2C_MFSR_TXCOUNT_MASK) 10685 #define LPI2C_MFSR_RXCOUNT_MASK (0x70000U) 10686 #define LPI2C_MFSR_RXCOUNT_SHIFT (16U) 10687 #define LPI2C_MFSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_RXCOUNT_SHIFT)) & LPI2C_MFSR_RXCOUNT_MASK) 10688 /*! @} */ 10689 10690 /*! @name MTDR - Master Transmit Data Register */ 10691 /*! @{ */ 10692 #define LPI2C_MTDR_DATA_MASK (0xFFU) 10693 #define LPI2C_MTDR_DATA_SHIFT (0U) 10694 #define LPI2C_MTDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_DATA_SHIFT)) & LPI2C_MTDR_DATA_MASK) 10695 #define LPI2C_MTDR_CMD_MASK (0x700U) 10696 #define LPI2C_MTDR_CMD_SHIFT (8U) 10697 /*! CMD - Command Data 10698 * 0b000..Transmit DATA[7:0] 10699 * 0b001..Receive (DATA[7:0] + 1) bytes 10700 * 0b010..Generate STOP condition 10701 * 0b011..Receive and discard (DATA[7:0] + 1) bytes 10702 * 0b100..Generate (repeated) START and transmit address in DATA[7:0] 10703 * 0b101..Generate (repeated) START and transmit address in DATA[7:0]. This transfer expects a NACK to be returned. 10704 * 0b110..Generate (repeated) START and transmit address in DATA[7:0] using high speed mode 10705 * 0b111..Generate (repeated) START and transmit address in DATA[7:0] using high speed mode. This transfer expects a NACK to be returned. 10706 */ 10707 #define LPI2C_MTDR_CMD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_CMD_SHIFT)) & LPI2C_MTDR_CMD_MASK) 10708 /*! @} */ 10709 10710 /*! @name MRDR - Master Receive Data Register */ 10711 /*! @{ */ 10712 #define LPI2C_MRDR_DATA_MASK (0xFFU) 10713 #define LPI2C_MRDR_DATA_SHIFT (0U) 10714 #define LPI2C_MRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_DATA_SHIFT)) & LPI2C_MRDR_DATA_MASK) 10715 #define LPI2C_MRDR_RXEMPTY_MASK (0x4000U) 10716 #define LPI2C_MRDR_RXEMPTY_SHIFT (14U) 10717 /*! RXEMPTY - RX Empty 10718 * 0b0..Receive FIFO is not empty 10719 * 0b1..Receive FIFO is empty 10720 */ 10721 #define LPI2C_MRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_RXEMPTY_SHIFT)) & LPI2C_MRDR_RXEMPTY_MASK) 10722 /*! @} */ 10723 10724 /*! @name SCR - Slave Control Register */ 10725 /*! @{ */ 10726 #define LPI2C_SCR_SEN_MASK (0x1U) 10727 #define LPI2C_SCR_SEN_SHIFT (0U) 10728 /*! SEN - Slave Enable 10729 * 0b0..I2C Slave mode is disabled 10730 * 0b1..I2C Slave mode is enabled 10731 */ 10732 #define LPI2C_SCR_SEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_SEN_SHIFT)) & LPI2C_SCR_SEN_MASK) 10733 #define LPI2C_SCR_RST_MASK (0x2U) 10734 #define LPI2C_SCR_RST_SHIFT (1U) 10735 /*! RST - Software Reset 10736 * 0b0..Slave mode logic is not reset 10737 * 0b1..Slave mode logic is reset 10738 */ 10739 #define LPI2C_SCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RST_SHIFT)) & LPI2C_SCR_RST_MASK) 10740 #define LPI2C_SCR_FILTEN_MASK (0x10U) 10741 #define LPI2C_SCR_FILTEN_SHIFT (4U) 10742 /*! FILTEN - Filter Enable 10743 * 0b0..Disable digital filter and output delay counter for slave mode 10744 * 0b1..Enable digital filter and output delay counter for slave mode 10745 */ 10746 #define LPI2C_SCR_FILTEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTEN_SHIFT)) & LPI2C_SCR_FILTEN_MASK) 10747 #define LPI2C_SCR_FILTDZ_MASK (0x20U) 10748 #define LPI2C_SCR_FILTDZ_SHIFT (5U) 10749 /*! FILTDZ - Filter Doze Enable 10750 * 0b0..Filter remains enabled in Doze mode 10751 * 0b1..Filter is disabled in Doze mode 10752 */ 10753 #define LPI2C_SCR_FILTDZ(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTDZ_SHIFT)) & LPI2C_SCR_FILTDZ_MASK) 10754 #define LPI2C_SCR_RTF_MASK (0x100U) 10755 #define LPI2C_SCR_RTF_SHIFT (8U) 10756 /*! RTF - Reset Transmit FIFO 10757 * 0b0..No effect 10758 * 0b1..Transmit Data Register is now empty 10759 */ 10760 #define LPI2C_SCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RTF_SHIFT)) & LPI2C_SCR_RTF_MASK) 10761 #define LPI2C_SCR_RRF_MASK (0x200U) 10762 #define LPI2C_SCR_RRF_SHIFT (9U) 10763 /*! RRF - Reset Receive FIFO 10764 * 0b0..No effect 10765 * 0b1..Receive Data Register is now empty 10766 */ 10767 #define LPI2C_SCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RRF_SHIFT)) & LPI2C_SCR_RRF_MASK) 10768 /*! @} */ 10769 10770 /*! @name SSR - Slave Status Register */ 10771 /*! @{ */ 10772 #define LPI2C_SSR_TDF_MASK (0x1U) 10773 #define LPI2C_SSR_TDF_SHIFT (0U) 10774 /*! TDF - Transmit Data Flag 10775 * 0b0..Transmit data not requested 10776 * 0b1..Transmit data is requested 10777 */ 10778 #define LPI2C_SSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TDF_SHIFT)) & LPI2C_SSR_TDF_MASK) 10779 #define LPI2C_SSR_RDF_MASK (0x2U) 10780 #define LPI2C_SSR_RDF_SHIFT (1U) 10781 /*! RDF - Receive Data Flag 10782 * 0b0..Receive data is not ready 10783 * 0b1..Receive data is ready 10784 */ 10785 #define LPI2C_SSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RDF_SHIFT)) & LPI2C_SSR_RDF_MASK) 10786 #define LPI2C_SSR_AVF_MASK (0x4U) 10787 #define LPI2C_SSR_AVF_SHIFT (2U) 10788 /*! AVF - Address Valid Flag 10789 * 0b0..Address Status Register is not valid 10790 * 0b1..Address Status Register is valid 10791 */ 10792 #define LPI2C_SSR_AVF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AVF_SHIFT)) & LPI2C_SSR_AVF_MASK) 10793 #define LPI2C_SSR_TAF_MASK (0x8U) 10794 #define LPI2C_SSR_TAF_SHIFT (3U) 10795 /*! TAF - Transmit ACK Flag 10796 * 0b0..Transmit ACK/NACK is not required 10797 * 0b1..Transmit ACK/NACK is required 10798 */ 10799 #define LPI2C_SSR_TAF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TAF_SHIFT)) & LPI2C_SSR_TAF_MASK) 10800 #define LPI2C_SSR_RSF_MASK (0x100U) 10801 #define LPI2C_SSR_RSF_SHIFT (8U) 10802 /*! RSF - Repeated Start Flag 10803 * 0b0..Slave has not detected a Repeated START condition 10804 * 0b1..Slave has detected a Repeated START condition 10805 */ 10806 #define LPI2C_SSR_RSF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RSF_SHIFT)) & LPI2C_SSR_RSF_MASK) 10807 #define LPI2C_SSR_SDF_MASK (0x200U) 10808 #define LPI2C_SSR_SDF_SHIFT (9U) 10809 /*! SDF - STOP Detect Flag 10810 * 0b0..Slave has not detected a STOP condition 10811 * 0b1..Slave has detected a STOP condition 10812 */ 10813 #define LPI2C_SSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SDF_SHIFT)) & LPI2C_SSR_SDF_MASK) 10814 #define LPI2C_SSR_BEF_MASK (0x400U) 10815 #define LPI2C_SSR_BEF_SHIFT (10U) 10816 /*! BEF - Bit Error Flag 10817 * 0b0..Slave has not detected a bit error 10818 * 0b1..Slave has detected a bit error 10819 */ 10820 #define LPI2C_SSR_BEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BEF_SHIFT)) & LPI2C_SSR_BEF_MASK) 10821 #define LPI2C_SSR_FEF_MASK (0x800U) 10822 #define LPI2C_SSR_FEF_SHIFT (11U) 10823 /*! FEF - FIFO Error Flag 10824 * 0b0..FIFO underflow or overflow was not detected 10825 * 0b1..FIFO underflow or overflow was detected 10826 */ 10827 #define LPI2C_SSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_FEF_SHIFT)) & LPI2C_SSR_FEF_MASK) 10828 #define LPI2C_SSR_AM0F_MASK (0x1000U) 10829 #define LPI2C_SSR_AM0F_SHIFT (12U) 10830 /*! AM0F - Address Match 0 Flag 10831 * 0b0..Have not received an ADDR0 matching address 10832 * 0b1..Have received an ADDR0 matching address 10833 */ 10834 #define LPI2C_SSR_AM0F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM0F_SHIFT)) & LPI2C_SSR_AM0F_MASK) 10835 #define LPI2C_SSR_AM1F_MASK (0x2000U) 10836 #define LPI2C_SSR_AM1F_SHIFT (13U) 10837 /*! AM1F - Address Match 1 Flag 10838 * 0b0..Have not received an ADDR1 or ADDR0/ADDR1 range matching address 10839 * 0b1..Have received an ADDR1 or ADDR0/ADDR1 range matching address 10840 */ 10841 #define LPI2C_SSR_AM1F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM1F_SHIFT)) & LPI2C_SSR_AM1F_MASK) 10842 #define LPI2C_SSR_GCF_MASK (0x4000U) 10843 #define LPI2C_SSR_GCF_SHIFT (14U) 10844 /*! GCF - General Call Flag 10845 * 0b0..Slave has not detected the General Call Address or the General Call Address is disabled 10846 * 0b1..Slave has detected the General Call Address 10847 */ 10848 #define LPI2C_SSR_GCF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_GCF_SHIFT)) & LPI2C_SSR_GCF_MASK) 10849 #define LPI2C_SSR_SARF_MASK (0x8000U) 10850 #define LPI2C_SSR_SARF_SHIFT (15U) 10851 /*! SARF - SMBus Alert Response Flag 10852 * 0b0..SMBus Alert Response is disabled or not detected 10853 * 0b1..SMBus Alert Response is enabled and detected 10854 */ 10855 #define LPI2C_SSR_SARF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SARF_SHIFT)) & LPI2C_SSR_SARF_MASK) 10856 #define LPI2C_SSR_SBF_MASK (0x1000000U) 10857 #define LPI2C_SSR_SBF_SHIFT (24U) 10858 /*! SBF - Slave Busy Flag 10859 * 0b0..I2C Slave is idle 10860 * 0b1..I2C Slave is busy 10861 */ 10862 #define LPI2C_SSR_SBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SBF_SHIFT)) & LPI2C_SSR_SBF_MASK) 10863 #define LPI2C_SSR_BBF_MASK (0x2000000U) 10864 #define LPI2C_SSR_BBF_SHIFT (25U) 10865 /*! BBF - Bus Busy Flag 10866 * 0b0..I2C Bus is idle 10867 * 0b1..I2C Bus is busy 10868 */ 10869 #define LPI2C_SSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BBF_SHIFT)) & LPI2C_SSR_BBF_MASK) 10870 /*! @} */ 10871 10872 /*! @name SIER - Slave Interrupt Enable Register */ 10873 /*! @{ */ 10874 #define LPI2C_SIER_TDIE_MASK (0x1U) 10875 #define LPI2C_SIER_TDIE_SHIFT (0U) 10876 /*! TDIE - Transmit Data Interrupt Enable 10877 * 0b0..Disabled 10878 * 0b1..Enabled 10879 */ 10880 #define LPI2C_SIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TDIE_SHIFT)) & LPI2C_SIER_TDIE_MASK) 10881 #define LPI2C_SIER_RDIE_MASK (0x2U) 10882 #define LPI2C_SIER_RDIE_SHIFT (1U) 10883 /*! RDIE - Receive Data Interrupt Enable 10884 * 0b0..Disabled 10885 * 0b1..Enabled 10886 */ 10887 #define LPI2C_SIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RDIE_SHIFT)) & LPI2C_SIER_RDIE_MASK) 10888 #define LPI2C_SIER_AVIE_MASK (0x4U) 10889 #define LPI2C_SIER_AVIE_SHIFT (2U) 10890 /*! AVIE - Address Valid Interrupt Enable 10891 * 0b0..Disabled 10892 * 0b1..Enabled 10893 */ 10894 #define LPI2C_SIER_AVIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AVIE_SHIFT)) & LPI2C_SIER_AVIE_MASK) 10895 #define LPI2C_SIER_TAIE_MASK (0x8U) 10896 #define LPI2C_SIER_TAIE_SHIFT (3U) 10897 /*! TAIE - Transmit ACK Interrupt Enable 10898 * 0b0..Disabled 10899 * 0b1..Enabled 10900 */ 10901 #define LPI2C_SIER_TAIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TAIE_SHIFT)) & LPI2C_SIER_TAIE_MASK) 10902 #define LPI2C_SIER_RSIE_MASK (0x100U) 10903 #define LPI2C_SIER_RSIE_SHIFT (8U) 10904 /*! RSIE - Repeated Start Interrupt Enable 10905 * 0b0..Disabled 10906 * 0b1..Enabled 10907 */ 10908 #define LPI2C_SIER_RSIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RSIE_SHIFT)) & LPI2C_SIER_RSIE_MASK) 10909 #define LPI2C_SIER_SDIE_MASK (0x200U) 10910 #define LPI2C_SIER_SDIE_SHIFT (9U) 10911 /*! SDIE - STOP Detect Interrupt Enable 10912 * 0b0..Disabled 10913 * 0b1..Enabled 10914 */ 10915 #define LPI2C_SIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SDIE_SHIFT)) & LPI2C_SIER_SDIE_MASK) 10916 #define LPI2C_SIER_BEIE_MASK (0x400U) 10917 #define LPI2C_SIER_BEIE_SHIFT (10U) 10918 /*! BEIE - Bit Error Interrupt Enable 10919 * 0b0..Disabled 10920 * 0b1..Enabled 10921 */ 10922 #define LPI2C_SIER_BEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_BEIE_SHIFT)) & LPI2C_SIER_BEIE_MASK) 10923 #define LPI2C_SIER_FEIE_MASK (0x800U) 10924 #define LPI2C_SIER_FEIE_SHIFT (11U) 10925 /*! FEIE - FIFO Error Interrupt Enable 10926 * 0b0..Disabled 10927 * 0b1..Enabled 10928 */ 10929 #define LPI2C_SIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_FEIE_SHIFT)) & LPI2C_SIER_FEIE_MASK) 10930 #define LPI2C_SIER_AM0IE_MASK (0x1000U) 10931 #define LPI2C_SIER_AM0IE_SHIFT (12U) 10932 /*! AM0IE - Address Match 0 Interrupt Enable 10933 * 0b0..Enabled 10934 * 0b1..Disabled 10935 */ 10936 #define LPI2C_SIER_AM0IE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM0IE_SHIFT)) & LPI2C_SIER_AM0IE_MASK) 10937 #define LPI2C_SIER_AM1F_MASK (0x2000U) 10938 #define LPI2C_SIER_AM1F_SHIFT (13U) 10939 /*! AM1F - Address Match 1 Interrupt Enable 10940 * 0b0..Disabled 10941 * 0b1..Enabled 10942 */ 10943 #define LPI2C_SIER_AM1F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM1F_SHIFT)) & LPI2C_SIER_AM1F_MASK) 10944 #define LPI2C_SIER_GCIE_MASK (0x4000U) 10945 #define LPI2C_SIER_GCIE_SHIFT (14U) 10946 /*! GCIE - General Call Interrupt Enable 10947 * 0b0..Disabled 10948 * 0b1..Enabled 10949 */ 10950 #define LPI2C_SIER_GCIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_GCIE_SHIFT)) & LPI2C_SIER_GCIE_MASK) 10951 #define LPI2C_SIER_SARIE_MASK (0x8000U) 10952 #define LPI2C_SIER_SARIE_SHIFT (15U) 10953 /*! SARIE - SMBus Alert Response Interrupt Enable 10954 * 0b0..Disabled 10955 * 0b1..Enabled 10956 */ 10957 #define LPI2C_SIER_SARIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SARIE_SHIFT)) & LPI2C_SIER_SARIE_MASK) 10958 /*! @} */ 10959 10960 /*! @name SDER - Slave DMA Enable Register */ 10961 /*! @{ */ 10962 #define LPI2C_SDER_TDDE_MASK (0x1U) 10963 #define LPI2C_SDER_TDDE_SHIFT (0U) 10964 /*! TDDE - Transmit Data DMA Enable 10965 * 0b0..DMA request is disabled 10966 * 0b1..DMA request is enabled 10967 */ 10968 #define LPI2C_SDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_TDDE_SHIFT)) & LPI2C_SDER_TDDE_MASK) 10969 #define LPI2C_SDER_RDDE_MASK (0x2U) 10970 #define LPI2C_SDER_RDDE_SHIFT (1U) 10971 /*! RDDE - Receive Data DMA Enable 10972 * 0b0..DMA request is disabled 10973 * 0b1..DMA request is enabled 10974 */ 10975 #define LPI2C_SDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_RDDE_SHIFT)) & LPI2C_SDER_RDDE_MASK) 10976 #define LPI2C_SDER_AVDE_MASK (0x4U) 10977 #define LPI2C_SDER_AVDE_SHIFT (2U) 10978 /*! AVDE - Address Valid DMA Enable 10979 * 0b0..DMA request is disabled 10980 * 0b1..DMA request is enabled 10981 */ 10982 #define LPI2C_SDER_AVDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_AVDE_SHIFT)) & LPI2C_SDER_AVDE_MASK) 10983 /*! @} */ 10984 10985 /*! @name SCFGR1 - Slave Configuration Register 1 */ 10986 /*! @{ */ 10987 #define LPI2C_SCFGR1_ADRSTALL_MASK (0x1U) 10988 #define LPI2C_SCFGR1_ADRSTALL_SHIFT (0U) 10989 /*! ADRSTALL - Address SCL Stall 10990 * 0b0..Clock stretching is disabled 10991 * 0b1..Clock stretching is enabled 10992 */ 10993 #define LPI2C_SCFGR1_ADRSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADRSTALL_SHIFT)) & LPI2C_SCFGR1_ADRSTALL_MASK) 10994 #define LPI2C_SCFGR1_RXSTALL_MASK (0x2U) 10995 #define LPI2C_SCFGR1_RXSTALL_SHIFT (1U) 10996 /*! RXSTALL - RX SCL Stall 10997 * 0b0..Clock stretching is disabled 10998 * 0b1..Clock stretching is enabled 10999 */ 11000 #define LPI2C_SCFGR1_RXSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXSTALL_SHIFT)) & LPI2C_SCFGR1_RXSTALL_MASK) 11001 #define LPI2C_SCFGR1_TXDSTALL_MASK (0x4U) 11002 #define LPI2C_SCFGR1_TXDSTALL_SHIFT (2U) 11003 /*! TXDSTALL - TX Data SCL Stall 11004 * 0b0..Clock stretching is disabled 11005 * 0b1..Clock stretching is enabled 11006 */ 11007 #define LPI2C_SCFGR1_TXDSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXDSTALL_SHIFT)) & LPI2C_SCFGR1_TXDSTALL_MASK) 11008 #define LPI2C_SCFGR1_ACKSTALL_MASK (0x8U) 11009 #define LPI2C_SCFGR1_ACKSTALL_SHIFT (3U) 11010 /*! ACKSTALL - ACK SCL Stall 11011 * 0b0..Clock stretching is disabled 11012 * 0b1..Clock stretching is enabled 11013 */ 11014 #define LPI2C_SCFGR1_ACKSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ACKSTALL_SHIFT)) & LPI2C_SCFGR1_ACKSTALL_MASK) 11015 #define LPI2C_SCFGR1_GCEN_MASK (0x100U) 11016 #define LPI2C_SCFGR1_GCEN_SHIFT (8U) 11017 /*! GCEN - General Call Enable 11018 * 0b0..General Call address is disabled 11019 * 0b1..General Call address is enabled 11020 */ 11021 #define LPI2C_SCFGR1_GCEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_GCEN_SHIFT)) & LPI2C_SCFGR1_GCEN_MASK) 11022 #define LPI2C_SCFGR1_SAEN_MASK (0x200U) 11023 #define LPI2C_SCFGR1_SAEN_SHIFT (9U) 11024 /*! SAEN - SMBus Alert Enable 11025 * 0b0..Disables match on SMBus Alert 11026 * 0b1..Enables match on SMBus Alert 11027 */ 11028 #define LPI2C_SCFGR1_SAEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_SAEN_SHIFT)) & LPI2C_SCFGR1_SAEN_MASK) 11029 #define LPI2C_SCFGR1_TXCFG_MASK (0x400U) 11030 #define LPI2C_SCFGR1_TXCFG_SHIFT (10U) 11031 /*! TXCFG - Transmit Flag Configuration 11032 * 0b0..Transmit Data Flag will only assert during a slave-transmit transfer when the Transmit Data register is empty 11033 * 0b1..Transmit Data Flag will assert whenever the Transmit Data register is empty 11034 */ 11035 #define LPI2C_SCFGR1_TXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXCFG_SHIFT)) & LPI2C_SCFGR1_TXCFG_MASK) 11036 #define LPI2C_SCFGR1_RXCFG_MASK (0x800U) 11037 #define LPI2C_SCFGR1_RXCFG_SHIFT (11U) 11038 /*! RXCFG - Receive Data Configuration 11039 * 0b0..Reading the Receive Data register will return received data and clear the Receive Data flag (MSR[RDF]). 11040 * 0b1..Reading the Receive Data register when the Address Valid flag (SSR[AVF])is set, will return the Address Status register and clear the Address Valid flag. Reading the Receive Data register when the Address Valid flag is clear, will return received data and clear the Receive Data flag (MSR[RDF]). 11041 */ 11042 #define LPI2C_SCFGR1_RXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXCFG_SHIFT)) & LPI2C_SCFGR1_RXCFG_MASK) 11043 #define LPI2C_SCFGR1_IGNACK_MASK (0x1000U) 11044 #define LPI2C_SCFGR1_IGNACK_SHIFT (12U) 11045 /*! IGNACK - Ignore NACK 11046 * 0b0..Slave will end transfer when NACK is detected 11047 * 0b1..Slave will not end transfer when NACK detected 11048 */ 11049 #define LPI2C_SCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_IGNACK_SHIFT)) & LPI2C_SCFGR1_IGNACK_MASK) 11050 #define LPI2C_SCFGR1_HSMEN_MASK (0x2000U) 11051 #define LPI2C_SCFGR1_HSMEN_SHIFT (13U) 11052 /*! HSMEN - High Speed Mode Enable 11053 * 0b0..Disables detection of HS-mode master code 11054 * 0b1..Enables detection of HS-mode master code 11055 */ 11056 #define LPI2C_SCFGR1_HSMEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_HSMEN_SHIFT)) & LPI2C_SCFGR1_HSMEN_MASK) 11057 #define LPI2C_SCFGR1_ADDRCFG_MASK (0x70000U) 11058 #define LPI2C_SCFGR1_ADDRCFG_SHIFT (16U) 11059 /*! ADDRCFG - Address Configuration 11060 * 0b000..Address match 0 (7-bit) 11061 * 0b001..Address match 0 (10-bit) 11062 * 0b010..Address match 0 (7-bit) or Address match 1 (7-bit) 11063 * 0b011..Address match 0 (10-bit) or Address match 1 (10-bit) 11064 * 0b100..Address match 0 (7-bit) or Address match 1 (10-bit) 11065 * 0b101..Address match 0 (10-bit) or Address match 1 (7-bit) 11066 * 0b110..From Address match 0 (7-bit) to Address match 1 (7-bit) 11067 * 0b111..From Address match 0 (10-bit) to Address match 1 (10-bit) 11068 */ 11069 #define LPI2C_SCFGR1_ADDRCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADDRCFG_SHIFT)) & LPI2C_SCFGR1_ADDRCFG_MASK) 11070 /*! @} */ 11071 11072 /*! @name SCFGR2 - Slave Configuration Register 2 */ 11073 /*! @{ */ 11074 #define LPI2C_SCFGR2_CLKHOLD_MASK (0xFU) 11075 #define LPI2C_SCFGR2_CLKHOLD_SHIFT (0U) 11076 #define LPI2C_SCFGR2_CLKHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_CLKHOLD_SHIFT)) & LPI2C_SCFGR2_CLKHOLD_MASK) 11077 #define LPI2C_SCFGR2_DATAVD_MASK (0x3F00U) 11078 #define LPI2C_SCFGR2_DATAVD_SHIFT (8U) 11079 #define LPI2C_SCFGR2_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_DATAVD_SHIFT)) & LPI2C_SCFGR2_DATAVD_MASK) 11080 #define LPI2C_SCFGR2_FILTSCL_MASK (0xF0000U) 11081 #define LPI2C_SCFGR2_FILTSCL_SHIFT (16U) 11082 #define LPI2C_SCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSCL_SHIFT)) & LPI2C_SCFGR2_FILTSCL_MASK) 11083 #define LPI2C_SCFGR2_FILTSDA_MASK (0xF000000U) 11084 #define LPI2C_SCFGR2_FILTSDA_SHIFT (24U) 11085 #define LPI2C_SCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSDA_SHIFT)) & LPI2C_SCFGR2_FILTSDA_MASK) 11086 /*! @} */ 11087 11088 /*! @name SAMR - Slave Address Match Register */ 11089 /*! @{ */ 11090 #define LPI2C_SAMR_ADDR0_MASK (0x7FEU) 11091 #define LPI2C_SAMR_ADDR0_SHIFT (1U) 11092 #define LPI2C_SAMR_ADDR0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR0_SHIFT)) & LPI2C_SAMR_ADDR0_MASK) 11093 #define LPI2C_SAMR_ADDR1_MASK (0x7FE0000U) 11094 #define LPI2C_SAMR_ADDR1_SHIFT (17U) 11095 #define LPI2C_SAMR_ADDR1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR1_SHIFT)) & LPI2C_SAMR_ADDR1_MASK) 11096 /*! @} */ 11097 11098 /*! @name SASR - Slave Address Status Register */ 11099 /*! @{ */ 11100 #define LPI2C_SASR_RADDR_MASK (0x7FFU) 11101 #define LPI2C_SASR_RADDR_SHIFT (0U) 11102 #define LPI2C_SASR_RADDR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_RADDR_SHIFT)) & LPI2C_SASR_RADDR_MASK) 11103 #define LPI2C_SASR_ANV_MASK (0x4000U) 11104 #define LPI2C_SASR_ANV_SHIFT (14U) 11105 /*! ANV - Address Not Valid 11106 * 0b0..Received Address (RADDR) is valid 11107 * 0b1..Received Address (RADDR) is not valid 11108 */ 11109 #define LPI2C_SASR_ANV(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_ANV_SHIFT)) & LPI2C_SASR_ANV_MASK) 11110 /*! @} */ 11111 11112 /*! @name STAR - Slave Transmit ACK Register */ 11113 /*! @{ */ 11114 #define LPI2C_STAR_TXNACK_MASK (0x1U) 11115 #define LPI2C_STAR_TXNACK_SHIFT (0U) 11116 /*! TXNACK - Transmit NACK 11117 * 0b0..Write a Transmit ACK for each received word 11118 * 0b1..Write a Transmit NACK for each received word 11119 */ 11120 #define LPI2C_STAR_TXNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STAR_TXNACK_SHIFT)) & LPI2C_STAR_TXNACK_MASK) 11121 /*! @} */ 11122 11123 /*! @name STDR - Slave Transmit Data Register */ 11124 /*! @{ */ 11125 #define LPI2C_STDR_DATA_MASK (0xFFU) 11126 #define LPI2C_STDR_DATA_SHIFT (0U) 11127 #define LPI2C_STDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STDR_DATA_SHIFT)) & LPI2C_STDR_DATA_MASK) 11128 /*! @} */ 11129 11130 /*! @name SRDR - Slave Receive Data Register */ 11131 /*! @{ */ 11132 #define LPI2C_SRDR_DATA_MASK (0xFFU) 11133 #define LPI2C_SRDR_DATA_SHIFT (0U) 11134 #define LPI2C_SRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_DATA_SHIFT)) & LPI2C_SRDR_DATA_MASK) 11135 #define LPI2C_SRDR_RXEMPTY_MASK (0x4000U) 11136 #define LPI2C_SRDR_RXEMPTY_SHIFT (14U) 11137 /*! RXEMPTY - RX Empty 11138 * 0b0..The Receive Data Register is not empty 11139 * 0b1..The Receive Data Register is empty 11140 */ 11141 #define LPI2C_SRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_RXEMPTY_SHIFT)) & LPI2C_SRDR_RXEMPTY_MASK) 11142 #define LPI2C_SRDR_SOF_MASK (0x8000U) 11143 #define LPI2C_SRDR_SOF_SHIFT (15U) 11144 /*! SOF - Start Of Frame 11145 * 0b0..Indicates this is not the first data word since a (repeated) START or STOP condition 11146 * 0b1..Indicates this is the first data word since a (repeated) START or STOP condition 11147 */ 11148 #define LPI2C_SRDR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_SOF_SHIFT)) & LPI2C_SRDR_SOF_MASK) 11149 /*! @} */ 11150 11151 11152 /*! 11153 * @} 11154 */ /* end of group LPI2C_Register_Masks */ 11155 11156 11157 /* LPI2C - Peripheral instance base addresses */ 11158 /** Peripheral LPI2C0 base address */ 11159 #define LPI2C0_BASE (0x4003A000u) 11160 /** Peripheral LPI2C0 base pointer */ 11161 #define LPI2C0 ((LPI2C_Type *)LPI2C0_BASE) 11162 /** Peripheral LPI2C1 base address */ 11163 #define LPI2C1_BASE (0x4003B000u) 11164 /** Peripheral LPI2C1 base pointer */ 11165 #define LPI2C1 ((LPI2C_Type *)LPI2C1_BASE) 11166 /** Peripheral LPI2C2 base address */ 11167 #define LPI2C2_BASE (0x4003C000u) 11168 /** Peripheral LPI2C2 base pointer */ 11169 #define LPI2C2 ((LPI2C_Type *)LPI2C2_BASE) 11170 /** Peripheral LPI2C3 base address */ 11171 #define LPI2C3_BASE (0x4102E000u) 11172 /** Peripheral LPI2C3 base pointer */ 11173 #define LPI2C3 ((LPI2C_Type *)LPI2C3_BASE) 11174 /** Array initializer of LPI2C peripheral base addresses */ 11175 #define LPI2C_BASE_ADDRS { LPI2C0_BASE, LPI2C1_BASE, LPI2C2_BASE, LPI2C3_BASE } 11176 /** Array initializer of LPI2C peripheral base pointers */ 11177 #define LPI2C_BASE_PTRS { LPI2C0, LPI2C1, LPI2C2, LPI2C3 } 11178 /** Interrupt vectors for the LPI2C peripheral type */ 11179 #define LPI2C_IRQS { LPI2C0_IRQn, LPI2C1_IRQn, LPI2C2_IRQn, LPI2C3_IRQn } 11180 11181 /*! 11182 * @} 11183 */ /* end of group LPI2C_Peripheral_Access_Layer */ 11184 11185 11186 /* ---------------------------------------------------------------------------- 11187 -- LPIT Peripheral Access Layer 11188 ---------------------------------------------------------------------------- */ 11189 11190 /*! 11191 * @addtogroup LPIT_Peripheral_Access_Layer LPIT Peripheral Access Layer 11192 * @{ 11193 */ 11194 11195 /** LPIT - Register Layout Typedef */ 11196 typedef struct { 11197 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 11198 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 11199 __IO uint32_t MCR; /**< Module Control Register, offset: 0x8 */ 11200 __IO uint32_t MSR; /**< Module Status Register, offset: 0xC */ 11201 __IO uint32_t MIER; /**< Module Interrupt Enable Register, offset: 0x10 */ 11202 __IO uint32_t SETTEN; /**< Set Timer Enable Register, offset: 0x14 */ 11203 __O uint32_t CLRTEN; /**< Clear Timer Enable Register, offset: 0x18 */ 11204 uint8_t RESERVED_0[4]; 11205 struct { /* offset: 0x20, array step: 0x10 */ 11206 __IO uint32_t TVAL; /**< Timer Value Register, array offset: 0x20, array step: 0x10 */ 11207 __I uint32_t CVAL; /**< Current Timer Value, array offset: 0x24, array step: 0x10 */ 11208 __IO uint32_t TCTRL; /**< Timer Control Register, array offset: 0x28, array step: 0x10 */ 11209 uint8_t RESERVED_0[4]; 11210 } CHANNEL[4]; 11211 } LPIT_Type; 11212 11213 /* ---------------------------------------------------------------------------- 11214 -- LPIT Register Masks 11215 ---------------------------------------------------------------------------- */ 11216 11217 /*! 11218 * @addtogroup LPIT_Register_Masks LPIT Register Masks 11219 * @{ 11220 */ 11221 11222 /*! @name VERID - Version ID Register */ 11223 /*! @{ */ 11224 #define LPIT_VERID_FEATURE_MASK (0xFFFFU) 11225 #define LPIT_VERID_FEATURE_SHIFT (0U) 11226 #define LPIT_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPIT_VERID_FEATURE_SHIFT)) & LPIT_VERID_FEATURE_MASK) 11227 #define LPIT_VERID_MINOR_MASK (0xFF0000U) 11228 #define LPIT_VERID_MINOR_SHIFT (16U) 11229 #define LPIT_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPIT_VERID_MINOR_SHIFT)) & LPIT_VERID_MINOR_MASK) 11230 #define LPIT_VERID_MAJOR_MASK (0xFF000000U) 11231 #define LPIT_VERID_MAJOR_SHIFT (24U) 11232 #define LPIT_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPIT_VERID_MAJOR_SHIFT)) & LPIT_VERID_MAJOR_MASK) 11233 /*! @} */ 11234 11235 /*! @name PARAM - Parameter Register */ 11236 /*! @{ */ 11237 #define LPIT_PARAM_CHANNEL_MASK (0xFFU) 11238 #define LPIT_PARAM_CHANNEL_SHIFT (0U) 11239 #define LPIT_PARAM_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << LPIT_PARAM_CHANNEL_SHIFT)) & LPIT_PARAM_CHANNEL_MASK) 11240 #define LPIT_PARAM_EXT_TRIG_MASK (0xFF00U) 11241 #define LPIT_PARAM_EXT_TRIG_SHIFT (8U) 11242 #define LPIT_PARAM_EXT_TRIG(x) (((uint32_t)(((uint32_t)(x)) << LPIT_PARAM_EXT_TRIG_SHIFT)) & LPIT_PARAM_EXT_TRIG_MASK) 11243 /*! @} */ 11244 11245 /*! @name MCR - Module Control Register */ 11246 /*! @{ */ 11247 #define LPIT_MCR_M_CEN_MASK (0x1U) 11248 #define LPIT_MCR_M_CEN_SHIFT (0U) 11249 /*! M_CEN - Module Clock Enable 11250 * 0b0..Disable peripheral clock to timers 11251 * 0b1..Enable peripheral clock to timers 11252 */ 11253 #define LPIT_MCR_M_CEN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MCR_M_CEN_SHIFT)) & LPIT_MCR_M_CEN_MASK) 11254 #define LPIT_MCR_SW_RST_MASK (0x2U) 11255 #define LPIT_MCR_SW_RST_SHIFT (1U) 11256 /*! SW_RST - Software Reset Bit 11257 * 0b0..Timer channels and registers are not reset 11258 * 0b1..Reset timer channels and registers 11259 */ 11260 #define LPIT_MCR_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MCR_SW_RST_SHIFT)) & LPIT_MCR_SW_RST_MASK) 11261 #define LPIT_MCR_DOZE_EN_MASK (0x4U) 11262 #define LPIT_MCR_DOZE_EN_SHIFT (2U) 11263 /*! DOZE_EN - DOZE Mode Enable Bit 11264 * 0b0..Stop timer channels in DOZE mode 11265 * 0b1..Allow timer channels to continue to run in DOZE mode 11266 */ 11267 #define LPIT_MCR_DOZE_EN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MCR_DOZE_EN_SHIFT)) & LPIT_MCR_DOZE_EN_MASK) 11268 #define LPIT_MCR_DBG_EN_MASK (0x8U) 11269 #define LPIT_MCR_DBG_EN_SHIFT (3U) 11270 /*! DBG_EN - Debug Enable Bit 11271 * 0b0..Stop timer channels in Debug mode 11272 * 0b1..Allow timer channels to continue to run in Debug mode 11273 */ 11274 #define LPIT_MCR_DBG_EN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MCR_DBG_EN_SHIFT)) & LPIT_MCR_DBG_EN_MASK) 11275 /*! @} */ 11276 11277 /*! @name MSR - Module Status Register */ 11278 /*! @{ */ 11279 #define LPIT_MSR_TIF0_MASK (0x1U) 11280 #define LPIT_MSR_TIF0_SHIFT (0U) 11281 /*! TIF0 - Channel 0 Timer Interrupt Flag 11282 * 0b0..Timer has not timed out 11283 * 0b1..Timeout has occurred (timer has timed out) 11284 */ 11285 #define LPIT_MSR_TIF0(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MSR_TIF0_SHIFT)) & LPIT_MSR_TIF0_MASK) 11286 #define LPIT_MSR_TIF1_MASK (0x2U) 11287 #define LPIT_MSR_TIF1_SHIFT (1U) 11288 /*! TIF1 - Channel 1 Timer Interrupt Flag 11289 * 0b0..Timer has not timed out 11290 * 0b1..Timeout has occurred (timer has timed out) 11291 */ 11292 #define LPIT_MSR_TIF1(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MSR_TIF1_SHIFT)) & LPIT_MSR_TIF1_MASK) 11293 #define LPIT_MSR_TIF2_MASK (0x4U) 11294 #define LPIT_MSR_TIF2_SHIFT (2U) 11295 /*! TIF2 - Channel 2 Timer Interrupt Flag 11296 * 0b0..Timer has not timed out 11297 * 0b1..Timeout has occurred (timer has timed out) 11298 */ 11299 #define LPIT_MSR_TIF2(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MSR_TIF2_SHIFT)) & LPIT_MSR_TIF2_MASK) 11300 #define LPIT_MSR_TIF3_MASK (0x8U) 11301 #define LPIT_MSR_TIF3_SHIFT (3U) 11302 /*! TIF3 - Channel 3 Timer Interrupt Flag 11303 * 0b0..Timer has not timed out 11304 * 0b1..Timeout has occurred (timer has timed out) 11305 */ 11306 #define LPIT_MSR_TIF3(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MSR_TIF3_SHIFT)) & LPIT_MSR_TIF3_MASK) 11307 /*! @} */ 11308 11309 /*! @name MIER - Module Interrupt Enable Register */ 11310 /*! @{ */ 11311 #define LPIT_MIER_TIE0_MASK (0x1U) 11312 #define LPIT_MIER_TIE0_SHIFT (0U) 11313 /*! TIE0 - Channel 0 Timer Interrupt Enable 11314 * 0b0..Disabled 11315 * 0b1..Enabled 11316 */ 11317 #define LPIT_MIER_TIE0(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MIER_TIE0_SHIFT)) & LPIT_MIER_TIE0_MASK) 11318 #define LPIT_MIER_TIE1_MASK (0x2U) 11319 #define LPIT_MIER_TIE1_SHIFT (1U) 11320 /*! TIE1 - Channel 1 Timer Interrupt Enable 11321 * 0b0..Disabled 11322 * 0b1..Enabled 11323 */ 11324 #define LPIT_MIER_TIE1(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MIER_TIE1_SHIFT)) & LPIT_MIER_TIE1_MASK) 11325 #define LPIT_MIER_TIE2_MASK (0x4U) 11326 #define LPIT_MIER_TIE2_SHIFT (2U) 11327 /*! TIE2 - Channel 2 Timer Interrupt Enable 11328 * 0b0..Disabled 11329 * 0b1..Enabled 11330 */ 11331 #define LPIT_MIER_TIE2(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MIER_TIE2_SHIFT)) & LPIT_MIER_TIE2_MASK) 11332 #define LPIT_MIER_TIE3_MASK (0x8U) 11333 #define LPIT_MIER_TIE3_SHIFT (3U) 11334 /*! TIE3 - Channel 3 Timer Interrupt Enable 11335 * 0b0..Disabled 11336 * 0b1..Enabled 11337 */ 11338 #define LPIT_MIER_TIE3(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MIER_TIE3_SHIFT)) & LPIT_MIER_TIE3_MASK) 11339 /*! @} */ 11340 11341 /*! @name SETTEN - Set Timer Enable Register */ 11342 /*! @{ */ 11343 #define LPIT_SETTEN_SET_T_EN_0_MASK (0x1U) 11344 #define LPIT_SETTEN_SET_T_EN_0_SHIFT (0U) 11345 /*! SET_T_EN_0 - Set Timer 0 Enable 11346 * 0b0..No effect 11347 * 0b1..Enables Timer Channel 0 11348 */ 11349 #define LPIT_SETTEN_SET_T_EN_0(x) (((uint32_t)(((uint32_t)(x)) << LPIT_SETTEN_SET_T_EN_0_SHIFT)) & LPIT_SETTEN_SET_T_EN_0_MASK) 11350 #define LPIT_SETTEN_SET_T_EN_1_MASK (0x2U) 11351 #define LPIT_SETTEN_SET_T_EN_1_SHIFT (1U) 11352 /*! SET_T_EN_1 - Set Timer 1 Enable 11353 * 0b0..No Effect 11354 * 0b1..Enables Timer Channel 1 11355 */ 11356 #define LPIT_SETTEN_SET_T_EN_1(x) (((uint32_t)(((uint32_t)(x)) << LPIT_SETTEN_SET_T_EN_1_SHIFT)) & LPIT_SETTEN_SET_T_EN_1_MASK) 11357 #define LPIT_SETTEN_SET_T_EN_2_MASK (0x4U) 11358 #define LPIT_SETTEN_SET_T_EN_2_SHIFT (2U) 11359 /*! SET_T_EN_2 - Set Timer 2 Enable 11360 * 0b0..No Effect 11361 * 0b1..Enables Timer Channel 2 11362 */ 11363 #define LPIT_SETTEN_SET_T_EN_2(x) (((uint32_t)(((uint32_t)(x)) << LPIT_SETTEN_SET_T_EN_2_SHIFT)) & LPIT_SETTEN_SET_T_EN_2_MASK) 11364 #define LPIT_SETTEN_SET_T_EN_3_MASK (0x8U) 11365 #define LPIT_SETTEN_SET_T_EN_3_SHIFT (3U) 11366 /*! SET_T_EN_3 - Set Timer 3 Enable 11367 * 0b0..No effect 11368 * 0b1..Enables Timer Channel 3 11369 */ 11370 #define LPIT_SETTEN_SET_T_EN_3(x) (((uint32_t)(((uint32_t)(x)) << LPIT_SETTEN_SET_T_EN_3_SHIFT)) & LPIT_SETTEN_SET_T_EN_3_MASK) 11371 /*! @} */ 11372 11373 /*! @name CLRTEN - Clear Timer Enable Register */ 11374 /*! @{ */ 11375 #define LPIT_CLRTEN_CLR_T_EN_0_MASK (0x1U) 11376 #define LPIT_CLRTEN_CLR_T_EN_0_SHIFT (0U) 11377 /*! CLR_T_EN_0 - Clear Timer 0 Enable 11378 * 0b0..No action 11379 * 0b1..Clear the Timer Enable bit (TCTRL0[T_EN]) for Timer Channel 0 11380 */ 11381 #define LPIT_CLRTEN_CLR_T_EN_0(x) (((uint32_t)(((uint32_t)(x)) << LPIT_CLRTEN_CLR_T_EN_0_SHIFT)) & LPIT_CLRTEN_CLR_T_EN_0_MASK) 11382 #define LPIT_CLRTEN_CLR_T_EN_1_MASK (0x2U) 11383 #define LPIT_CLRTEN_CLR_T_EN_1_SHIFT (1U) 11384 /*! CLR_T_EN_1 - Clear Timer 1 Enable 11385 * 0b0..No Action 11386 * 0b1..Clear the Timer Enable bit (TCTRL1[T_EN]) for Timer Channel 1 11387 */ 11388 #define LPIT_CLRTEN_CLR_T_EN_1(x) (((uint32_t)(((uint32_t)(x)) << LPIT_CLRTEN_CLR_T_EN_1_SHIFT)) & LPIT_CLRTEN_CLR_T_EN_1_MASK) 11389 #define LPIT_CLRTEN_CLR_T_EN_2_MASK (0x4U) 11390 #define LPIT_CLRTEN_CLR_T_EN_2_SHIFT (2U) 11391 /*! CLR_T_EN_2 - Clear Timer 2 Enable 11392 * 0b0..No Action 11393 * 0b1..Clear the Timer Enable bit (TCTRL2[T_EN]) for Timer Channel 2 11394 */ 11395 #define LPIT_CLRTEN_CLR_T_EN_2(x) (((uint32_t)(((uint32_t)(x)) << LPIT_CLRTEN_CLR_T_EN_2_SHIFT)) & LPIT_CLRTEN_CLR_T_EN_2_MASK) 11396 #define LPIT_CLRTEN_CLR_T_EN_3_MASK (0x8U) 11397 #define LPIT_CLRTEN_CLR_T_EN_3_SHIFT (3U) 11398 /*! CLR_T_EN_3 - Clear Timer 3 Enable 11399 * 0b0..No Action 11400 * 0b1..Clear the Timer Enable bit (TCTRL3[T_EN]) for Timer Channel 3 11401 */ 11402 #define LPIT_CLRTEN_CLR_T_EN_3(x) (((uint32_t)(((uint32_t)(x)) << LPIT_CLRTEN_CLR_T_EN_3_SHIFT)) & LPIT_CLRTEN_CLR_T_EN_3_MASK) 11403 /*! @} */ 11404 11405 /*! @name TVAL - Timer Value Register */ 11406 /*! @{ */ 11407 #define LPIT_TVAL_TMR_VAL_MASK (0xFFFFFFFFU) 11408 #define LPIT_TVAL_TMR_VAL_SHIFT (0U) 11409 /*! TMR_VAL - Timer Value 11410 * 0b00000000000000000000000000000000..Invalid load value in compare mode 11411 * 0b00000000000000000000000000000001..Invalid load value in compare mode 11412 * 0b00000000000000000000000000000010-0b11111111111111111111111111111111..In compare mode: the value to be loaded; in capture mode, the value of the timer 11413 */ 11414 #define LPIT_TVAL_TMR_VAL(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TVAL_TMR_VAL_SHIFT)) & LPIT_TVAL_TMR_VAL_MASK) 11415 /*! @} */ 11416 11417 /* The count of LPIT_TVAL */ 11418 #define LPIT_TVAL_COUNT (4U) 11419 11420 /*! @name CVAL - Current Timer Value */ 11421 /*! @{ */ 11422 #define LPIT_CVAL_TMR_CUR_VAL_MASK (0xFFFFFFFFU) 11423 #define LPIT_CVAL_TMR_CUR_VAL_SHIFT (0U) 11424 #define LPIT_CVAL_TMR_CUR_VAL(x) (((uint32_t)(((uint32_t)(x)) << LPIT_CVAL_TMR_CUR_VAL_SHIFT)) & LPIT_CVAL_TMR_CUR_VAL_MASK) 11425 /*! @} */ 11426 11427 /* The count of LPIT_CVAL */ 11428 #define LPIT_CVAL_COUNT (4U) 11429 11430 /*! @name TCTRL - Timer Control Register */ 11431 /*! @{ */ 11432 #define LPIT_TCTRL_T_EN_MASK (0x1U) 11433 #define LPIT_TCTRL_T_EN_SHIFT (0U) 11434 /*! T_EN - Timer Enable 11435 * 0b0..Timer Channel is disabled 11436 * 0b1..Timer Channel is enabled 11437 */ 11438 #define LPIT_TCTRL_T_EN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_T_EN_SHIFT)) & LPIT_TCTRL_T_EN_MASK) 11439 #define LPIT_TCTRL_CHAIN_MASK (0x2U) 11440 #define LPIT_TCTRL_CHAIN_SHIFT (1U) 11441 /*! CHAIN - Chain Channel 11442 * 0b0..Channel Chaining is disabled. The channel timer runs independently. 11443 * 0b1..Channel Chaining is enabled. The timer decrements on the previous channel's timeout. 11444 */ 11445 #define LPIT_TCTRL_CHAIN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_CHAIN_SHIFT)) & LPIT_TCTRL_CHAIN_MASK) 11446 #define LPIT_TCTRL_MODE_MASK (0xCU) 11447 #define LPIT_TCTRL_MODE_SHIFT (2U) 11448 /*! MODE - Timer Operation Mode 11449 * 0b00..32-bit Periodic Counter 11450 * 0b01..Dual 16-bit Periodic Counter 11451 * 0b10..32-bit Trigger Accumulator 11452 * 0b11..32-bit Trigger Input Capture 11453 */ 11454 #define LPIT_TCTRL_MODE(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_MODE_SHIFT)) & LPIT_TCTRL_MODE_MASK) 11455 #define LPIT_TCTRL_TSOT_MASK (0x10000U) 11456 #define LPIT_TCTRL_TSOT_SHIFT (16U) 11457 /*! TSOT - Timer Start On Trigger 11458 * 0b0..Timer starts to decrement immediately based on the restart condition (controlled by the Timer Stop On Interrupt bit (TSOI)) 11459 * 0b1..Timer starts to decrement when a rising edge on a selected trigger is detected 11460 */ 11461 #define LPIT_TCTRL_TSOT(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TSOT_SHIFT)) & LPIT_TCTRL_TSOT_MASK) 11462 #define LPIT_TCTRL_TSOI_MASK (0x20000U) 11463 #define LPIT_TCTRL_TSOI_SHIFT (17U) 11464 /*! TSOI - Timer Stop On Interrupt 11465 * 0b0..The channel timer does not stop after timeout 11466 * 0b1..The channel timer will stop after a timeout, and the channel timer will restart based on Timer Start On Trigger bit (TSOT). When TSOT = 0, the channel timer will restart after a rising edge on the Timer Enable bit (T_EN) is detected (which means that the timer channel is disabled and then enabled). When TSOT = 1, the channel timer will restart after a rising edge on the selected trigger is detected. 11467 */ 11468 #define LPIT_TCTRL_TSOI(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TSOI_SHIFT)) & LPIT_TCTRL_TSOI_MASK) 11469 #define LPIT_TCTRL_TROT_MASK (0x40000U) 11470 #define LPIT_TCTRL_TROT_SHIFT (18U) 11471 /*! TROT - Timer Reload On Trigger 11472 * 0b0..Timer will not reload on the selected trigger 11473 * 0b1..Timer will reload on the selected trigger 11474 */ 11475 #define LPIT_TCTRL_TROT(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TROT_SHIFT)) & LPIT_TCTRL_TROT_MASK) 11476 #define LPIT_TCTRL_TRG_SRC_MASK (0x800000U) 11477 #define LPIT_TCTRL_TRG_SRC_SHIFT (23U) 11478 /*! TRG_SRC - Trigger Source 11479 * 0b0..Selects external triggers 11480 * 0b1..Selects internal triggers 11481 */ 11482 #define LPIT_TCTRL_TRG_SRC(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TRG_SRC_SHIFT)) & LPIT_TCTRL_TRG_SRC_MASK) 11483 #define LPIT_TCTRL_TRG_SEL_MASK (0xF000000U) 11484 #define LPIT_TCTRL_TRG_SEL_SHIFT (24U) 11485 /*! TRG_SEL - Trigger Select 11486 * 0b0000-0b0011..Timer channel 0 - 3 trigger source is selected 11487 * 0b0100-0b1111..Reserved 11488 */ 11489 #define LPIT_TCTRL_TRG_SEL(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TRG_SEL_SHIFT)) & LPIT_TCTRL_TRG_SEL_MASK) 11490 /*! @} */ 11491 11492 /* The count of LPIT_TCTRL */ 11493 #define LPIT_TCTRL_COUNT (4U) 11494 11495 11496 /*! 11497 * @} 11498 */ /* end of group LPIT_Register_Masks */ 11499 11500 11501 /* LPIT - Peripheral instance base addresses */ 11502 /** Peripheral LPIT0 base address */ 11503 #define LPIT0_BASE (0x40030000u) 11504 /** Peripheral LPIT0 base pointer */ 11505 #define LPIT0 ((LPIT_Type *)LPIT0_BASE) 11506 /** Peripheral LPIT1 base address */ 11507 #define LPIT1_BASE (0x4102A000u) 11508 /** Peripheral LPIT1 base pointer */ 11509 #define LPIT1 ((LPIT_Type *)LPIT1_BASE) 11510 /** Array initializer of LPIT peripheral base addresses */ 11511 #define LPIT_BASE_ADDRS { LPIT0_BASE, LPIT1_BASE } 11512 /** Array initializer of LPIT peripheral base pointers */ 11513 #define LPIT_BASE_PTRS { LPIT0, LPIT1 } 11514 /** Interrupt vectors for the LPIT peripheral type */ 11515 #define LPIT_IRQS { { LPIT0_IRQn, LPIT0_IRQn, LPIT0_IRQn, LPIT0_IRQn }, { LPIT1_IRQn, LPIT1_IRQn, LPIT1_IRQn, LPIT1_IRQn } } 11516 11517 /*! 11518 * @} 11519 */ /* end of group LPIT_Peripheral_Access_Layer */ 11520 11521 11522 /* ---------------------------------------------------------------------------- 11523 -- LPSPI Peripheral Access Layer 11524 ---------------------------------------------------------------------------- */ 11525 11526 /*! 11527 * @addtogroup LPSPI_Peripheral_Access_Layer LPSPI Peripheral Access Layer 11528 * @{ 11529 */ 11530 11531 /** LPSPI - Register Layout Typedef */ 11532 typedef struct { 11533 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 11534 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 11535 uint8_t RESERVED_0[8]; 11536 __IO uint32_t CR; /**< Control Register, offset: 0x10 */ 11537 __IO uint32_t SR; /**< Status Register, offset: 0x14 */ 11538 __IO uint32_t IER; /**< Interrupt Enable Register, offset: 0x18 */ 11539 __IO uint32_t DER; /**< DMA Enable Register, offset: 0x1C */ 11540 __IO uint32_t CFGR0; /**< Configuration Register 0, offset: 0x20 */ 11541 __IO uint32_t CFGR1; /**< Configuration Register 1, offset: 0x24 */ 11542 uint8_t RESERVED_1[8]; 11543 __IO uint32_t DMR0; /**< Data Match Register 0, offset: 0x30 */ 11544 __IO uint32_t DMR1; /**< Data Match Register 1, offset: 0x34 */ 11545 uint8_t RESERVED_2[8]; 11546 __IO uint32_t CCR; /**< Clock Configuration Register, offset: 0x40 */ 11547 uint8_t RESERVED_3[20]; 11548 __IO uint32_t FCR; /**< FIFO Control Register, offset: 0x58 */ 11549 __I uint32_t FSR; /**< FIFO Status Register, offset: 0x5C */ 11550 __IO uint32_t TCR; /**< Transmit Command Register, offset: 0x60 */ 11551 __O uint32_t TDR; /**< Transmit Data Register, offset: 0x64 */ 11552 uint8_t RESERVED_4[8]; 11553 __I uint32_t RSR; /**< Receive Status Register, offset: 0x70 */ 11554 __I uint32_t RDR; /**< Receive Data Register, offset: 0x74 */ 11555 } LPSPI_Type; 11556 11557 /* ---------------------------------------------------------------------------- 11558 -- LPSPI Register Masks 11559 ---------------------------------------------------------------------------- */ 11560 11561 /*! 11562 * @addtogroup LPSPI_Register_Masks LPSPI Register Masks 11563 * @{ 11564 */ 11565 11566 /*! @name VERID - Version ID Register */ 11567 /*! @{ */ 11568 #define LPSPI_VERID_FEATURE_MASK (0xFFFFU) 11569 #define LPSPI_VERID_FEATURE_SHIFT (0U) 11570 /*! FEATURE - Module Identification Number 11571 * 0b0000000000000100..Standard feature set supporting a 32-bit shift register. 11572 */ 11573 #define LPSPI_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_FEATURE_SHIFT)) & LPSPI_VERID_FEATURE_MASK) 11574 #define LPSPI_VERID_MINOR_MASK (0xFF0000U) 11575 #define LPSPI_VERID_MINOR_SHIFT (16U) 11576 #define LPSPI_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MINOR_SHIFT)) & LPSPI_VERID_MINOR_MASK) 11577 #define LPSPI_VERID_MAJOR_MASK (0xFF000000U) 11578 #define LPSPI_VERID_MAJOR_SHIFT (24U) 11579 #define LPSPI_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MAJOR_SHIFT)) & LPSPI_VERID_MAJOR_MASK) 11580 /*! @} */ 11581 11582 /*! @name PARAM - Parameter Register */ 11583 /*! @{ */ 11584 #define LPSPI_PARAM_TXFIFO_MASK (0xFFU) 11585 #define LPSPI_PARAM_TXFIFO_SHIFT (0U) 11586 #define LPSPI_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_TXFIFO_SHIFT)) & LPSPI_PARAM_TXFIFO_MASK) 11587 #define LPSPI_PARAM_RXFIFO_MASK (0xFF00U) 11588 #define LPSPI_PARAM_RXFIFO_SHIFT (8U) 11589 #define LPSPI_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_RXFIFO_SHIFT)) & LPSPI_PARAM_RXFIFO_MASK) 11590 /*! @} */ 11591 11592 /*! @name CR - Control Register */ 11593 /*! @{ */ 11594 #define LPSPI_CR_MEN_MASK (0x1U) 11595 #define LPSPI_CR_MEN_SHIFT (0U) 11596 /*! MEN - Module Enable 11597 * 0b0..Module is disabled 11598 * 0b1..Module is enabled 11599 */ 11600 #define LPSPI_CR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_MEN_SHIFT)) & LPSPI_CR_MEN_MASK) 11601 #define LPSPI_CR_RST_MASK (0x2U) 11602 #define LPSPI_CR_RST_SHIFT (1U) 11603 /*! RST - Software Reset 11604 * 0b0..Master logic is not reset 11605 * 0b1..Master logic is reset 11606 */ 11607 #define LPSPI_CR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RST_SHIFT)) & LPSPI_CR_RST_MASK) 11608 #define LPSPI_CR_DOZEN_MASK (0x4U) 11609 #define LPSPI_CR_DOZEN_SHIFT (2U) 11610 /*! DOZEN - Doze mode enable 11611 * 0b0..Module is enabled in Doze mode 11612 * 0b1..Module is disabled in Doze mode 11613 */ 11614 #define LPSPI_CR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DOZEN_SHIFT)) & LPSPI_CR_DOZEN_MASK) 11615 #define LPSPI_CR_DBGEN_MASK (0x8U) 11616 #define LPSPI_CR_DBGEN_SHIFT (3U) 11617 /*! DBGEN - Debug Enable 11618 * 0b0..Module is disabled in debug mode 11619 * 0b1..Module is enabled in debug mode 11620 */ 11621 #define LPSPI_CR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DBGEN_SHIFT)) & LPSPI_CR_DBGEN_MASK) 11622 #define LPSPI_CR_RTF_MASK (0x100U) 11623 #define LPSPI_CR_RTF_SHIFT (8U) 11624 /*! RTF - Reset Transmit FIFO 11625 * 0b0..No effect 11626 * 0b1..Transmit FIFO is reset 11627 */ 11628 #define LPSPI_CR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RTF_SHIFT)) & LPSPI_CR_RTF_MASK) 11629 #define LPSPI_CR_RRF_MASK (0x200U) 11630 #define LPSPI_CR_RRF_SHIFT (9U) 11631 /*! RRF - Reset Receive FIFO 11632 * 0b0..No effect 11633 * 0b1..Receive FIFO is reset 11634 */ 11635 #define LPSPI_CR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RRF_SHIFT)) & LPSPI_CR_RRF_MASK) 11636 /*! @} */ 11637 11638 /*! @name SR - Status Register */ 11639 /*! @{ */ 11640 #define LPSPI_SR_TDF_MASK (0x1U) 11641 #define LPSPI_SR_TDF_SHIFT (0U) 11642 /*! TDF - Transmit Data Flag 11643 * 0b0..Transmit data not requested 11644 * 0b1..Transmit data is requested 11645 */ 11646 #define LPSPI_SR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TDF_SHIFT)) & LPSPI_SR_TDF_MASK) 11647 #define LPSPI_SR_RDF_MASK (0x2U) 11648 #define LPSPI_SR_RDF_SHIFT (1U) 11649 /*! RDF - Receive Data Flag 11650 * 0b0..Receive Data is not ready 11651 * 0b1..Receive data is ready 11652 */ 11653 #define LPSPI_SR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_RDF_SHIFT)) & LPSPI_SR_RDF_MASK) 11654 #define LPSPI_SR_WCF_MASK (0x100U) 11655 #define LPSPI_SR_WCF_SHIFT (8U) 11656 /*! WCF - Word Complete Flag 11657 * 0b0..Transfer of a received word has not yet completed 11658 * 0b1..Transfer of a received word has completed 11659 */ 11660 #define LPSPI_SR_WCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_WCF_SHIFT)) & LPSPI_SR_WCF_MASK) 11661 #define LPSPI_SR_FCF_MASK (0x200U) 11662 #define LPSPI_SR_FCF_SHIFT (9U) 11663 /*! FCF - Frame Complete Flag 11664 * 0b0..Frame transfer has not completed 11665 * 0b1..Frame transfer has completed 11666 */ 11667 #define LPSPI_SR_FCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_FCF_SHIFT)) & LPSPI_SR_FCF_MASK) 11668 #define LPSPI_SR_TCF_MASK (0x400U) 11669 #define LPSPI_SR_TCF_SHIFT (10U) 11670 /*! TCF - Transfer Complete Flag 11671 * 0b0..All transfers have not completed 11672 * 0b1..All transfers have completed 11673 */ 11674 #define LPSPI_SR_TCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TCF_SHIFT)) & LPSPI_SR_TCF_MASK) 11675 #define LPSPI_SR_TEF_MASK (0x800U) 11676 #define LPSPI_SR_TEF_SHIFT (11U) 11677 /*! TEF - Transmit Error Flag 11678 * 0b0..Transmit FIFO underrun has not occurred 11679 * 0b1..Transmit FIFO underrun has occurred 11680 */ 11681 #define LPSPI_SR_TEF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TEF_SHIFT)) & LPSPI_SR_TEF_MASK) 11682 #define LPSPI_SR_REF_MASK (0x1000U) 11683 #define LPSPI_SR_REF_SHIFT (12U) 11684 /*! REF - Receive Error Flag 11685 * 0b0..Receive FIFO has not overflowed 11686 * 0b1..Receive FIFO has overflowed 11687 */ 11688 #define LPSPI_SR_REF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_REF_SHIFT)) & LPSPI_SR_REF_MASK) 11689 #define LPSPI_SR_DMF_MASK (0x2000U) 11690 #define LPSPI_SR_DMF_SHIFT (13U) 11691 /*! DMF - Data Match Flag 11692 * 0b0..Have not received matching data 11693 * 0b1..Have received matching data 11694 */ 11695 #define LPSPI_SR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_DMF_SHIFT)) & LPSPI_SR_DMF_MASK) 11696 #define LPSPI_SR_MBF_MASK (0x1000000U) 11697 #define LPSPI_SR_MBF_SHIFT (24U) 11698 /*! MBF - Module Busy Flag 11699 * 0b0..LPSPI is idle 11700 * 0b1..LPSPI is busy 11701 */ 11702 #define LPSPI_SR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_MBF_SHIFT)) & LPSPI_SR_MBF_MASK) 11703 /*! @} */ 11704 11705 /*! @name IER - Interrupt Enable Register */ 11706 /*! @{ */ 11707 #define LPSPI_IER_TDIE_MASK (0x1U) 11708 #define LPSPI_IER_TDIE_SHIFT (0U) 11709 /*! TDIE - Transmit Data Interrupt Enable 11710 * 0b0..Disabled 11711 * 0b1..Enabled 11712 */ 11713 #define LPSPI_IER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TDIE_SHIFT)) & LPSPI_IER_TDIE_MASK) 11714 #define LPSPI_IER_RDIE_MASK (0x2U) 11715 #define LPSPI_IER_RDIE_SHIFT (1U) 11716 /*! RDIE - Receive Data Interrupt Enable 11717 * 0b0..Disabled 11718 * 0b1..Enabled 11719 */ 11720 #define LPSPI_IER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_RDIE_SHIFT)) & LPSPI_IER_RDIE_MASK) 11721 #define LPSPI_IER_WCIE_MASK (0x100U) 11722 #define LPSPI_IER_WCIE_SHIFT (8U) 11723 /*! WCIE - Word Complete Interrupt Enable 11724 * 0b0..Disabled 11725 * 0b1..Enabled 11726 */ 11727 #define LPSPI_IER_WCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_WCIE_SHIFT)) & LPSPI_IER_WCIE_MASK) 11728 #define LPSPI_IER_FCIE_MASK (0x200U) 11729 #define LPSPI_IER_FCIE_SHIFT (9U) 11730 /*! FCIE - Frame Complete Interrupt Enable 11731 * 0b0..Disabled 11732 * 0b1..Enabled 11733 */ 11734 #define LPSPI_IER_FCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_FCIE_SHIFT)) & LPSPI_IER_FCIE_MASK) 11735 #define LPSPI_IER_TCIE_MASK (0x400U) 11736 #define LPSPI_IER_TCIE_SHIFT (10U) 11737 /*! TCIE - Transfer Complete Interrupt Enable 11738 * 0b0..Disabled 11739 * 0b1..Enabled 11740 */ 11741 #define LPSPI_IER_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TCIE_SHIFT)) & LPSPI_IER_TCIE_MASK) 11742 #define LPSPI_IER_TEIE_MASK (0x800U) 11743 #define LPSPI_IER_TEIE_SHIFT (11U) 11744 /*! TEIE - Transmit Error Interrupt Enable 11745 * 0b0..Disabled 11746 * 0b1..Enabled 11747 */ 11748 #define LPSPI_IER_TEIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TEIE_SHIFT)) & LPSPI_IER_TEIE_MASK) 11749 #define LPSPI_IER_REIE_MASK (0x1000U) 11750 #define LPSPI_IER_REIE_SHIFT (12U) 11751 /*! REIE - Receive Error Interrupt Enable 11752 * 0b0..Disabled 11753 * 0b1..Enabled 11754 */ 11755 #define LPSPI_IER_REIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_REIE_SHIFT)) & LPSPI_IER_REIE_MASK) 11756 #define LPSPI_IER_DMIE_MASK (0x2000U) 11757 #define LPSPI_IER_DMIE_SHIFT (13U) 11758 /*! DMIE - Data Match Interrupt Enable 11759 * 0b0..Disabled 11760 * 0b1..Enabled 11761 */ 11762 #define LPSPI_IER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_DMIE_SHIFT)) & LPSPI_IER_DMIE_MASK) 11763 /*! @} */ 11764 11765 /*! @name DER - DMA Enable Register */ 11766 /*! @{ */ 11767 #define LPSPI_DER_TDDE_MASK (0x1U) 11768 #define LPSPI_DER_TDDE_SHIFT (0U) 11769 /*! TDDE - Transmit Data DMA Enable 11770 * 0b0..DMA request is disabled 11771 * 0b1..DMA request is enabled 11772 */ 11773 #define LPSPI_DER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_TDDE_SHIFT)) & LPSPI_DER_TDDE_MASK) 11774 #define LPSPI_DER_RDDE_MASK (0x2U) 11775 #define LPSPI_DER_RDDE_SHIFT (1U) 11776 /*! RDDE - Receive Data DMA Enable 11777 * 0b0..DMA request is disabled 11778 * 0b1..DMA request is enabled 11779 */ 11780 #define LPSPI_DER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_RDDE_SHIFT)) & LPSPI_DER_RDDE_MASK) 11781 /*! @} */ 11782 11783 /*! @name CFGR0 - Configuration Register 0 */ 11784 /*! @{ */ 11785 #define LPSPI_CFGR0_HREN_MASK (0x1U) 11786 #define LPSPI_CFGR0_HREN_SHIFT (0U) 11787 /*! HREN - Host Request Enable 11788 * 0b0..Host request is disabled 11789 * 0b1..Host request is enabled 11790 */ 11791 #define LPSPI_CFGR0_HREN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_HREN_SHIFT)) & LPSPI_CFGR0_HREN_MASK) 11792 #define LPSPI_CFGR0_HRPOL_MASK (0x2U) 11793 #define LPSPI_CFGR0_HRPOL_SHIFT (1U) 11794 /*! HRPOL - Host Request Polarity 11795 * 0b0..Active low 11796 * 0b1..Active high 11797 */ 11798 #define LPSPI_CFGR0_HRPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_HRPOL_SHIFT)) & LPSPI_CFGR0_HRPOL_MASK) 11799 #define LPSPI_CFGR0_HRSEL_MASK (0x4U) 11800 #define LPSPI_CFGR0_HRSEL_SHIFT (2U) 11801 /*! HRSEL - Host Request Select 11802 * 0b0..Host request input is the LPSPI_HREQ pin 11803 * 0b1..Host request input is the input trigger 11804 */ 11805 #define LPSPI_CFGR0_HRSEL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_HRSEL_SHIFT)) & LPSPI_CFGR0_HRSEL_MASK) 11806 #define LPSPI_CFGR0_CIRFIFO_MASK (0x100U) 11807 #define LPSPI_CFGR0_CIRFIFO_SHIFT (8U) 11808 /*! CIRFIFO - Circular FIFO Enable 11809 * 0b0..Circular FIFO is disabled 11810 * 0b1..Circular FIFO is enabled 11811 */ 11812 #define LPSPI_CFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_CIRFIFO_SHIFT)) & LPSPI_CFGR0_CIRFIFO_MASK) 11813 #define LPSPI_CFGR0_RDMO_MASK (0x200U) 11814 #define LPSPI_CFGR0_RDMO_SHIFT (9U) 11815 /*! RDMO - Receive Data Match Only 11816 * 0b0..Received data is stored in the receive FIFO as in normal operations 11817 * 0b1..Received data is discarded unless the Data Match Flag (DMF) is set 11818 */ 11819 #define LPSPI_CFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_RDMO_SHIFT)) & LPSPI_CFGR0_RDMO_MASK) 11820 /*! @} */ 11821 11822 /*! @name CFGR1 - Configuration Register 1 */ 11823 /*! @{ */ 11824 #define LPSPI_CFGR1_MASTER_MASK (0x1U) 11825 #define LPSPI_CFGR1_MASTER_SHIFT (0U) 11826 /*! MASTER - Master Mode 11827 * 0b0..Slave mode 11828 * 0b1..Master mode 11829 */ 11830 #define LPSPI_CFGR1_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MASTER_SHIFT)) & LPSPI_CFGR1_MASTER_MASK) 11831 #define LPSPI_CFGR1_SAMPLE_MASK (0x2U) 11832 #define LPSPI_CFGR1_SAMPLE_SHIFT (1U) 11833 /*! SAMPLE - Sample Point 11834 * 0b0..Input data is sampled on SCK edge 11835 * 0b1..Input data is sampled on delayed SCK edge 11836 */ 11837 #define LPSPI_CFGR1_SAMPLE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_SAMPLE_SHIFT)) & LPSPI_CFGR1_SAMPLE_MASK) 11838 #define LPSPI_CFGR1_AUTOPCS_MASK (0x4U) 11839 #define LPSPI_CFGR1_AUTOPCS_SHIFT (2U) 11840 /*! AUTOPCS - Automatic PCS 11841 * 0b0..Automatic PCS generation is disabled 11842 * 0b1..Automatic PCS generation is enabled 11843 */ 11844 #define LPSPI_CFGR1_AUTOPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_AUTOPCS_SHIFT)) & LPSPI_CFGR1_AUTOPCS_MASK) 11845 #define LPSPI_CFGR1_NOSTALL_MASK (0x8U) 11846 #define LPSPI_CFGR1_NOSTALL_SHIFT (3U) 11847 /*! NOSTALL - No Stall 11848 * 0b0..Transfers will stall when the transmit FIFO is empty or the receive FIFO is full 11849 * 0b1..Transfers will not stall, allowing transmit FIFO underruns or receive FIFO overruns to occur 11850 */ 11851 #define LPSPI_CFGR1_NOSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_NOSTALL_SHIFT)) & LPSPI_CFGR1_NOSTALL_MASK) 11852 #define LPSPI_CFGR1_PCSPOL_MASK (0xF00U) 11853 #define LPSPI_CFGR1_PCSPOL_SHIFT (8U) 11854 /*! PCSPOL - Peripheral Chip Select Polarity 11855 * 0b0000..The Peripheral Chip Select pin PCSx is active low 11856 * 0b0001..The Peripheral Chip Select pin PCSx is active high 11857 */ 11858 #define LPSPI_CFGR1_PCSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PCSPOL_SHIFT)) & LPSPI_CFGR1_PCSPOL_MASK) 11859 #define LPSPI_CFGR1_MATCFG_MASK (0x70000U) 11860 #define LPSPI_CFGR1_MATCFG_SHIFT (16U) 11861 /*! MATCFG - Match Configuration 11862 * 0b000..Match is disabled 11863 * 0b001..Reserved 11864 * 0b010..010b - Match is enabled, if 1st data word equals MATCH0 OR MATCH1, i.e., (1st data word = MATCH0 + MATCH1) 11865 * 0b011..011b - Match is enabled, if any data word equals MATCH0 OR MATCH1, i.e., (any data word = MATCH0 + MATCH1) 11866 * 0b100..100b - Match is enabled, if 1st data word equals MATCH0 AND 2nd data word equals MATCH1, i.e., [(1st data word = MATCH0) * (2nd data word = MATCH1)] 11867 * 0b101..101b - Match is enabled, if any data word equals MATCH0 AND the next data word equals MATCH1, i.e., [(any data word = MATCH0) * (next data word = MATCH1)] 11868 * 0b110..110b - Match is enabled, if (1st data word AND MATCH1) equals (MATCH0 AND MATCH1), i.e., [(1st data word * MATCH1) = (MATCH0 * MATCH1)] 11869 * 0b111..111b - Match is enabled, if (any data word AND MATCH1) equals (MATCH0 AND MATCH1), i.e., [(any data word * MATCH1) = (MATCH0 * MATCH1)] 11870 */ 11871 #define LPSPI_CFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MATCFG_SHIFT)) & LPSPI_CFGR1_MATCFG_MASK) 11872 #define LPSPI_CFGR1_PINCFG_MASK (0x3000000U) 11873 #define LPSPI_CFGR1_PINCFG_SHIFT (24U) 11874 /*! PINCFG - Pin Configuration 11875 * 0b00..SIN is used for input data and SOUT is used for output data 11876 * 0b01..SIN is used for both input and output data 11877 * 0b10..SOUT is used for both input and output data 11878 * 0b11..SOUT is used for input data and SIN is used for output data 11879 */ 11880 #define LPSPI_CFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PINCFG_SHIFT)) & LPSPI_CFGR1_PINCFG_MASK) 11881 #define LPSPI_CFGR1_OUTCFG_MASK (0x4000000U) 11882 #define LPSPI_CFGR1_OUTCFG_SHIFT (26U) 11883 /*! OUTCFG - Output Config 11884 * 0b0..Output data retains last value when chip select is negated 11885 * 0b1..Output data is tristated when chip select is negated 11886 */ 11887 #define LPSPI_CFGR1_OUTCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_OUTCFG_SHIFT)) & LPSPI_CFGR1_OUTCFG_MASK) 11888 #define LPSPI_CFGR1_PCSCFG_MASK (0x8000000U) 11889 #define LPSPI_CFGR1_PCSCFG_SHIFT (27U) 11890 /*! PCSCFG - Peripheral Chip Select Configuration 11891 * 0b0..PCS[3:2] are enabled 11892 * 0b1..PCS[3:2] are disabled 11893 */ 11894 #define LPSPI_CFGR1_PCSCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PCSCFG_SHIFT)) & LPSPI_CFGR1_PCSCFG_MASK) 11895 /*! @} */ 11896 11897 /*! @name DMR0 - Data Match Register 0 */ 11898 /*! @{ */ 11899 #define LPSPI_DMR0_MATCH0_MASK (0xFFFFFFFFU) 11900 #define LPSPI_DMR0_MATCH0_SHIFT (0U) 11901 #define LPSPI_DMR0_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR0_MATCH0_SHIFT)) & LPSPI_DMR0_MATCH0_MASK) 11902 /*! @} */ 11903 11904 /*! @name DMR1 - Data Match Register 1 */ 11905 /*! @{ */ 11906 #define LPSPI_DMR1_MATCH1_MASK (0xFFFFFFFFU) 11907 #define LPSPI_DMR1_MATCH1_SHIFT (0U) 11908 #define LPSPI_DMR1_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR1_MATCH1_SHIFT)) & LPSPI_DMR1_MATCH1_MASK) 11909 /*! @} */ 11910 11911 /*! @name CCR - Clock Configuration Register */ 11912 /*! @{ */ 11913 #define LPSPI_CCR_SCKDIV_MASK (0xFFU) 11914 #define LPSPI_CCR_SCKDIV_SHIFT (0U) 11915 #define LPSPI_CCR_SCKDIV(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKDIV_SHIFT)) & LPSPI_CCR_SCKDIV_MASK) 11916 #define LPSPI_CCR_DBT_MASK (0xFF00U) 11917 #define LPSPI_CCR_DBT_SHIFT (8U) 11918 #define LPSPI_CCR_DBT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_DBT_SHIFT)) & LPSPI_CCR_DBT_MASK) 11919 #define LPSPI_CCR_PCSSCK_MASK (0xFF0000U) 11920 #define LPSPI_CCR_PCSSCK_SHIFT (16U) 11921 #define LPSPI_CCR_PCSSCK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_PCSSCK_SHIFT)) & LPSPI_CCR_PCSSCK_MASK) 11922 #define LPSPI_CCR_SCKPCS_MASK (0xFF000000U) 11923 #define LPSPI_CCR_SCKPCS_SHIFT (24U) 11924 #define LPSPI_CCR_SCKPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKPCS_SHIFT)) & LPSPI_CCR_SCKPCS_MASK) 11925 /*! @} */ 11926 11927 /*! @name FCR - FIFO Control Register */ 11928 /*! @{ */ 11929 #define LPSPI_FCR_TXWATER_MASK (0x3U) 11930 #define LPSPI_FCR_TXWATER_SHIFT (0U) 11931 #define LPSPI_FCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_TXWATER_SHIFT)) & LPSPI_FCR_TXWATER_MASK) 11932 #define LPSPI_FCR_RXWATER_MASK (0x30000U) 11933 #define LPSPI_FCR_RXWATER_SHIFT (16U) 11934 #define LPSPI_FCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_RXWATER_SHIFT)) & LPSPI_FCR_RXWATER_MASK) 11935 /*! @} */ 11936 11937 /*! @name FSR - FIFO Status Register */ 11938 /*! @{ */ 11939 #define LPSPI_FSR_TXCOUNT_MASK (0x7U) 11940 #define LPSPI_FSR_TXCOUNT_SHIFT (0U) 11941 #define LPSPI_FSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_TXCOUNT_SHIFT)) & LPSPI_FSR_TXCOUNT_MASK) 11942 #define LPSPI_FSR_RXCOUNT_MASK (0x70000U) 11943 #define LPSPI_FSR_RXCOUNT_SHIFT (16U) 11944 #define LPSPI_FSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_RXCOUNT_SHIFT)) & LPSPI_FSR_RXCOUNT_MASK) 11945 /*! @} */ 11946 11947 /*! @name TCR - Transmit Command Register */ 11948 /*! @{ */ 11949 #define LPSPI_TCR_FRAMESZ_MASK (0xFFFU) 11950 #define LPSPI_TCR_FRAMESZ_SHIFT (0U) 11951 #define LPSPI_TCR_FRAMESZ(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_FRAMESZ_SHIFT)) & LPSPI_TCR_FRAMESZ_MASK) 11952 #define LPSPI_TCR_WIDTH_MASK (0x30000U) 11953 #define LPSPI_TCR_WIDTH_SHIFT (16U) 11954 /*! WIDTH - Transfer Width 11955 * 0b00..1 bit transfer 11956 * 0b01..2 bit transfer 11957 * 0b10..4 bit transfer 11958 * 0b11..Reserved 11959 */ 11960 #define LPSPI_TCR_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_WIDTH_SHIFT)) & LPSPI_TCR_WIDTH_MASK) 11961 #define LPSPI_TCR_TXMSK_MASK (0x40000U) 11962 #define LPSPI_TCR_TXMSK_SHIFT (18U) 11963 /*! TXMSK - Transmit Data Mask 11964 * 0b0..Normal transfer 11965 * 0b1..Mask transmit data 11966 */ 11967 #define LPSPI_TCR_TXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_TXMSK_SHIFT)) & LPSPI_TCR_TXMSK_MASK) 11968 #define LPSPI_TCR_RXMSK_MASK (0x80000U) 11969 #define LPSPI_TCR_RXMSK_SHIFT (19U) 11970 /*! RXMSK - Receive Data Mask 11971 * 0b0..Normal transfer 11972 * 0b1..Receive data is masked 11973 */ 11974 #define LPSPI_TCR_RXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_RXMSK_SHIFT)) & LPSPI_TCR_RXMSK_MASK) 11975 #define LPSPI_TCR_CONTC_MASK (0x100000U) 11976 #define LPSPI_TCR_CONTC_SHIFT (20U) 11977 /*! CONTC - Continuing Command 11978 * 0b0..Command word for start of new transfer 11979 * 0b1..Command word for continuing transfer 11980 */ 11981 #define LPSPI_TCR_CONTC(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONTC_SHIFT)) & LPSPI_TCR_CONTC_MASK) 11982 #define LPSPI_TCR_CONT_MASK (0x200000U) 11983 #define LPSPI_TCR_CONT_SHIFT (21U) 11984 /*! CONT - Continuous Transfer 11985 * 0b0..Continuous transfer is disabled 11986 * 0b1..Continuous transfer is enabled 11987 */ 11988 #define LPSPI_TCR_CONT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONT_SHIFT)) & LPSPI_TCR_CONT_MASK) 11989 #define LPSPI_TCR_BYSW_MASK (0x400000U) 11990 #define LPSPI_TCR_BYSW_SHIFT (22U) 11991 /*! BYSW - Byte Swap 11992 * 0b0..Byte swap is disabled 11993 * 0b1..Byte swap is enabled 11994 */ 11995 #define LPSPI_TCR_BYSW(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_BYSW_SHIFT)) & LPSPI_TCR_BYSW_MASK) 11996 #define LPSPI_TCR_LSBF_MASK (0x800000U) 11997 #define LPSPI_TCR_LSBF_SHIFT (23U) 11998 /*! LSBF - LSB First 11999 * 0b0..Data is transferred MSB first 12000 * 0b1..Data is transferred LSB first 12001 */ 12002 #define LPSPI_TCR_LSBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_LSBF_SHIFT)) & LPSPI_TCR_LSBF_MASK) 12003 #define LPSPI_TCR_PCS_MASK (0x3000000U) 12004 #define LPSPI_TCR_PCS_SHIFT (24U) 12005 /*! PCS - Peripheral Chip Select 12006 * 0b00..Transfer using LPSPI_PCS[0] 12007 * 0b01..Transfer using LPSPI_PCS[1] 12008 * 0b10..Transfer using LPSPI_PCS[2] 12009 * 0b11..Transfer using LPSPI_PCS[3] 12010 */ 12011 #define LPSPI_TCR_PCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PCS_SHIFT)) & LPSPI_TCR_PCS_MASK) 12012 #define LPSPI_TCR_PRESCALE_MASK (0x38000000U) 12013 #define LPSPI_TCR_PRESCALE_SHIFT (27U) 12014 /*! PRESCALE - Prescaler Value 12015 * 0b000..Divide by 1 12016 * 0b001..Divide by 2 12017 * 0b010..Divide by 4 12018 * 0b011..Divide by 8 12019 * 0b100..Divide by 16 12020 * 0b101..Divide by 32 12021 * 0b110..Divide by 64 12022 * 0b111..Divide by 128 12023 */ 12024 #define LPSPI_TCR_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PRESCALE_SHIFT)) & LPSPI_TCR_PRESCALE_MASK) 12025 #define LPSPI_TCR_CPHA_MASK (0x40000000U) 12026 #define LPSPI_TCR_CPHA_SHIFT (30U) 12027 /*! CPHA - Clock Phase 12028 * 0b0..Data is captured on the leading edge of SCK and changed on the following edge of SCK 12029 * 0b1..Data is changed on the leading edge of SCK and captured on the following edge of SCK 12030 */ 12031 #define LPSPI_TCR_CPHA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPHA_SHIFT)) & LPSPI_TCR_CPHA_MASK) 12032 #define LPSPI_TCR_CPOL_MASK (0x80000000U) 12033 #define LPSPI_TCR_CPOL_SHIFT (31U) 12034 /*! CPOL - Clock Polarity 12035 * 0b0..The inactive state value of SCK is low 12036 * 0b1..The inactive state value of SCK is high 12037 */ 12038 #define LPSPI_TCR_CPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPOL_SHIFT)) & LPSPI_TCR_CPOL_MASK) 12039 /*! @} */ 12040 12041 /*! @name TDR - Transmit Data Register */ 12042 /*! @{ */ 12043 #define LPSPI_TDR_DATA_MASK (0xFFFFFFFFU) 12044 #define LPSPI_TDR_DATA_SHIFT (0U) 12045 #define LPSPI_TDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TDR_DATA_SHIFT)) & LPSPI_TDR_DATA_MASK) 12046 /*! @} */ 12047 12048 /*! @name RSR - Receive Status Register */ 12049 /*! @{ */ 12050 #define LPSPI_RSR_SOF_MASK (0x1U) 12051 #define LPSPI_RSR_SOF_SHIFT (0U) 12052 /*! SOF - Start Of Frame 12053 * 0b0..Subsequent data word received after LPSPI_PCS assertion 12054 * 0b1..First data word received after LPSPI_PCS assertion 12055 */ 12056 #define LPSPI_RSR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_SOF_SHIFT)) & LPSPI_RSR_SOF_MASK) 12057 #define LPSPI_RSR_RXEMPTY_MASK (0x2U) 12058 #define LPSPI_RSR_RXEMPTY_SHIFT (1U) 12059 /*! RXEMPTY - RX FIFO Empty 12060 * 0b0..RX FIFO is not empty 12061 * 0b1..RX FIFO is empty 12062 */ 12063 #define LPSPI_RSR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_RXEMPTY_SHIFT)) & LPSPI_RSR_RXEMPTY_MASK) 12064 /*! @} */ 12065 12066 /*! @name RDR - Receive Data Register */ 12067 /*! @{ */ 12068 #define LPSPI_RDR_DATA_MASK (0xFFFFFFFFU) 12069 #define LPSPI_RDR_DATA_SHIFT (0U) 12070 #define LPSPI_RDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RDR_DATA_SHIFT)) & LPSPI_RDR_DATA_MASK) 12071 /*! @} */ 12072 12073 12074 /*! 12075 * @} 12076 */ /* end of group LPSPI_Register_Masks */ 12077 12078 12079 /* LPSPI - Peripheral instance base addresses */ 12080 /** Peripheral LPSPI0 base address */ 12081 #define LPSPI0_BASE (0x4003F000u) 12082 /** Peripheral LPSPI0 base pointer */ 12083 #define LPSPI0 ((LPSPI_Type *)LPSPI0_BASE) 12084 /** Peripheral LPSPI1 base address */ 12085 #define LPSPI1_BASE (0x40040000u) 12086 /** Peripheral LPSPI1 base pointer */ 12087 #define LPSPI1 ((LPSPI_Type *)LPSPI1_BASE) 12088 /** Peripheral LPSPI2 base address */ 12089 #define LPSPI2_BASE (0x40041000u) 12090 /** Peripheral LPSPI2 base pointer */ 12091 #define LPSPI2 ((LPSPI_Type *)LPSPI2_BASE) 12092 /** Peripheral LPSPI3 base address */ 12093 #define LPSPI3_BASE (0x41035000u) 12094 /** Peripheral LPSPI3 base pointer */ 12095 #define LPSPI3 ((LPSPI_Type *)LPSPI3_BASE) 12096 /** Array initializer of LPSPI peripheral base addresses */ 12097 #define LPSPI_BASE_ADDRS { LPSPI0_BASE, LPSPI1_BASE, LPSPI2_BASE, LPSPI3_BASE } 12098 /** Array initializer of LPSPI peripheral base pointers */ 12099 #define LPSPI_BASE_PTRS { LPSPI0, LPSPI1, LPSPI2, LPSPI3 } 12100 /** Interrupt vectors for the LPSPI peripheral type */ 12101 #define LPSPI_IRQS { LPSPI0_IRQn, LPSPI1_IRQn, LPSPI2_IRQn, LPSPI3_IRQn } 12102 12103 /*! 12104 * @} 12105 */ /* end of group LPSPI_Peripheral_Access_Layer */ 12106 12107 12108 /* ---------------------------------------------------------------------------- 12109 -- LPTMR Peripheral Access Layer 12110 ---------------------------------------------------------------------------- */ 12111 12112 /*! 12113 * @addtogroup LPTMR_Peripheral_Access_Layer LPTMR Peripheral Access Layer 12114 * @{ 12115 */ 12116 12117 /** LPTMR - Register Layout Typedef */ 12118 typedef struct { 12119 __IO uint32_t CSR; /**< Low Power Timer Control Status Register, offset: 0x0 */ 12120 __IO uint32_t PSR; /**< Low Power Timer Prescale Register, offset: 0x4 */ 12121 __IO uint32_t CMR; /**< Low Power Timer Compare Register, offset: 0x8 */ 12122 __IO uint32_t CNR; /**< Low Power Timer Counter Register, offset: 0xC */ 12123 } LPTMR_Type; 12124 12125 /* ---------------------------------------------------------------------------- 12126 -- LPTMR Register Masks 12127 ---------------------------------------------------------------------------- */ 12128 12129 /*! 12130 * @addtogroup LPTMR_Register_Masks LPTMR Register Masks 12131 * @{ 12132 */ 12133 12134 /*! @name CSR - Low Power Timer Control Status Register */ 12135 /*! @{ */ 12136 #define LPTMR_CSR_TEN_MASK (0x1U) 12137 #define LPTMR_CSR_TEN_SHIFT (0U) 12138 /*! TEN - Timer Enable 12139 * 0b0..LPTMR is disabled and internal logic is reset. 12140 * 0b1..LPTMR is enabled. 12141 */ 12142 #define LPTMR_CSR_TEN(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TEN_SHIFT)) & LPTMR_CSR_TEN_MASK) 12143 #define LPTMR_CSR_TMS_MASK (0x2U) 12144 #define LPTMR_CSR_TMS_SHIFT (1U) 12145 /*! TMS - Timer Mode Select 12146 * 0b0..Time Counter mode. 12147 * 0b1..Pulse Counter mode. 12148 */ 12149 #define LPTMR_CSR_TMS(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TMS_SHIFT)) & LPTMR_CSR_TMS_MASK) 12150 #define LPTMR_CSR_TFC_MASK (0x4U) 12151 #define LPTMR_CSR_TFC_SHIFT (2U) 12152 /*! TFC - Timer Free-Running Counter 12153 * 0b0..CNR is reset whenever TCF is set. 12154 * 0b1..CNR is reset on overflow. 12155 */ 12156 #define LPTMR_CSR_TFC(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TFC_SHIFT)) & LPTMR_CSR_TFC_MASK) 12157 #define LPTMR_CSR_TPP_MASK (0x8U) 12158 #define LPTMR_CSR_TPP_SHIFT (3U) 12159 /*! TPP - Timer Pin Polarity 12160 * 0b0..Pulse Counter input source is active-high, and the CNR will increment on the rising-edge. 12161 * 0b1..Pulse Counter input source is active-low, and the CNR will increment on the falling-edge. 12162 */ 12163 #define LPTMR_CSR_TPP(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TPP_SHIFT)) & LPTMR_CSR_TPP_MASK) 12164 #define LPTMR_CSR_TPS_MASK (0x30U) 12165 #define LPTMR_CSR_TPS_SHIFT (4U) 12166 /*! TPS - Timer Pin Select 12167 * 0b00..Pulse counter input 0 is selected. 12168 * 0b01..Pulse counter input 1 is selected. 12169 * 0b10..Pulse counter input 2 is selected. 12170 * 0b11..Pulse counter input 3 is selected. 12171 */ 12172 #define LPTMR_CSR_TPS(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TPS_SHIFT)) & LPTMR_CSR_TPS_MASK) 12173 #define LPTMR_CSR_TIE_MASK (0x40U) 12174 #define LPTMR_CSR_TIE_SHIFT (6U) 12175 /*! TIE - Timer Interrupt Enable 12176 * 0b0..Timer interrupt disabled. 12177 * 0b1..Timer interrupt enabled. 12178 */ 12179 #define LPTMR_CSR_TIE(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TIE_SHIFT)) & LPTMR_CSR_TIE_MASK) 12180 #define LPTMR_CSR_TCF_MASK (0x80U) 12181 #define LPTMR_CSR_TCF_SHIFT (7U) 12182 /*! TCF - Timer Compare Flag 12183 * 0b0..The value of CNR is not equal to CMR and increments. 12184 * 0b1..The value of CNR is equal to CMR and increments. 12185 */ 12186 #define LPTMR_CSR_TCF(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TCF_SHIFT)) & LPTMR_CSR_TCF_MASK) 12187 #define LPTMR_CSR_TDRE_MASK (0x100U) 12188 #define LPTMR_CSR_TDRE_SHIFT (8U) 12189 /*! TDRE - Timer DMA Request Enable 12190 * 0b0..Timer DMA Request disabled. 12191 * 0b1..Timer DMA Request enabled. 12192 */ 12193 #define LPTMR_CSR_TDRE(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TDRE_SHIFT)) & LPTMR_CSR_TDRE_MASK) 12194 /*! @} */ 12195 12196 /*! @name PSR - Low Power Timer Prescale Register */ 12197 /*! @{ */ 12198 #define LPTMR_PSR_PCS_MASK (0x3U) 12199 #define LPTMR_PSR_PCS_SHIFT (0U) 12200 /*! PCS - Prescaler Clock Select 12201 * 0b00..Prescaler/glitch filter clock 0 selected. 12202 * 0b01..Prescaler/glitch filter clock 1 selected. 12203 * 0b10..Prescaler/glitch filter clock 2 selected. 12204 * 0b11..Prescaler/glitch filter clock 3 selected. 12205 */ 12206 #define LPTMR_PSR_PCS(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_PSR_PCS_SHIFT)) & LPTMR_PSR_PCS_MASK) 12207 #define LPTMR_PSR_PBYP_MASK (0x4U) 12208 #define LPTMR_PSR_PBYP_SHIFT (2U) 12209 /*! PBYP - Prescaler Bypass 12210 * 0b0..Prescaler/glitch filter is enabled. 12211 * 0b1..Prescaler/glitch filter is bypassed. 12212 */ 12213 #define LPTMR_PSR_PBYP(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_PSR_PBYP_SHIFT)) & LPTMR_PSR_PBYP_MASK) 12214 #define LPTMR_PSR_PRESCALE_MASK (0x78U) 12215 #define LPTMR_PSR_PRESCALE_SHIFT (3U) 12216 /*! PRESCALE - Prescale Value 12217 * 0b0000..Prescaler divides the prescaler clock by 2; glitch filter does not support this configuration. 12218 * 0b0001..Prescaler divides the prescaler clock by 4; glitch filter recognizes change on input pin after 2 rising clock edges. 12219 * 0b0010..Prescaler divides the prescaler clock by 8; glitch filter recognizes change on input pin after 4 rising clock edges. 12220 * 0b0011..Prescaler divides the prescaler clock by 16; glitch filter recognizes change on input pin after 8 rising clock edges. 12221 * 0b0100..Prescaler divides the prescaler clock by 32; glitch filter recognizes change on input pin after 16 rising clock edges. 12222 * 0b0101..Prescaler divides the prescaler clock by 64; glitch filter recognizes change on input pin after 32 rising clock edges. 12223 * 0b0110..Prescaler divides the prescaler clock by 128; glitch filter recognizes change on input pin after 64 rising clock edges. 12224 * 0b0111..Prescaler divides the prescaler clock by 256; glitch filter recognizes change on input pin after 128 rising clock edges. 12225 * 0b1000..Prescaler divides the prescaler clock by 512; glitch filter recognizes change on input pin after 256 rising clock edges. 12226 * 0b1001..Prescaler divides the prescaler clock by 1024; glitch filter recognizes change on input pin after 512 rising clock edges. 12227 * 0b1010..Prescaler divides the prescaler clock by 2048; glitch filter recognizes change on input pin after 1024 rising clock edges. 12228 * 0b1011..Prescaler divides the prescaler clock by 4096; glitch filter recognizes change on input pin after 2048 rising clock edges. 12229 * 0b1100..Prescaler divides the prescaler clock by 8192; glitch filter recognizes change on input pin after 4096 rising clock edges. 12230 * 0b1101..Prescaler divides the prescaler clock by 16,384; glitch filter recognizes change on input pin after 8192 rising clock edges. 12231 * 0b1110..Prescaler divides the prescaler clock by 32,768; glitch filter recognizes change on input pin after 16,384 rising clock edges. 12232 * 0b1111..Prescaler divides the prescaler clock by 65,536; glitch filter recognizes change on input pin after 32,768 rising clock edges. 12233 */ 12234 #define LPTMR_PSR_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_PSR_PRESCALE_SHIFT)) & LPTMR_PSR_PRESCALE_MASK) 12235 /*! @} */ 12236 12237 /*! @name CMR - Low Power Timer Compare Register */ 12238 /*! @{ */ 12239 #define LPTMR_CMR_COMPARE_MASK (0xFFFFFFFFU) 12240 #define LPTMR_CMR_COMPARE_SHIFT (0U) 12241 #define LPTMR_CMR_COMPARE(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CMR_COMPARE_SHIFT)) & LPTMR_CMR_COMPARE_MASK) 12242 /*! @} */ 12243 12244 /*! @name CNR - Low Power Timer Counter Register */ 12245 /*! @{ */ 12246 #define LPTMR_CNR_COUNTER_MASK (0xFFFFFFFFU) 12247 #define LPTMR_CNR_COUNTER_SHIFT (0U) 12248 #define LPTMR_CNR_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CNR_COUNTER_SHIFT)) & LPTMR_CNR_COUNTER_MASK) 12249 /*! @} */ 12250 12251 12252 /*! 12253 * @} 12254 */ /* end of group LPTMR_Register_Masks */ 12255 12256 12257 /* LPTMR - Peripheral instance base addresses */ 12258 /** Peripheral LPTMR0 base address */ 12259 #define LPTMR0_BASE (0x40032000u) 12260 /** Peripheral LPTMR0 base pointer */ 12261 #define LPTMR0 ((LPTMR_Type *)LPTMR0_BASE) 12262 /** Peripheral LPTMR1 base address */ 12263 #define LPTMR1_BASE (0x40033000u) 12264 /** Peripheral LPTMR1 base pointer */ 12265 #define LPTMR1 ((LPTMR_Type *)LPTMR1_BASE) 12266 /** Peripheral LPTMR2 base address */ 12267 #define LPTMR2_BASE (0x4102B000u) 12268 /** Peripheral LPTMR2 base pointer */ 12269 #define LPTMR2 ((LPTMR_Type *)LPTMR2_BASE) 12270 /** Array initializer of LPTMR peripheral base addresses */ 12271 #define LPTMR_BASE_ADDRS { LPTMR0_BASE, LPTMR1_BASE, LPTMR2_BASE } 12272 /** Array initializer of LPTMR peripheral base pointers */ 12273 #define LPTMR_BASE_PTRS { LPTMR0, LPTMR1, LPTMR2 } 12274 /** Interrupt vectors for the LPTMR peripheral type */ 12275 #define LPTMR_IRQS { LPTMR0_IRQn, LPTMR1_IRQn, LPTMR2_IRQn } 12276 12277 /*! 12278 * @} 12279 */ /* end of group LPTMR_Peripheral_Access_Layer */ 12280 12281 12282 /* ---------------------------------------------------------------------------- 12283 -- LPUART Peripheral Access Layer 12284 ---------------------------------------------------------------------------- */ 12285 12286 /*! 12287 * @addtogroup LPUART_Peripheral_Access_Layer LPUART Peripheral Access Layer 12288 * @{ 12289 */ 12290 12291 /** LPUART - Register Layout Typedef */ 12292 typedef struct { 12293 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 12294 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 12295 __IO uint32_t GLOBAL; /**< LPUART Global Register, offset: 0x8 */ 12296 __IO uint32_t PINCFG; /**< LPUART Pin Configuration Register, offset: 0xC */ 12297 __IO uint32_t BAUD; /**< LPUART Baud Rate Register, offset: 0x10 */ 12298 __IO uint32_t STAT; /**< LPUART Status Register, offset: 0x14 */ 12299 __IO uint32_t CTRL; /**< LPUART Control Register, offset: 0x18 */ 12300 __IO uint32_t DATA; /**< LPUART Data Register, offset: 0x1C */ 12301 __IO uint32_t MATCH; /**< LPUART Match Address Register, offset: 0x20 */ 12302 __IO uint32_t MODIR; /**< LPUART Modem IrDA Register, offset: 0x24 */ 12303 __IO uint32_t FIFO; /**< LPUART FIFO Register, offset: 0x28 */ 12304 __IO uint32_t WATER; /**< LPUART Watermark Register, offset: 0x2C */ 12305 } LPUART_Type; 12306 12307 /* ---------------------------------------------------------------------------- 12308 -- LPUART Register Masks 12309 ---------------------------------------------------------------------------- */ 12310 12311 /*! 12312 * @addtogroup LPUART_Register_Masks LPUART Register Masks 12313 * @{ 12314 */ 12315 12316 /*! @name VERID - Version ID Register */ 12317 /*! @{ */ 12318 #define LPUART_VERID_FEATURE_MASK (0xFFFFU) 12319 #define LPUART_VERID_FEATURE_SHIFT (0U) 12320 /*! FEATURE - Feature Identification Number 12321 * 0b0000000000000001..Standard feature set. 12322 * 0b0000000000000011..Standard feature set with MODEM/IrDA support. 12323 */ 12324 #define LPUART_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_FEATURE_SHIFT)) & LPUART_VERID_FEATURE_MASK) 12325 #define LPUART_VERID_MINOR_MASK (0xFF0000U) 12326 #define LPUART_VERID_MINOR_SHIFT (16U) 12327 #define LPUART_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MINOR_SHIFT)) & LPUART_VERID_MINOR_MASK) 12328 #define LPUART_VERID_MAJOR_MASK (0xFF000000U) 12329 #define LPUART_VERID_MAJOR_SHIFT (24U) 12330 #define LPUART_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MAJOR_SHIFT)) & LPUART_VERID_MAJOR_MASK) 12331 /*! @} */ 12332 12333 /*! @name PARAM - Parameter Register */ 12334 /*! @{ */ 12335 #define LPUART_PARAM_TXFIFO_MASK (0xFFU) 12336 #define LPUART_PARAM_TXFIFO_SHIFT (0U) 12337 #define LPUART_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_TXFIFO_SHIFT)) & LPUART_PARAM_TXFIFO_MASK) 12338 #define LPUART_PARAM_RXFIFO_MASK (0xFF00U) 12339 #define LPUART_PARAM_RXFIFO_SHIFT (8U) 12340 #define LPUART_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_RXFIFO_SHIFT)) & LPUART_PARAM_RXFIFO_MASK) 12341 /*! @} */ 12342 12343 /*! @name GLOBAL - LPUART Global Register */ 12344 /*! @{ */ 12345 #define LPUART_GLOBAL_RST_MASK (0x2U) 12346 #define LPUART_GLOBAL_RST_SHIFT (1U) 12347 /*! RST - Software Reset 12348 * 0b0..Module is not reset. 12349 * 0b1..Module is reset. 12350 */ 12351 #define LPUART_GLOBAL_RST(x) (((uint32_t)(((uint32_t)(x)) << LPUART_GLOBAL_RST_SHIFT)) & LPUART_GLOBAL_RST_MASK) 12352 /*! @} */ 12353 12354 /*! @name PINCFG - LPUART Pin Configuration Register */ 12355 /*! @{ */ 12356 #define LPUART_PINCFG_TRGSEL_MASK (0x3U) 12357 #define LPUART_PINCFG_TRGSEL_SHIFT (0U) 12358 /*! TRGSEL - Trigger Select 12359 * 0b00..Input trigger is disabled. 12360 * 0b01..Input trigger is used instead of RXD pin input. 12361 * 0b10..Input trigger is used instead of CTS_B pin input. 12362 * 0b11..Input trigger is used to modulate the TXD pin output. The TXD pin output (after TXINV configuration) is ANDed with the input trigger. 12363 */ 12364 #define LPUART_PINCFG_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PINCFG_TRGSEL_SHIFT)) & LPUART_PINCFG_TRGSEL_MASK) 12365 /*! @} */ 12366 12367 /*! @name BAUD - LPUART Baud Rate Register */ 12368 /*! @{ */ 12369 #define LPUART_BAUD_SBR_MASK (0x1FFFU) 12370 #define LPUART_BAUD_SBR_SHIFT (0U) 12371 #define LPUART_BAUD_SBR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBR_SHIFT)) & LPUART_BAUD_SBR_MASK) 12372 #define LPUART_BAUD_SBNS_MASK (0x2000U) 12373 #define LPUART_BAUD_SBNS_SHIFT (13U) 12374 /*! SBNS - Stop Bit Number Select 12375 * 0b0..One stop bit. 12376 * 0b1..Two stop bits. 12377 */ 12378 #define LPUART_BAUD_SBNS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBNS_SHIFT)) & LPUART_BAUD_SBNS_MASK) 12379 #define LPUART_BAUD_RXEDGIE_MASK (0x4000U) 12380 #define LPUART_BAUD_RXEDGIE_SHIFT (14U) 12381 /*! RXEDGIE - RX Input Active Edge Interrupt Enable 12382 * 0b0..Hardware interrupts from LPUART_STAT[RXEDGIF] disabled. 12383 * 0b1..Hardware interrupt requested when LPUART_STAT[RXEDGIF] flag is 1. 12384 */ 12385 #define LPUART_BAUD_RXEDGIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RXEDGIE_SHIFT)) & LPUART_BAUD_RXEDGIE_MASK) 12386 #define LPUART_BAUD_LBKDIE_MASK (0x8000U) 12387 #define LPUART_BAUD_LBKDIE_SHIFT (15U) 12388 /*! LBKDIE - LIN Break Detect Interrupt Enable 12389 * 0b0..Hardware interrupts from LPUART_STAT[LBKDIF] disabled (use polling). 12390 * 0b1..Hardware interrupt requested when LPUART_STAT[LBKDIF] flag is 1. 12391 */ 12392 #define LPUART_BAUD_LBKDIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_LBKDIE_SHIFT)) & LPUART_BAUD_LBKDIE_MASK) 12393 #define LPUART_BAUD_RESYNCDIS_MASK (0x10000U) 12394 #define LPUART_BAUD_RESYNCDIS_SHIFT (16U) 12395 /*! RESYNCDIS - Resynchronization Disable 12396 * 0b0..Resynchronization during received data word is supported 12397 * 0b1..Resynchronization during received data word is disabled 12398 */ 12399 #define LPUART_BAUD_RESYNCDIS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RESYNCDIS_SHIFT)) & LPUART_BAUD_RESYNCDIS_MASK) 12400 #define LPUART_BAUD_BOTHEDGE_MASK (0x20000U) 12401 #define LPUART_BAUD_BOTHEDGE_SHIFT (17U) 12402 /*! BOTHEDGE - Both Edge Sampling 12403 * 0b0..Receiver samples input data using the rising edge of the baud rate clock. 12404 * 0b1..Receiver samples input data using the rising and falling edge of the baud rate clock. 12405 */ 12406 #define LPUART_BAUD_BOTHEDGE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_BOTHEDGE_SHIFT)) & LPUART_BAUD_BOTHEDGE_MASK) 12407 #define LPUART_BAUD_MATCFG_MASK (0xC0000U) 12408 #define LPUART_BAUD_MATCFG_SHIFT (18U) 12409 /*! MATCFG - Match Configuration 12410 * 0b00..Address Match Wakeup 12411 * 0b01..Idle Match Wakeup 12412 * 0b10..Match On and Match Off 12413 * 0b11..Enables RWU on Data Match and Match On/Off for transmitter CTS input 12414 */ 12415 #define LPUART_BAUD_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MATCFG_SHIFT)) & LPUART_BAUD_MATCFG_MASK) 12416 #define LPUART_BAUD_RIDMAE_MASK (0x100000U) 12417 #define LPUART_BAUD_RIDMAE_SHIFT (20U) 12418 /*! RIDMAE - Receiver Idle DMA Enable 12419 * 0b0..DMA request disabled. 12420 * 0b1..DMA request enabled. 12421 */ 12422 #define LPUART_BAUD_RIDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RIDMAE_SHIFT)) & LPUART_BAUD_RIDMAE_MASK) 12423 #define LPUART_BAUD_RDMAE_MASK (0x200000U) 12424 #define LPUART_BAUD_RDMAE_SHIFT (21U) 12425 /*! RDMAE - Receiver Full DMA Enable 12426 * 0b0..DMA request disabled. 12427 * 0b1..DMA request enabled. 12428 */ 12429 #define LPUART_BAUD_RDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RDMAE_SHIFT)) & LPUART_BAUD_RDMAE_MASK) 12430 #define LPUART_BAUD_TDMAE_MASK (0x800000U) 12431 #define LPUART_BAUD_TDMAE_SHIFT (23U) 12432 /*! TDMAE - Transmitter DMA Enable 12433 * 0b0..DMA request disabled. 12434 * 0b1..DMA request enabled. 12435 */ 12436 #define LPUART_BAUD_TDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_TDMAE_SHIFT)) & LPUART_BAUD_TDMAE_MASK) 12437 #define LPUART_BAUD_OSR_MASK (0x1F000000U) 12438 #define LPUART_BAUD_OSR_SHIFT (24U) 12439 /*! OSR - Oversampling Ratio 12440 * 0b00000..Writing 0 to this field will result in an oversampling ratio of 16 12441 * 0b00001..Reserved 12442 * 0b00010..Reserved 12443 * 0b00011..Oversampling ratio of 4, requires BOTHEDGE to be set. 12444 * 0b00100..Oversampling ratio of 5, requires BOTHEDGE to be set. 12445 * 0b00101..Oversampling ratio of 6, requires BOTHEDGE to be set. 12446 * 0b00110..Oversampling ratio of 7, requires BOTHEDGE to be set. 12447 * 0b00111..Oversampling ratio of 8. 12448 * 0b01000..Oversampling ratio of 9. 12449 * 0b01001..Oversampling ratio of 10. 12450 * 0b01010..Oversampling ratio of 11. 12451 * 0b01011..Oversampling ratio of 12. 12452 * 0b01100..Oversampling ratio of 13. 12453 * 0b01101..Oversampling ratio of 14. 12454 * 0b01110..Oversampling ratio of 15. 12455 * 0b01111..Oversampling ratio of 16. 12456 * 0b10000..Oversampling ratio of 17. 12457 * 0b10001..Oversampling ratio of 18. 12458 * 0b10010..Oversampling ratio of 19. 12459 * 0b10011..Oversampling ratio of 20. 12460 * 0b10100..Oversampling ratio of 21. 12461 * 0b10101..Oversampling ratio of 22. 12462 * 0b10110..Oversampling ratio of 23. 12463 * 0b10111..Oversampling ratio of 24. 12464 * 0b11000..Oversampling ratio of 25. 12465 * 0b11001..Oversampling ratio of 26. 12466 * 0b11010..Oversampling ratio of 27. 12467 * 0b11011..Oversampling ratio of 28. 12468 * 0b11100..Oversampling ratio of 29. 12469 * 0b11101..Oversampling ratio of 30. 12470 * 0b11110..Oversampling ratio of 31. 12471 * 0b11111..Oversampling ratio of 32. 12472 */ 12473 #define LPUART_BAUD_OSR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_OSR_SHIFT)) & LPUART_BAUD_OSR_MASK) 12474 #define LPUART_BAUD_M10_MASK (0x20000000U) 12475 #define LPUART_BAUD_M10_SHIFT (29U) 12476 /*! M10 - 10-bit Mode select 12477 * 0b0..Receiver and transmitter use 7-bit to 9-bit data characters. 12478 * 0b1..Receiver and transmitter use 10-bit data characters. 12479 */ 12480 #define LPUART_BAUD_M10(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_M10_SHIFT)) & LPUART_BAUD_M10_MASK) 12481 #define LPUART_BAUD_MAEN2_MASK (0x40000000U) 12482 #define LPUART_BAUD_MAEN2_SHIFT (30U) 12483 /*! MAEN2 - Match Address Mode Enable 2 12484 * 0b0..Normal operation. 12485 * 0b1..Enables automatic address matching or data matching mode for MATCH[MA2]. 12486 */ 12487 #define LPUART_BAUD_MAEN2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN2_SHIFT)) & LPUART_BAUD_MAEN2_MASK) 12488 #define LPUART_BAUD_MAEN1_MASK (0x80000000U) 12489 #define LPUART_BAUD_MAEN1_SHIFT (31U) 12490 /*! MAEN1 - Match Address Mode Enable 1 12491 * 0b0..Normal operation. 12492 * 0b1..Enables automatic address matching or data matching mode for MATCH[MA1]. 12493 */ 12494 #define LPUART_BAUD_MAEN1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN1_SHIFT)) & LPUART_BAUD_MAEN1_MASK) 12495 /*! @} */ 12496 12497 /*! @name STAT - LPUART Status Register */ 12498 /*! @{ */ 12499 #define LPUART_STAT_MA2F_MASK (0x4000U) 12500 #define LPUART_STAT_MA2F_SHIFT (14U) 12501 /*! MA2F - Match 2 Flag 12502 * 0b0..Received data is not equal to MA2 12503 * 0b1..Received data is equal to MA2 12504 */ 12505 #define LPUART_STAT_MA2F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA2F_SHIFT)) & LPUART_STAT_MA2F_MASK) 12506 #define LPUART_STAT_MA1F_MASK (0x8000U) 12507 #define LPUART_STAT_MA1F_SHIFT (15U) 12508 /*! MA1F - Match 1 Flag 12509 * 0b0..Received data is not equal to MA1 12510 * 0b1..Received data is equal to MA1 12511 */ 12512 #define LPUART_STAT_MA1F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA1F_SHIFT)) & LPUART_STAT_MA1F_MASK) 12513 #define LPUART_STAT_PF_MASK (0x10000U) 12514 #define LPUART_STAT_PF_SHIFT (16U) 12515 /*! PF - Parity Error Flag 12516 * 0b0..No parity error. 12517 * 0b1..Parity error. 12518 */ 12519 #define LPUART_STAT_PF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_PF_SHIFT)) & LPUART_STAT_PF_MASK) 12520 #define LPUART_STAT_FE_MASK (0x20000U) 12521 #define LPUART_STAT_FE_SHIFT (17U) 12522 /*! FE - Framing Error Flag 12523 * 0b0..No framing error detected. This does not guarantee the framing is correct. 12524 * 0b1..Framing error. 12525 */ 12526 #define LPUART_STAT_FE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_FE_SHIFT)) & LPUART_STAT_FE_MASK) 12527 #define LPUART_STAT_NF_MASK (0x40000U) 12528 #define LPUART_STAT_NF_SHIFT (18U) 12529 /*! NF - Noise Flag 12530 * 0b0..No noise detected. 12531 * 0b1..Noise detected in the received character in LPUART_DATA. 12532 */ 12533 #define LPUART_STAT_NF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_NF_SHIFT)) & LPUART_STAT_NF_MASK) 12534 #define LPUART_STAT_OR_MASK (0x80000U) 12535 #define LPUART_STAT_OR_SHIFT (19U) 12536 /*! OR - Receiver Overrun Flag 12537 * 0b0..No overrun. 12538 * 0b1..Receive overrun (new LPUART data lost). 12539 */ 12540 #define LPUART_STAT_OR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_OR_SHIFT)) & LPUART_STAT_OR_MASK) 12541 #define LPUART_STAT_IDLE_MASK (0x100000U) 12542 #define LPUART_STAT_IDLE_SHIFT (20U) 12543 /*! IDLE - Idle Line Flag 12544 * 0b0..No idle line detected. 12545 * 0b1..Idle line was detected. 12546 */ 12547 #define LPUART_STAT_IDLE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_IDLE_SHIFT)) & LPUART_STAT_IDLE_MASK) 12548 #define LPUART_STAT_RDRF_MASK (0x200000U) 12549 #define LPUART_STAT_RDRF_SHIFT (21U) 12550 /*! RDRF - Receive Data Register Full Flag 12551 * 0b0..Receive data buffer empty. 12552 * 0b1..Receive data buffer full. 12553 */ 12554 #define LPUART_STAT_RDRF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RDRF_SHIFT)) & LPUART_STAT_RDRF_MASK) 12555 #define LPUART_STAT_TC_MASK (0x400000U) 12556 #define LPUART_STAT_TC_SHIFT (22U) 12557 /*! TC - Transmission Complete Flag 12558 * 0b0..Transmitter active (sending data, a preamble, or a break). 12559 * 0b1..Transmitter idle (transmission activity complete). 12560 */ 12561 #define LPUART_STAT_TC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TC_SHIFT)) & LPUART_STAT_TC_MASK) 12562 #define LPUART_STAT_TDRE_MASK (0x800000U) 12563 #define LPUART_STAT_TDRE_SHIFT (23U) 12564 /*! TDRE - Transmit Data Register Empty Flag 12565 * 0b0..Transmit data buffer full. 12566 * 0b1..Transmit data buffer empty. 12567 */ 12568 #define LPUART_STAT_TDRE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TDRE_SHIFT)) & LPUART_STAT_TDRE_MASK) 12569 #define LPUART_STAT_RAF_MASK (0x1000000U) 12570 #define LPUART_STAT_RAF_SHIFT (24U) 12571 /*! RAF - Receiver Active Flag 12572 * 0b0..LPUART receiver idle waiting for a start bit. 12573 * 0b1..LPUART receiver active (RXD input not idle). 12574 */ 12575 #define LPUART_STAT_RAF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RAF_SHIFT)) & LPUART_STAT_RAF_MASK) 12576 #define LPUART_STAT_LBKDE_MASK (0x2000000U) 12577 #define LPUART_STAT_LBKDE_SHIFT (25U) 12578 /*! LBKDE - LIN Break Detection Enable 12579 * 0b0..LIN break detect is disabled, normal break character can be detected. 12580 * 0b1..LIN break detect is enabled. LIN break character is detected at length of 11 bit times (if M = 0) or 12 (if M = 1) or 13 (M10 = 1). 12581 */ 12582 #define LPUART_STAT_LBKDE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDE_SHIFT)) & LPUART_STAT_LBKDE_MASK) 12583 #define LPUART_STAT_BRK13_MASK (0x4000000U) 12584 #define LPUART_STAT_BRK13_SHIFT (26U) 12585 /*! BRK13 - Break Character Generation Length 12586 * 0b0..Break character is transmitted with length of 9 to 13 bit times. 12587 * 0b1..Break character is transmitted with length of 12 to 15 bit times. 12588 */ 12589 #define LPUART_STAT_BRK13(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_BRK13_SHIFT)) & LPUART_STAT_BRK13_MASK) 12590 #define LPUART_STAT_RWUID_MASK (0x8000000U) 12591 #define LPUART_STAT_RWUID_SHIFT (27U) 12592 /*! RWUID - Receive Wake Up Idle Detect 12593 * 0b0..During receive standby state (RWU = 1), the IDLE bit does not get set upon detection of an idle character. During address match wakeup, the IDLE bit does not set when an address does not match. 12594 * 0b1..During receive standby state (RWU = 1), the IDLE bit gets set upon detection of an idle character. During address match wakeup, the IDLE bit does set when an address does not match. 12595 */ 12596 #define LPUART_STAT_RWUID(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RWUID_SHIFT)) & LPUART_STAT_RWUID_MASK) 12597 #define LPUART_STAT_RXINV_MASK (0x10000000U) 12598 #define LPUART_STAT_RXINV_SHIFT (28U) 12599 /*! RXINV - Receive Data Inversion 12600 * 0b0..Receive data not inverted. 12601 * 0b1..Receive data inverted. 12602 */ 12603 #define LPUART_STAT_RXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXINV_SHIFT)) & LPUART_STAT_RXINV_MASK) 12604 #define LPUART_STAT_MSBF_MASK (0x20000000U) 12605 #define LPUART_STAT_MSBF_SHIFT (29U) 12606 /*! MSBF - MSB First 12607 * 0b0..LSB (bit0) is the first bit that is transmitted following the start bit. Further, the first bit received after the start bit is identified as bit0. 12608 * 0b1..MSB (bit9, bit8, bit7 or bit6) is the first bit that is transmitted following the start bit depending on the setting of CTRL[M], CTRL[PE] and BAUD[M10]. Further, the first bit received after the start bit is identified as bit9, bit8, bit7 or bit6 depending on the setting of CTRL[M] and CTRL[PE]. 12609 */ 12610 #define LPUART_STAT_MSBF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MSBF_SHIFT)) & LPUART_STAT_MSBF_MASK) 12611 #define LPUART_STAT_RXEDGIF_MASK (0x40000000U) 12612 #define LPUART_STAT_RXEDGIF_SHIFT (30U) 12613 /*! RXEDGIF - RXD Pin Active Edge Interrupt Flag 12614 * 0b0..No active edge on the receive pin has occurred. 12615 * 0b1..An active edge on the receive pin has occurred. 12616 */ 12617 #define LPUART_STAT_RXEDGIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXEDGIF_SHIFT)) & LPUART_STAT_RXEDGIF_MASK) 12618 #define LPUART_STAT_LBKDIF_MASK (0x80000000U) 12619 #define LPUART_STAT_LBKDIF_SHIFT (31U) 12620 /*! LBKDIF - LIN Break Detect Interrupt Flag 12621 * 0b0..No LIN break character has been detected. 12622 * 0b1..LIN break character has been detected. 12623 */ 12624 #define LPUART_STAT_LBKDIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDIF_SHIFT)) & LPUART_STAT_LBKDIF_MASK) 12625 /*! @} */ 12626 12627 /*! @name CTRL - LPUART Control Register */ 12628 /*! @{ */ 12629 #define LPUART_CTRL_PT_MASK (0x1U) 12630 #define LPUART_CTRL_PT_SHIFT (0U) 12631 /*! PT - Parity Type 12632 * 0b0..Even parity. 12633 * 0b1..Odd parity. 12634 */ 12635 #define LPUART_CTRL_PT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PT_SHIFT)) & LPUART_CTRL_PT_MASK) 12636 #define LPUART_CTRL_PE_MASK (0x2U) 12637 #define LPUART_CTRL_PE_SHIFT (1U) 12638 /*! PE - Parity Enable 12639 * 0b0..No hardware parity generation or checking. 12640 * 0b1..Parity enabled. 12641 */ 12642 #define LPUART_CTRL_PE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PE_SHIFT)) & LPUART_CTRL_PE_MASK) 12643 #define LPUART_CTRL_ILT_MASK (0x4U) 12644 #define LPUART_CTRL_ILT_SHIFT (2U) 12645 /*! ILT - Idle Line Type Select 12646 * 0b0..Idle character bit count starts after start bit. 12647 * 0b1..Idle character bit count starts after stop bit. 12648 */ 12649 #define LPUART_CTRL_ILT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILT_SHIFT)) & LPUART_CTRL_ILT_MASK) 12650 #define LPUART_CTRL_WAKE_MASK (0x8U) 12651 #define LPUART_CTRL_WAKE_SHIFT (3U) 12652 /*! WAKE - Receiver Wakeup Method Select 12653 * 0b0..Configures RWU for idle-line wakeup. 12654 * 0b1..Configures RWU with address-mark wakeup. 12655 */ 12656 #define LPUART_CTRL_WAKE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_WAKE_SHIFT)) & LPUART_CTRL_WAKE_MASK) 12657 #define LPUART_CTRL_M_MASK (0x10U) 12658 #define LPUART_CTRL_M_SHIFT (4U) 12659 /*! M - 9-Bit or 8-Bit Mode Select 12660 * 0b0..Receiver and transmitter use 8-bit data characters. 12661 * 0b1..Receiver and transmitter use 9-bit data characters. 12662 */ 12663 #define LPUART_CTRL_M(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M_SHIFT)) & LPUART_CTRL_M_MASK) 12664 #define LPUART_CTRL_RSRC_MASK (0x20U) 12665 #define LPUART_CTRL_RSRC_SHIFT (5U) 12666 /*! RSRC - Receiver Source Select 12667 * 0b0..Provided LOOPS is set, RSRC is cleared, selects internal loop back mode and the LPUART does not use the RXD pin. 12668 * 0b1..Single-wire LPUART mode where the TXD pin is connected to the transmitter output and receiver input. 12669 */ 12670 #define LPUART_CTRL_RSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RSRC_SHIFT)) & LPUART_CTRL_RSRC_MASK) 12671 #define LPUART_CTRL_DOZEEN_MASK (0x40U) 12672 #define LPUART_CTRL_DOZEEN_SHIFT (6U) 12673 /*! DOZEEN - Doze Enable 12674 * 0b0..LPUART is enabled in Doze mode. 12675 * 0b1..LPUART is disabled in Doze mode. 12676 */ 12677 #define LPUART_CTRL_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_DOZEEN_SHIFT)) & LPUART_CTRL_DOZEEN_MASK) 12678 #define LPUART_CTRL_LOOPS_MASK (0x80U) 12679 #define LPUART_CTRL_LOOPS_SHIFT (7U) 12680 /*! LOOPS - Loop Mode Select 12681 * 0b0..Normal operation - RXD and TXD use separate pins. 12682 * 0b1..Loop mode or single-wire mode where transmitter outputs are internally connected to receiver input (see RSRC bit). 12683 */ 12684 #define LPUART_CTRL_LOOPS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_LOOPS_SHIFT)) & LPUART_CTRL_LOOPS_MASK) 12685 #define LPUART_CTRL_IDLECFG_MASK (0x700U) 12686 #define LPUART_CTRL_IDLECFG_SHIFT (8U) 12687 /*! IDLECFG - Idle Configuration 12688 * 0b000..1 idle character 12689 * 0b001..2 idle characters 12690 * 0b010..4 idle characters 12691 * 0b011..8 idle characters 12692 * 0b100..16 idle characters 12693 * 0b101..32 idle characters 12694 * 0b110..64 idle characters 12695 * 0b111..128 idle characters 12696 */ 12697 #define LPUART_CTRL_IDLECFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_IDLECFG_SHIFT)) & LPUART_CTRL_IDLECFG_MASK) 12698 #define LPUART_CTRL_M7_MASK (0x800U) 12699 #define LPUART_CTRL_M7_SHIFT (11U) 12700 /*! M7 - 7-Bit Mode Select 12701 * 0b0..Receiver and transmitter use 8-bit to 10-bit data characters. 12702 * 0b1..Receiver and transmitter use 7-bit data characters. 12703 */ 12704 #define LPUART_CTRL_M7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M7_SHIFT)) & LPUART_CTRL_M7_MASK) 12705 #define LPUART_CTRL_MA2IE_MASK (0x4000U) 12706 #define LPUART_CTRL_MA2IE_SHIFT (14U) 12707 /*! MA2IE - Match 2 Interrupt Enable 12708 * 0b0..MA2F interrupt disabled 12709 * 0b1..MA2F interrupt enabled 12710 */ 12711 #define LPUART_CTRL_MA2IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA2IE_SHIFT)) & LPUART_CTRL_MA2IE_MASK) 12712 #define LPUART_CTRL_MA1IE_MASK (0x8000U) 12713 #define LPUART_CTRL_MA1IE_SHIFT (15U) 12714 /*! MA1IE - Match 1 Interrupt Enable 12715 * 0b0..MA1F interrupt disabled 12716 * 0b1..MA1F interrupt enabled 12717 */ 12718 #define LPUART_CTRL_MA1IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA1IE_SHIFT)) & LPUART_CTRL_MA1IE_MASK) 12719 #define LPUART_CTRL_SBK_MASK (0x10000U) 12720 #define LPUART_CTRL_SBK_SHIFT (16U) 12721 /*! SBK - Send Break 12722 * 0b0..Normal transmitter operation. 12723 * 0b1..Queue break character(s) to be sent. 12724 */ 12725 #define LPUART_CTRL_SBK(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_SBK_SHIFT)) & LPUART_CTRL_SBK_MASK) 12726 #define LPUART_CTRL_RWU_MASK (0x20000U) 12727 #define LPUART_CTRL_RWU_SHIFT (17U) 12728 /*! RWU - Receiver Wakeup Control 12729 * 0b0..Normal receiver operation. 12730 * 0b1..LPUART receiver in standby waiting for wakeup condition. 12731 */ 12732 #define LPUART_CTRL_RWU(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RWU_SHIFT)) & LPUART_CTRL_RWU_MASK) 12733 #define LPUART_CTRL_RE_MASK (0x40000U) 12734 #define LPUART_CTRL_RE_SHIFT (18U) 12735 /*! RE - Receiver Enable 12736 * 0b0..Receiver disabled. 12737 * 0b1..Receiver enabled. 12738 */ 12739 #define LPUART_CTRL_RE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RE_SHIFT)) & LPUART_CTRL_RE_MASK) 12740 #define LPUART_CTRL_TE_MASK (0x80000U) 12741 #define LPUART_CTRL_TE_SHIFT (19U) 12742 /*! TE - Transmitter Enable 12743 * 0b0..Transmitter disabled. 12744 * 0b1..Transmitter enabled. 12745 */ 12746 #define LPUART_CTRL_TE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TE_SHIFT)) & LPUART_CTRL_TE_MASK) 12747 #define LPUART_CTRL_ILIE_MASK (0x100000U) 12748 #define LPUART_CTRL_ILIE_SHIFT (20U) 12749 /*! ILIE - Idle Line Interrupt Enable 12750 * 0b0..Hardware interrupts from IDLE disabled; use polling. 12751 * 0b1..Hardware interrupt requested when IDLE flag is 1. 12752 */ 12753 #define LPUART_CTRL_ILIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILIE_SHIFT)) & LPUART_CTRL_ILIE_MASK) 12754 #define LPUART_CTRL_RIE_MASK (0x200000U) 12755 #define LPUART_CTRL_RIE_SHIFT (21U) 12756 /*! RIE - Receiver Interrupt Enable 12757 * 0b0..Hardware interrupts from RDRF disabled; use polling. 12758 * 0b1..Hardware interrupt requested when RDRF flag is 1. 12759 */ 12760 #define LPUART_CTRL_RIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RIE_SHIFT)) & LPUART_CTRL_RIE_MASK) 12761 #define LPUART_CTRL_TCIE_MASK (0x400000U) 12762 #define LPUART_CTRL_TCIE_SHIFT (22U) 12763 /*! TCIE - Transmission Complete Interrupt Enable for 12764 * 0b0..Hardware interrupts from TC disabled; use polling. 12765 * 0b1..Hardware interrupt requested when TC flag is 1. 12766 */ 12767 #define LPUART_CTRL_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TCIE_SHIFT)) & LPUART_CTRL_TCIE_MASK) 12768 #define LPUART_CTRL_TIE_MASK (0x800000U) 12769 #define LPUART_CTRL_TIE_SHIFT (23U) 12770 /*! TIE - Transmit Interrupt Enable 12771 * 0b0..Hardware interrupts from TDRE disabled; use polling. 12772 * 0b1..Hardware interrupt requested when TDRE flag is 1. 12773 */ 12774 #define LPUART_CTRL_TIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TIE_SHIFT)) & LPUART_CTRL_TIE_MASK) 12775 #define LPUART_CTRL_PEIE_MASK (0x1000000U) 12776 #define LPUART_CTRL_PEIE_SHIFT (24U) 12777 /*! PEIE - Parity Error Interrupt Enable 12778 * 0b0..PF interrupts disabled; use polling). 12779 * 0b1..Hardware interrupt requested when PF is set. 12780 */ 12781 #define LPUART_CTRL_PEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PEIE_SHIFT)) & LPUART_CTRL_PEIE_MASK) 12782 #define LPUART_CTRL_FEIE_MASK (0x2000000U) 12783 #define LPUART_CTRL_FEIE_SHIFT (25U) 12784 /*! FEIE - Framing Error Interrupt Enable 12785 * 0b0..FE interrupts disabled; use polling. 12786 * 0b1..Hardware interrupt requested when FE is set. 12787 */ 12788 #define LPUART_CTRL_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_FEIE_SHIFT)) & LPUART_CTRL_FEIE_MASK) 12789 #define LPUART_CTRL_NEIE_MASK (0x4000000U) 12790 #define LPUART_CTRL_NEIE_SHIFT (26U) 12791 /*! NEIE - Noise Error Interrupt Enable 12792 * 0b0..NF interrupts disabled; use polling. 12793 * 0b1..Hardware interrupt requested when NF is set. 12794 */ 12795 #define LPUART_CTRL_NEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_NEIE_SHIFT)) & LPUART_CTRL_NEIE_MASK) 12796 #define LPUART_CTRL_ORIE_MASK (0x8000000U) 12797 #define LPUART_CTRL_ORIE_SHIFT (27U) 12798 /*! ORIE - Overrun Interrupt Enable 12799 * 0b0..OR interrupts disabled; use polling. 12800 * 0b1..Hardware interrupt requested when OR is set. 12801 */ 12802 #define LPUART_CTRL_ORIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ORIE_SHIFT)) & LPUART_CTRL_ORIE_MASK) 12803 #define LPUART_CTRL_TXINV_MASK (0x10000000U) 12804 #define LPUART_CTRL_TXINV_SHIFT (28U) 12805 /*! TXINV - Transmit Data Inversion 12806 * 0b0..Transmit data not inverted. 12807 * 0b1..Transmit data inverted. 12808 */ 12809 #define LPUART_CTRL_TXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXINV_SHIFT)) & LPUART_CTRL_TXINV_MASK) 12810 #define LPUART_CTRL_TXDIR_MASK (0x20000000U) 12811 #define LPUART_CTRL_TXDIR_SHIFT (29U) 12812 /*! TXDIR - TXD Pin Direction in Single-Wire Mode 12813 * 0b0..TXD pin is an input in single-wire mode. 12814 * 0b1..TXD pin is an output in single-wire mode. 12815 */ 12816 #define LPUART_CTRL_TXDIR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXDIR_SHIFT)) & LPUART_CTRL_TXDIR_MASK) 12817 #define LPUART_CTRL_R9T8_MASK (0x40000000U) 12818 #define LPUART_CTRL_R9T8_SHIFT (30U) 12819 #define LPUART_CTRL_R9T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R9T8_SHIFT)) & LPUART_CTRL_R9T8_MASK) 12820 #define LPUART_CTRL_R8T9_MASK (0x80000000U) 12821 #define LPUART_CTRL_R8T9_SHIFT (31U) 12822 #define LPUART_CTRL_R8T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R8T9_SHIFT)) & LPUART_CTRL_R8T9_MASK) 12823 /*! @} */ 12824 12825 /*! @name DATA - LPUART Data Register */ 12826 /*! @{ */ 12827 #define LPUART_DATA_R0T0_MASK (0x1U) 12828 #define LPUART_DATA_R0T0_SHIFT (0U) 12829 #define LPUART_DATA_R0T0(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R0T0_SHIFT)) & LPUART_DATA_R0T0_MASK) 12830 #define LPUART_DATA_R1T1_MASK (0x2U) 12831 #define LPUART_DATA_R1T1_SHIFT (1U) 12832 #define LPUART_DATA_R1T1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R1T1_SHIFT)) & LPUART_DATA_R1T1_MASK) 12833 #define LPUART_DATA_R2T2_MASK (0x4U) 12834 #define LPUART_DATA_R2T2_SHIFT (2U) 12835 #define LPUART_DATA_R2T2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R2T2_SHIFT)) & LPUART_DATA_R2T2_MASK) 12836 #define LPUART_DATA_R3T3_MASK (0x8U) 12837 #define LPUART_DATA_R3T3_SHIFT (3U) 12838 #define LPUART_DATA_R3T3(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R3T3_SHIFT)) & LPUART_DATA_R3T3_MASK) 12839 #define LPUART_DATA_R4T4_MASK (0x10U) 12840 #define LPUART_DATA_R4T4_SHIFT (4U) 12841 #define LPUART_DATA_R4T4(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R4T4_SHIFT)) & LPUART_DATA_R4T4_MASK) 12842 #define LPUART_DATA_R5T5_MASK (0x20U) 12843 #define LPUART_DATA_R5T5_SHIFT (5U) 12844 #define LPUART_DATA_R5T5(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R5T5_SHIFT)) & LPUART_DATA_R5T5_MASK) 12845 #define LPUART_DATA_R6T6_MASK (0x40U) 12846 #define LPUART_DATA_R6T6_SHIFT (6U) 12847 #define LPUART_DATA_R6T6(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R6T6_SHIFT)) & LPUART_DATA_R6T6_MASK) 12848 #define LPUART_DATA_R7T7_MASK (0x80U) 12849 #define LPUART_DATA_R7T7_SHIFT (7U) 12850 #define LPUART_DATA_R7T7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R7T7_SHIFT)) & LPUART_DATA_R7T7_MASK) 12851 #define LPUART_DATA_R8T8_MASK (0x100U) 12852 #define LPUART_DATA_R8T8_SHIFT (8U) 12853 #define LPUART_DATA_R8T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R8T8_SHIFT)) & LPUART_DATA_R8T8_MASK) 12854 #define LPUART_DATA_R9T9_MASK (0x200U) 12855 #define LPUART_DATA_R9T9_SHIFT (9U) 12856 #define LPUART_DATA_R9T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R9T9_SHIFT)) & LPUART_DATA_R9T9_MASK) 12857 #define LPUART_DATA_IDLINE_MASK (0x800U) 12858 #define LPUART_DATA_IDLINE_SHIFT (11U) 12859 /*! IDLINE - Idle Line 12860 * 0b0..Receiver was not idle before receiving this character. 12861 * 0b1..Receiver was idle before receiving this character. 12862 */ 12863 #define LPUART_DATA_IDLINE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_IDLINE_SHIFT)) & LPUART_DATA_IDLINE_MASK) 12864 #define LPUART_DATA_RXEMPT_MASK (0x1000U) 12865 #define LPUART_DATA_RXEMPT_SHIFT (12U) 12866 /*! RXEMPT - Receive Buffer Empty 12867 * 0b0..Receive buffer contains valid data. 12868 * 0b1..Receive buffer is empty, data returned on read is not valid. 12869 */ 12870 #define LPUART_DATA_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_RXEMPT_SHIFT)) & LPUART_DATA_RXEMPT_MASK) 12871 #define LPUART_DATA_FRETSC_MASK (0x2000U) 12872 #define LPUART_DATA_FRETSC_SHIFT (13U) 12873 /*! FRETSC - Frame Error / Transmit Special Character 12874 * 0b0..The dataword was received without a frame error on read, or transmit a normal character on write. 12875 * 0b1..The dataword was received with a frame error, or transmit an idle or break character on transmit. 12876 */ 12877 #define LPUART_DATA_FRETSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_FRETSC_SHIFT)) & LPUART_DATA_FRETSC_MASK) 12878 #define LPUART_DATA_PARITYE_MASK (0x4000U) 12879 #define LPUART_DATA_PARITYE_SHIFT (14U) 12880 /*! PARITYE - PARITYE 12881 * 0b0..The dataword was received without a parity error. 12882 * 0b1..The dataword was received with a parity error. 12883 */ 12884 #define LPUART_DATA_PARITYE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_PARITYE_SHIFT)) & LPUART_DATA_PARITYE_MASK) 12885 #define LPUART_DATA_NOISY_MASK (0x8000U) 12886 #define LPUART_DATA_NOISY_SHIFT (15U) 12887 /*! NOISY - NOISY 12888 * 0b0..The dataword was received without noise. 12889 * 0b1..The data was received with noise. 12890 */ 12891 #define LPUART_DATA_NOISY(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_NOISY_SHIFT)) & LPUART_DATA_NOISY_MASK) 12892 /*! @} */ 12893 12894 /*! @name MATCH - LPUART Match Address Register */ 12895 /*! @{ */ 12896 #define LPUART_MATCH_MA1_MASK (0x3FFU) 12897 #define LPUART_MATCH_MA1_SHIFT (0U) 12898 #define LPUART_MATCH_MA1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA1_SHIFT)) & LPUART_MATCH_MA1_MASK) 12899 #define LPUART_MATCH_MA2_MASK (0x3FF0000U) 12900 #define LPUART_MATCH_MA2_SHIFT (16U) 12901 #define LPUART_MATCH_MA2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA2_SHIFT)) & LPUART_MATCH_MA2_MASK) 12902 /*! @} */ 12903 12904 /*! @name MODIR - LPUART Modem IrDA Register */ 12905 /*! @{ */ 12906 #define LPUART_MODIR_TXCTSE_MASK (0x1U) 12907 #define LPUART_MODIR_TXCTSE_SHIFT (0U) 12908 /*! TXCTSE - Transmitter clear-to-send enable 12909 * 0b0..CTS has no effect on the transmitter. 12910 * 0b1..Enables clear-to-send operation. The transmitter checks the state of CTS each time it is ready to send a character. If CTS is asserted, the character is sent. If CTS is deasserted, the signal TXD remains in the mark state and transmission is delayed until CTS is asserted. Changes in CTS as a character is being sent do not affect its transmission. 12911 */ 12912 #define LPUART_MODIR_TXCTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSE_SHIFT)) & LPUART_MODIR_TXCTSE_MASK) 12913 #define LPUART_MODIR_TXRTSE_MASK (0x2U) 12914 #define LPUART_MODIR_TXRTSE_SHIFT (1U) 12915 /*! TXRTSE - Transmitter request-to-send enable 12916 * 0b0..The transmitter has no effect on RTS. 12917 * 0b1..When a character is placed into an empty transmitter data buffer , RTS asserts one bit time before the start bit is transmitted. RTS deasserts one bit time after all characters in the transmitter data buffer and shift register are completely sent, including the last stop bit. 12918 */ 12919 #define LPUART_MODIR_TXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSE_SHIFT)) & LPUART_MODIR_TXRTSE_MASK) 12920 #define LPUART_MODIR_TXRTSPOL_MASK (0x4U) 12921 #define LPUART_MODIR_TXRTSPOL_SHIFT (2U) 12922 /*! TXRTSPOL - Transmitter request-to-send polarity 12923 * 0b0..Transmitter RTS is active low. 12924 * 0b1..Transmitter RTS is active high. 12925 */ 12926 #define LPUART_MODIR_TXRTSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSPOL_SHIFT)) & LPUART_MODIR_TXRTSPOL_MASK) 12927 #define LPUART_MODIR_RXRTSE_MASK (0x8U) 12928 #define LPUART_MODIR_RXRTSE_SHIFT (3U) 12929 /*! RXRTSE - Receiver request-to-send enable 12930 * 0b0..The receiver has no effect on RTS. 12931 * 0b1..RTS is deasserted if the receiver data register is full or a start bit has been detected that would cause the receiver data register to become full. RTS is asserted if the receiver data register is not full and has not detected a start bit that would cause the receiver data register to become full. 12932 */ 12933 #define LPUART_MODIR_RXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RXRTSE_SHIFT)) & LPUART_MODIR_RXRTSE_MASK) 12934 #define LPUART_MODIR_TXCTSC_MASK (0x10U) 12935 #define LPUART_MODIR_TXCTSC_SHIFT (4U) 12936 /*! TXCTSC - Transmit CTS Configuration 12937 * 0b0..CTS input is sampled at the start of each character. 12938 * 0b1..CTS input is sampled when the transmitter is idle. 12939 */ 12940 #define LPUART_MODIR_TXCTSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSC_SHIFT)) & LPUART_MODIR_TXCTSC_MASK) 12941 #define LPUART_MODIR_TXCTSSRC_MASK (0x20U) 12942 #define LPUART_MODIR_TXCTSSRC_SHIFT (5U) 12943 /*! TXCTSSRC - Transmit CTS Source 12944 * 0b0..CTS input is the CTS_B pin. 12945 * 0b1..CTS input is the inverted Receiver Match result. 12946 */ 12947 #define LPUART_MODIR_TXCTSSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSSRC_SHIFT)) & LPUART_MODIR_TXCTSSRC_MASK) 12948 #define LPUART_MODIR_RTSWATER_MASK (0x700U) 12949 #define LPUART_MODIR_RTSWATER_SHIFT (8U) 12950 #define LPUART_MODIR_RTSWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RTSWATER_SHIFT)) & LPUART_MODIR_RTSWATER_MASK) 12951 #define LPUART_MODIR_TNP_MASK (0x30000U) 12952 #define LPUART_MODIR_TNP_SHIFT (16U) 12953 /*! TNP - Transmitter narrow pulse 12954 * 0b00..1/OSR. 12955 * 0b01..2/OSR. 12956 * 0b10..3/OSR. 12957 * 0b11..4/OSR. 12958 */ 12959 #define LPUART_MODIR_TNP(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TNP_SHIFT)) & LPUART_MODIR_TNP_MASK) 12960 #define LPUART_MODIR_IREN_MASK (0x40000U) 12961 #define LPUART_MODIR_IREN_SHIFT (18U) 12962 /*! IREN - Infrared enable 12963 * 0b0..IR disabled. 12964 * 0b1..IR enabled. 12965 */ 12966 #define LPUART_MODIR_IREN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_IREN_SHIFT)) & LPUART_MODIR_IREN_MASK) 12967 /*! @} */ 12968 12969 /*! @name FIFO - LPUART FIFO Register */ 12970 /*! @{ */ 12971 #define LPUART_FIFO_RXFIFOSIZE_MASK (0x7U) 12972 #define LPUART_FIFO_RXFIFOSIZE_SHIFT (0U) 12973 /*! RXFIFOSIZE - Receive FIFO. Buffer Depth 12974 * 0b000..Receive FIFO/Buffer depth = 1 dataword. 12975 * 0b001..Receive FIFO/Buffer depth = 4 datawords. 12976 * 0b010..Receive FIFO/Buffer depth = 8 datawords. 12977 * 0b011..Receive FIFO/Buffer depth = 16 datawords. 12978 * 0b100..Receive FIFO/Buffer depth = 32 datawords. 12979 * 0b101..Receive FIFO/Buffer depth = 64 datawords. 12980 * 0b110..Receive FIFO/Buffer depth = 128 datawords. 12981 * 0b111..Receive FIFO/Buffer depth = 256 datawords. 12982 */ 12983 #define LPUART_FIFO_RXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFIFOSIZE_SHIFT)) & LPUART_FIFO_RXFIFOSIZE_MASK) 12984 #define LPUART_FIFO_RXFE_MASK (0x8U) 12985 #define LPUART_FIFO_RXFE_SHIFT (3U) 12986 /*! RXFE - Receive FIFO Enable 12987 * 0b0..Receive FIFO is not enabled. Buffer is depth 1. (Legacy support) 12988 * 0b1..Receive FIFO is enabled. Buffer is depth indicted by RXFIFOSIZE. 12989 */ 12990 #define LPUART_FIFO_RXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFE_SHIFT)) & LPUART_FIFO_RXFE_MASK) 12991 #define LPUART_FIFO_TXFIFOSIZE_MASK (0x70U) 12992 #define LPUART_FIFO_TXFIFOSIZE_SHIFT (4U) 12993 /*! TXFIFOSIZE - Transmit FIFO. Buffer Depth 12994 * 0b000..Transmit FIFO/Buffer depth = 1 dataword. 12995 * 0b001..Transmit FIFO/Buffer depth = 4 datawords. 12996 * 0b010..Transmit FIFO/Buffer depth = 8 datawords. 12997 * 0b011..Transmit FIFO/Buffer depth = 16 datawords. 12998 * 0b100..Transmit FIFO/Buffer depth = 32 datawords. 12999 * 0b101..Transmit FIFO/Buffer depth = 64 datawords. 13000 * 0b110..Transmit FIFO/Buffer depth = 128 datawords. 13001 * 0b111..Transmit FIFO/Buffer depth = 256 datawords 13002 */ 13003 #define LPUART_FIFO_TXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFIFOSIZE_SHIFT)) & LPUART_FIFO_TXFIFOSIZE_MASK) 13004 #define LPUART_FIFO_TXFE_MASK (0x80U) 13005 #define LPUART_FIFO_TXFE_SHIFT (7U) 13006 /*! TXFE - Transmit FIFO Enable 13007 * 0b0..Transmit FIFO is not enabled. Buffer is depth 1. (Legacy support). 13008 * 0b1..Transmit FIFO is enabled. Buffer is depth indicated by TXFIFOSIZE. 13009 */ 13010 #define LPUART_FIFO_TXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFE_SHIFT)) & LPUART_FIFO_TXFE_MASK) 13011 #define LPUART_FIFO_RXUFE_MASK (0x100U) 13012 #define LPUART_FIFO_RXUFE_SHIFT (8U) 13013 /*! RXUFE - Receive FIFO Underflow Interrupt Enable 13014 * 0b0..RXUF flag does not generate an interrupt to the host. 13015 * 0b1..RXUF flag generates an interrupt to the host. 13016 */ 13017 #define LPUART_FIFO_RXUFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUFE_SHIFT)) & LPUART_FIFO_RXUFE_MASK) 13018 #define LPUART_FIFO_TXOFE_MASK (0x200U) 13019 #define LPUART_FIFO_TXOFE_SHIFT (9U) 13020 /*! TXOFE - Transmit FIFO Overflow Interrupt Enable 13021 * 0b0..TXOF flag does not generate an interrupt to the host. 13022 * 0b1..TXOF flag generates an interrupt to the host. 13023 */ 13024 #define LPUART_FIFO_TXOFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOFE_SHIFT)) & LPUART_FIFO_TXOFE_MASK) 13025 #define LPUART_FIFO_RXIDEN_MASK (0x1C00U) 13026 #define LPUART_FIFO_RXIDEN_SHIFT (10U) 13027 /*! RXIDEN - Receiver Idle Empty Enable 13028 * 0b000..Disable RDRF assertion due to partially filled FIFO when receiver is idle. 13029 * 0b001..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 1 character. 13030 * 0b010..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 2 characters. 13031 * 0b011..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 4 characters. 13032 * 0b100..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 8 characters. 13033 * 0b101..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 16 characters. 13034 * 0b110..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 32 characters. 13035 * 0b111..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 64 characters. 13036 */ 13037 #define LPUART_FIFO_RXIDEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXIDEN_SHIFT)) & LPUART_FIFO_RXIDEN_MASK) 13038 #define LPUART_FIFO_RXFLUSH_MASK (0x4000U) 13039 #define LPUART_FIFO_RXFLUSH_SHIFT (14U) 13040 /*! RXFLUSH - Receive FIFO/Buffer Flush 13041 * 0b0..No flush operation occurs. 13042 * 0b1..All data in the receive FIFO/buffer is cleared out. 13043 */ 13044 #define LPUART_FIFO_RXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFLUSH_SHIFT)) & LPUART_FIFO_RXFLUSH_MASK) 13045 #define LPUART_FIFO_TXFLUSH_MASK (0x8000U) 13046 #define LPUART_FIFO_TXFLUSH_SHIFT (15U) 13047 /*! TXFLUSH - Transmit FIFO/Buffer Flush 13048 * 0b0..No flush operation occurs. 13049 * 0b1..All data in the transmit FIFO/Buffer is cleared out. 13050 */ 13051 #define LPUART_FIFO_TXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFLUSH_SHIFT)) & LPUART_FIFO_TXFLUSH_MASK) 13052 #define LPUART_FIFO_RXUF_MASK (0x10000U) 13053 #define LPUART_FIFO_RXUF_SHIFT (16U) 13054 /*! RXUF - Receiver Buffer Underflow Flag 13055 * 0b0..No receive buffer underflow has occurred since the last time the flag was cleared. 13056 * 0b1..At least one receive buffer underflow has occurred since the last time the flag was cleared. 13057 */ 13058 #define LPUART_FIFO_RXUF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUF_SHIFT)) & LPUART_FIFO_RXUF_MASK) 13059 #define LPUART_FIFO_TXOF_MASK (0x20000U) 13060 #define LPUART_FIFO_TXOF_SHIFT (17U) 13061 /*! TXOF - Transmitter Buffer Overflow Flag 13062 * 0b0..No transmit buffer overflow has occurred since the last time the flag was cleared. 13063 * 0b1..At least one transmit buffer overflow has occurred since the last time the flag was cleared. 13064 */ 13065 #define LPUART_FIFO_TXOF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOF_SHIFT)) & LPUART_FIFO_TXOF_MASK) 13066 #define LPUART_FIFO_RXEMPT_MASK (0x400000U) 13067 #define LPUART_FIFO_RXEMPT_SHIFT (22U) 13068 /*! RXEMPT - Receive Buffer/FIFO Empty 13069 * 0b0..Receive buffer is not empty. 13070 * 0b1..Receive buffer is empty. 13071 */ 13072 #define LPUART_FIFO_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXEMPT_SHIFT)) & LPUART_FIFO_RXEMPT_MASK) 13073 #define LPUART_FIFO_TXEMPT_MASK (0x800000U) 13074 #define LPUART_FIFO_TXEMPT_SHIFT (23U) 13075 /*! TXEMPT - Transmit Buffer/FIFO Empty 13076 * 0b0..Transmit buffer is not empty. 13077 * 0b1..Transmit buffer is empty. 13078 */ 13079 #define LPUART_FIFO_TXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXEMPT_SHIFT)) & LPUART_FIFO_TXEMPT_MASK) 13080 /*! @} */ 13081 13082 /*! @name WATER - LPUART Watermark Register */ 13083 /*! @{ */ 13084 #define LPUART_WATER_TXWATER_MASK (0x7U) 13085 #define LPUART_WATER_TXWATER_SHIFT (0U) 13086 #define LPUART_WATER_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXWATER_SHIFT)) & LPUART_WATER_TXWATER_MASK) 13087 #define LPUART_WATER_TXCOUNT_MASK (0xF00U) 13088 #define LPUART_WATER_TXCOUNT_SHIFT (8U) 13089 #define LPUART_WATER_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXCOUNT_SHIFT)) & LPUART_WATER_TXCOUNT_MASK) 13090 #define LPUART_WATER_RXWATER_MASK (0x70000U) 13091 #define LPUART_WATER_RXWATER_SHIFT (16U) 13092 #define LPUART_WATER_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXWATER_SHIFT)) & LPUART_WATER_RXWATER_MASK) 13093 #define LPUART_WATER_RXCOUNT_MASK (0xF000000U) 13094 #define LPUART_WATER_RXCOUNT_SHIFT (24U) 13095 #define LPUART_WATER_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXCOUNT_SHIFT)) & LPUART_WATER_RXCOUNT_MASK) 13096 /*! @} */ 13097 13098 13099 /*! 13100 * @} 13101 */ /* end of group LPUART_Register_Masks */ 13102 13103 13104 /* LPUART - Peripheral instance base addresses */ 13105 /** Peripheral LPUART0 base address */ 13106 #define LPUART0_BASE (0x40042000u) 13107 /** Peripheral LPUART0 base pointer */ 13108 #define LPUART0 ((LPUART_Type *)LPUART0_BASE) 13109 /** Peripheral LPUART1 base address */ 13110 #define LPUART1_BASE (0x40043000u) 13111 /** Peripheral LPUART1 base pointer */ 13112 #define LPUART1 ((LPUART_Type *)LPUART1_BASE) 13113 /** Peripheral LPUART2 base address */ 13114 #define LPUART2_BASE (0x40044000u) 13115 /** Peripheral LPUART2 base pointer */ 13116 #define LPUART2 ((LPUART_Type *)LPUART2_BASE) 13117 /** Peripheral LPUART3 base address */ 13118 #define LPUART3_BASE (0x41036000u) 13119 /** Peripheral LPUART3 base pointer */ 13120 #define LPUART3 ((LPUART_Type *)LPUART3_BASE) 13121 /** Array initializer of LPUART peripheral base addresses */ 13122 #define LPUART_BASE_ADDRS { LPUART0_BASE, LPUART1_BASE, LPUART2_BASE, LPUART3_BASE } 13123 /** Array initializer of LPUART peripheral base pointers */ 13124 #define LPUART_BASE_PTRS { LPUART0, LPUART1, LPUART2, LPUART3 } 13125 /** Interrupt vectors for the LPUART peripheral type */ 13126 #define LPUART_RX_TX_IRQS { LPUART0_IRQn, LPUART1_IRQn, LPUART2_IRQn, LPUART3_IRQn } 13127 #define LPUART_ERR_IRQS { LPUART0_IRQn, LPUART1_IRQn, LPUART2_IRQn, LPUART3_IRQn } 13128 13129 /*! 13130 * @} 13131 */ /* end of group LPUART_Peripheral_Access_Layer */ 13132 13133 13134 /* ---------------------------------------------------------------------------- 13135 -- MCM Peripheral Access Layer 13136 ---------------------------------------------------------------------------- */ 13137 13138 /*! 13139 * @addtogroup MCM_Peripheral_Access_Layer MCM Peripheral Access Layer 13140 * @{ 13141 */ 13142 13143 /** MCM - Register Layout Typedef */ 13144 typedef struct { 13145 uint8_t RESERVED_0[8]; 13146 __I uint16_t PLASC; /**< Crossbar Switch (AXBS) Slave Configuration, offset: 0x8 */ 13147 __I uint16_t PLAMC; /**< Crossbar Switch (AXBS) Master Configuration, offset: 0xA */ 13148 __IO uint32_t CPCR; /**< Core Platform Control Register, offset: 0xC */ 13149 __IO uint32_t ISCR; /**< Interrupt Status and Control Register, offset: 0x10 */ 13150 uint8_t RESERVED_1[32]; 13151 __IO uint32_t CPCR2; /**< Core Platform Control Register 2, offset: 0x34 */ 13152 uint8_t RESERVED_2[8]; 13153 __IO uint32_t CPO; /**< Compute Operation Control Register, offset: 0x40 */ 13154 } MCM_Type; 13155 13156 /* ---------------------------------------------------------------------------- 13157 -- MCM Register Masks 13158 ---------------------------------------------------------------------------- */ 13159 13160 /*! 13161 * @addtogroup MCM_Register_Masks MCM Register Masks 13162 * @{ 13163 */ 13164 13165 /*! @name PLASC - Crossbar Switch (AXBS) Slave Configuration */ 13166 /*! @{ */ 13167 #define MCM_PLASC_ASC_MASK (0xFFU) 13168 #define MCM_PLASC_ASC_SHIFT (0U) 13169 #define MCM_PLASC_ASC(x) (((uint16_t)(((uint16_t)(x)) << MCM_PLASC_ASC_SHIFT)) & MCM_PLASC_ASC_MASK) 13170 /*! @} */ 13171 13172 /*! @name PLAMC - Crossbar Switch (AXBS) Master Configuration */ 13173 /*! @{ */ 13174 #define MCM_PLAMC_AMC_MASK (0xFFU) 13175 #define MCM_PLAMC_AMC_SHIFT (0U) 13176 #define MCM_PLAMC_AMC(x) (((uint16_t)(((uint16_t)(x)) << MCM_PLAMC_AMC_SHIFT)) & MCM_PLAMC_AMC_MASK) 13177 /*! @} */ 13178 13179 /*! @name CPCR - Core Platform Control Register */ 13180 /*! @{ */ 13181 #define MCM_CPCR_CBRR_MASK (0x200U) 13182 #define MCM_CPCR_CBRR_SHIFT (9U) 13183 /*! CBRR - Crossbar round-robin arbitration enable 13184 * 0b0..Fixed-priority arbitration 13185 * 0b1..Round-robin arbitration 13186 */ 13187 #define MCM_CPCR_CBRR(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPCR_CBRR_SHIFT)) & MCM_CPCR_CBRR_MASK) 13188 /*! @} */ 13189 13190 /*! @name ISCR - Interrupt Status and Control Register */ 13191 /*! @{ */ 13192 #define MCM_ISCR_FIOC_MASK (0x100U) 13193 #define MCM_ISCR_FIOC_SHIFT (8U) 13194 /*! FIOC - FPU invalid operation interrupt status 13195 * 0b0..No interrupt 13196 * 0b1..Interrupt occurred 13197 */ 13198 #define MCM_ISCR_FIOC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIOC_SHIFT)) & MCM_ISCR_FIOC_MASK) 13199 #define MCM_ISCR_FDZC_MASK (0x200U) 13200 #define MCM_ISCR_FDZC_SHIFT (9U) 13201 /*! FDZC - FPU divide-by-zero interrupt status 13202 * 0b0..No interrupt 13203 * 0b1..Interrupt occurred 13204 */ 13205 #define MCM_ISCR_FDZC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FDZC_SHIFT)) & MCM_ISCR_FDZC_MASK) 13206 #define MCM_ISCR_FOFC_MASK (0x400U) 13207 #define MCM_ISCR_FOFC_SHIFT (10U) 13208 /*! FOFC - FPU overflow interrupt status 13209 * 0b0..No interrupt 13210 * 0b1..Interrupt occurred 13211 */ 13212 #define MCM_ISCR_FOFC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FOFC_SHIFT)) & MCM_ISCR_FOFC_MASK) 13213 #define MCM_ISCR_FUFC_MASK (0x800U) 13214 #define MCM_ISCR_FUFC_SHIFT (11U) 13215 /*! FUFC - FPU underflow interrupt status 13216 * 0b0..No interrupt 13217 * 0b1..Interrupt occurred 13218 */ 13219 #define MCM_ISCR_FUFC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FUFC_SHIFT)) & MCM_ISCR_FUFC_MASK) 13220 #define MCM_ISCR_FIXC_MASK (0x1000U) 13221 #define MCM_ISCR_FIXC_SHIFT (12U) 13222 /*! FIXC - FPU inexact interrupt status 13223 * 0b0..No interrupt 13224 * 0b1..Interrupt occurred 13225 */ 13226 #define MCM_ISCR_FIXC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIXC_SHIFT)) & MCM_ISCR_FIXC_MASK) 13227 #define MCM_ISCR_FIDC_MASK (0x8000U) 13228 #define MCM_ISCR_FIDC_SHIFT (15U) 13229 /*! FIDC - FPU input denormal interrupt status 13230 * 0b0..No interrupt 13231 * 0b1..Interrupt occurred 13232 */ 13233 #define MCM_ISCR_FIDC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIDC_SHIFT)) & MCM_ISCR_FIDC_MASK) 13234 #define MCM_ISCR_FIOCE_MASK (0x1000000U) 13235 #define MCM_ISCR_FIOCE_SHIFT (24U) 13236 /*! FIOCE - FPU invalid operation interrupt enable 13237 * 0b0..Disable interrupt 13238 * 0b1..Enable interrupt 13239 */ 13240 #define MCM_ISCR_FIOCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIOCE_SHIFT)) & MCM_ISCR_FIOCE_MASK) 13241 #define MCM_ISCR_FDZCE_MASK (0x2000000U) 13242 #define MCM_ISCR_FDZCE_SHIFT (25U) 13243 /*! FDZCE - FPU divide-by-zero interrupt enable 13244 * 0b0..Disable interrupt 13245 * 0b1..Enable interrupt 13246 */ 13247 #define MCM_ISCR_FDZCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FDZCE_SHIFT)) & MCM_ISCR_FDZCE_MASK) 13248 #define MCM_ISCR_FOFCE_MASK (0x4000000U) 13249 #define MCM_ISCR_FOFCE_SHIFT (26U) 13250 /*! FOFCE - FPU overflow interrupt enable 13251 * 0b0..Disable interrupt 13252 * 0b1..Enable interrupt 13253 */ 13254 #define MCM_ISCR_FOFCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FOFCE_SHIFT)) & MCM_ISCR_FOFCE_MASK) 13255 #define MCM_ISCR_FUFCE_MASK (0x8000000U) 13256 #define MCM_ISCR_FUFCE_SHIFT (27U) 13257 /*! FUFCE - FPU underflow interrupt enable 13258 * 0b0..Disable interrupt 13259 * 0b1..Enable interrupt 13260 */ 13261 #define MCM_ISCR_FUFCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FUFCE_SHIFT)) & MCM_ISCR_FUFCE_MASK) 13262 #define MCM_ISCR_FIXCE_MASK (0x10000000U) 13263 #define MCM_ISCR_FIXCE_SHIFT (28U) 13264 /*! FIXCE - FPU inexact interrupt enable 13265 * 0b0..Disable interrupt 13266 * 0b1..Enable interrupt 13267 */ 13268 #define MCM_ISCR_FIXCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIXCE_SHIFT)) & MCM_ISCR_FIXCE_MASK) 13269 #define MCM_ISCR_FIDCE_MASK (0x80000000U) 13270 #define MCM_ISCR_FIDCE_SHIFT (31U) 13271 /*! FIDCE - FPU input denormal interrupt enable 13272 * 0b0..Disable interrupt 13273 * 0b1..Enable interrupt 13274 */ 13275 #define MCM_ISCR_FIDCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIDCE_SHIFT)) & MCM_ISCR_FIDCE_MASK) 13276 /*! @} */ 13277 13278 /*! @name CPCR2 - Core Platform Control Register 2 */ 13279 /*! @{ */ 13280 #define MCM_CPCR2_CCBC_MASK (0x1U) 13281 #define MCM_CPCR2_CCBC_SHIFT (0U) 13282 /*! CCBC - Clear code bus cache, this field always reads as 0. 13283 * 0b0..No effect 13284 * 0b1..Clear code bus cache 13285 */ 13286 #define MCM_CPCR2_CCBC(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPCR2_CCBC_SHIFT)) & MCM_CPCR2_CCBC_MASK) 13287 #define MCM_CPCR2_DCBC_MASK (0x8U) 13288 #define MCM_CPCR2_DCBC_SHIFT (3U) 13289 /*! DCBC - Disable code bus cache 13290 * 0b0..Enable code bus cache 13291 * 0b1..Disable code bus cache 13292 */ 13293 #define MCM_CPCR2_DCBC(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPCR2_DCBC_SHIFT)) & MCM_CPCR2_DCBC_MASK) 13294 #define MCM_CPCR2_CBCS_MASK (0xF0U) 13295 #define MCM_CPCR2_CBCS_SHIFT (4U) 13296 /*! CBCS - Code Bus Cache Size 13297 * 0b0000..0 KB 13298 * 0b0001..1 KB 13299 * 0b0010..2 KB 13300 * 0b0011..4 KB 13301 * 0b0100..8 KB 13302 * 0b0101..16 KB 13303 * 0b0110..32 KB 13304 */ 13305 #define MCM_CPCR2_CBCS(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPCR2_CBCS_SHIFT)) & MCM_CPCR2_CBCS_MASK) 13306 #define MCM_CPCR2_PCCMCTRL_MASK (0x10000U) 13307 #define MCM_CPCR2_PCCMCTRL_SHIFT (16U) 13308 /*! PCCMCTRL - Bypass fixed code cache map 13309 * 0b0..The fixed code cache map is not bypassed 13310 * 0b1..The fixed code cache map is bypassed 13311 */ 13312 #define MCM_CPCR2_PCCMCTRL(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPCR2_PCCMCTRL_SHIFT)) & MCM_CPCR2_PCCMCTRL_MASK) 13313 #define MCM_CPCR2_LCCPWB_MASK (0x20000U) 13314 #define MCM_CPCR2_LCCPWB_SHIFT (17U) 13315 /*! LCCPWB - Limit code cache peripheral write buffering 13316 * 0b0..Code cache peripheral write buffering is not limited 13317 * 0b1..Code cache peripheral write buffering is limited 13318 */ 13319 #define MCM_CPCR2_LCCPWB(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPCR2_LCCPWB_SHIFT)) & MCM_CPCR2_LCCPWB_MASK) 13320 /*! @} */ 13321 13322 /*! @name CPO - Compute Operation Control Register */ 13323 /*! @{ */ 13324 #define MCM_CPO_CPOREQ_MASK (0x1U) 13325 #define MCM_CPO_CPOREQ_SHIFT (0U) 13326 /*! CPOREQ - Compute Operation request 13327 * 0b0..Request is cleared. 13328 * 0b1..Request Compute Operation. 13329 */ 13330 #define MCM_CPO_CPOREQ(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPO_CPOREQ_SHIFT)) & MCM_CPO_CPOREQ_MASK) 13331 #define MCM_CPO_CPOACK_MASK (0x2U) 13332 #define MCM_CPO_CPOACK_SHIFT (1U) 13333 /*! CPOACK - Compute Operation acknowledge 13334 * 0b0..Compute operation entry has not completed or compute operation exit has completed. 13335 * 0b1..Compute operation entry has completed or compute operation exit has not completed. 13336 */ 13337 #define MCM_CPO_CPOACK(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPO_CPOACK_SHIFT)) & MCM_CPO_CPOACK_MASK) 13338 #define MCM_CPO_CPOWOI_MASK (0x4U) 13339 #define MCM_CPO_CPOWOI_SHIFT (2U) 13340 /*! CPOWOI - Compute Operation wakeup on interrupt 13341 * 0b0..No effect. 13342 * 0b1..When set, the CPOREQ is cleared on any interrupt or exception vector fetch. 13343 */ 13344 #define MCM_CPO_CPOWOI(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPO_CPOWOI_SHIFT)) & MCM_CPO_CPOWOI_MASK) 13345 /*! @} */ 13346 13347 13348 /*! 13349 * @} 13350 */ /* end of group MCM_Register_Masks */ 13351 13352 13353 /* MCM - Peripheral instance base addresses */ 13354 /** Peripheral MCM0 base address */ 13355 #define MCM0_BASE (0xE0080000u) 13356 /** Peripheral MCM0 base pointer */ 13357 #define MCM0 ((MCM_Type *)MCM0_BASE) 13358 /** Array initializer of MCM peripheral base addresses */ 13359 #define MCM_BASE_ADDRS { MCM0_BASE } 13360 /** Array initializer of MCM peripheral base pointers */ 13361 #define MCM_BASE_PTRS { MCM0 } 13362 /** Interrupt vectors for the MCM peripheral type */ 13363 #define MCM_IRQS { CTI0_MCM0_IRQn } 13364 /* MCM compatibility definitions */ 13365 #define MCM_BASE MCM0_BASE 13366 #define MCM MCM0 13367 13368 13369 /*! 13370 * @} 13371 */ /* end of group MCM_Peripheral_Access_Layer */ 13372 13373 13374 /* ---------------------------------------------------------------------------- 13375 -- MSCM Peripheral Access Layer 13376 ---------------------------------------------------------------------------- */ 13377 13378 /*! 13379 * @addtogroup MSCM_Peripheral_Access_Layer MSCM Peripheral Access Layer 13380 * @{ 13381 */ 13382 13383 /** MSCM - Register Layout Typedef */ 13384 typedef struct { 13385 __I uint32_t CPXTYPE; /**< Processor X Type Register, offset: 0x0 */ 13386 __I uint32_t CPXNUM; /**< Processor X Number Register, offset: 0x4 */ 13387 __I uint32_t CPXMASTER; /**< Processor X Master Register, offset: 0x8 */ 13388 __I uint32_t CPXCOUNT; /**< Processor X Count Register, offset: 0xC */ 13389 __I uint32_t CPXCFG0; /**< Processor X Configuration Register 0, offset: 0x10 */ 13390 __I uint32_t CPXCFG1; /**< Processor X Configuration Register 1, offset: 0x14 */ 13391 __I uint32_t CPXCFG2; /**< Processor X Configuration Register 2, offset: 0x18 */ 13392 __I uint32_t CPXCFG3; /**< Processor X Configuration Register 3, offset: 0x1C */ 13393 struct { /* offset: 0x20, array step: 0x20 */ 13394 __I uint32_t TYPE; /**< Processor 0 Type Register..Processor 1 Type Register, array offset: 0x20, array step: 0x20 */ 13395 __I uint32_t NUM; /**< Processor 0 Number Register..Processor 1 Number Register, array offset: 0x24, array step: 0x20 */ 13396 __I uint32_t MASTER; /**< Processor 0 Master Register..Processor 1 Master Register, array offset: 0x28, array step: 0x20 */ 13397 __I uint32_t COUNT; /**< Processor 0 Count Register..Processor 1 Count Register, array offset: 0x2C, array step: 0x20 */ 13398 __I uint32_t CFG0; /**< Processor 0 Configuration Register 0..Processor 1 Configuration Register 0, array offset: 0x30, array step: 0x20 */ 13399 __I uint32_t CFG1; /**< Processor 0 Configuration Register 1..Processor 1 Configuration Register 1, array offset: 0x34, array step: 0x20 */ 13400 __I uint32_t CFG2; /**< Processor 0 Configuration Register 2..Processor 1 Configuration Register 2, array offset: 0x38, array step: 0x20 */ 13401 __I uint32_t CFG3; /**< Processor 0 Configuration Register 3..Processor 1 Configuration Register 3, array offset: 0x3C, array step: 0x20 */ 13402 } CP[2]; 13403 uint8_t RESERVED_0[928]; 13404 __IO uint32_t OCMDR0; /**< On-Chip Memory Descriptor Register, offset: 0x400 */ 13405 __IO uint32_t OCMDR1; /**< On-Chip Memory Descriptor Register, offset: 0x404 */ 13406 __IO uint32_t OCMDR2; /**< On-Chip Memory Descriptor Register, offset: 0x408 */ 13407 __IO uint32_t OCMDR3; /**< On-Chip Memory Descriptor Register, offset: 0x40C */ 13408 } MSCM_Type; 13409 13410 /* ---------------------------------------------------------------------------- 13411 -- MSCM Register Masks 13412 ---------------------------------------------------------------------------- */ 13413 13414 /*! 13415 * @addtogroup MSCM_Register_Masks MSCM Register Masks 13416 * @{ 13417 */ 13418 13419 /*! @name CPXTYPE - Processor X Type Register */ 13420 /*! @{ */ 13421 #define MSCM_CPXTYPE_RYPZ_MASK (0xFFU) 13422 #define MSCM_CPXTYPE_RYPZ_SHIFT (0U) 13423 #define MSCM_CPXTYPE_RYPZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXTYPE_RYPZ_SHIFT)) & MSCM_CPXTYPE_RYPZ_MASK) 13424 #define MSCM_CPXTYPE_PERSONALITY_MASK (0xFFFFFF00U) 13425 #define MSCM_CPXTYPE_PERSONALITY_SHIFT (8U) 13426 #define MSCM_CPXTYPE_PERSONALITY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXTYPE_PERSONALITY_SHIFT)) & MSCM_CPXTYPE_PERSONALITY_MASK) 13427 /*! @} */ 13428 13429 /*! @name CPXNUM - Processor X Number Register */ 13430 /*! @{ */ 13431 #define MSCM_CPXNUM_CPN_MASK (0x1U) 13432 #define MSCM_CPXNUM_CPN_SHIFT (0U) 13433 #define MSCM_CPXNUM_CPN(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXNUM_CPN_SHIFT)) & MSCM_CPXNUM_CPN_MASK) 13434 /*! @} */ 13435 13436 /*! @name CPXMASTER - Processor X Master Register */ 13437 /*! @{ */ 13438 #define MSCM_CPXMASTER_PPMN_MASK (0x3FU) 13439 #define MSCM_CPXMASTER_PPMN_SHIFT (0U) 13440 #define MSCM_CPXMASTER_PPMN(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXMASTER_PPMN_SHIFT)) & MSCM_CPXMASTER_PPMN_MASK) 13441 /*! @} */ 13442 13443 /*! @name CPXCOUNT - Processor X Count Register */ 13444 /*! @{ */ 13445 #define MSCM_CPXCOUNT_PCNT_MASK (0x3U) 13446 #define MSCM_CPXCOUNT_PCNT_SHIFT (0U) 13447 #define MSCM_CPXCOUNT_PCNT(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCOUNT_PCNT_SHIFT)) & MSCM_CPXCOUNT_PCNT_MASK) 13448 /*! @} */ 13449 13450 /*! @name CPXCFG0 - Processor X Configuration Register 0 */ 13451 /*! @{ */ 13452 #define MSCM_CPXCFG0_DCWY_MASK (0xFFU) 13453 #define MSCM_CPXCFG0_DCWY_SHIFT (0U) 13454 #define MSCM_CPXCFG0_DCWY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG0_DCWY_SHIFT)) & MSCM_CPXCFG0_DCWY_MASK) 13455 #define MSCM_CPXCFG0_DCSZ_MASK (0xFF00U) 13456 #define MSCM_CPXCFG0_DCSZ_SHIFT (8U) 13457 #define MSCM_CPXCFG0_DCSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG0_DCSZ_SHIFT)) & MSCM_CPXCFG0_DCSZ_MASK) 13458 #define MSCM_CPXCFG0_ICWY_MASK (0xFF0000U) 13459 #define MSCM_CPXCFG0_ICWY_SHIFT (16U) 13460 #define MSCM_CPXCFG0_ICWY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG0_ICWY_SHIFT)) & MSCM_CPXCFG0_ICWY_MASK) 13461 #define MSCM_CPXCFG0_ICSZ_MASK (0xFF000000U) 13462 #define MSCM_CPXCFG0_ICSZ_SHIFT (24U) 13463 #define MSCM_CPXCFG0_ICSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG0_ICSZ_SHIFT)) & MSCM_CPXCFG0_ICSZ_MASK) 13464 /*! @} */ 13465 13466 /*! @name CPXCFG1 - Processor X Configuration Register 1 */ 13467 /*! @{ */ 13468 #define MSCM_CPXCFG1_L2WY_MASK (0xFF0000U) 13469 #define MSCM_CPXCFG1_L2WY_SHIFT (16U) 13470 #define MSCM_CPXCFG1_L2WY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG1_L2WY_SHIFT)) & MSCM_CPXCFG1_L2WY_MASK) 13471 #define MSCM_CPXCFG1_L2SZ_MASK (0xFF000000U) 13472 #define MSCM_CPXCFG1_L2SZ_SHIFT (24U) 13473 #define MSCM_CPXCFG1_L2SZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG1_L2SZ_SHIFT)) & MSCM_CPXCFG1_L2SZ_MASK) 13474 /*! @} */ 13475 13476 /*! @name CPXCFG2 - Processor X Configuration Register 2 */ 13477 /*! @{ */ 13478 #define MSCM_CPXCFG2_TMUSZ_MASK (0xFF00U) 13479 #define MSCM_CPXCFG2_TMUSZ_SHIFT (8U) 13480 #define MSCM_CPXCFG2_TMUSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG2_TMUSZ_SHIFT)) & MSCM_CPXCFG2_TMUSZ_MASK) 13481 #define MSCM_CPXCFG2_TMLSZ_MASK (0xFF000000U) 13482 #define MSCM_CPXCFG2_TMLSZ_SHIFT (24U) 13483 #define MSCM_CPXCFG2_TMLSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG2_TMLSZ_SHIFT)) & MSCM_CPXCFG2_TMLSZ_MASK) 13484 /*! @} */ 13485 13486 /*! @name CPXCFG3 - Processor X Configuration Register 3 */ 13487 /*! @{ */ 13488 #define MSCM_CPXCFG3_FPU_MASK (0x1U) 13489 #define MSCM_CPXCFG3_FPU_SHIFT (0U) 13490 /*! FPU - Floating Point Unit 13491 * 0b0..FPU support is not included. 13492 * 0b1..FPU support is included. 13493 */ 13494 #define MSCM_CPXCFG3_FPU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_FPU_SHIFT)) & MSCM_CPXCFG3_FPU_MASK) 13495 #define MSCM_CPXCFG3_SIMD_MASK (0x2U) 13496 #define MSCM_CPXCFG3_SIMD_SHIFT (1U) 13497 /*! SIMD - SIMD/NEON instruction support 13498 * 0b0..SIMD/NEON support is not included. 13499 * 0b1..SIMD/NEON support is included. 13500 */ 13501 #define MSCM_CPXCFG3_SIMD(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_SIMD_SHIFT)) & MSCM_CPXCFG3_SIMD_MASK) 13502 #define MSCM_CPXCFG3_JAZ_MASK (0x4U) 13503 #define MSCM_CPXCFG3_JAZ_SHIFT (2U) 13504 /*! JAZ - Jazelle support 13505 * 0b0..Jazelle support is not included. 13506 * 0b1..Jazelle support is included. 13507 */ 13508 #define MSCM_CPXCFG3_JAZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_JAZ_SHIFT)) & MSCM_CPXCFG3_JAZ_MASK) 13509 #define MSCM_CPXCFG3_MMU_MASK (0x8U) 13510 #define MSCM_CPXCFG3_MMU_SHIFT (3U) 13511 /*! MMU - Memory Management Unit 13512 * 0b0..MMU support is not included. 13513 * 0b1..MMU support is included. 13514 */ 13515 #define MSCM_CPXCFG3_MMU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_MMU_SHIFT)) & MSCM_CPXCFG3_MMU_MASK) 13516 #define MSCM_CPXCFG3_TZ_MASK (0x10U) 13517 #define MSCM_CPXCFG3_TZ_SHIFT (4U) 13518 /*! TZ - Trust Zone 13519 * 0b0..Trust Zone support is not included. 13520 * 0b1..Trust Zone support is included. 13521 */ 13522 #define MSCM_CPXCFG3_TZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_TZ_SHIFT)) & MSCM_CPXCFG3_TZ_MASK) 13523 #define MSCM_CPXCFG3_CMP_MASK (0x20U) 13524 #define MSCM_CPXCFG3_CMP_SHIFT (5U) 13525 /*! CMP - Core Memory Protection unit 13526 * 0b0..Core Memory Protection is not included. 13527 * 0b1..Core Memory Protection is included. 13528 */ 13529 #define MSCM_CPXCFG3_CMP(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_CMP_SHIFT)) & MSCM_CPXCFG3_CMP_MASK) 13530 #define MSCM_CPXCFG3_BB_MASK (0x40U) 13531 #define MSCM_CPXCFG3_BB_SHIFT (6U) 13532 /*! BB - Bit Banding 13533 * 0b0..Bit Banding is not supported. 13534 * 0b1..Bit Banding is supported. 13535 */ 13536 #define MSCM_CPXCFG3_BB(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_BB_SHIFT)) & MSCM_CPXCFG3_BB_MASK) 13537 #define MSCM_CPXCFG3_SBP_MASK (0x300U) 13538 #define MSCM_CPXCFG3_SBP_SHIFT (8U) 13539 #define MSCM_CPXCFG3_SBP(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_SBP_SHIFT)) & MSCM_CPXCFG3_SBP_MASK) 13540 /*! @} */ 13541 13542 /*! @name TYPE - Processor 0 Type Register..Processor 1 Type Register */ 13543 /*! @{ */ 13544 #define MSCM_TYPE_RYPZ_MASK (0xFFU) 13545 #define MSCM_TYPE_RYPZ_SHIFT (0U) 13546 #define MSCM_TYPE_RYPZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_TYPE_RYPZ_SHIFT)) & MSCM_TYPE_RYPZ_MASK) 13547 #define MSCM_TYPE_PERSONALITY_MASK (0xFFFFFF00U) 13548 #define MSCM_TYPE_PERSONALITY_SHIFT (8U) 13549 #define MSCM_TYPE_PERSONALITY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_TYPE_PERSONALITY_SHIFT)) & MSCM_TYPE_PERSONALITY_MASK) 13550 /*! @} */ 13551 13552 /* The count of MSCM_TYPE */ 13553 #define MSCM_TYPE_COUNT (2U) 13554 13555 /*! @name NUM - Processor 0 Number Register..Processor 1 Number Register */ 13556 /*! @{ */ 13557 #define MSCM_NUM_CPN_MASK (0x1U) 13558 #define MSCM_NUM_CPN_SHIFT (0U) 13559 #define MSCM_NUM_CPN(x) (((uint32_t)(((uint32_t)(x)) << MSCM_NUM_CPN_SHIFT)) & MSCM_NUM_CPN_MASK) 13560 /*! @} */ 13561 13562 /* The count of MSCM_NUM */ 13563 #define MSCM_NUM_COUNT (2U) 13564 13565 /*! @name MASTER - Processor 0 Master Register..Processor 1 Master Register */ 13566 /*! @{ */ 13567 #define MSCM_MASTER_PPMN_MASK (0x3FU) 13568 #define MSCM_MASTER_PPMN_SHIFT (0U) 13569 #define MSCM_MASTER_PPMN(x) (((uint32_t)(((uint32_t)(x)) << MSCM_MASTER_PPMN_SHIFT)) & MSCM_MASTER_PPMN_MASK) 13570 /*! @} */ 13571 13572 /* The count of MSCM_MASTER */ 13573 #define MSCM_MASTER_COUNT (2U) 13574 13575 /*! @name COUNT - Processor 0 Count Register..Processor 1 Count Register */ 13576 /*! @{ */ 13577 #define MSCM_COUNT_PCNT_MASK (0x3U) 13578 #define MSCM_COUNT_PCNT_SHIFT (0U) 13579 #define MSCM_COUNT_PCNT(x) (((uint32_t)(((uint32_t)(x)) << MSCM_COUNT_PCNT_SHIFT)) & MSCM_COUNT_PCNT_MASK) 13580 /*! @} */ 13581 13582 /* The count of MSCM_COUNT */ 13583 #define MSCM_COUNT_COUNT (2U) 13584 13585 /*! @name CFG0 - Processor 0 Configuration Register 0..Processor 1 Configuration Register 0 */ 13586 /*! @{ */ 13587 #define MSCM_CFG0_DCWY_MASK (0xFFU) 13588 #define MSCM_CFG0_DCWY_SHIFT (0U) 13589 #define MSCM_CFG0_DCWY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG0_DCWY_SHIFT)) & MSCM_CFG0_DCWY_MASK) 13590 #define MSCM_CFG0_DCSZ_MASK (0xFF00U) 13591 #define MSCM_CFG0_DCSZ_SHIFT (8U) 13592 #define MSCM_CFG0_DCSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG0_DCSZ_SHIFT)) & MSCM_CFG0_DCSZ_MASK) 13593 #define MSCM_CFG0_ICWY_MASK (0xFF0000U) 13594 #define MSCM_CFG0_ICWY_SHIFT (16U) 13595 #define MSCM_CFG0_ICWY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG0_ICWY_SHIFT)) & MSCM_CFG0_ICWY_MASK) 13596 #define MSCM_CFG0_ICSZ_MASK (0xFF000000U) 13597 #define MSCM_CFG0_ICSZ_SHIFT (24U) 13598 #define MSCM_CFG0_ICSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG0_ICSZ_SHIFT)) & MSCM_CFG0_ICSZ_MASK) 13599 /*! @} */ 13600 13601 /* The count of MSCM_CFG0 */ 13602 #define MSCM_CFG0_COUNT (2U) 13603 13604 /*! @name CFG1 - Processor 0 Configuration Register 1..Processor 1 Configuration Register 1 */ 13605 /*! @{ */ 13606 #define MSCM_CFG1_L2WY_MASK (0xFF0000U) 13607 #define MSCM_CFG1_L2WY_SHIFT (16U) 13608 #define MSCM_CFG1_L2WY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG1_L2WY_SHIFT)) & MSCM_CFG1_L2WY_MASK) 13609 #define MSCM_CFG1_L2SZ_MASK (0xFF000000U) 13610 #define MSCM_CFG1_L2SZ_SHIFT (24U) 13611 #define MSCM_CFG1_L2SZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG1_L2SZ_SHIFT)) & MSCM_CFG1_L2SZ_MASK) 13612 /*! @} */ 13613 13614 /* The count of MSCM_CFG1 */ 13615 #define MSCM_CFG1_COUNT (2U) 13616 13617 /*! @name CFG2 - Processor 0 Configuration Register 2..Processor 1 Configuration Register 2 */ 13618 /*! @{ */ 13619 #define MSCM_CFG2_TMUSZ_MASK (0xFF00U) 13620 #define MSCM_CFG2_TMUSZ_SHIFT (8U) 13621 #define MSCM_CFG2_TMUSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG2_TMUSZ_SHIFT)) & MSCM_CFG2_TMUSZ_MASK) 13622 #define MSCM_CFG2_TMLSZ_MASK (0xFF000000U) 13623 #define MSCM_CFG2_TMLSZ_SHIFT (24U) 13624 #define MSCM_CFG2_TMLSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG2_TMLSZ_SHIFT)) & MSCM_CFG2_TMLSZ_MASK) 13625 /*! @} */ 13626 13627 /* The count of MSCM_CFG2 */ 13628 #define MSCM_CFG2_COUNT (2U) 13629 13630 /*! @name CFG3 - Processor 0 Configuration Register 3..Processor 1 Configuration Register 3 */ 13631 /*! @{ */ 13632 #define MSCM_CFG3_FPU_MASK (0x1U) 13633 #define MSCM_CFG3_FPU_SHIFT (0U) 13634 /*! FPU - Floating Point Unit 13635 * 0b0..FPU support is not included. 13636 * 0b1..FPU support is included. 13637 */ 13638 #define MSCM_CFG3_FPU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_FPU_SHIFT)) & MSCM_CFG3_FPU_MASK) 13639 #define MSCM_CFG3_SIMD_MASK (0x2U) 13640 #define MSCM_CFG3_SIMD_SHIFT (1U) 13641 /*! SIMD - SIMD/NEON instruction support 13642 * 0b0..SIMD/NEON support is not included. 13643 * 0b1..SIMD/NEON support is included. 13644 */ 13645 #define MSCM_CFG3_SIMD(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_SIMD_SHIFT)) & MSCM_CFG3_SIMD_MASK) 13646 #define MSCM_CFG3_JAZ_MASK (0x4U) 13647 #define MSCM_CFG3_JAZ_SHIFT (2U) 13648 /*! JAZ - Jazelle support 13649 * 0b0..Jazelle support is not included. 13650 * 0b1..Jazelle support is included. 13651 */ 13652 #define MSCM_CFG3_JAZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_JAZ_SHIFT)) & MSCM_CFG3_JAZ_MASK) 13653 #define MSCM_CFG3_MMU_MASK (0x8U) 13654 #define MSCM_CFG3_MMU_SHIFT (3U) 13655 /*! MMU - Memory Management Unit 13656 * 0b0..MMU support is not included. 13657 * 0b1..MMU support is included. 13658 */ 13659 #define MSCM_CFG3_MMU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_MMU_SHIFT)) & MSCM_CFG3_MMU_MASK) 13660 #define MSCM_CFG3_TZ_MASK (0x10U) 13661 #define MSCM_CFG3_TZ_SHIFT (4U) 13662 /*! TZ - Trust Zone 13663 * 0b0..Trust Zone support is not included. 13664 * 0b1..Trust Zone support is included. 13665 */ 13666 #define MSCM_CFG3_TZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_TZ_SHIFT)) & MSCM_CFG3_TZ_MASK) 13667 #define MSCM_CFG3_CMP_MASK (0x20U) 13668 #define MSCM_CFG3_CMP_SHIFT (5U) 13669 /*! CMP - Core Memory Protection unit 13670 * 0b0..Core Memory Protection is not included. 13671 * 0b1..Core Memory Protection is included. 13672 */ 13673 #define MSCM_CFG3_CMP(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_CMP_SHIFT)) & MSCM_CFG3_CMP_MASK) 13674 #define MSCM_CFG3_BB_MASK (0x40U) 13675 #define MSCM_CFG3_BB_SHIFT (6U) 13676 /*! BB - Bit Banding 13677 * 0b0..Bit Banding is not supported. 13678 * 0b1..Bit Banding is supported. 13679 */ 13680 #define MSCM_CFG3_BB(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_BB_SHIFT)) & MSCM_CFG3_BB_MASK) 13681 #define MSCM_CFG3_SBP_MASK (0x300U) 13682 #define MSCM_CFG3_SBP_SHIFT (8U) 13683 #define MSCM_CFG3_SBP(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_SBP_SHIFT)) & MSCM_CFG3_SBP_MASK) 13684 /*! @} */ 13685 13686 /* The count of MSCM_CFG3 */ 13687 #define MSCM_CFG3_COUNT (2U) 13688 13689 /*! @name OCMDR0 - On-Chip Memory Descriptor Register */ 13690 /*! @{ */ 13691 #define MSCM_OCMDR0_OCM1_MASK (0x30U) 13692 #define MSCM_OCMDR0_OCM1_SHIFT (4U) 13693 #define MSCM_OCMDR0_OCM1(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_OCM1_SHIFT)) & MSCM_OCMDR0_OCM1_MASK) 13694 #define MSCM_OCMDR0_OCMPU_MASK (0x1000U) 13695 #define MSCM_OCMDR0_OCMPU_SHIFT (12U) 13696 #define MSCM_OCMDR0_OCMPU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_OCMPU_SHIFT)) & MSCM_OCMDR0_OCMPU_MASK) 13697 #define MSCM_OCMDR0_OCMT_MASK (0xE000U) 13698 #define MSCM_OCMDR0_OCMT_SHIFT (13U) 13699 /*! OCMT - OCMT 13700 * 0b000..Reserved 13701 * 0b001..Reserved 13702 * 0b010..Reserved 13703 * 0b011..OCMEMn is a ROM. 13704 * 0b100..OCMEMn is a Program Flash. 13705 * 0b101..Reserved 13706 * 0b110..OCMEMn is an EEE. 13707 * 0b111..Reserved 13708 */ 13709 #define MSCM_OCMDR0_OCMT(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_OCMT_SHIFT)) & MSCM_OCMDR0_OCMT_MASK) 13710 #define MSCM_OCMDR0_RO_MASK (0x10000U) 13711 #define MSCM_OCMDR0_RO_SHIFT (16U) 13712 /*! RO - RO 13713 * 0b0..Writes to the OCMDRn[11:0] are allowed 13714 * 0b1..Writes to the OCMDRn[11:0] are ignored 13715 */ 13716 #define MSCM_OCMDR0_RO(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_RO_SHIFT)) & MSCM_OCMDR0_RO_MASK) 13717 #define MSCM_OCMDR0_OCMW_MASK (0xE0000U) 13718 #define MSCM_OCMDR0_OCMW_SHIFT (17U) 13719 /*! OCMW - OCMW 13720 * 0b000-0b001..Reserved 13721 * 0b010..OCMEMn 32-bits wide 13722 * 0b011..OCMEMn 64-bits wide 13723 * 0b100..OCMEMn 128-bits wide 13724 * 0b101..OCMEMn 256-bits wide 13725 * 0b110-0b111..Reserved 13726 */ 13727 #define MSCM_OCMDR0_OCMW(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_OCMW_SHIFT)) & MSCM_OCMDR0_OCMW_MASK) 13728 #define MSCM_OCMDR0_OCMSZ_MASK (0xF000000U) 13729 #define MSCM_OCMDR0_OCMSZ_SHIFT (24U) 13730 /*! OCMSZ - OCMSZ 13731 * 0b0000..no OCMEMn 13732 * 0b0001..1KB OCMEMn 13733 * 0b0010..2KB OCMEMn 13734 * 0b0011..4KB OCMEMn 13735 * 0b0100..8KB OCMEMn 13736 * 0b0101..16KB OCMEMn 13737 * 0b0110..32KB OCMEMn 13738 * 0b0111..64KB OCMEMn 13739 * 0b1000..128KB OCMEMn 13740 * 0b1001..256KB OCMEMn 13741 * 0b1010..512KB OCMEMn 13742 * 0b1011..1MB OCMEMn 13743 * 0b1100..2MB OCMEMn 13744 * 0b1101..4MB OCMEMn 13745 * 0b1110..8MB OCMEMn 13746 * 0b1111..16MB OCMEMn 13747 */ 13748 #define MSCM_OCMDR0_OCMSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_OCMSZ_SHIFT)) & MSCM_OCMDR0_OCMSZ_MASK) 13749 #define MSCM_OCMDR0_OCMSZH_MASK (0x10000000U) 13750 #define MSCM_OCMDR0_OCMSZH_SHIFT (28U) 13751 /*! OCMSZH - OCMSZH 13752 * 0b0..OCMEMn is a power-of-2 capacity. 13753 * 0b1..OCMEMn is not a power-of-2, with a capacity is 0.75 * OCMSZ. 13754 */ 13755 #define MSCM_OCMDR0_OCMSZH(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_OCMSZH_SHIFT)) & MSCM_OCMDR0_OCMSZH_MASK) 13756 #define MSCM_OCMDR0_V_MASK (0x80000000U) 13757 #define MSCM_OCMDR0_V_SHIFT (31U) 13758 /*! V - V 13759 * 0b0..OCMEMn is not present. 13760 * 0b1..OCMEMn is present. 13761 */ 13762 #define MSCM_OCMDR0_V(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_V_SHIFT)) & MSCM_OCMDR0_V_MASK) 13763 /*! @} */ 13764 13765 /*! @name OCMDR1 - On-Chip Memory Descriptor Register */ 13766 /*! @{ */ 13767 #define MSCM_OCMDR1_OCM1_MASK (0x30U) 13768 #define MSCM_OCMDR1_OCM1_SHIFT (4U) 13769 #define MSCM_OCMDR1_OCM1(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_OCM1_SHIFT)) & MSCM_OCMDR1_OCM1_MASK) 13770 #define MSCM_OCMDR1_OCMPU_MASK (0x1000U) 13771 #define MSCM_OCMDR1_OCMPU_SHIFT (12U) 13772 #define MSCM_OCMDR1_OCMPU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_OCMPU_SHIFT)) & MSCM_OCMDR1_OCMPU_MASK) 13773 #define MSCM_OCMDR1_OCMT_MASK (0xE000U) 13774 #define MSCM_OCMDR1_OCMT_SHIFT (13U) 13775 /*! OCMT - OCMT 13776 * 0b000..Reserved 13777 * 0b001..Reserved 13778 * 0b010..Reserved 13779 * 0b011..OCMEMn is a ROM. 13780 * 0b100..OCMEMn is a Program Flash. 13781 * 0b101..Reserved 13782 * 0b110..OCMEMn is an EEE. 13783 * 0b111..Reserved 13784 */ 13785 #define MSCM_OCMDR1_OCMT(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_OCMT_SHIFT)) & MSCM_OCMDR1_OCMT_MASK) 13786 #define MSCM_OCMDR1_RO_MASK (0x10000U) 13787 #define MSCM_OCMDR1_RO_SHIFT (16U) 13788 /*! RO - RO 13789 * 0b0..Writes to the OCMDRn[11:0] are allowed 13790 * 0b1..Writes to the OCMDRn[11:0] are ignored 13791 */ 13792 #define MSCM_OCMDR1_RO(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_RO_SHIFT)) & MSCM_OCMDR1_RO_MASK) 13793 #define MSCM_OCMDR1_OCMW_MASK (0xE0000U) 13794 #define MSCM_OCMDR1_OCMW_SHIFT (17U) 13795 /*! OCMW - OCMW 13796 * 0b000-0b001..Reserved 13797 * 0b010..OCMEMn 32-bits wide 13798 * 0b011..OCMEMn 64-bits wide 13799 * 0b100..OCMEMn 128-bits wide 13800 * 0b101..OCMEMn 256-bits wide 13801 * 0b110-0b111..Reserved 13802 */ 13803 #define MSCM_OCMDR1_OCMW(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_OCMW_SHIFT)) & MSCM_OCMDR1_OCMW_MASK) 13804 #define MSCM_OCMDR1_OCMSZ_MASK (0xF000000U) 13805 #define MSCM_OCMDR1_OCMSZ_SHIFT (24U) 13806 /*! OCMSZ - OCMSZ 13807 * 0b0000..no OCMEMn 13808 * 0b0001..1KB OCMEMn 13809 * 0b0010..2KB OCMEMn 13810 * 0b0011..4KB OCMEMn 13811 * 0b0100..8KB OCMEMn 13812 * 0b0101..16KB OCMEMn 13813 * 0b0110..32KB OCMEMn 13814 * 0b0111..64KB OCMEMn 13815 * 0b1000..128KB OCMEMn 13816 * 0b1001..256KB OCMEMn 13817 * 0b1010..512KB OCMEMn 13818 * 0b1011..1MB OCMEMn 13819 * 0b1100..2MB OCMEMn 13820 * 0b1101..4MB OCMEMn 13821 * 0b1110..8MB OCMEMn 13822 * 0b1111..16MB OCMEMn 13823 */ 13824 #define MSCM_OCMDR1_OCMSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_OCMSZ_SHIFT)) & MSCM_OCMDR1_OCMSZ_MASK) 13825 #define MSCM_OCMDR1_OCMSZH_MASK (0x10000000U) 13826 #define MSCM_OCMDR1_OCMSZH_SHIFT (28U) 13827 /*! OCMSZH - OCMSZH 13828 * 0b0..OCMEMn is a power-of-2 capacity. 13829 * 0b1..OCMEMn is not a power-of-2, with a capacity is 0.75 * OCMSZ. 13830 */ 13831 #define MSCM_OCMDR1_OCMSZH(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_OCMSZH_SHIFT)) & MSCM_OCMDR1_OCMSZH_MASK) 13832 #define MSCM_OCMDR1_V_MASK (0x80000000U) 13833 #define MSCM_OCMDR1_V_SHIFT (31U) 13834 /*! V - V 13835 * 0b0..OCMEMn is not present. 13836 * 0b1..OCMEMn is present. 13837 */ 13838 #define MSCM_OCMDR1_V(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_V_SHIFT)) & MSCM_OCMDR1_V_MASK) 13839 /*! @} */ 13840 13841 /*! @name OCMDR2 - On-Chip Memory Descriptor Register */ 13842 /*! @{ */ 13843 #define MSCM_OCMDR2_OCMPU_MASK (0x1000U) 13844 #define MSCM_OCMDR2_OCMPU_SHIFT (12U) 13845 #define MSCM_OCMDR2_OCMPU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_OCMPU_SHIFT)) & MSCM_OCMDR2_OCMPU_MASK) 13846 #define MSCM_OCMDR2_OCMT_MASK (0xE000U) 13847 #define MSCM_OCMDR2_OCMT_SHIFT (13U) 13848 /*! OCMT - OCMT 13849 * 0b000..Reserved 13850 * 0b001..Reserved 13851 * 0b010..Reserved 13852 * 0b011..OCMEMn is a ROM. 13853 * 0b100..OCMEMn is a Program Flash. 13854 * 0b101..Reserved 13855 * 0b110..OCMEMn is an EEE. 13856 * 0b111..Reserved 13857 */ 13858 #define MSCM_OCMDR2_OCMT(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_OCMT_SHIFT)) & MSCM_OCMDR2_OCMT_MASK) 13859 #define MSCM_OCMDR2_RO_MASK (0x10000U) 13860 #define MSCM_OCMDR2_RO_SHIFT (16U) 13861 /*! RO - RO 13862 * 0b0..Writes to the OCMDRn[11:0] are allowed 13863 * 0b1..Writes to the OCMDRn[11:0] are ignored 13864 */ 13865 #define MSCM_OCMDR2_RO(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_RO_SHIFT)) & MSCM_OCMDR2_RO_MASK) 13866 #define MSCM_OCMDR2_OCMW_MASK (0xE0000U) 13867 #define MSCM_OCMDR2_OCMW_SHIFT (17U) 13868 /*! OCMW - OCMW 13869 * 0b000-0b001..Reserved 13870 * 0b010..OCMEMn 32-bits wide 13871 * 0b011..OCMEMn 64-bits wide 13872 * 0b100..OCMEMn 128-bits wide 13873 * 0b101..OCMEMn 256-bits wide 13874 * 0b110-0b111..Reserved 13875 */ 13876 #define MSCM_OCMDR2_OCMW(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_OCMW_SHIFT)) & MSCM_OCMDR2_OCMW_MASK) 13877 #define MSCM_OCMDR2_OCMSZ_MASK (0xF000000U) 13878 #define MSCM_OCMDR2_OCMSZ_SHIFT (24U) 13879 /*! OCMSZ - OCMSZ 13880 * 0b0000..no OCMEMn 13881 * 0b0001..1KB OCMEMn 13882 * 0b0010..2KB OCMEMn 13883 * 0b0011..4KB OCMEMn 13884 * 0b0100..8KB OCMEMn 13885 * 0b0101..16KB OCMEMn 13886 * 0b0110..32KB OCMEMn 13887 * 0b0111..64KB OCMEMn 13888 * 0b1000..128KB OCMEMn 13889 * 0b1001..256KB OCMEMn 13890 * 0b1010..512KB OCMEMn 13891 * 0b1011..1MB OCMEMn 13892 * 0b1100..2MB OCMEMn 13893 * 0b1101..4MB OCMEMn 13894 * 0b1110..8MB OCMEMn 13895 * 0b1111..16MB OCMEMn 13896 */ 13897 #define MSCM_OCMDR2_OCMSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_OCMSZ_SHIFT)) & MSCM_OCMDR2_OCMSZ_MASK) 13898 #define MSCM_OCMDR2_OCMSZH_MASK (0x10000000U) 13899 #define MSCM_OCMDR2_OCMSZH_SHIFT (28U) 13900 /*! OCMSZH - OCMSZH 13901 * 0b0..OCMEMn is a power-of-2 capacity. 13902 * 0b1..OCMEMn is not a power-of-2, with a capacity is 0.75 * OCMSZ. 13903 */ 13904 #define MSCM_OCMDR2_OCMSZH(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_OCMSZH_SHIFT)) & MSCM_OCMDR2_OCMSZH_MASK) 13905 #define MSCM_OCMDR2_V_MASK (0x80000000U) 13906 #define MSCM_OCMDR2_V_SHIFT (31U) 13907 /*! V - V 13908 * 0b0..OCMEMn is not present. 13909 * 0b1..OCMEMn is present. 13910 */ 13911 #define MSCM_OCMDR2_V(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_V_SHIFT)) & MSCM_OCMDR2_V_MASK) 13912 /*! @} */ 13913 13914 /*! @name OCMDR3 - On-Chip Memory Descriptor Register */ 13915 /*! @{ */ 13916 #define MSCM_OCMDR3_OCMPU_MASK (0x1000U) 13917 #define MSCM_OCMDR3_OCMPU_SHIFT (12U) 13918 #define MSCM_OCMDR3_OCMPU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_OCMPU_SHIFT)) & MSCM_OCMDR3_OCMPU_MASK) 13919 #define MSCM_OCMDR3_OCMT_MASK (0xE000U) 13920 #define MSCM_OCMDR3_OCMT_SHIFT (13U) 13921 /*! OCMT - OCMT 13922 * 0b000..Reserved 13923 * 0b001..Reserved 13924 * 0b010..Reserved 13925 * 0b011..OCMEMn is a ROM. 13926 * 0b100..OCMEMn is a Program Flash. 13927 * 0b101..Reserved 13928 * 0b110..OCMEMn is an EEE. 13929 * 0b111..Reserved 13930 */ 13931 #define MSCM_OCMDR3_OCMT(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_OCMT_SHIFT)) & MSCM_OCMDR3_OCMT_MASK) 13932 #define MSCM_OCMDR3_RO_MASK (0x10000U) 13933 #define MSCM_OCMDR3_RO_SHIFT (16U) 13934 /*! RO - RO 13935 * 0b0..Writes to the OCMDRn[11:0] are allowed 13936 * 0b1..Writes to the OCMDRn[11:0] are ignored 13937 */ 13938 #define MSCM_OCMDR3_RO(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_RO_SHIFT)) & MSCM_OCMDR3_RO_MASK) 13939 #define MSCM_OCMDR3_OCMW_MASK (0xE0000U) 13940 #define MSCM_OCMDR3_OCMW_SHIFT (17U) 13941 /*! OCMW - OCMW 13942 * 0b000-0b001..Reserved 13943 * 0b010..OCMEMn 32-bits wide 13944 * 0b011..OCMEMn 64-bits wide 13945 * 0b100..OCMEMn 128-bits wide 13946 * 0b101..OCMEMn 256-bits wide 13947 * 0b110-0b111..Reserved 13948 */ 13949 #define MSCM_OCMDR3_OCMW(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_OCMW_SHIFT)) & MSCM_OCMDR3_OCMW_MASK) 13950 #define MSCM_OCMDR3_OCMSZ_MASK (0xF000000U) 13951 #define MSCM_OCMDR3_OCMSZ_SHIFT (24U) 13952 /*! OCMSZ - OCMSZ 13953 * 0b0000..no OCMEMn 13954 * 0b0001..1KB OCMEMn 13955 * 0b0010..2KB OCMEMn 13956 * 0b0011..4KB OCMEMn 13957 * 0b0100..8KB OCMEMn 13958 * 0b0101..16KB OCMEMn 13959 * 0b0110..32KB OCMEMn 13960 * 0b0111..64KB OCMEMn 13961 * 0b1000..128KB OCMEMn 13962 * 0b1001..256KB OCMEMn 13963 * 0b1010..512KB OCMEMn 13964 * 0b1011..1MB OCMEMn 13965 * 0b1100..2MB OCMEMn 13966 * 0b1101..4MB OCMEMn 13967 * 0b1110..8MB OCMEMn 13968 * 0b1111..16MB OCMEMn 13969 */ 13970 #define MSCM_OCMDR3_OCMSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_OCMSZ_SHIFT)) & MSCM_OCMDR3_OCMSZ_MASK) 13971 #define MSCM_OCMDR3_OCMSZH_MASK (0x10000000U) 13972 #define MSCM_OCMDR3_OCMSZH_SHIFT (28U) 13973 /*! OCMSZH - OCMSZH 13974 * 0b0..OCMEMn is a power-of-2 capacity. 13975 * 0b1..OCMEMn is not a power-of-2, with a capacity is 0.75 * OCMSZ. 13976 */ 13977 #define MSCM_OCMDR3_OCMSZH(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_OCMSZH_SHIFT)) & MSCM_OCMDR3_OCMSZH_MASK) 13978 #define MSCM_OCMDR3_V_MASK (0x80000000U) 13979 #define MSCM_OCMDR3_V_SHIFT (31U) 13980 /*! V - V 13981 * 0b0..OCMEMn is not present. 13982 * 0b1..OCMEMn is present. 13983 */ 13984 #define MSCM_OCMDR3_V(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_V_SHIFT)) & MSCM_OCMDR3_V_MASK) 13985 /*! @} */ 13986 13987 13988 /*! 13989 * @} 13990 */ /* end of group MSCM_Register_Masks */ 13991 13992 13993 /* MSCM - Peripheral instance base addresses */ 13994 /** Peripheral MSCM base address */ 13995 #define MSCM_BASE (0x40001000u) 13996 /** Peripheral MSCM base pointer */ 13997 #define MSCM ((MSCM_Type *)MSCM_BASE) 13998 /** Array initializer of MSCM peripheral base addresses */ 13999 #define MSCM_BASE_ADDRS { MSCM_BASE } 14000 /** Array initializer of MSCM peripheral base pointers */ 14001 #define MSCM_BASE_PTRS { MSCM } 14002 14003 /*! 14004 * @} 14005 */ /* end of group MSCM_Peripheral_Access_Layer */ 14006 14007 /*! 14008 * @brief Core boot mode. 14009 */ 14010 typedef enum _mu_core_boot_mode 14011 { 14012 kMU_CoreBootFromDflashBase = 0x00U, /*!< Boot from Dflash base. */ 14013 kMU_CoreBootFromCore1RamBase = 0x02U, /*!< Boot from ZERO RISCY RAM base. */ 14014 } mu_core_boot_mode_t; 14015 /*! 14016 * @brief Power mode on the other side definition. 14017 */ 14018 typedef enum _mu_power_mode 14019 { 14020 kMU_PowerModeRun = 0x00U, /*!< Run mode. */ 14021 kMU_PowerModeCoo = 0x01U, /*!< COO mode. */ 14022 kMU_PowerModeWait = 0x02U, /*!< WAIT mode. */ 14023 kMU_PowerModeStop = 0x03U, /*!< STOP/VLPS mode. */ 14024 kMU_PowerModeDsm = 0x04U /*!< DSM: LLS/VLLS mode. */ 14025 } mu_power_mode_t; 14026 14027 14028 /* ---------------------------------------------------------------------------- 14029 -- MU Peripheral Access Layer 14030 ---------------------------------------------------------------------------- */ 14031 14032 /*! 14033 * @addtogroup MU_Peripheral_Access_Layer MU Peripheral Access Layer 14034 * @{ 14035 */ 14036 14037 /** MU - Register Layout Typedef */ 14038 typedef struct { 14039 __I uint32_t VER; /**< Version ID Register, offset: 0x0 */ 14040 __I uint32_t PAR; /**< Parameter Register, offset: 0x4 */ 14041 uint8_t RESERVED_0[24]; 14042 __IO uint32_t TR[4]; /**< Transmit Register, array offset: 0x20, array step: 0x4 */ 14043 uint8_t RESERVED_1[16]; 14044 __I uint32_t RR[4]; /**< Receive Register, array offset: 0x40, array step: 0x4 */ 14045 uint8_t RESERVED_2[16]; 14046 __IO uint32_t SR; /**< Status Register, offset: 0x60 */ 14047 __IO uint32_t CR; /**< Control Register, offset: 0x64 */ 14048 __IO uint32_t CCR; /**< Core Control Register, offset: 0x68 */ 14049 } MU_Type; 14050 14051 /* ---------------------------------------------------------------------------- 14052 -- MU Register Masks 14053 ---------------------------------------------------------------------------- */ 14054 14055 /*! 14056 * @addtogroup MU_Register_Masks MU Register Masks 14057 * @{ 14058 */ 14059 14060 /*! @name VER - Version ID Register */ 14061 /*! @{ */ 14062 #define MU_VER_FEATURE_MASK (0xFFFFU) 14063 #define MU_VER_FEATURE_SHIFT (0U) 14064 /*! FEATURE - Feature Specification Number 14065 * 0b000000000000x1xx..Core Control and Status Registers are implemented in both MUA and MUB. 14066 * 0b000000000000xx1x..RAIP/RAIE register bits are implemented. 14067 * 0b000000000000xxx0..Standard features implemented 14068 */ 14069 #define MU_VER_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << MU_VER_FEATURE_SHIFT)) & MU_VER_FEATURE_MASK) 14070 #define MU_VER_MINOR_MASK (0xFF0000U) 14071 #define MU_VER_MINOR_SHIFT (16U) 14072 #define MU_VER_MINOR(x) (((uint32_t)(((uint32_t)(x)) << MU_VER_MINOR_SHIFT)) & MU_VER_MINOR_MASK) 14073 #define MU_VER_MAJOR_MASK (0xFF000000U) 14074 #define MU_VER_MAJOR_SHIFT (24U) 14075 #define MU_VER_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << MU_VER_MAJOR_SHIFT)) & MU_VER_MAJOR_MASK) 14076 /*! @} */ 14077 14078 /*! @name PAR - Parameter Register */ 14079 /*! @{ */ 14080 #define MU_PAR_PARAMETER_MASK (0xFFFFFFFFU) 14081 #define MU_PAR_PARAMETER_SHIFT (0U) 14082 #define MU_PAR_PARAMETER(x) (((uint32_t)(((uint32_t)(x)) << MU_PAR_PARAMETER_SHIFT)) & MU_PAR_PARAMETER_MASK) 14083 /*! @} */ 14084 14085 /*! @name TR - Transmit Register */ 14086 /*! @{ */ 14087 #define MU_TR_DATA_MASK (0xFFFFFFFFU) 14088 #define MU_TR_DATA_SHIFT (0U) 14089 #define MU_TR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MU_TR_DATA_SHIFT)) & MU_TR_DATA_MASK) 14090 /*! @} */ 14091 14092 /* The count of MU_TR */ 14093 #define MU_TR_COUNT (4U) 14094 14095 /*! @name RR - Receive Register */ 14096 /*! @{ */ 14097 #define MU_RR_DATA_MASK (0xFFFFFFFFU) 14098 #define MU_RR_DATA_SHIFT (0U) 14099 #define MU_RR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MU_RR_DATA_SHIFT)) & MU_RR_DATA_MASK) 14100 /*! @} */ 14101 14102 /* The count of MU_RR */ 14103 #define MU_RR_COUNT (4U) 14104 14105 /*! @name SR - Status Register */ 14106 /*! @{ */ 14107 #define MU_SR_Fn_MASK (0x7U) 14108 #define MU_SR_Fn_SHIFT (0U) 14109 /*! Fn - Fn 14110 * 0b000..Fn bit in the MUB CR register is written 0 (default). 14111 * 0b001..Fn bit in the MUB CR register is written 1. 14112 */ 14113 #define MU_SR_Fn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_Fn_SHIFT)) & MU_SR_Fn_MASK) 14114 #define MU_SR_NMIC_MASK (0x8U) 14115 #define MU_SR_NMIC_SHIFT (3U) 14116 /*! NMIC - NMIC 14117 * 0b0..Default 14118 * 0b1..Writing "1" clears the NMI bit in the MUB CR register. 14119 */ 14120 #define MU_SR_NMIC(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_NMIC_SHIFT)) & MU_SR_NMIC_MASK) 14121 #define MU_SR_EP_MASK (0x10U) 14122 #define MU_SR_EP_SHIFT (4U) 14123 /*! EP - EP 14124 * 0b0..The MUA side event is not pending (default). 14125 * 0b1..The MUA side event is pending. 14126 */ 14127 #define MU_SR_EP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_EP_SHIFT)) & MU_SR_EP_MASK) 14128 #define MU_SR_HRIP_MASK (0x80U) 14129 #define MU_SR_HRIP_SHIFT (7U) 14130 /*! HRIP - HRIP 14131 * 0b0..MUB didn't issue hardware reset to Processor A 14132 * 0b1..MUB had initiated a hardware reset to Processor A through HR bit. 14133 */ 14134 #define MU_SR_HRIP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_HRIP_SHIFT)) & MU_SR_HRIP_MASK) 14135 #define MU_SR_FUP_MASK (0x100U) 14136 #define MU_SR_FUP_SHIFT (8U) 14137 /*! FUP - FUP 14138 * 0b0..No flags updated, initiated by the MUA, in progress (default) 14139 * 0b1..MUA initiated flags update, processing 14140 */ 14141 #define MU_SR_FUP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_FUP_SHIFT)) & MU_SR_FUP_MASK) 14142 #define MU_SR_RDIP_MASK (0x200U) 14143 #define MU_SR_RDIP_SHIFT (9U) 14144 /*! RDIP - RDIP 14145 * 0b0..Processor B did not exit reset 14146 * 0b1..Processor B exited from reset 14147 */ 14148 #define MU_SR_RDIP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RDIP_SHIFT)) & MU_SR_RDIP_MASK) 14149 #define MU_SR_RAIP_MASK (0x400U) 14150 #define MU_SR_RAIP_SHIFT (10U) 14151 /*! RAIP - RAIP 14152 * 0b0..Processor B did not enter reset 14153 * 0b1..Processor B entered reset 14154 */ 14155 #define MU_SR_RAIP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RAIP_SHIFT)) & MU_SR_RAIP_MASK) 14156 #define MU_SR_MURIP_MASK (0x800U) 14157 #define MU_SR_MURIP_SHIFT (11U) 14158 /*! MURIP - MURIP 14159 * 0b0..Processor B did not issue MU reset 14160 * 0b1..Processor B issued MU reset 14161 */ 14162 #define MU_SR_MURIP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_MURIP_SHIFT)) & MU_SR_MURIP_MASK) 14163 #define MU_SR_PM_MASK (0x7000U) 14164 #define MU_SR_PM_SHIFT (12U) 14165 /*! PM - PM 14166 * 0b000..The MUB processor is in Run Mode. 14167 * 0b001..The MUB processor is in COO Mode. 14168 * 0b010..The MUB processor is in WAIT Mode. 14169 * 0b011..The MUB processor is in STOP/VLPS Mode. 14170 * 0b100..The MUB processor is in LLS/VLLS Mode. 14171 */ 14172 #define MU_SR_PM(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_PM_SHIFT)) & MU_SR_PM_MASK) 14173 #define MU_SR_TEn_MASK (0xF00000U) 14174 #define MU_SR_TEn_SHIFT (20U) 14175 /*! TEn - TEn 14176 * 0b0000..MUA TRn register is not empty. 14177 * 0b0001..MUA TRn register is empty (default). 14178 */ 14179 #define MU_SR_TEn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_TEn_SHIFT)) & MU_SR_TEn_MASK) 14180 #define MU_SR_RFn_MASK (0xF000000U) 14181 #define MU_SR_RFn_SHIFT (24U) 14182 /*! RFn - RFn 14183 * 0b0000..MUA RRn register is not full (default). 14184 * 0b0001..MUA RRn register has received data from MUB TRn register and is ready to be read by the MUA. 14185 */ 14186 #define MU_SR_RFn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RFn_SHIFT)) & MU_SR_RFn_MASK) 14187 #define MU_SR_GIPn_MASK (0xF0000000U) 14188 #define MU_SR_GIPn_SHIFT (28U) 14189 /*! GIPn - GIPn 14190 * 0b0000..MUA general purpose interrupt n is not pending. (default) 14191 * 0b0001..MUA general purpose interrupt n is pending. 14192 */ 14193 #define MU_SR_GIPn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_GIPn_SHIFT)) & MU_SR_GIPn_MASK) 14194 /*! @} */ 14195 14196 /*! @name CR - Control Register */ 14197 /*! @{ */ 14198 #define MU_CR_Fn_MASK (0x7U) 14199 #define MU_CR_Fn_SHIFT (0U) 14200 /*! Fn - Fn 14201 * 0b000..Clears the Fn bit in the SR register. 14202 * 0b001..Sets the Fn bit in the SR register. 14203 */ 14204 #define MU_CR_Fn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_Fn_SHIFT)) & MU_CR_Fn_MASK) 14205 #define MU_CR_NMI_MASK (0x8U) 14206 #define MU_CR_NMI_SHIFT (3U) 14207 /*! NMI - NMI 14208 * 0b0..Non-maskable interrupt is not issued to the Processor B by the Processor A (default). 14209 * 0b1..Non-maskable interrupt is issued to the Processor B by the Processor A. 14210 */ 14211 #define MU_CR_NMI(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_NMI_SHIFT)) & MU_CR_NMI_MASK) 14212 #define MU_CR_MUR_MASK (0x20U) 14213 #define MU_CR_MUR_SHIFT (5U) 14214 /*! MUR - MUR 14215 * 0b0..N/A. Self clearing bit (default). 14216 * 0b1..Asserts the MU reset. 14217 */ 14218 #define MU_CR_MUR(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_MUR_SHIFT)) & MU_CR_MUR_MASK) 14219 #define MU_CR_RDIE_MASK (0x40U) 14220 #define MU_CR_RDIE_SHIFT (6U) 14221 /*! RDIE - RDIE 14222 * 0b0..Disables Processor A General Purpose Interrupt 3 request due to Processor B reset de-assertion. 14223 * 0b1..Enables Processor A General Purpose Interrupt 3 request due to Processor B reset de-assertion. 14224 */ 14225 #define MU_CR_RDIE(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_RDIE_SHIFT)) & MU_CR_RDIE_MASK) 14226 #define MU_CR_HRIE_MASK (0x80U) 14227 #define MU_CR_HRIE_SHIFT (7U) 14228 /*! HRIE - Processor A hardware reset interrupt enable 14229 * 0b0..Disables Processor A General Purpose Interrupt 3 request due to Processor B issued HR to Processor A. 14230 * 0b1..Enables Processor A General Purpose Interrupt 3 request due to Processor B issued HR to Processor A. 14231 */ 14232 #define MU_CR_HRIE(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_HRIE_SHIFT)) & MU_CR_HRIE_MASK) 14233 #define MU_CR_MURIE_MASK (0x800U) 14234 #define MU_CR_MURIE_SHIFT (11U) 14235 /*! MURIE - MURIE 14236 * 0b0..Disables Processor A-side General Purpose Interrupt 3 request due to MU reset issued by MUB. 14237 * 0b1..Enables Processor A-side General Purpose Interrupt 3 request due to MU reset issued by MUB. 14238 */ 14239 #define MU_CR_MURIE(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_MURIE_SHIFT)) & MU_CR_MURIE_MASK) 14240 #define MU_CR_RAIE_MASK (0x1000U) 14241 #define MU_CR_RAIE_SHIFT (12U) 14242 /*! RAIE - RAIE 14243 * 0b0..Disables Processor A-side General Purpose Interrupt 3 request due to Processor B reset assertion. 14244 * 0b1..Enables Processor A-side General Purpose Interrupt 3 request due to Processor B reset assertion. 14245 */ 14246 #define MU_CR_RAIE(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_RAIE_SHIFT)) & MU_CR_RAIE_MASK) 14247 #define MU_CR_GIRn_MASK (0xF0000U) 14248 #define MU_CR_GIRn_SHIFT (16U) 14249 /*! GIRn - GIRn 14250 * 0b0000..MUA General Interrupt n is not requested to the MUB (default). 14251 * 0b0001..MUA General Interrupt n is requested to the MUB. 14252 */ 14253 #define MU_CR_GIRn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_GIRn_SHIFT)) & MU_CR_GIRn_MASK) 14254 #define MU_CR_TIEn_MASK (0xF00000U) 14255 #define MU_CR_TIEn_SHIFT (20U) 14256 /*! TIEn - TIEn 14257 * 0b0000..Disables MUA Transmit Interrupt n. (default) 14258 * 0b0001..Enables MUA Transmit Interrupt n. 14259 */ 14260 #define MU_CR_TIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_TIEn_SHIFT)) & MU_CR_TIEn_MASK) 14261 #define MU_CR_RIEn_MASK (0xF000000U) 14262 #define MU_CR_RIEn_SHIFT (24U) 14263 /*! RIEn - RIEn 14264 * 0b0000..Disables MUA Receive Interrupt n. (default) 14265 * 0b0001..Enables MUA Receive Interrupt n. 14266 */ 14267 #define MU_CR_RIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_RIEn_SHIFT)) & MU_CR_RIEn_MASK) 14268 #define MU_CR_GIEn_MASK (0xF0000000U) 14269 #define MU_CR_GIEn_SHIFT (28U) 14270 /*! GIEn - GIEn 14271 * 0b0000..Disables MUA General Interrupt n. (default) 14272 * 0b0001..Enables MUA General Interrupt n. 14273 */ 14274 #define MU_CR_GIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_GIEn_SHIFT)) & MU_CR_GIEn_MASK) 14275 /*! @} */ 14276 14277 /*! @name CCR - Core Control Register */ 14278 /*! @{ */ 14279 #define MU_CCR_HR_MASK (0x1U) 14280 #define MU_CCR_HR_SHIFT (0U) 14281 /*! HR - HR 14282 * 0b0..De-assert Hardware reset to the Processor B. (default) 14283 * 0b1..Assert Hardware reset to the Processor B. 14284 */ 14285 #define MU_CCR_HR(x) (((uint32_t)(((uint32_t)(x)) << MU_CCR_HR_SHIFT)) & MU_CCR_HR_MASK) 14286 #define MU_CCR_HRM_MASK (0x2U) 14287 #define MU_CCR_HRM_SHIFT (1U) 14288 /*! HRM - When set, HR bit in MUB CCR has no effect 14289 * 0b0..HR bit in MUB CCR is not masked, enables the hardware reset to the Processor A (default after hardware reset). 14290 * 0b1..HR bit in MUB CCR is masked, disables the hardware reset request to the Processor A. 14291 */ 14292 #define MU_CCR_HRM(x) (((uint32_t)(((uint32_t)(x)) << MU_CCR_HRM_SHIFT)) & MU_CCR_HRM_MASK) 14293 #define MU_CCR_RSTH_MASK (0x4U) 14294 #define MU_CCR_RSTH_SHIFT (2U) 14295 /*! RSTH - Processor B Reset Hold 14296 * 0b0..Release Processor B from reset 14297 * 0b1..Hold Processor B in reset 14298 */ 14299 #define MU_CCR_RSTH(x) (((uint32_t)(((uint32_t)(x)) << MU_CCR_RSTH_SHIFT)) & MU_CCR_RSTH_MASK) 14300 #define MU_CCR_CLKE_MASK (0x8U) 14301 #define MU_CCR_CLKE_SHIFT (3U) 14302 /*! CLKE - MUB clock enable 14303 * 0b0..MUB platform clock gated when MUB-side enters a stop mode. 14304 * 0b1..MUB platform clock kept running after MUB-side enters a stop mode, until MUA also enters a stop mode. 14305 */ 14306 #define MU_CCR_CLKE(x) (((uint32_t)(((uint32_t)(x)) << MU_CCR_CLKE_SHIFT)) & MU_CCR_CLKE_MASK) 14307 #define MU_CCR_BOOT_MASK (0x30U) 14308 #define MU_CCR_BOOT_SHIFT (4U) 14309 /*! BOOT - Slave Processor B Boot Config. 14310 * 0b00..Boot from Dflash base 14311 * 0b01..Reserved 14312 * 0b10..Boot from CM0+ RAM base 14313 * 0b11..Reserved 14314 */ 14315 #define MU_CCR_BOOT(x) (((uint32_t)(((uint32_t)(x)) << MU_CCR_BOOT_SHIFT)) & MU_CCR_BOOT_MASK) 14316 /*! @} */ 14317 14318 14319 /*! 14320 * @} 14321 */ /* end of group MU_Register_Masks */ 14322 14323 14324 /* MU - Peripheral instance base addresses */ 14325 /** Peripheral MUA base address */ 14326 #define MUA_BASE (0x40025000u) 14327 /** Peripheral MUA base pointer */ 14328 #define MUA ((MU_Type *)MUA_BASE) 14329 /** Array initializer of MU peripheral base addresses */ 14330 #define MU_BASE_ADDRS { MUA_BASE } 14331 /** Array initializer of MU peripheral base pointers */ 14332 #define MU_BASE_PTRS { MUA } 14333 /** Interrupt vectors for the MU peripheral type */ 14334 #define MU_IRQS { MUA_IRQn } 14335 14336 /*! 14337 * @} 14338 */ /* end of group MU_Peripheral_Access_Layer */ 14339 14340 14341 /* ---------------------------------------------------------------------------- 14342 -- PCC Peripheral Access Layer 14343 ---------------------------------------------------------------------------- */ 14344 14345 /*! 14346 * @addtogroup PCC_Peripheral_Access_Layer PCC Peripheral Access Layer 14347 * @{ 14348 */ 14349 14350 /** PCC - Register Layout Typedef */ 14351 typedef struct { 14352 __IO uint32_t CLKCFG[130]; /**< PCC MSCM Register..PCC EXT_CLK Register, array offset: 0x0, array step: 0x4 */ 14353 } PCC_Type; 14354 14355 /* ---------------------------------------------------------------------------- 14356 -- PCC Register Masks 14357 ---------------------------------------------------------------------------- */ 14358 14359 /*! 14360 * @addtogroup PCC_Register_Masks PCC Register Masks 14361 * @{ 14362 */ 14363 14364 /*! @name CLKCFG - PCC MSCM Register..PCC EXT_CLK Register */ 14365 /*! @{ */ 14366 #define PCC_CLKCFG_PCD_MASK (0x7U) 14367 #define PCC_CLKCFG_PCD_SHIFT (0U) 14368 /*! PCD - Peripheral Clock Divider Select 14369 * 0b000..Divide by 1. 14370 * 0b001..Divide by 2. 14371 * 0b010..Divide by 3. 14372 * 0b011..Divide by 4. 14373 * 0b100..Divide by 5. 14374 * 0b101..Divide by 6. 14375 * 0b110..Divide by 7. 14376 * 0b111..Divide by 8. 14377 */ 14378 #define PCC_CLKCFG_PCD(x) (((uint32_t)(((uint32_t)(x)) << PCC_CLKCFG_PCD_SHIFT)) & PCC_CLKCFG_PCD_MASK) 14379 #define PCC_CLKCFG_FRAC_MASK (0x8U) 14380 #define PCC_CLKCFG_FRAC_SHIFT (3U) 14381 /*! FRAC - Peripheral Clock Divider Fraction 14382 * 0b0..Fractional value is 0. 14383 * 0b1..Fractional value is 1. 14384 */ 14385 #define PCC_CLKCFG_FRAC(x) (((uint32_t)(((uint32_t)(x)) << PCC_CLKCFG_FRAC_SHIFT)) & PCC_CLKCFG_FRAC_MASK) 14386 #define PCC_CLKCFG_PCS_MASK (0x7000000U) 14387 #define PCC_CLKCFG_PCS_SHIFT (24U) 14388 /*! PCS - Peripheral Clock Source Select 14389 * 0b000..Clock is off. An external clock can be enabled for this peripheral. 14390 * 0b001..Clock option 1 14391 * 0b010..Clock option 2 14392 * 0b011..Clock option 3 14393 * 0b100..Clock option 4 14394 * 0b101..Clock option 5 14395 * 0b110..Clock option 6 14396 * 0b111..Clock option 7 14397 */ 14398 #define PCC_CLKCFG_PCS(x) (((uint32_t)(((uint32_t)(x)) << PCC_CLKCFG_PCS_SHIFT)) & PCC_CLKCFG_PCS_MASK) 14399 #define PCC_CLKCFG_INUSE_MASK (0x20000000U) 14400 #define PCC_CLKCFG_INUSE_SHIFT (29U) 14401 /*! INUSE - In use flag 14402 * 0b0..Peripheral is not being used. 14403 * 0b1..Peripheral is being used. Software cannot modify the existing clocking configuration. 14404 */ 14405 #define PCC_CLKCFG_INUSE(x) (((uint32_t)(((uint32_t)(x)) << PCC_CLKCFG_INUSE_SHIFT)) & PCC_CLKCFG_INUSE_MASK) 14406 #define PCC_CLKCFG_CGC_MASK (0x40000000U) 14407 #define PCC_CLKCFG_CGC_SHIFT (30U) 14408 /*! CGC - Clock Gate Control 14409 * 0b0..Clock disabled 14410 * 0b1..Clock enabled. The current clock selection and divider options are locked. 14411 */ 14412 #define PCC_CLKCFG_CGC(x) (((uint32_t)(((uint32_t)(x)) << PCC_CLKCFG_CGC_SHIFT)) & PCC_CLKCFG_CGC_MASK) 14413 #define PCC_CLKCFG_PR_MASK (0x80000000U) 14414 #define PCC_CLKCFG_PR_SHIFT (31U) 14415 /*! PR - Present 14416 * 0b0..Peripheral is not present. 14417 * 0b1..Peripheral is present. 14418 */ 14419 #define PCC_CLKCFG_PR(x) (((uint32_t)(((uint32_t)(x)) << PCC_CLKCFG_PR_SHIFT)) & PCC_CLKCFG_PR_MASK) 14420 /*! @} */ 14421 14422 /* The count of PCC_CLKCFG */ 14423 #define PCC_CLKCFG_COUNT (130U) 14424 14425 14426 /*! 14427 * @} 14428 */ /* end of group PCC_Register_Masks */ 14429 14430 14431 /* PCC - Peripheral instance base addresses */ 14432 /** Peripheral PCC0 base address */ 14433 #define PCC0_BASE (0x4002B000u) 14434 /** Peripheral PCC0 base pointer */ 14435 #define PCC0 ((PCC_Type *)PCC0_BASE) 14436 /** Peripheral PCC1 base address */ 14437 #define PCC1_BASE (0x41027000u) 14438 /** Peripheral PCC1 base pointer */ 14439 #define PCC1 ((PCC_Type *)PCC1_BASE) 14440 /** Array initializer of PCC peripheral base addresses */ 14441 #define PCC_BASE_ADDRS { PCC0_BASE, PCC1_BASE } 14442 /** Array initializer of PCC peripheral base pointers */ 14443 #define PCC_BASE_PTRS { PCC0, PCC1 } 14444 #define PCC_INSTANCE_MASK (0xFu) 14445 #define PCC_INSTANCE_SHIFT (12u) 14446 #define PCC_PERIPHERAL_MASK (0xFFFu) 14447 #define PCC_PERIPHERAL_SHIFT (0u) 14448 #define PCC_INSTANCE_0 (0u) 14449 #define PCC_INSTANCE_1 (1u) 14450 14451 #define PCC_MSCM_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 1U) 14452 #define PCC_AXBS0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 4U) 14453 #define PCC_DMA0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 8U) 14454 #define PCC_FLEXBUS_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 12U) 14455 #define PCC_XRDC_MGR_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 20U) 14456 #define PCC0_XRDC_PAC_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 22U) 14457 #define PCC0_XRDC_MRC_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 23U) 14458 #define PCC_SEMA42_0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 27U) 14459 #define PCC_DMAMUX0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 33U) 14460 #define PCC_EWM_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 34U) 14461 #define PCC_MUA_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 37U) 14462 #define PCC_CRC0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 47U) 14463 #define PCC_LPIT0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 48U) 14464 #define PCC_TPM0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 53U) 14465 #define PCC_TPM1_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 54U) 14466 #define PCC_TPM2_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 55U) 14467 #define PCC_EMVSIM0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 56U) 14468 #define PCC_FLEXIO0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 57U) 14469 #define PCC_LPI2C0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 58U) 14470 #define PCC_LPI2C1_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 59U) 14471 #define PCC_LPI2C2_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 60U) 14472 #define PCC_I2S0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 61U) 14473 #define PCC_USDHC0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 62U) 14474 #define PCC_LPSPI0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 63U) 14475 #define PCC_LPSPI1_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 64U) 14476 #define PCC_LPSPI2_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 65U) 14477 #define PCC_LPUART0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 66U) 14478 #define PCC_LPUART1_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 67U) 14479 #define PCC_LPUART2_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 68U) 14480 #define PCC_USB0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 69U) 14481 #define PCC_PORTA_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 70U) 14482 #define PCC_PORTB_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 71U) 14483 #define PCC_PORTC_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 72U) 14484 #define PCC_PORTD_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 73U) 14485 #define PCC_ADC0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 74U) 14486 #define PCC_LPDAC0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 76U) 14487 #define PCC_VREF_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 77U) 14488 #define PCC_TRACE_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 128U) 14489 #define PCC_DMA1_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 8U) 14490 #define PCC_GPIOE_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 15U) 14491 #define PCC1_XRDC_PAC_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 22U) 14492 #define PCC1_XRDC_MRC_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 23U) 14493 #define PCC_SEMA42_1_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 27U) 14494 #define PCC_DMAMUX1_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 33U) 14495 #define PCC_INTMUX1_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 34U) 14496 #define PCC_MUB_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 36U) 14497 #define PCC_CAU3_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 40U) 14498 #define PCC_TRNG_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 41U) 14499 #define PCC_LPIT1_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 42U) 14500 #define PCC_TPM3_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 45U) 14501 #define PCC_LPI2C3_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 46U) 14502 #define PCC_LPSPI3_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 53U) 14503 #define PCC_LPUART3_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 54U) 14504 #define PCC_PORTE_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 55U) 14505 #define PCC_MTB_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 128U) 14506 #define PCC_EXT_CLK_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 129U) 14507 #define PCC_MSCM (PCC0->CLKCFG[1]) 14508 #define PCC_AXBS0 (PCC0->CLKCFG[4]) 14509 #define PCC_DMA0 (PCC0->CLKCFG[8]) 14510 #define PCC_FLEXBUS (PCC0->CLKCFG[12]) 14511 #define PCC_XRDC_MGR (PCC0->CLKCFG[20]) 14512 #define PCC0_XRDC_PAC (PCC0->CLKCFG[22]) 14513 #define PCC0_XRDC_MRC (PCC0->CLKCFG[23]) 14514 #define PCC_SEMA42_0 (PCC0->CLKCFG[27]) 14515 #define PCC_DMAMUX0 (PCC0->CLKCFG[33]) 14516 #define PCC_EWM (PCC0->CLKCFG[34]) 14517 #define PCC_MUA (PCC0->CLKCFG[37]) 14518 #define PCC_CRC0 (PCC0->CLKCFG[47]) 14519 #define PCC_LPIT0 (PCC0->CLKCFG[48]) 14520 #define PCC_TPM0 (PCC0->CLKCFG[53]) 14521 #define PCC_TPM1 (PCC0->CLKCFG[54]) 14522 #define PCC_TPM2 (PCC0->CLKCFG[55]) 14523 #define PCC_EMVSIM0 (PCC0->CLKCFG[56]) 14524 #define PCC_FLEXIO0 (PCC0->CLKCFG[57]) 14525 #define PCC_LPI2C0 (PCC0->CLKCFG[58]) 14526 #define PCC_LPI2C1 (PCC0->CLKCFG[59]) 14527 #define PCC_LPI2C2 (PCC0->CLKCFG[60]) 14528 #define PCC_I2S0 (PCC0->CLKCFG[61]) 14529 #define PCC_USDHC0 (PCC0->CLKCFG[62]) 14530 #define PCC_LPSPI0 (PCC0->CLKCFG[63]) 14531 #define PCC_LPSPI1 (PCC0->CLKCFG[64]) 14532 #define PCC_LPSPI2 (PCC0->CLKCFG[65]) 14533 #define PCC_LPUART0 (PCC0->CLKCFG[66]) 14534 #define PCC_LPUART1 (PCC0->CLKCFG[67]) 14535 #define PCC_LPUART2 (PCC0->CLKCFG[68]) 14536 #define PCC_USB0 (PCC0->CLKCFG[69]) 14537 #define PCC_PORTA (PCC0->CLKCFG[70]) 14538 #define PCC_PORTB (PCC0->CLKCFG[71]) 14539 #define PCC_PORTC (PCC0->CLKCFG[72]) 14540 #define PCC_PORTD (PCC0->CLKCFG[73]) 14541 #define PCC_ADC0 (PCC0->CLKCFG[74]) 14542 #define PCC_LPDAC0 (PCC0->CLKCFG[76]) 14543 #define PCC_VREF (PCC0->CLKCFG[77]) 14544 #define PCC_TRACE (PCC0->CLKCFG[128]) 14545 #define PCC_DMA1 (PCC1->CLKCFG[8]) 14546 #define PCC_GPIOE (PCC1->CLKCFG[15]) 14547 #define PCC1_XRDC_PAC (PCC1->CLKCFG[22]) 14548 #define PCC1_XRDC_MRC (PCC1->CLKCFG[23]) 14549 #define PCC_SEMA42_1 (PCC1->CLKCFG[27]) 14550 #define PCC_DMAMUX1 (PCC1->CLKCFG[33]) 14551 #define PCC_INTMUX1 (PCC1->CLKCFG[34]) 14552 #define PCC_MUB (PCC1->CLKCFG[36]) 14553 #define PCC_CAU3 (PCC1->CLKCFG[40]) 14554 #define PCC_TRNG (PCC1->CLKCFG[41]) 14555 #define PCC_LPIT1 (PCC1->CLKCFG[42]) 14556 #define PCC_TPM3 (PCC1->CLKCFG[45]) 14557 #define PCC_LPI2C3 (PCC1->CLKCFG[46]) 14558 #define PCC_LPSPI3 (PCC1->CLKCFG[53]) 14559 #define PCC_LPUART3 (PCC1->CLKCFG[54]) 14560 #define PCC_PORTE (PCC1->CLKCFG[55]) 14561 #define PCC_MTB (PCC1->CLKCFG[128]) 14562 #define PCC_EXT_CLK (PCC1->CLKCFG[129]) 14563 14564 14565 /*! 14566 * @} 14567 */ /* end of group PCC_Peripheral_Access_Layer */ 14568 14569 14570 /* ---------------------------------------------------------------------------- 14571 -- PORT Peripheral Access Layer 14572 ---------------------------------------------------------------------------- */ 14573 14574 /*! 14575 * @addtogroup PORT_Peripheral_Access_Layer PORT Peripheral Access Layer 14576 * @{ 14577 */ 14578 14579 /** PORT - Register Layout Typedef */ 14580 typedef struct { 14581 __IO uint32_t PCR[32]; /**< Pin Control Register 0..Pin Control Register 30, array offset: 0x0, array step: 0x4 */ 14582 __O uint32_t GPCLR; /**< Global Pin Control Low Register, offset: 0x80 */ 14583 __O uint32_t GPCHR; /**< Global Pin Control High Register, offset: 0x84 */ 14584 __O uint32_t GICLR; /**< Global Interrupt Control Low Register, offset: 0x88 */ 14585 __O uint32_t GICHR; /**< Global Interrupt Control High Register, offset: 0x8C */ 14586 uint8_t RESERVED_0[16]; 14587 __IO uint32_t ISFR; /**< Interrupt Status Flag Register, offset: 0xA0 */ 14588 uint8_t RESERVED_1[28]; 14589 __IO uint32_t DFER; /**< Digital Filter Enable Register, offset: 0xC0 */ 14590 __IO uint32_t DFCR; /**< Digital Filter Clock Register, offset: 0xC4 */ 14591 __IO uint32_t DFWR; /**< Digital Filter Width Register, offset: 0xC8 */ 14592 } PORT_Type; 14593 14594 /* ---------------------------------------------------------------------------- 14595 -- PORT Register Masks 14596 ---------------------------------------------------------------------------- */ 14597 14598 /*! 14599 * @addtogroup PORT_Register_Masks PORT Register Masks 14600 * @{ 14601 */ 14602 14603 /*! @name PCR - Pin Control Register 0..Pin Control Register 30 */ 14604 /*! @{ */ 14605 #define PORT_PCR_PS_MASK (0x1U) 14606 #define PORT_PCR_PS_SHIFT (0U) 14607 /*! PS - Pull Select 14608 * 0b0..Internal pulldown resistor is enabled on the corresponding pin, if the corresponding PE field is set. 14609 * 0b1..Internal pullup resistor is enabled on the corresponding pin, if the corresponding PE field is set. 14610 */ 14611 #define PORT_PCR_PS(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_PS_SHIFT)) & PORT_PCR_PS_MASK) 14612 #define PORT_PCR_PE_MASK (0x2U) 14613 #define PORT_PCR_PE_SHIFT (1U) 14614 /*! PE - Pull Enable 14615 * 0b0..Internal pull resistor is not enabled on the corresponding pin. 14616 * 0b1..Internal pull resistor is enabled on the corresponding pin, if the pin is configured as a digital input. 14617 */ 14618 #define PORT_PCR_PE(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_PE_SHIFT)) & PORT_PCR_PE_MASK) 14619 #define PORT_PCR_SRE_MASK (0x4U) 14620 #define PORT_PCR_SRE_SHIFT (2U) 14621 /*! SRE - Slew Rate Enable 14622 * 0b0..Fast slew rate is configured on the corresponding pin, if the pin is configured as a digital output. 14623 * 0b1..Slow slew rate is configured on the corresponding pin, if the pin is configured as a digital output. 14624 */ 14625 #define PORT_PCR_SRE(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_SRE_SHIFT)) & PORT_PCR_SRE_MASK) 14626 #define PORT_PCR_PFE_MASK (0x10U) 14627 #define PORT_PCR_PFE_SHIFT (4U) 14628 /*! PFE - Passive Filter Enable 14629 * 0b0..Passive input filter is disabled on the corresponding pin. 14630 * 0b1..Passive input filter is enabled on the corresponding pin, if the pin is configured as a digital input. Refer to the device data sheet for filter characteristics. 14631 */ 14632 #define PORT_PCR_PFE(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_PFE_SHIFT)) & PORT_PCR_PFE_MASK) 14633 #define PORT_PCR_ODE_MASK (0x20U) 14634 #define PORT_PCR_ODE_SHIFT (5U) 14635 /*! ODE - Open Drain Enable 14636 * 0b0..Open drain output is disabled on the corresponding pin. 14637 * 0b1..Open drain output is enabled on the corresponding pin, if the pin is configured as a digital output. 14638 */ 14639 #define PORT_PCR_ODE(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_ODE_SHIFT)) & PORT_PCR_ODE_MASK) 14640 #define PORT_PCR_DSE_MASK (0x40U) 14641 #define PORT_PCR_DSE_SHIFT (6U) 14642 /*! DSE - Drive Strength Enable 14643 * 0b0..Low drive strength is configured on the corresponding pin, if pin is configured as a digital output. 14644 * 0b1..High drive strength is configured on the corresponding pin, if pin is configured as a digital output. 14645 */ 14646 #define PORT_PCR_DSE(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_DSE_SHIFT)) & PORT_PCR_DSE_MASK) 14647 #define PORT_PCR_MUX_MASK (0x700U) 14648 #define PORT_PCR_MUX_SHIFT (8U) 14649 /*! MUX - Pin Mux Control 14650 * 0b000..Pin disabled (Alternative 0) (analog). 14651 * 0b001..Alternative 1 (GPIO). 14652 * 0b010..Alternative 2 (chip-specific). 14653 * 0b011..Alternative 3 (chip-specific). 14654 * 0b100..Alternative 4 (chip-specific). 14655 * 0b101..Alternative 5 (chip-specific). 14656 * 0b110..Alternative 6 (chip-specific). 14657 * 0b111..Alternative 7 (chip-specific). 14658 */ 14659 #define PORT_PCR_MUX(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_MUX_SHIFT)) & PORT_PCR_MUX_MASK) 14660 #define PORT_PCR_LK_MASK (0x8000U) 14661 #define PORT_PCR_LK_SHIFT (15U) 14662 /*! LK - Lock Register 14663 * 0b0..Pin Control Register is not locked. 14664 * 0b1..Pin Control Register is locked and cannot be updated until the next system reset. 14665 */ 14666 #define PORT_PCR_LK(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_LK_SHIFT)) & PORT_PCR_LK_MASK) 14667 #define PORT_PCR_IRQC_MASK (0xF0000U) 14668 #define PORT_PCR_IRQC_SHIFT (16U) 14669 /*! IRQC - Interrupt Configuration 14670 * 0b0000..Interrupt Status Flag (ISF) is disabled. 14671 * 0b0001..ISF flag and DMA request on rising edge. 14672 * 0b0010..ISF flag and DMA request on falling edge. 14673 * 0b0011..ISF flag and DMA request on either edge. 14674 * 0b0100..Reserved. 14675 * 0b0101..Flag sets on rising edge. 14676 * 0b0110..Flag sets on falling edge. 14677 * 0b0111..Flag sets on either edge. 14678 * 0b1000..ISF flag and Interrupt when logic 0. 14679 * 0b1001..ISF flag and Interrupt on rising-edge. 14680 * 0b1010..ISF flag and Interrupt on falling-edge. 14681 * 0b1011..ISF flag and Interrupt on either edge. 14682 * 0b1100..ISF flag and Interrupt when logic 1. 14683 * 0b1101..Enable active high trigger output, flag is disabled. [The trigger output goes to the trigger mux, which allows pins to trigger other peripherals (configurable polarity; 1 pin per port; if multiple pins are configured, then they are ORed together to create the trigger)] 14684 * 0b1110..Enable active low trigger output, flag is disabled. 14685 * 0b1111..Reserved. 14686 */ 14687 #define PORT_PCR_IRQC(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_IRQC_SHIFT)) & PORT_PCR_IRQC_MASK) 14688 #define PORT_PCR_ISF_MASK (0x1000000U) 14689 #define PORT_PCR_ISF_SHIFT (24U) 14690 /*! ISF - Interrupt Status Flag 14691 * 0b0..Configured interrupt is not detected. 14692 * 0b1..Configured interrupt is detected. If the pin is configured to generate a DMA request, then the corresponding flag will be cleared automatically at the completion of the requested DMA transfer. Otherwise, the flag remains set until a logic 1 is written to the flag. If the pin is configured for a level sensitive interrupt and the pin remains asserted, then the flag is set again immediately after it is cleared. 14693 */ 14694 #define PORT_PCR_ISF(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_ISF_SHIFT)) & PORT_PCR_ISF_MASK) 14695 /*! @} */ 14696 14697 /* The count of PORT_PCR */ 14698 #define PORT_PCR_COUNT (32U) 14699 14700 /*! @name GPCLR - Global Pin Control Low Register */ 14701 /*! @{ */ 14702 #define PORT_GPCLR_GPWD_MASK (0xFFFFU) 14703 #define PORT_GPCLR_GPWD_SHIFT (0U) 14704 #define PORT_GPCLR_GPWD(x) (((uint32_t)(((uint32_t)(x)) << PORT_GPCLR_GPWD_SHIFT)) & PORT_GPCLR_GPWD_MASK) 14705 #define PORT_GPCLR_GPWE_MASK (0xFFFF0000U) 14706 #define PORT_GPCLR_GPWE_SHIFT (16U) 14707 #define PORT_GPCLR_GPWE(x) (((uint32_t)(((uint32_t)(x)) << PORT_GPCLR_GPWE_SHIFT)) & PORT_GPCLR_GPWE_MASK) 14708 /*! @} */ 14709 14710 /*! @name GPCHR - Global Pin Control High Register */ 14711 /*! @{ */ 14712 #define PORT_GPCHR_GPWD_MASK (0xFFFFU) 14713 #define PORT_GPCHR_GPWD_SHIFT (0U) 14714 #define PORT_GPCHR_GPWD(x) (((uint32_t)(((uint32_t)(x)) << PORT_GPCHR_GPWD_SHIFT)) & PORT_GPCHR_GPWD_MASK) 14715 #define PORT_GPCHR_GPWE_MASK (0xFFFF0000U) 14716 #define PORT_GPCHR_GPWE_SHIFT (16U) 14717 #define PORT_GPCHR_GPWE(x) (((uint32_t)(((uint32_t)(x)) << PORT_GPCHR_GPWE_SHIFT)) & PORT_GPCHR_GPWE_MASK) 14718 /*! @} */ 14719 14720 /*! @name GICLR - Global Interrupt Control Low Register */ 14721 /*! @{ */ 14722 #define PORT_GICLR_GIWE_MASK (0xFFFFU) 14723 #define PORT_GICLR_GIWE_SHIFT (0U) 14724 #define PORT_GICLR_GIWE(x) (((uint32_t)(((uint32_t)(x)) << PORT_GICLR_GIWE_SHIFT)) & PORT_GICLR_GIWE_MASK) 14725 #define PORT_GICLR_GIWD_MASK (0xFFFF0000U) 14726 #define PORT_GICLR_GIWD_SHIFT (16U) 14727 #define PORT_GICLR_GIWD(x) (((uint32_t)(((uint32_t)(x)) << PORT_GICLR_GIWD_SHIFT)) & PORT_GICLR_GIWD_MASK) 14728 /*! @} */ 14729 14730 /*! @name GICHR - Global Interrupt Control High Register */ 14731 /*! @{ */ 14732 #define PORT_GICHR_GIWE_MASK (0xFFFFU) 14733 #define PORT_GICHR_GIWE_SHIFT (0U) 14734 #define PORT_GICHR_GIWE(x) (((uint32_t)(((uint32_t)(x)) << PORT_GICHR_GIWE_SHIFT)) & PORT_GICHR_GIWE_MASK) 14735 #define PORT_GICHR_GIWD_MASK (0xFFFF0000U) 14736 #define PORT_GICHR_GIWD_SHIFT (16U) 14737 #define PORT_GICHR_GIWD(x) (((uint32_t)(((uint32_t)(x)) << PORT_GICHR_GIWD_SHIFT)) & PORT_GICHR_GIWD_MASK) 14738 /*! @} */ 14739 14740 /*! @name ISFR - Interrupt Status Flag Register */ 14741 /*! @{ */ 14742 #define PORT_ISFR_ISF_MASK (0xFFFFFFFFU) 14743 #define PORT_ISFR_ISF_SHIFT (0U) 14744 #define PORT_ISFR_ISF(x) (((uint32_t)(((uint32_t)(x)) << PORT_ISFR_ISF_SHIFT)) & PORT_ISFR_ISF_MASK) 14745 /*! @} */ 14746 14747 /*! @name DFER - Digital Filter Enable Register */ 14748 /*! @{ */ 14749 #define PORT_DFER_DFE_MASK (0xFFFFFFFFU) 14750 #define PORT_DFER_DFE_SHIFT (0U) 14751 #define PORT_DFER_DFE(x) (((uint32_t)(((uint32_t)(x)) << PORT_DFER_DFE_SHIFT)) & PORT_DFER_DFE_MASK) 14752 /*! @} */ 14753 14754 /*! @name DFCR - Digital Filter Clock Register */ 14755 /*! @{ */ 14756 #define PORT_DFCR_CS_MASK (0x1U) 14757 #define PORT_DFCR_CS_SHIFT (0U) 14758 /*! CS - Clock Source 14759 * 0b0..Digital filters are clocked by the bus clock. 14760 * 0b1..Digital filters are clocked by the 8 clock. 14761 */ 14762 #define PORT_DFCR_CS(x) (((uint32_t)(((uint32_t)(x)) << PORT_DFCR_CS_SHIFT)) & PORT_DFCR_CS_MASK) 14763 /*! @} */ 14764 14765 /*! @name DFWR - Digital Filter Width Register */ 14766 /*! @{ */ 14767 #define PORT_DFWR_FILT_MASK (0x1FU) 14768 #define PORT_DFWR_FILT_SHIFT (0U) 14769 #define PORT_DFWR_FILT(x) (((uint32_t)(((uint32_t)(x)) << PORT_DFWR_FILT_SHIFT)) & PORT_DFWR_FILT_MASK) 14770 /*! @} */ 14771 14772 14773 /*! 14774 * @} 14775 */ /* end of group PORT_Register_Masks */ 14776 14777 14778 /* PORT - Peripheral instance base addresses */ 14779 /** Peripheral PORTA base address */ 14780 #define PORTA_BASE (0x40046000u) 14781 /** Peripheral PORTA base pointer */ 14782 #define PORTA ((PORT_Type *)PORTA_BASE) 14783 /** Peripheral PORTB base address */ 14784 #define PORTB_BASE (0x40047000u) 14785 /** Peripheral PORTB base pointer */ 14786 #define PORTB ((PORT_Type *)PORTB_BASE) 14787 /** Peripheral PORTC base address */ 14788 #define PORTC_BASE (0x40048000u) 14789 /** Peripheral PORTC base pointer */ 14790 #define PORTC ((PORT_Type *)PORTC_BASE) 14791 /** Peripheral PORTD base address */ 14792 #define PORTD_BASE (0x40049000u) 14793 /** Peripheral PORTD base pointer */ 14794 #define PORTD ((PORT_Type *)PORTD_BASE) 14795 /** Peripheral PORTE base address */ 14796 #define PORTE_BASE (0x41037000u) 14797 /** Peripheral PORTE base pointer */ 14798 #define PORTE ((PORT_Type *)PORTE_BASE) 14799 /** Array initializer of PORT peripheral base addresses */ 14800 #define PORT_BASE_ADDRS { PORTA_BASE, PORTB_BASE, PORTC_BASE, PORTD_BASE, PORTE_BASE } 14801 /** Array initializer of PORT peripheral base pointers */ 14802 #define PORT_BASE_PTRS { PORTA, PORTB, PORTC, PORTD, PORTE } 14803 /** Interrupt vectors for the PORT peripheral type */ 14804 #define PORT_IRQS { PORTA_IRQn, PORTB_IRQn, PORTC_IRQn, PORTD_IRQn, PORTE_IRQn } 14805 14806 /*! 14807 * @} 14808 */ /* end of group PORT_Peripheral_Access_Layer */ 14809 14810 14811 /* ---------------------------------------------------------------------------- 14812 -- RSIM Peripheral Access Layer 14813 ---------------------------------------------------------------------------- */ 14814 14815 /*! 14816 * @addtogroup RSIM_Peripheral_Access_Layer RSIM Peripheral Access Layer 14817 * @{ 14818 */ 14819 14820 /** RSIM - Register Layout Typedef */ 14821 typedef struct { 14822 __IO uint32_t CONTROL; /**< Radio System Control, offset: 0x0 */ 14823 uint8_t RESERVED_0[12]; 14824 __IO uint32_t MISC; /**< Radio Miscellaneous, offset: 0x10 */ 14825 __IO uint32_t POWER; /**< RSIM Power Control, offset: 0x14 */ 14826 __IO uint32_t SW_CONFIG; /**< Radio Software Configuration, offset: 0x18 */ 14827 uint8_t RESERVED_1[228]; 14828 __I uint32_t DSM_TIMER; /**< Deep Sleep Timer, offset: 0x100 */ 14829 __IO uint32_t DSM_CONTROL; /**< Deep Sleep Timer Control, offset: 0x104 */ 14830 __IO uint32_t DSM_WAKEUP; /**< Deep Sleep Wakeup Sequence, offset: 0x108 */ 14831 __I uint32_t WOR_DURATION; /**< WOR Deep Sleep Duration, offset: 0x10C */ 14832 __IO uint32_t WOR_WAKE; /**< WOR Deep Sleep Wake Time, offset: 0x110 */ 14833 uint8_t RESERVED_2[8]; 14834 __IO uint32_t MAN_SLEEP; /**< MAN Deep Sleep Time, offset: 0x11C */ 14835 __IO uint32_t MAN_WAKE; /**< MAN Deep Sleep Wake Time, offset: 0x120 */ 14836 __IO uint32_t RF_OSC_CTRL; /**< Radio Oscillator Control, offset: 0x124 */ 14837 __IO uint32_t ANA_TEST; /**< Radio Analog Test Registers, offset: 0x128 */ 14838 __IO uint32_t ANA_TRIM; /**< Radio Analog Trim Registers, offset: 0x12C */ 14839 } RSIM_Type; 14840 14841 /* ---------------------------------------------------------------------------- 14842 -- RSIM Register Masks 14843 ---------------------------------------------------------------------------- */ 14844 14845 /*! 14846 * @addtogroup RSIM_Register_Masks RSIM Register Masks 14847 * @{ 14848 */ 14849 14850 /*! @name CONTROL - Radio System Control */ 14851 /*! @{ */ 14852 #define RSIM_CONTROL_BLE_RF_POWER_REQ_EN_MASK (0x1U) 14853 #define RSIM_CONTROL_BLE_RF_POWER_REQ_EN_SHIFT (0U) 14854 #define RSIM_CONTROL_BLE_RF_POWER_REQ_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_BLE_RF_POWER_REQ_EN_SHIFT)) & RSIM_CONTROL_BLE_RF_POWER_REQ_EN_MASK) 14855 #define RSIM_CONTROL_BLE_RF_POWER_REQ_STAT_MASK (0x2U) 14856 #define RSIM_CONTROL_BLE_RF_POWER_REQ_STAT_SHIFT (1U) 14857 #define RSIM_CONTROL_BLE_RF_POWER_REQ_STAT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_BLE_RF_POWER_REQ_STAT_SHIFT)) & RSIM_CONTROL_BLE_RF_POWER_REQ_STAT_MASK) 14858 #define RSIM_CONTROL_BLE_RF_POWER_REQ_INT_EN_MASK (0x10U) 14859 #define RSIM_CONTROL_BLE_RF_POWER_REQ_INT_EN_SHIFT (4U) 14860 #define RSIM_CONTROL_BLE_RF_POWER_REQ_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_BLE_RF_POWER_REQ_INT_EN_SHIFT)) & RSIM_CONTROL_BLE_RF_POWER_REQ_INT_EN_MASK) 14861 #define RSIM_CONTROL_BLE_RF_POWER_REQ_INT_MASK (0x20U) 14862 #define RSIM_CONTROL_BLE_RF_POWER_REQ_INT_SHIFT (5U) 14863 #define RSIM_CONTROL_BLE_RF_POWER_REQ_INT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_BLE_RF_POWER_REQ_INT_SHIFT)) & RSIM_CONTROL_BLE_RF_POWER_REQ_INT_MASK) 14864 #define RSIM_CONTROL_RF_OSC_EN_MASK (0x100U) 14865 #define RSIM_CONTROL_RF_OSC_EN_SHIFT (8U) 14866 #define RSIM_CONTROL_RF_OSC_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_RF_OSC_EN_SHIFT)) & RSIM_CONTROL_RF_OSC_EN_MASK) 14867 #define RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD_EN_MASK (0x1000U) 14868 #define RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD_EN_SHIFT (12U) 14869 #define RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD_EN_SHIFT)) & RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD_EN_MASK) 14870 #define RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD_MASK (0x2000U) 14871 #define RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD_SHIFT (13U) 14872 /*! RADIO_GASKET_BYPASS_OVRD - Radio Gasket Bypass Override 14873 * 0b0..XCVR and Link Layer Register Clock is the RF Ref Osc Clock 14874 * 0b1..XCVR and Link Layer Register Clock is the SoC IPG Clock 14875 */ 14876 #define RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD_SHIFT)) & RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD_MASK) 14877 #define RSIM_CONTROL_IPP_OBE_BLE_EARLY_WARNING_MASK (0x4000U) 14878 #define RSIM_CONTROL_IPP_OBE_BLE_EARLY_WARNING_SHIFT (14U) 14879 #define RSIM_CONTROL_IPP_OBE_BLE_EARLY_WARNING(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_IPP_OBE_BLE_EARLY_WARNING_SHIFT)) & RSIM_CONTROL_IPP_OBE_BLE_EARLY_WARNING_MASK) 14880 #define RSIM_CONTROL_IPP_OBE_RF_ACTIVE_MASK (0x8000U) 14881 #define RSIM_CONTROL_IPP_OBE_RF_ACTIVE_SHIFT (15U) 14882 #define RSIM_CONTROL_IPP_OBE_RF_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_IPP_OBE_RF_ACTIVE_SHIFT)) & RSIM_CONTROL_IPP_OBE_RF_ACTIVE_MASK) 14883 #define RSIM_CONTROL_IPP_OBE_RF_OSC_EN_MASK (0x10000U) 14884 #define RSIM_CONTROL_IPP_OBE_RF_OSC_EN_SHIFT (16U) 14885 #define RSIM_CONTROL_IPP_OBE_RF_OSC_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_IPP_OBE_RF_OSC_EN_SHIFT)) & RSIM_CONTROL_IPP_OBE_RF_OSC_EN_MASK) 14886 #define RSIM_CONTROL_IPP_OBE_RF_STATUS_MASK (0x40000U) 14887 #define RSIM_CONTROL_IPP_OBE_RF_STATUS_SHIFT (18U) 14888 #define RSIM_CONTROL_IPP_OBE_RF_STATUS(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_IPP_OBE_RF_STATUS_SHIFT)) & RSIM_CONTROL_IPP_OBE_RF_STATUS_MASK) 14889 #define RSIM_CONTROL_IPP_OBE_RF_PRIORITY_MASK (0x80000U) 14890 #define RSIM_CONTROL_IPP_OBE_RF_PRIORITY_SHIFT (19U) 14891 #define RSIM_CONTROL_IPP_OBE_RF_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_IPP_OBE_RF_PRIORITY_SHIFT)) & RSIM_CONTROL_IPP_OBE_RF_PRIORITY_MASK) 14892 #define RSIM_CONTROL_BLE_DSM_EXIT_MASK (0x100000U) 14893 #define RSIM_CONTROL_BLE_DSM_EXIT_SHIFT (20U) 14894 #define RSIM_CONTROL_BLE_DSM_EXIT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_BLE_DSM_EXIT_SHIFT)) & RSIM_CONTROL_BLE_DSM_EXIT_MASK) 14895 #define RSIM_CONTROL_WOR_DSM_EXIT_MASK (0x200000U) 14896 #define RSIM_CONTROL_WOR_DSM_EXIT_SHIFT (21U) 14897 #define RSIM_CONTROL_WOR_DSM_EXIT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_WOR_DSM_EXIT_SHIFT)) & RSIM_CONTROL_WOR_DSM_EXIT_MASK) 14898 #define RSIM_CONTROL_RF_OSC_READY_MASK (0x1000000U) 14899 #define RSIM_CONTROL_RF_OSC_READY_SHIFT (24U) 14900 #define RSIM_CONTROL_RF_OSC_READY(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_RF_OSC_READY_SHIFT)) & RSIM_CONTROL_RF_OSC_READY_MASK) 14901 #define RSIM_CONTROL_RF_OSC_READY_OVRD_EN_MASK (0x2000000U) 14902 #define RSIM_CONTROL_RF_OSC_READY_OVRD_EN_SHIFT (25U) 14903 #define RSIM_CONTROL_RF_OSC_READY_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_RF_OSC_READY_OVRD_EN_SHIFT)) & RSIM_CONTROL_RF_OSC_READY_OVRD_EN_MASK) 14904 #define RSIM_CONTROL_RF_OSC_READY_OVRD_MASK (0x4000000U) 14905 #define RSIM_CONTROL_RF_OSC_READY_OVRD_SHIFT (26U) 14906 #define RSIM_CONTROL_RF_OSC_READY_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_RF_OSC_READY_OVRD_SHIFT)) & RSIM_CONTROL_RF_OSC_READY_OVRD_MASK) 14907 #define RSIM_CONTROL_RSIM_CGC_BLE_EN_MASK (0x8000000U) 14908 #define RSIM_CONTROL_RSIM_CGC_BLE_EN_SHIFT (27U) 14909 /*! RSIM_CGC_BLE_EN - BLE Clock Gate Control 14910 * 0b0..Clock disabled 14911 * 0b1..Clock enabled 14912 */ 14913 #define RSIM_CONTROL_RSIM_CGC_BLE_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_RSIM_CGC_BLE_EN_SHIFT)) & RSIM_CONTROL_RSIM_CGC_BLE_EN_MASK) 14914 #define RSIM_CONTROL_RSIM_CGC_XCVR_EN_MASK (0x10000000U) 14915 #define RSIM_CONTROL_RSIM_CGC_XCVR_EN_SHIFT (28U) 14916 /*! RSIM_CGC_XCVR_EN - XCVR Clock Gate Control 14917 * 0b0..Clock disabled 14918 * 0b1..Clock enabled 14919 */ 14920 #define RSIM_CONTROL_RSIM_CGC_XCVR_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_RSIM_CGC_XCVR_EN_SHIFT)) & RSIM_CONTROL_RSIM_CGC_XCVR_EN_MASK) 14921 #define RSIM_CONTROL_RSIM_CGC_ZIG_EN_MASK (0x20000000U) 14922 #define RSIM_CONTROL_RSIM_CGC_ZIG_EN_SHIFT (29U) 14923 /*! RSIM_CGC_ZIG_EN - ZIG Clock Gate Control 14924 * 0b0..Clock disabled 14925 * 0b1..Clock enabled 14926 */ 14927 #define RSIM_CONTROL_RSIM_CGC_ZIG_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_RSIM_CGC_ZIG_EN_SHIFT)) & RSIM_CONTROL_RSIM_CGC_ZIG_EN_MASK) 14928 #define RSIM_CONTROL_RSIM_CGC_GEN_EN_MASK (0x80000000U) 14929 #define RSIM_CONTROL_RSIM_CGC_GEN_EN_SHIFT (31U) 14930 /*! RSIM_CGC_GEN_EN - GEN Clock Gate Control 14931 * 0b0..Clock disabled 14932 * 0b1..Clock enabled 14933 */ 14934 #define RSIM_CONTROL_RSIM_CGC_GEN_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_RSIM_CGC_GEN_EN_SHIFT)) & RSIM_CONTROL_RSIM_CGC_GEN_EN_MASK) 14935 /*! @} */ 14936 14937 /*! @name MISC - Radio Miscellaneous */ 14938 /*! @{ */ 14939 #define RSIM_MISC_RADIO_VERSION_MASK (0xFF000000U) 14940 #define RSIM_MISC_RADIO_VERSION_SHIFT (24U) 14941 #define RSIM_MISC_RADIO_VERSION(x) (((uint32_t)(((uint32_t)(x)) << RSIM_MISC_RADIO_VERSION_SHIFT)) & RSIM_MISC_RADIO_VERSION_MASK) 14942 /*! @} */ 14943 14944 /*! @name POWER - RSIM Power Control */ 14945 /*! @{ */ 14946 #define RSIM_POWER_RADIO_STOP_MODE_STAT_MASK (0x7U) 14947 #define RSIM_POWER_RADIO_STOP_MODE_STAT_SHIFT (0U) 14948 #define RSIM_POWER_RADIO_STOP_MODE_STAT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RADIO_STOP_MODE_STAT_SHIFT)) & RSIM_POWER_RADIO_STOP_MODE_STAT_MASK) 14949 #define RSIM_POWER_SPM_STOP_ACK_STAT_MASK (0x8U) 14950 #define RSIM_POWER_SPM_STOP_ACK_STAT_SHIFT (3U) 14951 #define RSIM_POWER_SPM_STOP_ACK_STAT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_SPM_STOP_ACK_STAT_SHIFT)) & RSIM_POWER_SPM_STOP_ACK_STAT_MASK) 14952 #define RSIM_POWER_RADIO_STOP_MODE_OVRD_MASK (0x70U) 14953 #define RSIM_POWER_RADIO_STOP_MODE_OVRD_SHIFT (4U) 14954 #define RSIM_POWER_RADIO_STOP_MODE_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RADIO_STOP_MODE_OVRD_SHIFT)) & RSIM_POWER_RADIO_STOP_MODE_OVRD_MASK) 14955 #define RSIM_POWER_RADIO_STOP_MODE_OVRD_EN_MASK (0x80U) 14956 #define RSIM_POWER_RADIO_STOP_MODE_OVRD_EN_SHIFT (7U) 14957 #define RSIM_POWER_RADIO_STOP_MODE_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RADIO_STOP_MODE_OVRD_EN_SHIFT)) & RSIM_POWER_RADIO_STOP_MODE_OVRD_EN_MASK) 14958 #define RSIM_POWER_RADIO_STOP_ACK_STAT_MASK (0x100U) 14959 #define RSIM_POWER_RADIO_STOP_ACK_STAT_SHIFT (8U) 14960 #define RSIM_POWER_RADIO_STOP_ACK_STAT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RADIO_STOP_ACK_STAT_SHIFT)) & RSIM_POWER_RADIO_STOP_ACK_STAT_MASK) 14961 #define RSIM_POWER_RADIO_STOP_REQ_STAT_MASK (0x200U) 14962 #define RSIM_POWER_RADIO_STOP_REQ_STAT_SHIFT (9U) 14963 #define RSIM_POWER_RADIO_STOP_REQ_STAT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RADIO_STOP_REQ_STAT_SHIFT)) & RSIM_POWER_RADIO_STOP_REQ_STAT_MASK) 14964 #define RSIM_POWER_RSIM_STOP_REQ_OVRD_MASK (0x400U) 14965 #define RSIM_POWER_RSIM_STOP_REQ_OVRD_SHIFT (10U) 14966 #define RSIM_POWER_RSIM_STOP_REQ_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RSIM_STOP_REQ_OVRD_SHIFT)) & RSIM_POWER_RSIM_STOP_REQ_OVRD_MASK) 14967 #define RSIM_POWER_RSIM_STOP_REQ_OVRD_EN_MASK (0x800U) 14968 #define RSIM_POWER_RSIM_STOP_REQ_OVRD_EN_SHIFT (11U) 14969 #define RSIM_POWER_RSIM_STOP_REQ_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RSIM_STOP_REQ_OVRD_EN_SHIFT)) & RSIM_POWER_RSIM_STOP_REQ_OVRD_EN_MASK) 14970 #define RSIM_POWER_RF_OSC_EN_OVRD_MASK (0x1000U) 14971 #define RSIM_POWER_RF_OSC_EN_OVRD_SHIFT (12U) 14972 #define RSIM_POWER_RF_OSC_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RF_OSC_EN_OVRD_SHIFT)) & RSIM_POWER_RF_OSC_EN_OVRD_MASK) 14973 #define RSIM_POWER_RF_OSC_EN_OVRD_EN_MASK (0x2000U) 14974 #define RSIM_POWER_RF_OSC_EN_OVRD_EN_SHIFT (13U) 14975 #define RSIM_POWER_RF_OSC_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RF_OSC_EN_OVRD_EN_SHIFT)) & RSIM_POWER_RF_OSC_EN_OVRD_EN_MASK) 14976 #define RSIM_POWER_RF_POWER_EN_OVRD_MASK (0x4000U) 14977 #define RSIM_POWER_RF_POWER_EN_OVRD_SHIFT (14U) 14978 #define RSIM_POWER_RF_POWER_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RF_POWER_EN_OVRD_SHIFT)) & RSIM_POWER_RF_POWER_EN_OVRD_MASK) 14979 #define RSIM_POWER_RF_POWER_EN_OVRD_EN_MASK (0x8000U) 14980 #define RSIM_POWER_RF_POWER_EN_OVRD_EN_SHIFT (15U) 14981 #define RSIM_POWER_RF_POWER_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RF_POWER_EN_OVRD_EN_SHIFT)) & RSIM_POWER_RF_POWER_EN_OVRD_EN_MASK) 14982 #define RSIM_POWER_SPM_ISO_STAT_MASK (0x10000U) 14983 #define RSIM_POWER_SPM_ISO_STAT_SHIFT (16U) 14984 #define RSIM_POWER_SPM_ISO_STAT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_SPM_ISO_STAT_SHIFT)) & RSIM_POWER_SPM_ISO_STAT_MASK) 14985 #define RSIM_POWER_RADIO_ISO_STAT_MASK (0x20000U) 14986 #define RSIM_POWER_RADIO_ISO_STAT_SHIFT (17U) 14987 #define RSIM_POWER_RADIO_ISO_STAT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RADIO_ISO_STAT_SHIFT)) & RSIM_POWER_RADIO_ISO_STAT_MASK) 14988 #define RSIM_POWER_RSIM_ISO_OVRD_MASK (0x40000U) 14989 #define RSIM_POWER_RSIM_ISO_OVRD_SHIFT (18U) 14990 #define RSIM_POWER_RSIM_ISO_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RSIM_ISO_OVRD_SHIFT)) & RSIM_POWER_RSIM_ISO_OVRD_MASK) 14991 #define RSIM_POWER_RSIM_ISO_OVRD_EN_MASK (0x80000U) 14992 #define RSIM_POWER_RSIM_ISO_OVRD_EN_SHIFT (19U) 14993 #define RSIM_POWER_RSIM_ISO_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RSIM_ISO_OVRD_EN_SHIFT)) & RSIM_POWER_RSIM_ISO_OVRD_EN_MASK) 14994 #define RSIM_POWER_SPM_RUN_ACK_STAT_MASK (0x100000U) 14995 #define RSIM_POWER_SPM_RUN_ACK_STAT_SHIFT (20U) 14996 #define RSIM_POWER_SPM_RUN_ACK_STAT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_SPM_RUN_ACK_STAT_SHIFT)) & RSIM_POWER_SPM_RUN_ACK_STAT_MASK) 14997 #define RSIM_POWER_RADIO_RUN_REQ_STAT_MASK (0x200000U) 14998 #define RSIM_POWER_RADIO_RUN_REQ_STAT_SHIFT (21U) 14999 #define RSIM_POWER_RADIO_RUN_REQ_STAT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RADIO_RUN_REQ_STAT_SHIFT)) & RSIM_POWER_RADIO_RUN_REQ_STAT_MASK) 15000 #define RSIM_POWER_RSIM_RUN_REQ_OVRD_MASK (0x400000U) 15001 #define RSIM_POWER_RSIM_RUN_REQ_OVRD_SHIFT (22U) 15002 #define RSIM_POWER_RSIM_RUN_REQ_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RSIM_RUN_REQ_OVRD_SHIFT)) & RSIM_POWER_RSIM_RUN_REQ_OVRD_MASK) 15003 #define RSIM_POWER_RSIM_RUN_REQ_OVRD_EN_MASK (0x800000U) 15004 #define RSIM_POWER_RSIM_RUN_REQ_OVRD_EN_SHIFT (23U) 15005 #define RSIM_POWER_RSIM_RUN_REQ_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RSIM_RUN_REQ_OVRD_EN_SHIFT)) & RSIM_POWER_RSIM_RUN_REQ_OVRD_EN_MASK) 15006 #define RSIM_POWER_SPM_STOP_REQ_ACK_OVRD_MASK (0x1000000U) 15007 #define RSIM_POWER_SPM_STOP_REQ_ACK_OVRD_SHIFT (24U) 15008 #define RSIM_POWER_SPM_STOP_REQ_ACK_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_SPM_STOP_REQ_ACK_OVRD_SHIFT)) & RSIM_POWER_SPM_STOP_REQ_ACK_OVRD_MASK) 15009 #define RSIM_POWER_SPM_STOP_REQ_ACK_OVRD_EN_MASK (0x2000000U) 15010 #define RSIM_POWER_SPM_STOP_REQ_ACK_OVRD_EN_SHIFT (25U) 15011 #define RSIM_POWER_SPM_STOP_REQ_ACK_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_SPM_STOP_REQ_ACK_OVRD_EN_SHIFT)) & RSIM_POWER_SPM_STOP_REQ_ACK_OVRD_EN_MASK) 15012 #define RSIM_POWER_SPM_RUN_REQ_ACK_OVRD_MASK (0x4000000U) 15013 #define RSIM_POWER_SPM_RUN_REQ_ACK_OVRD_SHIFT (26U) 15014 #define RSIM_POWER_SPM_RUN_REQ_ACK_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_SPM_RUN_REQ_ACK_OVRD_SHIFT)) & RSIM_POWER_SPM_RUN_REQ_ACK_OVRD_MASK) 15015 #define RSIM_POWER_SPM_RUN_REQ_ACK_OVRD_EN_MASK (0x8000000U) 15016 #define RSIM_POWER_SPM_RUN_REQ_ACK_OVRD_EN_SHIFT (27U) 15017 #define RSIM_POWER_SPM_RUN_REQ_ACK_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_SPM_RUN_REQ_ACK_OVRD_EN_SHIFT)) & RSIM_POWER_SPM_RUN_REQ_ACK_OVRD_EN_MASK) 15018 #define RSIM_POWER_RSIM_STOP_MODE_MASK (0x70000000U) 15019 #define RSIM_POWER_RSIM_STOP_MODE_SHIFT (28U) 15020 /*! RSIM_STOP_MODE - RSIM lowest allowed Stop Mode 15021 * 0b000..Reserved 15022 * 0b001..Reserved 15023 * 0b011..RLLS mode (Radio State Retention mode) 15024 * 0b111..RVLLS mode (This is the POR setting) 15025 */ 15026 #define RSIM_POWER_RSIM_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RSIM_STOP_MODE_SHIFT)) & RSIM_POWER_RSIM_STOP_MODE_MASK) 15027 #define RSIM_POWER_RSIM_RUN_REQUEST_MASK (0x80000000U) 15028 #define RSIM_POWER_RSIM_RUN_REQUEST_SHIFT (31U) 15029 #define RSIM_POWER_RSIM_RUN_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RSIM_RUN_REQUEST_SHIFT)) & RSIM_POWER_RSIM_RUN_REQUEST_MASK) 15030 /*! @} */ 15031 15032 /*! @name SW_CONFIG - Radio Software Configuration */ 15033 /*! @{ */ 15034 #define RSIM_SW_CONFIG_RADIO_CONFIGURED_POR_RESET_MASK (0x1U) 15035 #define RSIM_SW_CONFIG_RADIO_CONFIGURED_POR_RESET_SHIFT (0U) 15036 #define RSIM_SW_CONFIG_RADIO_CONFIGURED_POR_RESET(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_RADIO_CONFIGURED_POR_RESET_SHIFT)) & RSIM_SW_CONFIG_RADIO_CONFIGURED_POR_RESET_MASK) 15037 #define RSIM_SW_CONFIG_RADIO_CONFIGURED_SYS_RESET_MASK (0x2U) 15038 #define RSIM_SW_CONFIG_RADIO_CONFIGURED_SYS_RESET_SHIFT (1U) 15039 #define RSIM_SW_CONFIG_RADIO_CONFIGURED_SYS_RESET(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_RADIO_CONFIGURED_SYS_RESET_SHIFT)) & RSIM_SW_CONFIG_RADIO_CONFIGURED_SYS_RESET_MASK) 15040 #define RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD_MASK (0x10U) 15041 #define RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD_SHIFT (4U) 15042 #define RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD_SHIFT)) & RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD_MASK) 15043 #define RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD_EN_MASK (0x20U) 15044 #define RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD_EN_SHIFT (5U) 15045 #define RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD_EN_SHIFT)) & RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD_EN_MASK) 15046 #define RSIM_SW_CONFIG_RADIO_POR_BIT_MASK (0x100U) 15047 #define RSIM_SW_CONFIG_RADIO_POR_BIT_SHIFT (8U) 15048 #define RSIM_SW_CONFIG_RADIO_POR_BIT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_RADIO_POR_BIT_SHIFT)) & RSIM_SW_CONFIG_RADIO_POR_BIT_MASK) 15049 #define RSIM_SW_CONFIG_RSIM_RADIO_ISO_POR_OVRD_MASK (0x1000U) 15050 #define RSIM_SW_CONFIG_RSIM_RADIO_ISO_POR_OVRD_SHIFT (12U) 15051 #define RSIM_SW_CONFIG_RSIM_RADIO_ISO_POR_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_RSIM_RADIO_ISO_POR_OVRD_SHIFT)) & RSIM_SW_CONFIG_RSIM_RADIO_ISO_POR_OVRD_MASK) 15052 #define RSIM_SW_CONFIG_RADIO_RESET_BIT_MASK (0x10000U) 15053 #define RSIM_SW_CONFIG_RADIO_RESET_BIT_SHIFT (16U) 15054 #define RSIM_SW_CONFIG_RADIO_RESET_BIT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_RADIO_RESET_BIT_SHIFT)) & RSIM_SW_CONFIG_RADIO_RESET_BIT_MASK) 15055 #define RSIM_SW_CONFIG_WAKEUP_INTERRUPT_SOURCE_MASK (0x300000U) 15056 #define RSIM_SW_CONFIG_WAKEUP_INTERRUPT_SOURCE_SHIFT (20U) 15057 /*! WAKEUP_INTERRUPT_SOURCE - RSIM Wakeup Interrupt Source Selector 15058 * 0b00..No Radio Power-On Sequence interrupt will be generated. 15059 * 0b01..A Power-On Sequence interrupt will be generated when the RF Power Request occurs, including unblocked requests from an external source to use the RF OSC. 15060 * 0b10..A Power-On Sequence interrupt will be generated when the RF OSC Request occurs, but not if the RF OSC request was from an external source. 15061 * 0b11..A Power-On Sequence interrupt will be generated when the RSIM RF Active Warning occurs 15062 */ 15063 #define RSIM_SW_CONFIG_WAKEUP_INTERRUPT_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_WAKEUP_INTERRUPT_SOURCE_SHIFT)) & RSIM_SW_CONFIG_WAKEUP_INTERRUPT_SOURCE_MASK) 15064 #define RSIM_SW_CONFIG_RADIO0_INTERRUPT_EN_MASK (0x1000000U) 15065 #define RSIM_SW_CONFIG_RADIO0_INTERRUPT_EN_SHIFT (24U) 15066 #define RSIM_SW_CONFIG_RADIO0_INTERRUPT_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_RADIO0_INTERRUPT_EN_SHIFT)) & RSIM_SW_CONFIG_RADIO0_INTERRUPT_EN_MASK) 15067 #define RSIM_SW_CONFIG_RADIO1_INTERRUPT_EN_MASK (0x2000000U) 15068 #define RSIM_SW_CONFIG_RADIO1_INTERRUPT_EN_SHIFT (25U) 15069 #define RSIM_SW_CONFIG_RADIO1_INTERRUPT_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_RADIO1_INTERRUPT_EN_SHIFT)) & RSIM_SW_CONFIG_RADIO1_INTERRUPT_EN_MASK) 15070 #define RSIM_SW_CONFIG_BLOCK_SOC_RESETS_MASK (0x10000000U) 15071 #define RSIM_SW_CONFIG_BLOCK_SOC_RESETS_SHIFT (28U) 15072 #define RSIM_SW_CONFIG_BLOCK_SOC_RESETS(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_BLOCK_SOC_RESETS_SHIFT)) & RSIM_SW_CONFIG_BLOCK_SOC_RESETS_MASK) 15073 #define RSIM_SW_CONFIG_BLOCK_RADIO_OUTPUTS_MASK (0x20000000U) 15074 #define RSIM_SW_CONFIG_BLOCK_RADIO_OUTPUTS_SHIFT (29U) 15075 #define RSIM_SW_CONFIG_BLOCK_RADIO_OUTPUTS(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_BLOCK_RADIO_OUTPUTS_SHIFT)) & RSIM_SW_CONFIG_BLOCK_RADIO_OUTPUTS_MASK) 15076 #define RSIM_SW_CONFIG_ALLOW_DFT_RESETS_MASK (0x40000000U) 15077 #define RSIM_SW_CONFIG_ALLOW_DFT_RESETS_SHIFT (30U) 15078 #define RSIM_SW_CONFIG_ALLOW_DFT_RESETS(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_ALLOW_DFT_RESETS_SHIFT)) & RSIM_SW_CONFIG_ALLOW_DFT_RESETS_MASK) 15079 #define RSIM_SW_CONFIG_BLOCK_EXT_OSC_PWR_REQ_MASK (0x80000000U) 15080 #define RSIM_SW_CONFIG_BLOCK_EXT_OSC_PWR_REQ_SHIFT (31U) 15081 #define RSIM_SW_CONFIG_BLOCK_EXT_OSC_PWR_REQ(x) (((uint32_t)(((uint32_t)(x)) << RSIM_SW_CONFIG_BLOCK_EXT_OSC_PWR_REQ_SHIFT)) & RSIM_SW_CONFIG_BLOCK_EXT_OSC_PWR_REQ_MASK) 15082 /*! @} */ 15083 15084 /*! @name DSM_TIMER - Deep Sleep Timer */ 15085 /*! @{ */ 15086 #define RSIM_DSM_TIMER_DSM_TIMER_MASK (0xFFFFFFU) 15087 #define RSIM_DSM_TIMER_DSM_TIMER_SHIFT (0U) 15088 #define RSIM_DSM_TIMER_DSM_TIMER(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_TIMER_DSM_TIMER_SHIFT)) & RSIM_DSM_TIMER_DSM_TIMER_MASK) 15089 /*! @} */ 15090 15091 /*! @name DSM_CONTROL - Deep Sleep Timer Control */ 15092 /*! @{ */ 15093 #define RSIM_DSM_CONTROL_DSM_WOR_READY_MASK (0x1U) 15094 #define RSIM_DSM_CONTROL_DSM_WOR_READY_SHIFT (0U) 15095 #define RSIM_DSM_CONTROL_DSM_WOR_READY(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_DSM_WOR_READY_SHIFT)) & RSIM_DSM_CONTROL_DSM_WOR_READY_MASK) 15096 #define RSIM_DSM_CONTROL_WOR_DEEP_SLEEP_STATUS_MASK (0x2U) 15097 #define RSIM_DSM_CONTROL_WOR_DEEP_SLEEP_STATUS_SHIFT (1U) 15098 #define RSIM_DSM_CONTROL_WOR_DEEP_SLEEP_STATUS(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_WOR_DEEP_SLEEP_STATUS_SHIFT)) & RSIM_DSM_CONTROL_WOR_DEEP_SLEEP_STATUS_MASK) 15099 #define RSIM_DSM_CONTROL_DSM_WOR_FINISHED_MASK (0x4U) 15100 #define RSIM_DSM_CONTROL_DSM_WOR_FINISHED_SHIFT (2U) 15101 #define RSIM_DSM_CONTROL_DSM_WOR_FINISHED(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_DSM_WOR_FINISHED_SHIFT)) & RSIM_DSM_CONTROL_DSM_WOR_FINISHED_MASK) 15102 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQUEST_EN_MASK (0x8U) 15103 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQUEST_EN_SHIFT (3U) 15104 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQUEST_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_WOR_WAKEUP_REQUEST_EN_SHIFT)) & RSIM_DSM_CONTROL_WOR_WAKEUP_REQUEST_EN_MASK) 15105 #define RSIM_DSM_CONTROL_WOR_SLEEP_REQUEST_MASK (0x10U) 15106 #define RSIM_DSM_CONTROL_WOR_SLEEP_REQUEST_SHIFT (4U) 15107 #define RSIM_DSM_CONTROL_WOR_SLEEP_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_WOR_SLEEP_REQUEST_SHIFT)) & RSIM_DSM_CONTROL_WOR_SLEEP_REQUEST_MASK) 15108 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQ_MASK (0x20U) 15109 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQ_SHIFT (5U) 15110 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQ(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_WOR_WAKEUP_REQ_SHIFT)) & RSIM_DSM_CONTROL_WOR_WAKEUP_REQ_MASK) 15111 #define RSIM_DSM_CONTROL_WOR_WAKEUP_INTERRUPT_EN_MASK (0x40U) 15112 #define RSIM_DSM_CONTROL_WOR_WAKEUP_INTERRUPT_EN_SHIFT (6U) 15113 #define RSIM_DSM_CONTROL_WOR_WAKEUP_INTERRUPT_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_WOR_WAKEUP_INTERRUPT_EN_SHIFT)) & RSIM_DSM_CONTROL_WOR_WAKEUP_INTERRUPT_EN_MASK) 15114 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQ_INT_MASK (0x80U) 15115 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQ_INT_SHIFT (7U) 15116 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQ_INT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_WOR_WAKEUP_REQ_INT_SHIFT)) & RSIM_DSM_CONTROL_WOR_WAKEUP_REQ_INT_MASK) 15117 #define RSIM_DSM_CONTROL_DSM_MAN_READY_MASK (0x100U) 15118 #define RSIM_DSM_CONTROL_DSM_MAN_READY_SHIFT (8U) 15119 #define RSIM_DSM_CONTROL_DSM_MAN_READY(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_DSM_MAN_READY_SHIFT)) & RSIM_DSM_CONTROL_DSM_MAN_READY_MASK) 15120 #define RSIM_DSM_CONTROL_MAN_DEEP_SLEEP_STATUS_MASK (0x200U) 15121 #define RSIM_DSM_CONTROL_MAN_DEEP_SLEEP_STATUS_SHIFT (9U) 15122 #define RSIM_DSM_CONTROL_MAN_DEEP_SLEEP_STATUS(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_MAN_DEEP_SLEEP_STATUS_SHIFT)) & RSIM_DSM_CONTROL_MAN_DEEP_SLEEP_STATUS_MASK) 15123 #define RSIM_DSM_CONTROL_DSM_MAN_FINISHED_MASK (0x400U) 15124 #define RSIM_DSM_CONTROL_DSM_MAN_FINISHED_SHIFT (10U) 15125 #define RSIM_DSM_CONTROL_DSM_MAN_FINISHED(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_DSM_MAN_FINISHED_SHIFT)) & RSIM_DSM_CONTROL_DSM_MAN_FINISHED_MASK) 15126 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQUEST_EN_MASK (0x800U) 15127 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQUEST_EN_SHIFT (11U) 15128 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQUEST_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_MAN_WAKEUP_REQUEST_EN_SHIFT)) & RSIM_DSM_CONTROL_MAN_WAKEUP_REQUEST_EN_MASK) 15129 #define RSIM_DSM_CONTROL_MAN_SLEEP_REQUEST_MASK (0x1000U) 15130 #define RSIM_DSM_CONTROL_MAN_SLEEP_REQUEST_SHIFT (12U) 15131 #define RSIM_DSM_CONTROL_MAN_SLEEP_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_MAN_SLEEP_REQUEST_SHIFT)) & RSIM_DSM_CONTROL_MAN_SLEEP_REQUEST_MASK) 15132 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQ_MASK (0x2000U) 15133 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQ_SHIFT (13U) 15134 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQ(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_MAN_WAKEUP_REQ_SHIFT)) & RSIM_DSM_CONTROL_MAN_WAKEUP_REQ_MASK) 15135 #define RSIM_DSM_CONTROL_MAN_WAKEUP_INTERRUPT_EN_MASK (0x4000U) 15136 #define RSIM_DSM_CONTROL_MAN_WAKEUP_INTERRUPT_EN_SHIFT (14U) 15137 #define RSIM_DSM_CONTROL_MAN_WAKEUP_INTERRUPT_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_MAN_WAKEUP_INTERRUPT_EN_SHIFT)) & RSIM_DSM_CONTROL_MAN_WAKEUP_INTERRUPT_EN_MASK) 15138 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQ_INT_MASK (0x8000U) 15139 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQ_INT_SHIFT (15U) 15140 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQ_INT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_MAN_WAKEUP_REQ_INT_SHIFT)) & RSIM_DSM_CONTROL_MAN_WAKEUP_REQ_INT_MASK) 15141 #define RSIM_DSM_CONTROL_WIFI_COEXIST_1_MASK (0x10000U) 15142 #define RSIM_DSM_CONTROL_WIFI_COEXIST_1_SHIFT (16U) 15143 #define RSIM_DSM_CONTROL_WIFI_COEXIST_1(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_WIFI_COEXIST_1_SHIFT)) & RSIM_DSM_CONTROL_WIFI_COEXIST_1_MASK) 15144 #define RSIM_DSM_CONTROL_WIFI_COEXIST_2_MASK (0x20000U) 15145 #define RSIM_DSM_CONTROL_WIFI_COEXIST_2_SHIFT (17U) 15146 #define RSIM_DSM_CONTROL_WIFI_COEXIST_2(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_WIFI_COEXIST_2_SHIFT)) & RSIM_DSM_CONTROL_WIFI_COEXIST_2_MASK) 15147 #define RSIM_DSM_CONTROL_WIFI_COEXIST_3_MASK (0x40000U) 15148 #define RSIM_DSM_CONTROL_WIFI_COEXIST_3_SHIFT (18U) 15149 #define RSIM_DSM_CONTROL_WIFI_COEXIST_3(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_WIFI_COEXIST_3_SHIFT)) & RSIM_DSM_CONTROL_WIFI_COEXIST_3_MASK) 15150 #define RSIM_DSM_CONTROL_RF_ACTIVE_ENDS_WITH_TSM_MASK (0x100000U) 15151 #define RSIM_DSM_CONTROL_RF_ACTIVE_ENDS_WITH_TSM_SHIFT (20U) 15152 #define RSIM_DSM_CONTROL_RF_ACTIVE_ENDS_WITH_TSM(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_RF_ACTIVE_ENDS_WITH_TSM_SHIFT)) & RSIM_DSM_CONTROL_RF_ACTIVE_ENDS_WITH_TSM_MASK) 15153 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_ENDS_WITH_TSM_MASK (0x200000U) 15154 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_ENDS_WITH_TSM_SHIFT (21U) 15155 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_ENDS_WITH_TSM(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_SW_RF_ACTIVE_ENDS_WITH_TSM_SHIFT)) & RSIM_DSM_CONTROL_SW_RF_ACTIVE_ENDS_WITH_TSM_MASK) 15156 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_BIT_MASK (0x400000U) 15157 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_BIT_SHIFT (22U) 15158 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_BIT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_SW_RF_ACTIVE_BIT_SHIFT)) & RSIM_DSM_CONTROL_SW_RF_ACTIVE_BIT_MASK) 15159 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_EN_MASK (0x800000U) 15160 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_EN_SHIFT (23U) 15161 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_SW_RF_ACTIVE_EN_SHIFT)) & RSIM_DSM_CONTROL_SW_RF_ACTIVE_EN_MASK) 15162 #define RSIM_DSM_CONTROL_DSM_TIMER_CLR_MASK (0x8000000U) 15163 #define RSIM_DSM_CONTROL_DSM_TIMER_CLR_SHIFT (27U) 15164 #define RSIM_DSM_CONTROL_DSM_TIMER_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_DSM_TIMER_CLR_SHIFT)) & RSIM_DSM_CONTROL_DSM_TIMER_CLR_MASK) 15165 #define RSIM_DSM_CONTROL_DSM_TIMER_EN_MASK (0x80000000U) 15166 #define RSIM_DSM_CONTROL_DSM_TIMER_EN_SHIFT (31U) 15167 #define RSIM_DSM_CONTROL_DSM_TIMER_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_CONTROL_DSM_TIMER_EN_SHIFT)) & RSIM_DSM_CONTROL_DSM_TIMER_EN_MASK) 15168 /*! @} */ 15169 15170 /*! @name DSM_WAKEUP - Deep Sleep Wakeup Sequence */ 15171 /*! @{ */ 15172 #define RSIM_DSM_WAKEUP_DSM_POWER_OFFSET_TIME_MASK (0x3FFU) 15173 #define RSIM_DSM_WAKEUP_DSM_POWER_OFFSET_TIME_SHIFT (0U) 15174 #define RSIM_DSM_WAKEUP_DSM_POWER_OFFSET_TIME(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_WAKEUP_DSM_POWER_OFFSET_TIME_SHIFT)) & RSIM_DSM_WAKEUP_DSM_POWER_OFFSET_TIME_MASK) 15175 #define RSIM_DSM_WAKEUP_ACTIVE_WARNING_MASK (0x3F000U) 15176 #define RSIM_DSM_WAKEUP_ACTIVE_WARNING_SHIFT (12U) 15177 #define RSIM_DSM_WAKEUP_ACTIVE_WARNING(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_WAKEUP_ACTIVE_WARNING_SHIFT)) & RSIM_DSM_WAKEUP_ACTIVE_WARNING_MASK) 15178 #define RSIM_DSM_WAKEUP_FINE_DELAY_MASK (0x3F00000U) 15179 #define RSIM_DSM_WAKEUP_FINE_DELAY_SHIFT (20U) 15180 #define RSIM_DSM_WAKEUP_FINE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_WAKEUP_FINE_DELAY_SHIFT)) & RSIM_DSM_WAKEUP_FINE_DELAY_MASK) 15181 #define RSIM_DSM_WAKEUP_COARSE_DELAY_MASK (0xF0000000U) 15182 #define RSIM_DSM_WAKEUP_COARSE_DELAY_SHIFT (28U) 15183 #define RSIM_DSM_WAKEUP_COARSE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_WAKEUP_COARSE_DELAY_SHIFT)) & RSIM_DSM_WAKEUP_COARSE_DELAY_MASK) 15184 /*! @} */ 15185 15186 /*! @name WOR_DURATION - WOR Deep Sleep Duration */ 15187 /*! @{ */ 15188 #define RSIM_WOR_DURATION_WOR_DSM_DURATION_MASK (0xFFFFFFU) 15189 #define RSIM_WOR_DURATION_WOR_DSM_DURATION_SHIFT (0U) 15190 #define RSIM_WOR_DURATION_WOR_DSM_DURATION(x) (((uint32_t)(((uint32_t)(x)) << RSIM_WOR_DURATION_WOR_DSM_DURATION_SHIFT)) & RSIM_WOR_DURATION_WOR_DSM_DURATION_MASK) 15191 /*! @} */ 15192 15193 /*! @name WOR_WAKE - WOR Deep Sleep Wake Time */ 15194 /*! @{ */ 15195 #define RSIM_WOR_WAKE_WOR_WAKE_TIME_MASK (0xFFFFFFU) 15196 #define RSIM_WOR_WAKE_WOR_WAKE_TIME_SHIFT (0U) 15197 #define RSIM_WOR_WAKE_WOR_WAKE_TIME(x) (((uint32_t)(((uint32_t)(x)) << RSIM_WOR_WAKE_WOR_WAKE_TIME_SHIFT)) & RSIM_WOR_WAKE_WOR_WAKE_TIME_MASK) 15198 #define RSIM_WOR_WAKE_WOR_FSM_STATE_MASK (0x70000000U) 15199 #define RSIM_WOR_WAKE_WOR_FSM_STATE_SHIFT (28U) 15200 #define RSIM_WOR_WAKE_WOR_FSM_STATE(x) (((uint32_t)(((uint32_t)(x)) << RSIM_WOR_WAKE_WOR_FSM_STATE_SHIFT)) & RSIM_WOR_WAKE_WOR_FSM_STATE_MASK) 15201 /*! @} */ 15202 15203 /*! @name MAN_SLEEP - MAN Deep Sleep Time */ 15204 /*! @{ */ 15205 #define RSIM_MAN_SLEEP_MAN_SLEEP_TIME_MASK (0xFFFFFFU) 15206 #define RSIM_MAN_SLEEP_MAN_SLEEP_TIME_SHIFT (0U) 15207 #define RSIM_MAN_SLEEP_MAN_SLEEP_TIME(x) (((uint32_t)(((uint32_t)(x)) << RSIM_MAN_SLEEP_MAN_SLEEP_TIME_SHIFT)) & RSIM_MAN_SLEEP_MAN_SLEEP_TIME_MASK) 15208 /*! @} */ 15209 15210 /*! @name MAN_WAKE - MAN Deep Sleep Wake Time */ 15211 /*! @{ */ 15212 #define RSIM_MAN_WAKE_MAN_WAKE_TIME_MASK (0xFFFFFFU) 15213 #define RSIM_MAN_WAKE_MAN_WAKE_TIME_SHIFT (0U) 15214 #define RSIM_MAN_WAKE_MAN_WAKE_TIME(x) (((uint32_t)(((uint32_t)(x)) << RSIM_MAN_WAKE_MAN_WAKE_TIME_SHIFT)) & RSIM_MAN_WAKE_MAN_WAKE_TIME_MASK) 15215 #define RSIM_MAN_WAKE_MAN_FSM_STATE_MASK (0x70000000U) 15216 #define RSIM_MAN_WAKE_MAN_FSM_STATE_SHIFT (28U) 15217 #define RSIM_MAN_WAKE_MAN_FSM_STATE(x) (((uint32_t)(((uint32_t)(x)) << RSIM_MAN_WAKE_MAN_FSM_STATE_SHIFT)) & RSIM_MAN_WAKE_MAN_FSM_STATE_MASK) 15218 /*! @} */ 15219 15220 /*! @name RF_OSC_CTRL - Radio Oscillator Control */ 15221 /*! @{ */ 15222 #define RSIM_RF_OSC_CTRL_BB_XTAL_ALC_COUNT_SEL_MASK (0x3U) 15223 #define RSIM_RF_OSC_CTRL_BB_XTAL_ALC_COUNT_SEL_SHIFT (0U) 15224 /*! BB_XTAL_ALC_COUNT_SEL - rmap_bb_xtal_alc_count_sel_hv[1:0] 15225 * 0b00..2048 (64 us @ 32 MHz) 15226 * 0b01..4096 (128 us @ 32 MHz) 15227 * 0b10..8192 (256 us @ 32 MHz) 15228 * 0b11..16384 (512 us @ 32 MHz) 15229 */ 15230 #define RSIM_RF_OSC_CTRL_BB_XTAL_ALC_COUNT_SEL(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_BB_XTAL_ALC_COUNT_SEL_SHIFT)) & RSIM_RF_OSC_CTRL_BB_XTAL_ALC_COUNT_SEL_MASK) 15231 #define RSIM_RF_OSC_CTRL_BB_XTAL_ALC_ON_MASK (0x4U) 15232 #define RSIM_RF_OSC_CTRL_BB_XTAL_ALC_ON_SHIFT (2U) 15233 #define RSIM_RF_OSC_CTRL_BB_XTAL_ALC_ON(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_BB_XTAL_ALC_ON_SHIFT)) & RSIM_RF_OSC_CTRL_BB_XTAL_ALC_ON_MASK) 15234 #define RSIM_RF_OSC_CTRL_RF_OSC_BYPASS_EN_MASK (0x8U) 15235 #define RSIM_RF_OSC_CTRL_RF_OSC_BYPASS_EN_SHIFT (3U) 15236 #define RSIM_RF_OSC_CTRL_RF_OSC_BYPASS_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_RF_OSC_BYPASS_EN_SHIFT)) & RSIM_RF_OSC_CTRL_RF_OSC_BYPASS_EN_MASK) 15237 #define RSIM_RF_OSC_CTRL_BB_XTAL_COMP_BIAS_MASK (0x1F0U) 15238 #define RSIM_RF_OSC_CTRL_BB_XTAL_COMP_BIAS_SHIFT (4U) 15239 #define RSIM_RF_OSC_CTRL_BB_XTAL_COMP_BIAS(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_BB_XTAL_COMP_BIAS_SHIFT)) & RSIM_RF_OSC_CTRL_BB_XTAL_COMP_BIAS_MASK) 15240 #define RSIM_RF_OSC_CTRL_BB_XTAL_DC_COUP_MODE_EN_MASK (0x200U) 15241 #define RSIM_RF_OSC_CTRL_BB_XTAL_DC_COUP_MODE_EN_SHIFT (9U) 15242 #define RSIM_RF_OSC_CTRL_BB_XTAL_DC_COUP_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_BB_XTAL_DC_COUP_MODE_EN_SHIFT)) & RSIM_RF_OSC_CTRL_BB_XTAL_DC_COUP_MODE_EN_MASK) 15243 #define RSIM_RF_OSC_CTRL_BB_XTAL_DIAGSEL_MASK (0x400U) 15244 #define RSIM_RF_OSC_CTRL_BB_XTAL_DIAGSEL_SHIFT (10U) 15245 #define RSIM_RF_OSC_CTRL_BB_XTAL_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_BB_XTAL_DIAGSEL_SHIFT)) & RSIM_RF_OSC_CTRL_BB_XTAL_DIAGSEL_MASK) 15246 #define RSIM_RF_OSC_CTRL_BB_XTAL_DIG_CLK_ON_MASK (0x800U) 15247 #define RSIM_RF_OSC_CTRL_BB_XTAL_DIG_CLK_ON_SHIFT (11U) 15248 #define RSIM_RF_OSC_CTRL_BB_XTAL_DIG_CLK_ON(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_BB_XTAL_DIG_CLK_ON_SHIFT)) & RSIM_RF_OSC_CTRL_BB_XTAL_DIG_CLK_ON_MASK) 15249 #define RSIM_RF_OSC_CTRL_BB_XTAL_GM_MASK (0x1F000U) 15250 #define RSIM_RF_OSC_CTRL_BB_XTAL_GM_SHIFT (12U) 15251 #define RSIM_RF_OSC_CTRL_BB_XTAL_GM(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_BB_XTAL_GM_SHIFT)) & RSIM_RF_OSC_CTRL_BB_XTAL_GM_MASK) 15252 #define RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD_MASK (0x20000U) 15253 #define RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD_SHIFT (17U) 15254 #define RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD_SHIFT)) & RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD_MASK) 15255 #define RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD_ON_MASK (0x40000U) 15256 #define RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD_ON_SHIFT (18U) 15257 /*! BB_XTAL_ON_OVRD_ON - rmap_bb_xtal_on_ovrd_on_hv 15258 * 0b0..rfctrl_bb_xtal_on_hv is asserted 15259 * 0b1..rfctrl_bb_xtal_on_ovrd_hv is asserted 15260 */ 15261 #define RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD_ON(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD_ON_SHIFT)) & RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD_ON_MASK) 15262 #define RSIM_RF_OSC_CTRL_BB_XTAL_READY_COUNT_SEL_MASK (0x300000U) 15263 #define RSIM_RF_OSC_CTRL_BB_XTAL_READY_COUNT_SEL_SHIFT (20U) 15264 /*! BB_XTAL_READY_COUNT_SEL - rmap_bb_xtal_ready_count_sel_hv[1:0] 15265 * 0b00..1024 counts (32 us @ 32 MHz) 15266 * 0b01..2048 (64 us @ 32 MHz) 15267 * 0b10..4096 (128 us @ 32 MHz) 15268 * 0b11..8192 (256 us @ 32 MHz) 15269 */ 15270 #define RSIM_RF_OSC_CTRL_BB_XTAL_READY_COUNT_SEL(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_BB_XTAL_READY_COUNT_SEL_SHIFT)) & RSIM_RF_OSC_CTRL_BB_XTAL_READY_COUNT_SEL_MASK) 15271 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_RF_EN_SEL_MASK (0x8000000U) 15272 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_RF_EN_SEL_SHIFT (27U) 15273 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_RF_EN_SEL(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_RF_EN_SEL_SHIFT)) & RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_RF_EN_SEL_MASK) 15274 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD_MASK (0x10000000U) 15275 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD_SHIFT (28U) 15276 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD_SHIFT)) & RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD_MASK) 15277 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD_EN_MASK (0x20000000U) 15278 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD_EN_SHIFT (29U) 15279 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD_EN_SHIFT)) & RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD_EN_MASK) 15280 #define RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD_MASK (0x40000000U) 15281 #define RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD_SHIFT (30U) 15282 #define RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD_SHIFT)) & RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD_MASK) 15283 #define RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD_EN_MASK (0x80000000U) 15284 #define RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD_EN_SHIFT (31U) 15285 #define RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD_EN_SHIFT)) & RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD_EN_MASK) 15286 /*! @} */ 15287 15288 /*! @name ANA_TEST - Radio Analog Test Registers */ 15289 /*! @{ */ 15290 #define RSIM_ANA_TEST_XTAL_OUT_BUF_EN_MASK (0x10U) 15291 #define RSIM_ANA_TEST_XTAL_OUT_BUF_EN_SHIFT (4U) 15292 #define RSIM_ANA_TEST_XTAL_OUT_BUF_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_ANA_TEST_XTAL_OUT_BUF_EN_SHIFT)) & RSIM_ANA_TEST_XTAL_OUT_BUF_EN_MASK) 15293 /*! @} */ 15294 15295 /*! @name ANA_TRIM - Radio Analog Trim Registers */ 15296 /*! @{ */ 15297 #define RSIM_ANA_TRIM_BB_LDO_LS_SPARE_MASK (0x3U) 15298 #define RSIM_ANA_TRIM_BB_LDO_LS_SPARE_SHIFT (0U) 15299 #define RSIM_ANA_TRIM_BB_LDO_LS_SPARE(x) (((uint32_t)(((uint32_t)(x)) << RSIM_ANA_TRIM_BB_LDO_LS_SPARE_SHIFT)) & RSIM_ANA_TRIM_BB_LDO_LS_SPARE_MASK) 15300 #define RSIM_ANA_TRIM_BB_LDO_LS_TRIM_MASK (0x38U) 15301 #define RSIM_ANA_TRIM_BB_LDO_LS_TRIM_SHIFT (3U) 15302 /*! BB_LDO_LS_TRIM - rmap_bb_ldo_ls_trim_hv[2:0] 15303 * 0b000..1.20 V (Default) 15304 * 0b001..1.25 V 15305 * 0b010..1.28 V 15306 * 0b011..1.33 V 15307 * 0b100..1.40 V 15308 * 0b101..1.44 V 15309 * 0b110..1.50 V 15310 * 0b111..1.66 V 15311 */ 15312 #define RSIM_ANA_TRIM_BB_LDO_LS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << RSIM_ANA_TRIM_BB_LDO_LS_TRIM_SHIFT)) & RSIM_ANA_TRIM_BB_LDO_LS_TRIM_MASK) 15313 #define RSIM_ANA_TRIM_BB_LDO_XO_SPARE_MASK (0xC0U) 15314 #define RSIM_ANA_TRIM_BB_LDO_XO_SPARE_SHIFT (6U) 15315 #define RSIM_ANA_TRIM_BB_LDO_XO_SPARE(x) (((uint32_t)(((uint32_t)(x)) << RSIM_ANA_TRIM_BB_LDO_XO_SPARE_SHIFT)) & RSIM_ANA_TRIM_BB_LDO_XO_SPARE_MASK) 15316 #define RSIM_ANA_TRIM_BB_LDO_XO_TRIM_MASK (0x700U) 15317 #define RSIM_ANA_TRIM_BB_LDO_XO_TRIM_SHIFT (8U) 15318 /*! BB_LDO_XO_TRIM - rmap_bb_ldo_xo_trim_hv[2:0] 15319 * 0b000..1.20 V (Default) 15320 * 0b001..1.25 V 15321 * 0b010..1.28 V 15322 * 0b011..1.33 V 15323 * 0b100..1.40 V 15324 * 0b101..1.44 V 15325 * 0b110..1.50 V 15326 * 0b111..1.66 V 15327 */ 15328 #define RSIM_ANA_TRIM_BB_LDO_XO_TRIM(x) (((uint32_t)(((uint32_t)(x)) << RSIM_ANA_TRIM_BB_LDO_XO_TRIM_SHIFT)) & RSIM_ANA_TRIM_BB_LDO_XO_TRIM_MASK) 15329 #define RSIM_ANA_TRIM_BB_XTAL_SPARE_MASK (0xF800U) 15330 #define RSIM_ANA_TRIM_BB_XTAL_SPARE_SHIFT (11U) 15331 #define RSIM_ANA_TRIM_BB_XTAL_SPARE(x) (((uint32_t)(((uint32_t)(x)) << RSIM_ANA_TRIM_BB_XTAL_SPARE_SHIFT)) & RSIM_ANA_TRIM_BB_XTAL_SPARE_MASK) 15332 #define RSIM_ANA_TRIM_BB_XTAL_TRIM_MASK (0xFF0000U) 15333 #define RSIM_ANA_TRIM_BB_XTAL_TRIM_SHIFT (16U) 15334 #define RSIM_ANA_TRIM_BB_XTAL_TRIM(x) (((uint32_t)(((uint32_t)(x)) << RSIM_ANA_TRIM_BB_XTAL_TRIM_SHIFT)) & RSIM_ANA_TRIM_BB_XTAL_TRIM_MASK) 15335 #define RSIM_ANA_TRIM_BG_1V_TRIM_MASK (0xF000000U) 15336 #define RSIM_ANA_TRIM_BG_1V_TRIM_SHIFT (24U) 15337 /*! BG_1V_TRIM - rmap_bg_1v_trim_hv[3:0] 15338 * 0b0000..954.14 mV 15339 * 0b0001..959.26 mV 15340 * 0b0010..964.38 mV 15341 * 0b0011..969.5 mV 15342 * 0b0100..974.6 mV 15343 * 0b0101..979.7 mV 15344 * 0b0110..984.8 mV 15345 * 0b0111..989.9 mV 15346 * 0b1000..995 mV (Default) 15347 * 0b1001..1 V 15348 * 0b1010..1.005 V 15349 * 0b1011..1.01 V 15350 * 0b1100..1.015 V 15351 * 0b1101..1.02 V 15352 * 0b1110..1.025 V 15353 * 0b1111..1.031 V 15354 */ 15355 #define RSIM_ANA_TRIM_BG_1V_TRIM(x) (((uint32_t)(((uint32_t)(x)) << RSIM_ANA_TRIM_BG_1V_TRIM_SHIFT)) & RSIM_ANA_TRIM_BG_1V_TRIM_MASK) 15356 #define RSIM_ANA_TRIM_BG_IBIAS_5U_TRIM_MASK (0xF0000000U) 15357 #define RSIM_ANA_TRIM_BG_IBIAS_5U_TRIM_SHIFT (28U) 15358 /*! BG_IBIAS_5U_TRIM - rmap_bg_ibias_5u_trim_hv[3:0] 15359 * 0b0000..3.55 uA 15360 * 0b0001..3.73 uA 15361 * 0b0010..4.04 uA 15362 * 0b0011..4.22 uA 15363 * 0b0100..4.39 uA 15364 * 0b0101..4.57 uA 15365 * 0b0110..4.89 uA 15366 * 0b0111..5.06 (Default) 15367 * 0b1000..5.23 uA 15368 * 0b1001..5.41 uA 15369 * 0b1010..5.72 uA 15370 * 0b1011..5.9 uA 15371 * 0b1100..6.07 uA 15372 * 0b1101..6.25 uA 15373 * 0b1110..6.56 uA 15374 * 0b1111..6.74 uA 15375 */ 15376 #define RSIM_ANA_TRIM_BG_IBIAS_5U_TRIM(x) (((uint32_t)(((uint32_t)(x)) << RSIM_ANA_TRIM_BG_IBIAS_5U_TRIM_SHIFT)) & RSIM_ANA_TRIM_BG_IBIAS_5U_TRIM_MASK) 15377 /*! @} */ 15378 15379 15380 /*! 15381 * @} 15382 */ /* end of group RSIM_Register_Masks */ 15383 15384 15385 /* RSIM - Peripheral instance base addresses */ 15386 /** Peripheral RSIM base address */ 15387 #define RSIM_BASE (0x4102F000u) 15388 /** Peripheral RSIM base pointer */ 15389 #define RSIM ((RSIM_Type *)RSIM_BASE) 15390 /** Array initializer of RSIM peripheral base addresses */ 15391 #define RSIM_BASE_ADDRS { RSIM_BASE } 15392 /** Array initializer of RSIM peripheral base pointers */ 15393 #define RSIM_BASE_PTRS { RSIM } 15394 15395 /*! 15396 * @} 15397 */ /* end of group RSIM_Peripheral_Access_Layer */ 15398 15399 15400 /* ---------------------------------------------------------------------------- 15401 -- RTC Peripheral Access Layer 15402 ---------------------------------------------------------------------------- */ 15403 15404 /*! 15405 * @addtogroup RTC_Peripheral_Access_Layer RTC Peripheral Access Layer 15406 * @{ 15407 */ 15408 15409 /** RTC - Register Layout Typedef */ 15410 typedef struct { 15411 __IO uint32_t TSR; /**< RTC Time Seconds Register, offset: 0x0 */ 15412 __IO uint32_t TPR; /**< RTC Time Prescaler Register, offset: 0x4 */ 15413 __IO uint32_t TAR; /**< RTC Time Alarm Register, offset: 0x8 */ 15414 __IO uint32_t TCR; /**< RTC Time Compensation Register, offset: 0xC */ 15415 __IO uint32_t CR; /**< RTC Control Register, offset: 0x10 */ 15416 __IO uint32_t SR; /**< RTC Status Register, offset: 0x14 */ 15417 __IO uint32_t LR; /**< RTC Lock Register, offset: 0x18 */ 15418 __IO uint32_t IER; /**< RTC Interrupt Enable Register, offset: 0x1C */ 15419 __I uint32_t TTSR; /**< RTC Tamper Time Seconds Register, offset: 0x20 */ 15420 __IO uint32_t MER; /**< RTC Monotonic Enable Register, offset: 0x24 */ 15421 __IO uint32_t MCLR; /**< RTC Monotonic Counter Low Register, offset: 0x28 */ 15422 __IO uint32_t MCHR; /**< RTC Monotonic Counter High Register, offset: 0x2C */ 15423 uint8_t RESERVED_0[4]; 15424 __IO uint32_t TDR; /**< RTC Tamper Detect Register, offset: 0x34 */ 15425 uint8_t RESERVED_1[4]; 15426 __IO uint32_t TIR; /**< RTC Tamper Interrupt Register, offset: 0x3C */ 15427 __IO uint32_t PCR[4]; /**< RTC Pin Configuration Register, array offset: 0x40, array step: 0x4 */ 15428 uint8_t RESERVED_2[1968]; 15429 __IO uint32_t WAR; /**< RTC Write Access Register, offset: 0x800 */ 15430 __IO uint32_t RAR; /**< RTC Read Access Register, offset: 0x804 */ 15431 } RTC_Type; 15432 15433 /* ---------------------------------------------------------------------------- 15434 -- RTC Register Masks 15435 ---------------------------------------------------------------------------- */ 15436 15437 /*! 15438 * @addtogroup RTC_Register_Masks RTC Register Masks 15439 * @{ 15440 */ 15441 15442 /*! @name TSR - RTC Time Seconds Register */ 15443 /*! @{ */ 15444 #define RTC_TSR_TSR_MASK (0xFFFFFFFFU) 15445 #define RTC_TSR_TSR_SHIFT (0U) 15446 #define RTC_TSR_TSR(x) (((uint32_t)(((uint32_t)(x)) << RTC_TSR_TSR_SHIFT)) & RTC_TSR_TSR_MASK) 15447 /*! @} */ 15448 15449 /*! @name TPR - RTC Time Prescaler Register */ 15450 /*! @{ */ 15451 #define RTC_TPR_TPR_MASK (0xFFFFU) 15452 #define RTC_TPR_TPR_SHIFT (0U) 15453 #define RTC_TPR_TPR(x) (((uint32_t)(((uint32_t)(x)) << RTC_TPR_TPR_SHIFT)) & RTC_TPR_TPR_MASK) 15454 /*! @} */ 15455 15456 /*! @name TAR - RTC Time Alarm Register */ 15457 /*! @{ */ 15458 #define RTC_TAR_TAR_MASK (0xFFFFFFFFU) 15459 #define RTC_TAR_TAR_SHIFT (0U) 15460 #define RTC_TAR_TAR(x) (((uint32_t)(((uint32_t)(x)) << RTC_TAR_TAR_SHIFT)) & RTC_TAR_TAR_MASK) 15461 /*! @} */ 15462 15463 /*! @name TCR - RTC Time Compensation Register */ 15464 /*! @{ */ 15465 #define RTC_TCR_TCR_MASK (0xFFU) 15466 #define RTC_TCR_TCR_SHIFT (0U) 15467 /*! TCR - Time Compensation Register 15468 * 0b10000000..Time Prescaler Register overflows every 32896 clock cycles. 15469 * 0b10000001..Time Prescaler Register overflows every 32895 clock cycles. 15470 * 0b11111111..Time Prescaler Register overflows every 32769 clock cycles. 15471 * 0b00000000..Time Prescaler Register overflows every 32768 clock cycles. 15472 * 0b00000001..Time Prescaler Register overflows every 32767 clock cycles. 15473 * 0b01111110..Time Prescaler Register overflows every 32642 clock cycles. 15474 * 0b01111111..Time Prescaler Register overflows every 32641 clock cycles. 15475 */ 15476 #define RTC_TCR_TCR(x) (((uint32_t)(((uint32_t)(x)) << RTC_TCR_TCR_SHIFT)) & RTC_TCR_TCR_MASK) 15477 #define RTC_TCR_CIR_MASK (0xFF00U) 15478 #define RTC_TCR_CIR_SHIFT (8U) 15479 #define RTC_TCR_CIR(x) (((uint32_t)(((uint32_t)(x)) << RTC_TCR_CIR_SHIFT)) & RTC_TCR_CIR_MASK) 15480 #define RTC_TCR_TCV_MASK (0xFF0000U) 15481 #define RTC_TCR_TCV_SHIFT (16U) 15482 #define RTC_TCR_TCV(x) (((uint32_t)(((uint32_t)(x)) << RTC_TCR_TCV_SHIFT)) & RTC_TCR_TCV_MASK) 15483 #define RTC_TCR_CIC_MASK (0xFF000000U) 15484 #define RTC_TCR_CIC_SHIFT (24U) 15485 #define RTC_TCR_CIC(x) (((uint32_t)(((uint32_t)(x)) << RTC_TCR_CIC_SHIFT)) & RTC_TCR_CIC_MASK) 15486 /*! @} */ 15487 15488 /*! @name CR - RTC Control Register */ 15489 /*! @{ */ 15490 #define RTC_CR_SWR_MASK (0x1U) 15491 #define RTC_CR_SWR_SHIFT (0U) 15492 /*! SWR - Software Reset 15493 * 0b0..No effect. 15494 * 0b1..Resets all RTC registers except for the SWR bit and the RTC_WAR and RTC_RAR registers . The SWR bit is cleared by VBAT POR and by software explicitly clearing it. 15495 */ 15496 #define RTC_CR_SWR(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_SWR_SHIFT)) & RTC_CR_SWR_MASK) 15497 #define RTC_CR_WPE_MASK (0x2U) 15498 #define RTC_CR_WPE_SHIFT (1U) 15499 /*! WPE - Wakeup Pin Enable 15500 * 0b0..RTC_WAKEUP pin is disabled. 15501 * 0b1..RTC_WAKEUP pin is enabled and asserts if the RTC interrupt asserts or if the wakeup pin is forced on. 15502 */ 15503 #define RTC_CR_WPE(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_WPE_SHIFT)) & RTC_CR_WPE_MASK) 15504 #define RTC_CR_SUP_MASK (0x4U) 15505 #define RTC_CR_SUP_SHIFT (2U) 15506 /*! SUP - Supervisor Access 15507 * 0b0..Non-supervisor mode write accesses are not supported and generate a bus error. 15508 * 0b1..Non-supervisor mode write accesses are supported. 15509 */ 15510 #define RTC_CR_SUP(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_SUP_SHIFT)) & RTC_CR_SUP_MASK) 15511 #define RTC_CR_UM_MASK (0x8U) 15512 #define RTC_CR_UM_SHIFT (3U) 15513 /*! UM - Update Mode 15514 * 0b0..Registers cannot be written when locked. 15515 * 0b1..Registers can be written when locked under limited conditions. 15516 */ 15517 #define RTC_CR_UM(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_UM_SHIFT)) & RTC_CR_UM_MASK) 15518 #define RTC_CR_WPS_MASK (0x10U) 15519 #define RTC_CR_WPS_SHIFT (4U) 15520 /*! WPS - Wakeup Pin Select 15521 * 0b0..RTC_WAKEUP pin asserts (active low, open drain) if the RTC interrupt asserts or the wakeup pin is turned on. 15522 * 0b1..RTC_WAKEUP pin outputs the RTC 32kHz clock, provided the wakeup pin is turned on and the 32kHz clock is output to other peripherals. 15523 */ 15524 #define RTC_CR_WPS(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_WPS_SHIFT)) & RTC_CR_WPS_MASK) 15525 #define RTC_CR_CPS_MASK (0x20U) 15526 #define RTC_CR_CPS_SHIFT (5U) 15527 /*! CPS - Clock Pin Select 15528 * 0b0..The prescaler output clock (as configured by TSIC) is output on RTC_CLKOUT. 15529 * 0b1..The RTC 32.768 kHz clock is output on RTC_CLKOUT, provided it is output to other peripherals. 15530 */ 15531 #define RTC_CR_CPS(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_CPS_SHIFT)) & RTC_CR_CPS_MASK) 15532 #define RTC_CR_LPOS_MASK (0x80U) 15533 #define RTC_CR_LPOS_SHIFT (7U) 15534 /*! LPOS - LPO Select 15535 * 0b0..RTC prescaler increments using 32.768 kHz clock. 15536 * 0b1..RTC prescaler increments using 1 kHz LPO, bits [4:0] of the prescaler are ignored. 15537 */ 15538 #define RTC_CR_LPOS(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_LPOS_SHIFT)) & RTC_CR_LPOS_MASK) 15539 #define RTC_CR_OSCE_MASK (0x100U) 15540 #define RTC_CR_OSCE_SHIFT (8U) 15541 /*! OSCE - Oscillator Enable 15542 * 0b0..32.768 kHz oscillator is disabled. 15543 * 0b1..32.768 kHz oscillator is enabled. After setting this bit, wait the oscillator startup time before enabling the time counter to allow the 32.768 kHz clock time to stabilize. 15544 */ 15545 #define RTC_CR_OSCE(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_OSCE_SHIFT)) & RTC_CR_OSCE_MASK) 15546 #define RTC_CR_CLKO_MASK (0x200U) 15547 #define RTC_CR_CLKO_SHIFT (9U) 15548 /*! CLKO - Clock Output 15549 * 0b0..The 32 kHz clock is output to other peripherals. 15550 * 0b1..The 32 kHz clock is not output to other peripherals. 15551 */ 15552 #define RTC_CR_CLKO(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_CLKO_SHIFT)) & RTC_CR_CLKO_MASK) 15553 #define RTC_CR_SC16P_MASK (0x400U) 15554 #define RTC_CR_SC16P_SHIFT (10U) 15555 /*! SC16P - Oscillator 16pF Load Configure 15556 * 0b0..Disable the load. 15557 * 0b1..Enable the additional load. 15558 */ 15559 #define RTC_CR_SC16P(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_SC16P_SHIFT)) & RTC_CR_SC16P_MASK) 15560 #define RTC_CR_SC8P_MASK (0x800U) 15561 #define RTC_CR_SC8P_SHIFT (11U) 15562 /*! SC8P - Oscillator 8pF Load Configure 15563 * 0b0..Disable the load. 15564 * 0b1..Enable the additional load. 15565 */ 15566 #define RTC_CR_SC8P(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_SC8P_SHIFT)) & RTC_CR_SC8P_MASK) 15567 #define RTC_CR_SC4P_MASK (0x1000U) 15568 #define RTC_CR_SC4P_SHIFT (12U) 15569 /*! SC4P - Oscillator 4pF Load Configure 15570 * 0b0..Disable the load. 15571 * 0b1..Enable the additional load. 15572 */ 15573 #define RTC_CR_SC4P(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_SC4P_SHIFT)) & RTC_CR_SC4P_MASK) 15574 #define RTC_CR_SC2P_MASK (0x2000U) 15575 #define RTC_CR_SC2P_SHIFT (13U) 15576 /*! SC2P - Oscillator 2pF Load Configure 15577 * 0b0..Disable the load. 15578 * 0b1..Enable the additional load. 15579 */ 15580 #define RTC_CR_SC2P(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_SC2P_SHIFT)) & RTC_CR_SC2P_MASK) 15581 #define RTC_CR_OSCM_MASK (0x8000U) 15582 #define RTC_CR_OSCM_SHIFT (15U) 15583 /*! OSCM - Oscillator Mode Select 15584 * 0b0..Configures the 32.768kHz crystal oscillator for robust operation supporting a wide range of crystals. 15585 * 0b1..Configures the 32.768kHz crystal oscillator for low power operation supporting a more limited range of crystals. 15586 */ 15587 #define RTC_CR_OSCM(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_OSCM_SHIFT)) & RTC_CR_OSCM_MASK) 15588 #define RTC_CR_PORS_MASK (0x30000U) 15589 #define RTC_CR_PORS_SHIFT (16U) 15590 /*! PORS - POR Select 15591 * 0b00..POR brownout enabled for 120us every 128ms. 15592 * 0b01..POR brownout enabled for 120us every 64ms. 15593 * 0b10..POR brownout enabled for 120us every 32ms. 15594 * 0b11..POR brownout always enabled. 15595 */ 15596 #define RTC_CR_PORS(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_PORS_SHIFT)) & RTC_CR_PORS_MASK) 15597 #define RTC_CR_CPE_MASK (0x3000000U) 15598 #define RTC_CR_CPE_SHIFT (24U) 15599 /*! CPE - Clock Pin Enable 15600 * 0b00..The RTC_CLKOUT function is disabled. 15601 * 0b01..Enable RTC_CLKOUT pin on pin 1. 15602 * 0b10..Enable RTC_CLKOUT pin on pin 2. 15603 * 0b11..Enable RTC_CLKOUT pin on pin 3. 15604 */ 15605 #define RTC_CR_CPE(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_CPE_SHIFT)) & RTC_CR_CPE_MASK) 15606 /*! @} */ 15607 15608 /*! @name SR - RTC Status Register */ 15609 /*! @{ */ 15610 #define RTC_SR_TIF_MASK (0x1U) 15611 #define RTC_SR_TIF_SHIFT (0U) 15612 /*! TIF - Time Invalid Flag 15613 * 0b0..Time is valid. 15614 * 0b1..Time is invalid and time counter is read as zero. 15615 */ 15616 #define RTC_SR_TIF(x) (((uint32_t)(((uint32_t)(x)) << RTC_SR_TIF_SHIFT)) & RTC_SR_TIF_MASK) 15617 #define RTC_SR_TOF_MASK (0x2U) 15618 #define RTC_SR_TOF_SHIFT (1U) 15619 /*! TOF - Time Overflow Flag 15620 * 0b0..Time overflow has not occurred. 15621 * 0b1..Time overflow has occurred and time counter is read as zero. 15622 */ 15623 #define RTC_SR_TOF(x) (((uint32_t)(((uint32_t)(x)) << RTC_SR_TOF_SHIFT)) & RTC_SR_TOF_MASK) 15624 #define RTC_SR_TAF_MASK (0x4U) 15625 #define RTC_SR_TAF_SHIFT (2U) 15626 /*! TAF - Time Alarm Flag 15627 * 0b0..Time alarm has not occurred. 15628 * 0b1..Time alarm has occurred. 15629 */ 15630 #define RTC_SR_TAF(x) (((uint32_t)(((uint32_t)(x)) << RTC_SR_TAF_SHIFT)) & RTC_SR_TAF_MASK) 15631 #define RTC_SR_MOF_MASK (0x8U) 15632 #define RTC_SR_MOF_SHIFT (3U) 15633 /*! MOF - Monotonic Overflow Flag 15634 * 0b0..Monotonic counter overflow has not occurred. 15635 * 0b1..Monotonic counter overflow has occurred and monotonic counter is read as zero. 15636 */ 15637 #define RTC_SR_MOF(x) (((uint32_t)(((uint32_t)(x)) << RTC_SR_MOF_SHIFT)) & RTC_SR_MOF_MASK) 15638 #define RTC_SR_TCE_MASK (0x10U) 15639 #define RTC_SR_TCE_SHIFT (4U) 15640 /*! TCE - Time Counter Enable 15641 * 0b0..Time counter is disabled. 15642 * 0b1..Time counter is enabled. 15643 */ 15644 #define RTC_SR_TCE(x) (((uint32_t)(((uint32_t)(x)) << RTC_SR_TCE_SHIFT)) & RTC_SR_TCE_MASK) 15645 #define RTC_SR_TIDF_MASK (0x80U) 15646 #define RTC_SR_TIDF_SHIFT (7U) 15647 /*! TIDF - Tamper Interrupt Detect Flag 15648 * 0b0..Tamper interrupt has not asserted. 15649 * 0b1..Tamper interrupt has asserted. 15650 */ 15651 #define RTC_SR_TIDF(x) (((uint32_t)(((uint32_t)(x)) << RTC_SR_TIDF_SHIFT)) & RTC_SR_TIDF_MASK) 15652 /*! @} */ 15653 15654 /*! @name LR - RTC Lock Register */ 15655 /*! @{ */ 15656 #define RTC_LR_TCL_MASK (0x8U) 15657 #define RTC_LR_TCL_SHIFT (3U) 15658 /*! TCL - Time Compensation Lock 15659 * 0b0..Time Compensation Register is locked and writes are ignored. 15660 * 0b1..Time Compensation Register is not locked and writes complete as normal. 15661 */ 15662 #define RTC_LR_TCL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_TCL_SHIFT)) & RTC_LR_TCL_MASK) 15663 #define RTC_LR_CRL_MASK (0x10U) 15664 #define RTC_LR_CRL_SHIFT (4U) 15665 /*! CRL - Control Register Lock 15666 * 0b0..Control Register is locked and writes are ignored. 15667 * 0b1..Control Register is not locked and writes complete as normal. 15668 */ 15669 #define RTC_LR_CRL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_CRL_SHIFT)) & RTC_LR_CRL_MASK) 15670 #define RTC_LR_SRL_MASK (0x20U) 15671 #define RTC_LR_SRL_SHIFT (5U) 15672 /*! SRL - Status Register Lock 15673 * 0b0..Status Register is locked and writes are ignored. 15674 * 0b1..Status Register is not locked and writes complete as normal. 15675 */ 15676 #define RTC_LR_SRL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_SRL_SHIFT)) & RTC_LR_SRL_MASK) 15677 #define RTC_LR_LRL_MASK (0x40U) 15678 #define RTC_LR_LRL_SHIFT (6U) 15679 /*! LRL - Lock Register Lock 15680 * 0b0..Lock Register is locked and writes are ignored. 15681 * 0b1..Lock Register is not locked and writes complete as normal. 15682 */ 15683 #define RTC_LR_LRL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_LRL_SHIFT)) & RTC_LR_LRL_MASK) 15684 #define RTC_LR_TTSL_MASK (0x100U) 15685 #define RTC_LR_TTSL_SHIFT (8U) 15686 /*! TTSL - Tamper Time Seconds Lock 15687 * 0b0..Tamper Time Seconds Register is locked and writes are ignored. 15688 * 0b1..Tamper Time Seconds Register is not locked and writes complete as normal. 15689 */ 15690 #define RTC_LR_TTSL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_TTSL_SHIFT)) & RTC_LR_TTSL_MASK) 15691 #define RTC_LR_MEL_MASK (0x200U) 15692 #define RTC_LR_MEL_SHIFT (9U) 15693 /*! MEL - Monotonic Enable Lock 15694 * 0b0..Monotonic Enable Register is locked and writes are ignored. 15695 * 0b1..Monotonic Enable Register is not locked and writes complete as normal. 15696 */ 15697 #define RTC_LR_MEL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_MEL_SHIFT)) & RTC_LR_MEL_MASK) 15698 #define RTC_LR_MCLL_MASK (0x400U) 15699 #define RTC_LR_MCLL_SHIFT (10U) 15700 /*! MCLL - Monotonic Counter Low Lock 15701 * 0b0..Monotonic Counter Low Register is locked and writes are ignored. 15702 * 0b1..Monotonic Counter Low Register is not locked and writes complete as normal. 15703 */ 15704 #define RTC_LR_MCLL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_MCLL_SHIFT)) & RTC_LR_MCLL_MASK) 15705 #define RTC_LR_MCHL_MASK (0x800U) 15706 #define RTC_LR_MCHL_SHIFT (11U) 15707 /*! MCHL - Monotonic Counter High Lock 15708 * 0b0..Monotonic Counter High Register is locked and writes are ignored. 15709 * 0b1..Monotonic Counter High Register is not locked and writes complete as normal. 15710 */ 15711 #define RTC_LR_MCHL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_MCHL_SHIFT)) & RTC_LR_MCHL_MASK) 15712 #define RTC_LR_TDL_MASK (0x2000U) 15713 #define RTC_LR_TDL_SHIFT (13U) 15714 /*! TDL - Tamper Detect Lock 15715 * 0b0..Tamper Detect Register is locked and writes are ignored. 15716 * 0b1..Tamper Detect Register is not locked and writes complete as normal. 15717 */ 15718 #define RTC_LR_TDL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_TDL_SHIFT)) & RTC_LR_TDL_MASK) 15719 #define RTC_LR_TIL_MASK (0x8000U) 15720 #define RTC_LR_TIL_SHIFT (15U) 15721 /*! TIL - Tamper Interrupt Lock 15722 * 0b0..Tamper Interrupt Register is locked and writes are ignored. 15723 * 0b1..Tamper Interrupt Register is not locked and writes complete as normal. 15724 */ 15725 #define RTC_LR_TIL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_TIL_SHIFT)) & RTC_LR_TIL_MASK) 15726 #define RTC_LR_PCL_MASK (0xF0000U) 15727 #define RTC_LR_PCL_SHIFT (16U) 15728 #define RTC_LR_PCL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_PCL_SHIFT)) & RTC_LR_PCL_MASK) 15729 /*! @} */ 15730 15731 /*! @name IER - RTC Interrupt Enable Register */ 15732 /*! @{ */ 15733 #define RTC_IER_TIIE_MASK (0x1U) 15734 #define RTC_IER_TIIE_SHIFT (0U) 15735 /*! TIIE - Time Invalid Interrupt Enable 15736 * 0b0..Time invalid flag does not generate an interrupt. 15737 * 0b1..Time invalid flag does generate an interrupt. 15738 */ 15739 #define RTC_IER_TIIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_TIIE_SHIFT)) & RTC_IER_TIIE_MASK) 15740 #define RTC_IER_TOIE_MASK (0x2U) 15741 #define RTC_IER_TOIE_SHIFT (1U) 15742 /*! TOIE - Time Overflow Interrupt Enable 15743 * 0b0..Time overflow flag does not generate an interrupt. 15744 * 0b1..Time overflow flag does generate an interrupt. 15745 */ 15746 #define RTC_IER_TOIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_TOIE_SHIFT)) & RTC_IER_TOIE_MASK) 15747 #define RTC_IER_TAIE_MASK (0x4U) 15748 #define RTC_IER_TAIE_SHIFT (2U) 15749 /*! TAIE - Time Alarm Interrupt Enable 15750 * 0b0..Time alarm flag does not generate an interrupt. 15751 * 0b1..Time alarm flag does generate an interrupt. 15752 */ 15753 #define RTC_IER_TAIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_TAIE_SHIFT)) & RTC_IER_TAIE_MASK) 15754 #define RTC_IER_MOIE_MASK (0x8U) 15755 #define RTC_IER_MOIE_SHIFT (3U) 15756 /*! MOIE - Monotonic Overflow Interrupt Enable 15757 * 0b0..Monotonic overflow flag does not generate an interrupt. 15758 * 0b1..Monotonic overflow flag does generate an interrupt. 15759 */ 15760 #define RTC_IER_MOIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_MOIE_SHIFT)) & RTC_IER_MOIE_MASK) 15761 #define RTC_IER_TSIE_MASK (0x10U) 15762 #define RTC_IER_TSIE_SHIFT (4U) 15763 /*! TSIE - Time Seconds Interrupt Enable 15764 * 0b0..Seconds interrupt is disabled. 15765 * 0b1..Seconds interrupt is enabled. 15766 */ 15767 #define RTC_IER_TSIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_TSIE_SHIFT)) & RTC_IER_TSIE_MASK) 15768 #define RTC_IER_WPON_MASK (0x80U) 15769 #define RTC_IER_WPON_SHIFT (7U) 15770 /*! WPON - Wakeup Pin On 15771 * 0b0..No effect. 15772 * 0b1..If the RTC_WAKEUP pin is enabled, then the pin will assert. 15773 */ 15774 #define RTC_IER_WPON(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_WPON_SHIFT)) & RTC_IER_WPON_MASK) 15775 #define RTC_IER_TSIC_MASK (0x70000U) 15776 #define RTC_IER_TSIC_SHIFT (16U) 15777 /*! TSIC - Timer Seconds Interrupt Configuration 15778 * 0b000..1 Hz. 15779 * 0b001..2 Hz. 15780 * 0b010..4 Hz. 15781 * 0b011..8 Hz. 15782 * 0b100..16 Hz. 15783 * 0b101..32 Hz. 15784 * 0b110..64 Hz. 15785 * 0b111..128 Hz. 15786 */ 15787 #define RTC_IER_TSIC(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_TSIC_SHIFT)) & RTC_IER_TSIC_MASK) 15788 /*! @} */ 15789 15790 /*! @name TTSR - RTC Tamper Time Seconds Register */ 15791 /*! @{ */ 15792 #define RTC_TTSR_TTS_MASK (0xFFFFFFFFU) 15793 #define RTC_TTSR_TTS_SHIFT (0U) 15794 #define RTC_TTSR_TTS(x) (((uint32_t)(((uint32_t)(x)) << RTC_TTSR_TTS_SHIFT)) & RTC_TTSR_TTS_MASK) 15795 /*! @} */ 15796 15797 /*! @name MER - RTC Monotonic Enable Register */ 15798 /*! @{ */ 15799 #define RTC_MER_MCE_MASK (0x10U) 15800 #define RTC_MER_MCE_SHIFT (4U) 15801 /*! MCE - Monotonic Counter Enable 15802 * 0b0..Writes to the monotonic counter load the counter with the value written. 15803 * 0b1..Writes to the monotonic counter increment the counter. 15804 */ 15805 #define RTC_MER_MCE(x) (((uint32_t)(((uint32_t)(x)) << RTC_MER_MCE_SHIFT)) & RTC_MER_MCE_MASK) 15806 /*! @} */ 15807 15808 /*! @name MCLR - RTC Monotonic Counter Low Register */ 15809 /*! @{ */ 15810 #define RTC_MCLR_MCL_MASK (0xFFFFFFFFU) 15811 #define RTC_MCLR_MCL_SHIFT (0U) 15812 #define RTC_MCLR_MCL(x) (((uint32_t)(((uint32_t)(x)) << RTC_MCLR_MCL_SHIFT)) & RTC_MCLR_MCL_MASK) 15813 /*! @} */ 15814 15815 /*! @name MCHR - RTC Monotonic Counter High Register */ 15816 /*! @{ */ 15817 #define RTC_MCHR_MCH_MASK (0xFFFFFFFFU) 15818 #define RTC_MCHR_MCH_SHIFT (0U) 15819 #define RTC_MCHR_MCH(x) (((uint32_t)(((uint32_t)(x)) << RTC_MCHR_MCH_SHIFT)) & RTC_MCHR_MCH_MASK) 15820 /*! @} */ 15821 15822 /*! @name TDR - RTC Tamper Detect Register */ 15823 /*! @{ */ 15824 #define RTC_TDR_LCTF_MASK (0x10U) 15825 #define RTC_TDR_LCTF_SHIFT (4U) 15826 /*! LCTF - Loss of Clock Tamper Flag 15827 * 0b0..Tamper not detected. 15828 * 0b1..Loss of Clock tamper detected. 15829 */ 15830 #define RTC_TDR_LCTF(x) (((uint32_t)(((uint32_t)(x)) << RTC_TDR_LCTF_SHIFT)) & RTC_TDR_LCTF_MASK) 15831 #define RTC_TDR_STF_MASK (0x20U) 15832 #define RTC_TDR_STF_SHIFT (5U) 15833 /*! STF - Security Tamper Flag 15834 * 0b0..Tamper not detected. 15835 * 0b1..Security module tamper detected. 15836 */ 15837 #define RTC_TDR_STF(x) (((uint32_t)(((uint32_t)(x)) << RTC_TDR_STF_SHIFT)) & RTC_TDR_STF_MASK) 15838 #define RTC_TDR_FSF_MASK (0x40U) 15839 #define RTC_TDR_FSF_SHIFT (6U) 15840 /*! FSF - Flash Security Flag 15841 * 0b0..Tamper not detected. 15842 * 0b1..Flash security tamper detected. 15843 */ 15844 #define RTC_TDR_FSF(x) (((uint32_t)(((uint32_t)(x)) << RTC_TDR_FSF_SHIFT)) & RTC_TDR_FSF_MASK) 15845 #define RTC_TDR_TMF_MASK (0x80U) 15846 #define RTC_TDR_TMF_SHIFT (7U) 15847 /*! TMF - Test Mode Flag 15848 * 0b0..Tamper not detected. 15849 * 0b1..Test mode tamper detected. 15850 */ 15851 #define RTC_TDR_TMF(x) (((uint32_t)(((uint32_t)(x)) << RTC_TDR_TMF_SHIFT)) & RTC_TDR_TMF_MASK) 15852 #define RTC_TDR_TPF_MASK (0xF0000U) 15853 #define RTC_TDR_TPF_SHIFT (16U) 15854 #define RTC_TDR_TPF(x) (((uint32_t)(((uint32_t)(x)) << RTC_TDR_TPF_SHIFT)) & RTC_TDR_TPF_MASK) 15855 /*! @} */ 15856 15857 /*! @name TIR - RTC Tamper Interrupt Register */ 15858 /*! @{ */ 15859 #define RTC_TIR_LCIE_MASK (0x10U) 15860 #define RTC_TIR_LCIE_SHIFT (4U) 15861 /*! LCIE - Loss of Clock Interrupt Enable 15862 * 0b0..Interupt disabled. 15863 * 0b1..An interrupt is generated when the loss of clock flag is set. 15864 */ 15865 #define RTC_TIR_LCIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_TIR_LCIE_SHIFT)) & RTC_TIR_LCIE_MASK) 15866 #define RTC_TIR_SIE_MASK (0x20U) 15867 #define RTC_TIR_SIE_SHIFT (5U) 15868 /*! SIE - Security Module Interrupt Enable 15869 * 0b0..Interupt disabled. 15870 * 0b1..An interrupt is generated when the security module flag is set. 15871 */ 15872 #define RTC_TIR_SIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_TIR_SIE_SHIFT)) & RTC_TIR_SIE_MASK) 15873 #define RTC_TIR_FSIE_MASK (0x40U) 15874 #define RTC_TIR_FSIE_SHIFT (6U) 15875 /*! FSIE - Flash Security Interrupt Enable 15876 * 0b0..Interupt disabled. 15877 * 0b1..An interrupt is generated when the flash security flag is set. 15878 */ 15879 #define RTC_TIR_FSIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_TIR_FSIE_SHIFT)) & RTC_TIR_FSIE_MASK) 15880 #define RTC_TIR_TMIE_MASK (0x80U) 15881 #define RTC_TIR_TMIE_SHIFT (7U) 15882 /*! TMIE - Test Mode Interrupt Enable 15883 * 0b0..Interupt disabled. 15884 * 0b1..An interrupt is generated when the test mode flag is set. 15885 */ 15886 #define RTC_TIR_TMIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_TIR_TMIE_SHIFT)) & RTC_TIR_TMIE_MASK) 15887 #define RTC_TIR_TPIE_MASK (0xF0000U) 15888 #define RTC_TIR_TPIE_SHIFT (16U) 15889 #define RTC_TIR_TPIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_TIR_TPIE_SHIFT)) & RTC_TIR_TPIE_MASK) 15890 /*! @} */ 15891 15892 /*! @name PCR - RTC Pin Configuration Register */ 15893 /*! @{ */ 15894 #define RTC_PCR_TPE_MASK (0x1000000U) 15895 #define RTC_PCR_TPE_SHIFT (24U) 15896 /*! TPE - Tamper Pull Enable 15897 * 0b0..Pull resistor is disabled on tamper pin. 15898 * 0b1..Pull resistor is enabled on tamper pin. 15899 */ 15900 #define RTC_PCR_TPE(x) (((uint32_t)(((uint32_t)(x)) << RTC_PCR_TPE_SHIFT)) & RTC_PCR_TPE_MASK) 15901 #define RTC_PCR_TPS_MASK (0x2000000U) 15902 #define RTC_PCR_TPS_SHIFT (25U) 15903 /*! TPS - Tamper Pull Select 15904 * 0b0..Tamper pin pull resistor direction will assert the tamper pin. 15905 * 0b1..Tamper pin pull resistor direction will negate the tamper pin. 15906 */ 15907 #define RTC_PCR_TPS(x) (((uint32_t)(((uint32_t)(x)) << RTC_PCR_TPS_SHIFT)) & RTC_PCR_TPS_MASK) 15908 #define RTC_PCR_TFE_MASK (0x4000000U) 15909 #define RTC_PCR_TFE_SHIFT (26U) 15910 /*! TFE - Tamper Filter Enable 15911 * 0b0..Input filter is disabled on the tamper pin. 15912 * 0b1..Input filter is enabled on the tamper pin. 15913 */ 15914 #define RTC_PCR_TFE(x) (((uint32_t)(((uint32_t)(x)) << RTC_PCR_TFE_SHIFT)) & RTC_PCR_TFE_MASK) 15915 #define RTC_PCR_TPP_MASK (0x8000000U) 15916 #define RTC_PCR_TPP_SHIFT (27U) 15917 /*! TPP - Tamper Pin Polarity 15918 * 0b0..Tamper pin is active high. 15919 * 0b1..Tamper pin is active low. 15920 */ 15921 #define RTC_PCR_TPP(x) (((uint32_t)(((uint32_t)(x)) << RTC_PCR_TPP_SHIFT)) & RTC_PCR_TPP_MASK) 15922 #define RTC_PCR_TPID_MASK (0x80000000U) 15923 #define RTC_PCR_TPID_SHIFT (31U) 15924 /*! TPID - Tamper Pin Input Data 15925 * 0b0..Tamper pin input data is logic zero. 15926 * 0b1..Tamper pin input data is logic one. 15927 */ 15928 #define RTC_PCR_TPID(x) (((uint32_t)(((uint32_t)(x)) << RTC_PCR_TPID_SHIFT)) & RTC_PCR_TPID_MASK) 15929 /*! @} */ 15930 15931 /* The count of RTC_PCR */ 15932 #define RTC_PCR_COUNT (4U) 15933 15934 /*! @name WAR - RTC Write Access Register */ 15935 /*! @{ */ 15936 #define RTC_WAR_TSRW_MASK (0x1U) 15937 #define RTC_WAR_TSRW_SHIFT (0U) 15938 /*! TSRW - Time Seconds Register Write 15939 * 0b0..Writes to the Time Seconds Register are ignored. 15940 * 0b1..Writes to the Time Seconds Register complete as normal. 15941 */ 15942 #define RTC_WAR_TSRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TSRW_SHIFT)) & RTC_WAR_TSRW_MASK) 15943 #define RTC_WAR_TPRW_MASK (0x2U) 15944 #define RTC_WAR_TPRW_SHIFT (1U) 15945 /*! TPRW - Time Prescaler Register Write 15946 * 0b0..Writes to the Time Prescaler Register are ignored. 15947 * 0b1..Writes to the Time Prescaler Register complete as normal. 15948 */ 15949 #define RTC_WAR_TPRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TPRW_SHIFT)) & RTC_WAR_TPRW_MASK) 15950 #define RTC_WAR_TARW_MASK (0x4U) 15951 #define RTC_WAR_TARW_SHIFT (2U) 15952 /*! TARW - Time Alarm Register Write 15953 * 0b0..Writes to the Time Alarm Register are ignored. 15954 * 0b1..Writes to the Time Alarm Register complete as normal. 15955 */ 15956 #define RTC_WAR_TARW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TARW_SHIFT)) & RTC_WAR_TARW_MASK) 15957 #define RTC_WAR_TCRW_MASK (0x8U) 15958 #define RTC_WAR_TCRW_SHIFT (3U) 15959 /*! TCRW - Time Compensation Register Write 15960 * 0b0..Writes to the Time Compensation Register are ignored. 15961 * 0b1..Writes to the Time Compensation Register complete as normal. 15962 */ 15963 #define RTC_WAR_TCRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TCRW_SHIFT)) & RTC_WAR_TCRW_MASK) 15964 #define RTC_WAR_CRW_MASK (0x10U) 15965 #define RTC_WAR_CRW_SHIFT (4U) 15966 /*! CRW - Control Register Write 15967 * 0b0..Writes to the Control Register are ignored. 15968 * 0b1..Writes to the Control Register complete as normal. 15969 */ 15970 #define RTC_WAR_CRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_CRW_SHIFT)) & RTC_WAR_CRW_MASK) 15971 #define RTC_WAR_SRW_MASK (0x20U) 15972 #define RTC_WAR_SRW_SHIFT (5U) 15973 /*! SRW - Status Register Write 15974 * 0b0..Writes to the Status Register are ignored. 15975 * 0b1..Writes to the Status Register complete as normal. 15976 */ 15977 #define RTC_WAR_SRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_SRW_SHIFT)) & RTC_WAR_SRW_MASK) 15978 #define RTC_WAR_LRW_MASK (0x40U) 15979 #define RTC_WAR_LRW_SHIFT (6U) 15980 /*! LRW - Lock Register Write 15981 * 0b0..Writes to the Lock Register are ignored. 15982 * 0b1..Writes to the Lock Register complete as normal. 15983 */ 15984 #define RTC_WAR_LRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_LRW_SHIFT)) & RTC_WAR_LRW_MASK) 15985 #define RTC_WAR_IERW_MASK (0x80U) 15986 #define RTC_WAR_IERW_SHIFT (7U) 15987 /*! IERW - Interrupt Enable Register Write 15988 * 0b0..Writes to the Interupt Enable Register are ignored. 15989 * 0b1..Writes to the Interrupt Enable Register complete as normal. 15990 */ 15991 #define RTC_WAR_IERW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_IERW_SHIFT)) & RTC_WAR_IERW_MASK) 15992 #define RTC_WAR_TTSW_MASK (0x100U) 15993 #define RTC_WAR_TTSW_SHIFT (8U) 15994 /*! TTSW - Tamper Time Seconds Write 15995 * 0b0..Writes to the Tamper Time Seconds Register are ignored. 15996 * 0b1..Writes to the Tamper Time Seconds Register complete as normal. 15997 */ 15998 #define RTC_WAR_TTSW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TTSW_SHIFT)) & RTC_WAR_TTSW_MASK) 15999 #define RTC_WAR_MERW_MASK (0x200U) 16000 #define RTC_WAR_MERW_SHIFT (9U) 16001 /*! MERW - Monotonic Enable Register Write 16002 * 0b0..Writes to the Monotonic Enable Register are ignored. 16003 * 0b1..Writes to the Monotonic Enable Register complete as normal. 16004 */ 16005 #define RTC_WAR_MERW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_MERW_SHIFT)) & RTC_WAR_MERW_MASK) 16006 #define RTC_WAR_MCLW_MASK (0x400U) 16007 #define RTC_WAR_MCLW_SHIFT (10U) 16008 /*! MCLW - Monotonic Counter Low Write 16009 * 0b0..Writes to the Monotonic Counter Low Register are ignored. 16010 * 0b1..Writes to the Monotonic Counter Low Register complete as normal. 16011 */ 16012 #define RTC_WAR_MCLW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_MCLW_SHIFT)) & RTC_WAR_MCLW_MASK) 16013 #define RTC_WAR_MCHW_MASK (0x800U) 16014 #define RTC_WAR_MCHW_SHIFT (11U) 16015 /*! MCHW - Monotonic Counter High Write 16016 * 0b0..Writes to the Monotonic Counter High Register are ignored. 16017 * 0b1..Writes to the Monotonic Counter High Register complete as normal. 16018 */ 16019 #define RTC_WAR_MCHW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_MCHW_SHIFT)) & RTC_WAR_MCHW_MASK) 16020 #define RTC_WAR_TDRW_MASK (0x2000U) 16021 #define RTC_WAR_TDRW_SHIFT (13U) 16022 /*! TDRW - Tamper Detect Register Write 16023 * 0b0..Writes to the Tamper Detect Register are ignored. 16024 * 0b1..Writes to the Tamper Detect Register complete as normal. 16025 */ 16026 #define RTC_WAR_TDRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TDRW_SHIFT)) & RTC_WAR_TDRW_MASK) 16027 #define RTC_WAR_TIRW_MASK (0x8000U) 16028 #define RTC_WAR_TIRW_SHIFT (15U) 16029 /*! TIRW - Tamper Interrupt Register Write 16030 * 0b0..Writes to the Tamper Interrupt Register are ignored. 16031 * 0b1..Writes to the Tamper Interrupt Register complete as normal. 16032 */ 16033 #define RTC_WAR_TIRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TIRW_SHIFT)) & RTC_WAR_TIRW_MASK) 16034 #define RTC_WAR_PCRW_MASK (0xF0000U) 16035 #define RTC_WAR_PCRW_SHIFT (16U) 16036 #define RTC_WAR_PCRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_PCRW_SHIFT)) & RTC_WAR_PCRW_MASK) 16037 /*! @} */ 16038 16039 /*! @name RAR - RTC Read Access Register */ 16040 /*! @{ */ 16041 #define RTC_RAR_TSRR_MASK (0x1U) 16042 #define RTC_RAR_TSRR_SHIFT (0U) 16043 /*! TSRR - Time Seconds Register Read 16044 * 0b0..Reads to the Time Seconds Register are ignored. 16045 * 0b1..Reads to the Time Seconds Register complete as normal. 16046 */ 16047 #define RTC_RAR_TSRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TSRR_SHIFT)) & RTC_RAR_TSRR_MASK) 16048 #define RTC_RAR_TPRR_MASK (0x2U) 16049 #define RTC_RAR_TPRR_SHIFT (1U) 16050 /*! TPRR - Time Prescaler Register Read 16051 * 0b0..Reads to the Time Pprescaler Register are ignored. 16052 * 0b1..Reads to the Time Prescaler Register complete as normal. 16053 */ 16054 #define RTC_RAR_TPRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TPRR_SHIFT)) & RTC_RAR_TPRR_MASK) 16055 #define RTC_RAR_TARR_MASK (0x4U) 16056 #define RTC_RAR_TARR_SHIFT (2U) 16057 /*! TARR - Time Alarm Register Read 16058 * 0b0..Reads to the Time Alarm Register are ignored. 16059 * 0b1..Reads to the Time Alarm Register complete as normal. 16060 */ 16061 #define RTC_RAR_TARR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TARR_SHIFT)) & RTC_RAR_TARR_MASK) 16062 #define RTC_RAR_TCRR_MASK (0x8U) 16063 #define RTC_RAR_TCRR_SHIFT (3U) 16064 /*! TCRR - Time Compensation Register Read 16065 * 0b0..Reads to the Time Compensation Register are ignored. 16066 * 0b1..Reads to the Time Compensation Register complete as normal. 16067 */ 16068 #define RTC_RAR_TCRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TCRR_SHIFT)) & RTC_RAR_TCRR_MASK) 16069 #define RTC_RAR_CRR_MASK (0x10U) 16070 #define RTC_RAR_CRR_SHIFT (4U) 16071 /*! CRR - Control Register Read 16072 * 0b0..Reads to the Control Register are ignored. 16073 * 0b1..Reads to the Control Register complete as normal. 16074 */ 16075 #define RTC_RAR_CRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_CRR_SHIFT)) & RTC_RAR_CRR_MASK) 16076 #define RTC_RAR_SRR_MASK (0x20U) 16077 #define RTC_RAR_SRR_SHIFT (5U) 16078 /*! SRR - Status Register Read 16079 * 0b0..Reads to the Status Register are ignored. 16080 * 0b1..Reads to the Status Register complete as normal. 16081 */ 16082 #define RTC_RAR_SRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_SRR_SHIFT)) & RTC_RAR_SRR_MASK) 16083 #define RTC_RAR_LRR_MASK (0x40U) 16084 #define RTC_RAR_LRR_SHIFT (6U) 16085 /*! LRR - Lock Register Read 16086 * 0b0..Reads to the Lock Register are ignored. 16087 * 0b1..Reads to the Lock Register complete as normal. 16088 */ 16089 #define RTC_RAR_LRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_LRR_SHIFT)) & RTC_RAR_LRR_MASK) 16090 #define RTC_RAR_IERR_MASK (0x80U) 16091 #define RTC_RAR_IERR_SHIFT (7U) 16092 /*! IERR - Interrupt Enable Register Read 16093 * 0b0..Reads to the Interrupt Enable Register are ignored. 16094 * 0b1..Reads to the Interrupt Enable Register complete as normal. 16095 */ 16096 #define RTC_RAR_IERR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_IERR_SHIFT)) & RTC_RAR_IERR_MASK) 16097 #define RTC_RAR_TTSR_MASK (0x100U) 16098 #define RTC_RAR_TTSR_SHIFT (8U) 16099 /*! TTSR - Tamper Time Seconds Read 16100 * 0b0..Reads to the Tamper Time Seconds Register are ignored. 16101 * 0b1..Reads to the Tamper Time Seconds Register complete as normal. 16102 */ 16103 #define RTC_RAR_TTSR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TTSR_SHIFT)) & RTC_RAR_TTSR_MASK) 16104 #define RTC_RAR_MERR_MASK (0x200U) 16105 #define RTC_RAR_MERR_SHIFT (9U) 16106 /*! MERR - Monotonic Enable Register Read 16107 * 0b0..Reads to the Monotonic Enable Register are ignored. 16108 * 0b1..Reads to the Monotonic Enable Register complete as normal. 16109 */ 16110 #define RTC_RAR_MERR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_MERR_SHIFT)) & RTC_RAR_MERR_MASK) 16111 #define RTC_RAR_MCLR_MASK (0x400U) 16112 #define RTC_RAR_MCLR_SHIFT (10U) 16113 /*! MCLR - Monotonic Counter Low Read 16114 * 0b0..Reads to the Monotonic Counter Low Register are ignored. 16115 * 0b1..Reads to the Monotonic Counter Low Register complete as normal. 16116 */ 16117 #define RTC_RAR_MCLR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_MCLR_SHIFT)) & RTC_RAR_MCLR_MASK) 16118 #define RTC_RAR_MCHR_MASK (0x800U) 16119 #define RTC_RAR_MCHR_SHIFT (11U) 16120 /*! MCHR - Monotonic Counter High Read 16121 * 0b0..Reads to the Monotonic Counter High Register are ignored. 16122 * 0b1..Reads to the Monotonic Counter High Register complete as normal. 16123 */ 16124 #define RTC_RAR_MCHR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_MCHR_SHIFT)) & RTC_RAR_MCHR_MASK) 16125 #define RTC_RAR_TDRR_MASK (0x2000U) 16126 #define RTC_RAR_TDRR_SHIFT (13U) 16127 /*! TDRR - Tamper Detect Register Read 16128 * 0b0..Reads to the Tamper Detect Register are ignored. 16129 * 0b1..Reads to the Tamper Detect Register complete as normal. 16130 */ 16131 #define RTC_RAR_TDRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TDRR_SHIFT)) & RTC_RAR_TDRR_MASK) 16132 #define RTC_RAR_TIRR_MASK (0x8000U) 16133 #define RTC_RAR_TIRR_SHIFT (15U) 16134 /*! TIRR - Tamper Interrupt Register Read 16135 * 0b0..Reads to the Tamper Interrupt Register are ignored. 16136 * 0b1..Reads to the Tamper Interrupt Register complete as normal. 16137 */ 16138 #define RTC_RAR_TIRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TIRR_SHIFT)) & RTC_RAR_TIRR_MASK) 16139 #define RTC_RAR_PCRR_MASK (0xF0000U) 16140 #define RTC_RAR_PCRR_SHIFT (16U) 16141 #define RTC_RAR_PCRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_PCRR_SHIFT)) & RTC_RAR_PCRR_MASK) 16142 /*! @} */ 16143 16144 16145 /*! 16146 * @} 16147 */ /* end of group RTC_Register_Masks */ 16148 16149 16150 /* RTC - Peripheral instance base addresses */ 16151 /** Peripheral RTC base address */ 16152 #define RTC_BASE (0x40031000u) 16153 /** Peripheral RTC base pointer */ 16154 #define RTC ((RTC_Type *)RTC_BASE) 16155 /** Array initializer of RTC peripheral base addresses */ 16156 #define RTC_BASE_ADDRS { RTC_BASE } 16157 /** Array initializer of RTC peripheral base pointers */ 16158 #define RTC_BASE_PTRS { RTC } 16159 /** Interrupt vectors for the RTC peripheral type */ 16160 #define RTC_IRQS { RTC_IRQn } 16161 16162 /*! 16163 * @} 16164 */ /* end of group RTC_Peripheral_Access_Layer */ 16165 16166 16167 /* ---------------------------------------------------------------------------- 16168 -- SCG Peripheral Access Layer 16169 ---------------------------------------------------------------------------- */ 16170 16171 /*! 16172 * @addtogroup SCG_Peripheral_Access_Layer SCG Peripheral Access Layer 16173 * @{ 16174 */ 16175 16176 /** SCG - Register Layout Typedef */ 16177 typedef struct { 16178 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 16179 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 16180 uint8_t RESERVED_0[8]; 16181 __I uint32_t CSR; /**< Clock Status Register, offset: 0x10 */ 16182 __IO uint32_t RCCR; /**< Run Clock Control Register, offset: 0x14 */ 16183 __IO uint32_t VCCR; /**< VLPR Clock Control Register, offset: 0x18 */ 16184 __IO uint32_t HCCR; /**< HSRUN Clock Control Register, offset: 0x1C */ 16185 __IO uint32_t CLKOUTCNFG; /**< SCG CLKOUT Configuration Register, offset: 0x20 */ 16186 uint8_t RESERVED_1[220]; 16187 __IO uint32_t SOSCCSR; /**< System OSC Control Status Register, offset: 0x100 */ 16188 __IO uint32_t SOSCDIV; /**< System OSC Divide Register, offset: 0x104 */ 16189 uint8_t RESERVED_2[248]; 16190 __IO uint32_t SIRCCSR; /**< Slow IRC Control Status Register, offset: 0x200 */ 16191 __IO uint32_t SIRCDIV; /**< Slow IRC Divide Register, offset: 0x204 */ 16192 __IO uint32_t SIRCCFG; /**< Slow IRC Configuration Register, offset: 0x208 */ 16193 uint8_t RESERVED_3[244]; 16194 __IO uint32_t FIRCCSR; /**< Fast IRC Control Status Register, offset: 0x300 */ 16195 __IO uint32_t FIRCDIV; /**< Fast IRC Divide Register, offset: 0x304 */ 16196 __IO uint32_t FIRCCFG; /**< Fast IRC Configuration Register, offset: 0x308 */ 16197 __IO uint32_t FIRCTCFG; /**< Fast IRC Trim Configuration Register, offset: 0x30C */ 16198 uint8_t RESERVED_4[8]; 16199 __IO uint32_t FIRCSTAT; /**< Fast IRC Status Register, offset: 0x318 */ 16200 uint8_t RESERVED_5[228]; 16201 __IO uint32_t ROSCCSR; /**< RTC OSC Control Status Register, offset: 0x400 */ 16202 uint8_t RESERVED_6[252]; 16203 __IO uint32_t LPFLLCSR; /**< Low Power FLL Control Status Register, offset: 0x500 */ 16204 __IO uint32_t LPFLLDIV; /**< Low Power FLL Divide Register, offset: 0x504 */ 16205 __IO uint32_t LPFLLCFG; /**< Low Power FLL Configuration Register, offset: 0x508 */ 16206 __IO uint32_t LPFLLTCFG; /**< Low Power FLL Trim Configuration Register, offset: 0x50C */ 16207 uint8_t RESERVED_7[4]; 16208 __IO uint32_t LPFLLSTAT; /**< Low Power FLL Status Register, offset: 0x514 */ 16209 } SCG_Type; 16210 16211 /* ---------------------------------------------------------------------------- 16212 -- SCG Register Masks 16213 ---------------------------------------------------------------------------- */ 16214 16215 /*! 16216 * @addtogroup SCG_Register_Masks SCG Register Masks 16217 * @{ 16218 */ 16219 16220 /*! @name VERID - Version ID Register */ 16221 /*! @{ */ 16222 #define SCG_VERID_VERSION_MASK (0xFFFFFFFFU) 16223 #define SCG_VERID_VERSION_SHIFT (0U) 16224 #define SCG_VERID_VERSION(x) (((uint32_t)(((uint32_t)(x)) << SCG_VERID_VERSION_SHIFT)) & SCG_VERID_VERSION_MASK) 16225 /*! @} */ 16226 16227 /*! @name PARAM - Parameter Register */ 16228 /*! @{ */ 16229 #define SCG_PARAM_CLKPRES_MASK (0xFFU) 16230 #define SCG_PARAM_CLKPRES_SHIFT (0U) 16231 /*! CLKPRES - Clock Present 16232 * 0b00000000-0b00000001..Reserved. 16233 * 0bxxxxxx1x..System OSC (SOSC) is present. 16234 * 0bxxxxx1xx..Slow IRC (SIRC) is present. 16235 * 0bxxxx1xxx..Fast IRC (FIRC) is present. 16236 * 0bxxx1xxxx..RTC OSC (ROSC) is present. 16237 * 0bxx1xxxxx..Low Power FLL (LPFLL) is present. 16238 */ 16239 #define SCG_PARAM_CLKPRES(x) (((uint32_t)(((uint32_t)(x)) << SCG_PARAM_CLKPRES_SHIFT)) & SCG_PARAM_CLKPRES_MASK) 16240 #define SCG_PARAM_DIVPRES_MASK (0xF8000000U) 16241 #define SCG_PARAM_DIVPRES_SHIFT (27U) 16242 /*! DIVPRES - Divider Present 16243 * 0bxxxx1..System DIVSLOW is present. 16244 * 0bxxx1x..System DIVBUS is present. 16245 * 0bxx1xx..System DIVEXT is present. 16246 * 0b1xxxx..System DIVCORE is present. 16247 */ 16248 #define SCG_PARAM_DIVPRES(x) (((uint32_t)(((uint32_t)(x)) << SCG_PARAM_DIVPRES_SHIFT)) & SCG_PARAM_DIVPRES_MASK) 16249 /*! @} */ 16250 16251 /*! @name CSR - Clock Status Register */ 16252 /*! @{ */ 16253 #define SCG_CSR_DIVSLOW_MASK (0xFU) 16254 #define SCG_CSR_DIVSLOW_SHIFT (0U) 16255 /*! DIVSLOW - Slow Clock Divide Ratio 16256 * 0b0000..Reserved 16257 * 0b0001..Divide-by-2 16258 * 0b0010..Divide-by-3 16259 * 0b0011..Divide-by-4 16260 * 0b0100..Divide-by-5 16261 * 0b0101..Divide-by-6 16262 * 0b0110..Divide-by-7 16263 * 0b0111..Divide-by-8 16264 * 0b1000..Divide-by-9 16265 * 0b1001..Divide-by-10 16266 * 0b1010..Divide-by-11 16267 * 0b1011..Divide-by-12 16268 * 0b1100..Divide-by-13 16269 * 0b1101..Divide-by-14 16270 * 0b1110..Divide-by-15 16271 * 0b1111..Divide-by-16 16272 */ 16273 #define SCG_CSR_DIVSLOW(x) (((uint32_t)(((uint32_t)(x)) << SCG_CSR_DIVSLOW_SHIFT)) & SCG_CSR_DIVSLOW_MASK) 16274 #define SCG_CSR_DIVBUS_MASK (0xF0U) 16275 #define SCG_CSR_DIVBUS_SHIFT (4U) 16276 /*! DIVBUS - Bus Clock Divide Ratio 16277 * 0b0000..Divide-by-1 16278 * 0b0001..Divide-by-2 16279 * 0b0010..Divide-by-3 16280 * 0b0011..Divide-by-4 16281 * 0b0100..Divide-by-5 16282 * 0b0101..Divide-by-6 16283 * 0b0110..Divide-by-7 16284 * 0b0111..Divide-by-8 16285 * 0b1000..Divide-by-9 16286 * 0b1001..Divide-by-10 16287 * 0b1010..Divide-by-11 16288 * 0b1011..Divide-by-12 16289 * 0b1100..Divide-by-13 16290 * 0b1101..Divide-by-14 16291 * 0b1110..Divide-by-15 16292 * 0b1111..Divide-by-16 16293 */ 16294 #define SCG_CSR_DIVBUS(x) (((uint32_t)(((uint32_t)(x)) << SCG_CSR_DIVBUS_SHIFT)) & SCG_CSR_DIVBUS_MASK) 16295 #define SCG_CSR_DIVEXT_MASK (0xF00U) 16296 #define SCG_CSR_DIVEXT_SHIFT (8U) 16297 /*! DIVEXT - External Clock Divide Ratio 16298 * 0b0000..Divide-by-1 16299 * 0b0001..Divide-by-2 16300 * 0b0010..Divide-by-3 16301 * 0b0011..Divide-by-4 16302 * 0b0100..Divide-by-5 16303 * 0b0101..Divide-by-6 16304 * 0b0110..Divide-by-7 16305 * 0b0111..Divide-by-8 16306 * 0b1000..Divide-by-9 16307 * 0b1001..Divide-by-10 16308 * 0b1010..Divide-by-11 16309 * 0b1011..Divide-by-12 16310 * 0b1100..Divide-by-13 16311 * 0b1101..Divide-by-14 16312 * 0b1110..Divide-by-15 16313 * 0b1111..Divide-by-16 16314 */ 16315 #define SCG_CSR_DIVEXT(x) (((uint32_t)(((uint32_t)(x)) << SCG_CSR_DIVEXT_SHIFT)) & SCG_CSR_DIVEXT_MASK) 16316 #define SCG_CSR_DIVCORE_MASK (0xF0000U) 16317 #define SCG_CSR_DIVCORE_SHIFT (16U) 16318 /*! DIVCORE - Core Clock Divide Ratio 16319 * 0b0000..Divide-by-1 16320 * 0b0001..Divide-by-2 16321 * 0b0010..Divide-by-3 16322 * 0b0011..Divide-by-4 16323 * 0b0100..Divide-by-5 16324 * 0b0101..Divide-by-6 16325 * 0b0110..Divide-by-7 16326 * 0b0111..Divide-by-8 16327 * 0b1000..Divide-by-9 16328 * 0b1001..Divide-by-10 16329 * 0b1010..Divide-by-11 16330 * 0b1011..Divide-by-12 16331 * 0b1100..Divide-by-13 16332 * 0b1101..Divide-by-14 16333 * 0b1110..Divide-by-15 16334 * 0b1111..Divide-by-16 16335 */ 16336 #define SCG_CSR_DIVCORE(x) (((uint32_t)(((uint32_t)(x)) << SCG_CSR_DIVCORE_SHIFT)) & SCG_CSR_DIVCORE_MASK) 16337 #define SCG_CSR_SCS_MASK (0xF000000U) 16338 #define SCG_CSR_SCS_SHIFT (24U) 16339 /*! SCS - System Clock Source 16340 * 0b0000..Reserved 16341 * 0b0001..System OSC (SOSC_CLK) 16342 * 0b0010..Slow IRC (SIRC_CLK) 16343 * 0b0011..Fast IRC (FIRC_CLK) 16344 * 0b0100..RTC OSC (ROSC_CLK) 16345 * 0b0101..Low Power FLL (LPFLL_CLK) 16346 * 0b0110..Reserved 16347 * 0b0111..Reserved 16348 */ 16349 #define SCG_CSR_SCS(x) (((uint32_t)(((uint32_t)(x)) << SCG_CSR_SCS_SHIFT)) & SCG_CSR_SCS_MASK) 16350 /*! @} */ 16351 16352 /*! @name RCCR - Run Clock Control Register */ 16353 /*! @{ */ 16354 #define SCG_RCCR_DIVSLOW_MASK (0xFU) 16355 #define SCG_RCCR_DIVSLOW_SHIFT (0U) 16356 /*! DIVSLOW - Slow Clock Divide Ratio 16357 * 0b0000..Reserved 16358 * 0b0001..Divide-by-2 16359 * 0b0010..Divide-by-3 16360 * 0b0011..Divide-by-4 16361 * 0b0100..Divide-by-5 16362 * 0b0101..Divide-by-6 16363 * 0b0110..Divide-by-7 16364 * 0b0111..Divide-by-8 16365 * 0b1000..Divide-by-9 16366 * 0b1001..Divide-by-10 16367 * 0b1010..Divide-by-11 16368 * 0b1011..Divide-by-12 16369 * 0b1100..Divide-by-13 16370 * 0b1101..Divide-by-14 16371 * 0b1110..Divide-by-15 16372 * 0b1111..Divide-by-16 16373 */ 16374 #define SCG_RCCR_DIVSLOW(x) (((uint32_t)(((uint32_t)(x)) << SCG_RCCR_DIVSLOW_SHIFT)) & SCG_RCCR_DIVSLOW_MASK) 16375 #define SCG_RCCR_DIVBUS_MASK (0xF0U) 16376 #define SCG_RCCR_DIVBUS_SHIFT (4U) 16377 /*! DIVBUS - Bus Clock Divide Ratio 16378 * 0b0000..Divide-by-1 16379 * 0b0001..Divide-by-2 16380 * 0b0010..Divide-by-3 16381 * 0b0011..Divide-by-4 16382 * 0b0100..Divide-by-5 16383 * 0b0101..Divide-by-6 16384 * 0b0110..Divide-by-7 16385 * 0b0111..Divide-by-8 16386 * 0b1000..Divide-by-9 16387 * 0b1001..Divide-by-10 16388 * 0b1010..Divide-by-11 16389 * 0b1011..Divide-by-12 16390 * 0b1100..Divide-by-13 16391 * 0b1101..Divide-by-14 16392 * 0b1110..Divide-by-15 16393 * 0b1111..Divide-by-16 16394 */ 16395 #define SCG_RCCR_DIVBUS(x) (((uint32_t)(((uint32_t)(x)) << SCG_RCCR_DIVBUS_SHIFT)) & SCG_RCCR_DIVBUS_MASK) 16396 #define SCG_RCCR_DIVEXT_MASK (0xF00U) 16397 #define SCG_RCCR_DIVEXT_SHIFT (8U) 16398 /*! DIVEXT - External Clock Divide Ratio 16399 * 0b0000..Divide-by-1 16400 * 0b0001..Divide-by-2 16401 * 0b0010..Divide-by-3 16402 * 0b0011..Divide-by-4 16403 * 0b0100..Divide-by-5 16404 * 0b0101..Divide-by-6 16405 * 0b0110..Divide-by-7 16406 * 0b0111..Divide-by-8 16407 * 0b1000..Divide-by-9 16408 * 0b1001..Divide-by-10 16409 * 0b1010..Divide-by-11 16410 * 0b1011..Divide-by-12 16411 * 0b1100..Divide-by-13 16412 * 0b1101..Divide-by-14 16413 * 0b1110..Divide-by-15 16414 * 0b1111..Divide-by-16 16415 */ 16416 #define SCG_RCCR_DIVEXT(x) (((uint32_t)(((uint32_t)(x)) << SCG_RCCR_DIVEXT_SHIFT)) & SCG_RCCR_DIVEXT_MASK) 16417 #define SCG_RCCR_DIVCORE_MASK (0xF0000U) 16418 #define SCG_RCCR_DIVCORE_SHIFT (16U) 16419 /*! DIVCORE - Core Clock Divide Ratio 16420 * 0b0000..Divide-by-1 16421 * 0b0001..Divide-by-2 16422 * 0b0010..Divide-by-3 16423 * 0b0011..Divide-by-4 16424 * 0b0100..Divide-by-5 16425 * 0b0101..Divide-by-6 16426 * 0b0110..Divide-by-7 16427 * 0b0111..Divide-by-8 16428 * 0b1000..Divide-by-9 16429 * 0b1001..Divide-by-10 16430 * 0b1010..Divide-by-11 16431 * 0b1011..Divide-by-12 16432 * 0b1100..Divide-by-13 16433 * 0b1101..Divide-by-14 16434 * 0b1110..Divide-by-15 16435 * 0b1111..Divide-by-16 16436 */ 16437 #define SCG_RCCR_DIVCORE(x) (((uint32_t)(((uint32_t)(x)) << SCG_RCCR_DIVCORE_SHIFT)) & SCG_RCCR_DIVCORE_MASK) 16438 #define SCG_RCCR_SCS_MASK (0x7000000U) 16439 #define SCG_RCCR_SCS_SHIFT (24U) 16440 /*! SCS - System Clock Source 16441 * 0b000..Reserved 16442 * 0b001..System OSC (SOSC_CLK) 16443 * 0b010..Slow IRC (SIRC_CLK) 16444 * 0b011..Fast IRC (FIRC_CLK) 16445 * 0b100..RTC OSC (ROSC_CLK) 16446 * 0b101..Low Power FLL (LPFLL_CLK) 16447 * 0b110..Reserved 16448 * 0b111..Reserved 16449 */ 16450 #define SCG_RCCR_SCS(x) (((uint32_t)(((uint32_t)(x)) << SCG_RCCR_SCS_SHIFT)) & SCG_RCCR_SCS_MASK) 16451 /*! @} */ 16452 16453 /*! @name VCCR - VLPR Clock Control Register */ 16454 /*! @{ */ 16455 #define SCG_VCCR_DIVSLOW_MASK (0xFU) 16456 #define SCG_VCCR_DIVSLOW_SHIFT (0U) 16457 /*! DIVSLOW - Slow Clock Divide Ratio 16458 * 0b0000..Reserved 16459 * 0b0001..Divide-by-2 16460 * 0b0010..Divide-by-3 16461 * 0b0011..Divide-by-4 16462 * 0b0100..Divide-by-5 16463 * 0b0101..Divide-by-6 16464 * 0b0110..Divide-by-7 16465 * 0b0111..Divide-by-8 16466 * 0b1000..Divide-by-9 16467 * 0b1001..Divide-by-10 16468 * 0b1010..Divide-by-11 16469 * 0b1011..Divide-by-12 16470 * 0b1100..Divide-by-13 16471 * 0b1101..Divide-by-14 16472 * 0b1110..Divide-by-15 16473 * 0b1111..Divide-by-16 16474 */ 16475 #define SCG_VCCR_DIVSLOW(x) (((uint32_t)(((uint32_t)(x)) << SCG_VCCR_DIVSLOW_SHIFT)) & SCG_VCCR_DIVSLOW_MASK) 16476 #define SCG_VCCR_DIVBUS_MASK (0xF0U) 16477 #define SCG_VCCR_DIVBUS_SHIFT (4U) 16478 /*! DIVBUS - Bus Clock Divide Ratio 16479 * 0b0000..Divide-by-1 16480 * 0b0001..Divide-by-2 16481 * 0b0010..Divide-by-3 16482 * 0b0011..Divide-by-4 16483 * 0b0100..Divide-by-5 16484 * 0b0101..Divide-by-6 16485 * 0b0110..Divide-by-7 16486 * 0b0111..Divide-by-8 16487 * 0b1000..Divide-by-9 16488 * 0b1001..Divide-by-10 16489 * 0b1010..Divide-by-11 16490 * 0b1011..Divide-by-12 16491 * 0b1100..Divide-by-13 16492 * 0b1101..Divide-by-14 16493 * 0b1110..Divide-by-15 16494 * 0b1111..Divide-by-16 16495 */ 16496 #define SCG_VCCR_DIVBUS(x) (((uint32_t)(((uint32_t)(x)) << SCG_VCCR_DIVBUS_SHIFT)) & SCG_VCCR_DIVBUS_MASK) 16497 #define SCG_VCCR_DIVEXT_MASK (0xF00U) 16498 #define SCG_VCCR_DIVEXT_SHIFT (8U) 16499 /*! DIVEXT - External Clock Divide Ratio 16500 * 0b0000..Divide-by-1 16501 * 0b0001..Divide-by-2 16502 * 0b0010..Divide-by-3 16503 * 0b0011..Divide-by-4 16504 * 0b0100..Divide-by-5 16505 * 0b0101..Divide-by-6 16506 * 0b0110..Divide-by-7 16507 * 0b0111..Divide-by-8 16508 * 0b1000..Divide-by-9 16509 * 0b1001..Divide-by-10 16510 * 0b1010..Divide-by-11 16511 * 0b1011..Divide-by-12 16512 * 0b1100..Divide-by-13 16513 * 0b1101..Divide-by-14 16514 * 0b1110..Divide-by-15 16515 * 0b1111..Divide-by-16 16516 */ 16517 #define SCG_VCCR_DIVEXT(x) (((uint32_t)(((uint32_t)(x)) << SCG_VCCR_DIVEXT_SHIFT)) & SCG_VCCR_DIVEXT_MASK) 16518 #define SCG_VCCR_DIVCORE_MASK (0xF0000U) 16519 #define SCG_VCCR_DIVCORE_SHIFT (16U) 16520 /*! DIVCORE - Core Clock Divide Ratio 16521 * 0b0000..Divide-by-1 16522 * 0b0001..Divide-by-2 16523 * 0b0010..Divide-by-3 16524 * 0b0011..Divide-by-4 16525 * 0b0100..Divide-by-5 16526 * 0b0101..Divide-by-6 16527 * 0b0110..Divide-by-7 16528 * 0b0111..Divide-by-8 16529 * 0b1000..Divide-by-9 16530 * 0b1001..Divide-by-10 16531 * 0b1010..Divide-by-11 16532 * 0b1011..Divide-by-12 16533 * 0b1100..Divide-by-13 16534 * 0b1101..Divide-by-14 16535 * 0b1110..Divide-by-15 16536 * 0b1111..Divide-by-16 16537 */ 16538 #define SCG_VCCR_DIVCORE(x) (((uint32_t)(((uint32_t)(x)) << SCG_VCCR_DIVCORE_SHIFT)) & SCG_VCCR_DIVCORE_MASK) 16539 #define SCG_VCCR_SCS_MASK (0xF000000U) 16540 #define SCG_VCCR_SCS_SHIFT (24U) 16541 /*! SCS - System Clock Source 16542 * 0b0000..Reserved 16543 * 0b0001..System OSC (SOSC_CLK) 16544 * 0b0010..Slow IRC (SIRC_CLK) 16545 * 0b0011..Reserved 16546 * 0b0100..RTC OSC (ROSC_CLK) 16547 * 0b0101..Reserved 16548 * 0b0110..Reserved 16549 * 0b0111..Reserved 16550 */ 16551 #define SCG_VCCR_SCS(x) (((uint32_t)(((uint32_t)(x)) << SCG_VCCR_SCS_SHIFT)) & SCG_VCCR_SCS_MASK) 16552 /*! @} */ 16553 16554 /*! @name HCCR - HSRUN Clock Control Register */ 16555 /*! @{ */ 16556 #define SCG_HCCR_DIVSLOW_MASK (0xFU) 16557 #define SCG_HCCR_DIVSLOW_SHIFT (0U) 16558 /*! DIVSLOW - Slow Clock Divide Ratio 16559 * 0b0000..Reserved 16560 * 0b0001..Divide-by-2 16561 * 0b0010..Divide-by-3 16562 * 0b0011..Divide-by-4 16563 * 0b0100..Divide-by-5 16564 * 0b0101..Divide-by-6 16565 * 0b0110..Divide-by-7 16566 * 0b0111..Divide-by-8 16567 * 0b1000..Divide-by-9 16568 * 0b1001..Divide-by-10 16569 * 0b1010..Divide-by-11 16570 * 0b1011..Divide-by-12 16571 * 0b1100..Divide-by-13 16572 * 0b1101..Divide-by-14 16573 * 0b1110..Divide-by-15 16574 * 0b1111..Divide-by-16 16575 */ 16576 #define SCG_HCCR_DIVSLOW(x) (((uint32_t)(((uint32_t)(x)) << SCG_HCCR_DIVSLOW_SHIFT)) & SCG_HCCR_DIVSLOW_MASK) 16577 #define SCG_HCCR_DIVBUS_MASK (0xF0U) 16578 #define SCG_HCCR_DIVBUS_SHIFT (4U) 16579 /*! DIVBUS - Bus Clock Divide Ratio 16580 * 0b0000..Divide-by-1 16581 * 0b0001..Divide-by-2 16582 * 0b0010..Divide-by-3 16583 * 0b0011..Divide-by-4 16584 * 0b0100..Divide-by-5 16585 * 0b0101..Divide-by-6 16586 * 0b0110..Divide-by-7 16587 * 0b0111..Divide-by-8 16588 * 0b1000..Divide-by-9 16589 * 0b1001..Divide-by-10 16590 * 0b1010..Divide-by-11 16591 * 0b1011..Divide-by-12 16592 * 0b1100..Divide-by-13 16593 * 0b1101..Divide-by-14 16594 * 0b1110..Divide-by-15 16595 * 0b1111..Divide-by-16 16596 */ 16597 #define SCG_HCCR_DIVBUS(x) (((uint32_t)(((uint32_t)(x)) << SCG_HCCR_DIVBUS_SHIFT)) & SCG_HCCR_DIVBUS_MASK) 16598 #define SCG_HCCR_DIVEXT_MASK (0xF00U) 16599 #define SCG_HCCR_DIVEXT_SHIFT (8U) 16600 /*! DIVEXT - External Clock Divide Ratio 16601 * 0b0000..Divide-by-1 16602 * 0b0001..Divide-by-2 16603 * 0b0010..Divide-by-3 16604 * 0b0011..Divide-by-4 16605 * 0b0100..Divide-by-5 16606 * 0b0101..Divide-by-6 16607 * 0b0110..Divide-by-7 16608 * 0b0111..Divide-by-8 16609 * 0b1000..Divide-by-9 16610 * 0b1001..Divide-by-10 16611 * 0b1010..Divide-by-11 16612 * 0b1011..Divide-by-12 16613 * 0b1100..Divide-by-13 16614 * 0b1101..Divide-by-14 16615 * 0b1110..Divide-by-15 16616 * 0b1111..Divide-by-16 16617 */ 16618 #define SCG_HCCR_DIVEXT(x) (((uint32_t)(((uint32_t)(x)) << SCG_HCCR_DIVEXT_SHIFT)) & SCG_HCCR_DIVEXT_MASK) 16619 #define SCG_HCCR_DIVCORE_MASK (0xF0000U) 16620 #define SCG_HCCR_DIVCORE_SHIFT (16U) 16621 /*! DIVCORE - Core Clock Divide Ratio 16622 * 0b0000..Divide-by-1 16623 * 0b0001..Divide-by-2 16624 * 0b0010..Divide-by-3 16625 * 0b0011..Divide-by-4 16626 * 0b0100..Divide-by-5 16627 * 0b0101..Divide-by-6 16628 * 0b0110..Divide-by-7 16629 * 0b0111..Divide-by-8 16630 * 0b1000..Divide-by-9 16631 * 0b1001..Divide-by-10 16632 * 0b1010..Divide-by-11 16633 * 0b1011..Divide-by-12 16634 * 0b1100..Divide-by-13 16635 * 0b1101..Divide-by-14 16636 * 0b1110..Divide-by-15 16637 * 0b1111..Divide-by-16 16638 */ 16639 #define SCG_HCCR_DIVCORE(x) (((uint32_t)(((uint32_t)(x)) << SCG_HCCR_DIVCORE_SHIFT)) & SCG_HCCR_DIVCORE_MASK) 16640 #define SCG_HCCR_SCS_MASK (0xF000000U) 16641 #define SCG_HCCR_SCS_SHIFT (24U) 16642 /*! SCS - System Clock Source 16643 * 0b0000..Reserved 16644 * 0b0001..System OSC (SOSC_CLK) 16645 * 0b0010..Slow IRC (SIRC_CLK) 16646 * 0b0011..Fast IRC (FIRC_CLK) 16647 * 0b0100..RTC OSC (ROSC_CLK) 16648 * 0b0101..Low Power FLL (LPFLL_CLK) 16649 * 0b0110..Reserved 16650 * 0b0111..Reserved 16651 */ 16652 #define SCG_HCCR_SCS(x) (((uint32_t)(((uint32_t)(x)) << SCG_HCCR_SCS_SHIFT)) & SCG_HCCR_SCS_MASK) 16653 /*! @} */ 16654 16655 /*! @name CLKOUTCNFG - SCG CLKOUT Configuration Register */ 16656 /*! @{ */ 16657 #define SCG_CLKOUTCNFG_CLKOUTSEL_MASK (0xF000000U) 16658 #define SCG_CLKOUTCNFG_CLKOUTSEL_SHIFT (24U) 16659 /*! CLKOUTSEL - SCG Clkout Select 16660 * 0b0000..SCG EXTERNAL Clock 16661 * 0b0001..System OSC (SOSC_CLK) 16662 * 0b0010..Slow IRC (SIRC_CLK) 16663 * 0b0011..Fast IRC (FIRC_CLK) 16664 * 0b0100..RTC OSC (ROSC_CLK) 16665 * 0b0101..Low Power FLL (LPFLL_CLK) 16666 * 0b0110..Reserved 16667 * 0b0111..Reserved 16668 * 0b1111..Reserved 16669 */ 16670 #define SCG_CLKOUTCNFG_CLKOUTSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_CLKOUTCNFG_CLKOUTSEL_SHIFT)) & SCG_CLKOUTCNFG_CLKOUTSEL_MASK) 16671 /*! @} */ 16672 16673 /*! @name SOSCCSR - System OSC Control Status Register */ 16674 /*! @{ */ 16675 #define SCG_SOSCCSR_SOSCEN_MASK (0x1U) 16676 #define SCG_SOSCCSR_SOSCEN_SHIFT (0U) 16677 /*! SOSCEN - System OSC Enable 16678 * 0b0..System OSC is disabled 16679 * 0b1..System OSC is enabled 16680 */ 16681 #define SCG_SOSCCSR_SOSCEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCEN_SHIFT)) & SCG_SOSCCSR_SOSCEN_MASK) 16682 #define SCG_SOSCCSR_SOSCSTEN_MASK (0x2U) 16683 #define SCG_SOSCCSR_SOSCSTEN_SHIFT (1U) 16684 /*! SOSCSTEN - System OSC Stop Enable 16685 * 0b0..System OSC is disabled in Stop modes 16686 * 0b1..System OSC is enabled in Stop modes if SOSCEN=1. In VLLS0, system oscillator is disabled even if SOSCSTEN=1 and SOSCEN=1. 16687 */ 16688 #define SCG_SOSCCSR_SOSCSTEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCSTEN_SHIFT)) & SCG_SOSCCSR_SOSCSTEN_MASK) 16689 #define SCG_SOSCCSR_SOSCLPEN_MASK (0x4U) 16690 #define SCG_SOSCCSR_SOSCLPEN_SHIFT (2U) 16691 /*! SOSCLPEN - System OSC Low Power Enable 16692 * 0b0..System OSC is disabled in VLP modes 16693 * 0b1..System OSC is enabled in VLP modes 16694 */ 16695 #define SCG_SOSCCSR_SOSCLPEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCLPEN_SHIFT)) & SCG_SOSCCSR_SOSCLPEN_MASK) 16696 #define SCG_SOSCCSR_SOSCCM_MASK (0x10000U) 16697 #define SCG_SOSCCSR_SOSCCM_SHIFT (16U) 16698 /*! SOSCCM - System OSC Clock Monitor 16699 * 0b0..System OSC Clock Monitor is disabled 16700 * 0b1..System OSC Clock Monitor is enabled 16701 */ 16702 #define SCG_SOSCCSR_SOSCCM(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCCM_SHIFT)) & SCG_SOSCCSR_SOSCCM_MASK) 16703 #define SCG_SOSCCSR_SOSCCMRE_MASK (0x20000U) 16704 #define SCG_SOSCCSR_SOSCCMRE_SHIFT (17U) 16705 /*! SOSCCMRE - System OSC Clock Monitor Reset Enable 16706 * 0b0..Clock Monitor generates interrupt when error detected 16707 * 0b1..Clock Monitor generates reset when error detected 16708 */ 16709 #define SCG_SOSCCSR_SOSCCMRE(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCCMRE_SHIFT)) & SCG_SOSCCSR_SOSCCMRE_MASK) 16710 #define SCG_SOSCCSR_LK_MASK (0x800000U) 16711 #define SCG_SOSCCSR_LK_SHIFT (23U) 16712 /*! LK - Lock Register 16713 * 0b0..This Control Status Register can be written. 16714 * 0b1..This Control Status Register cannot be written. 16715 */ 16716 #define SCG_SOSCCSR_LK(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_LK_SHIFT)) & SCG_SOSCCSR_LK_MASK) 16717 #define SCG_SOSCCSR_SOSCVLD_MASK (0x1000000U) 16718 #define SCG_SOSCCSR_SOSCVLD_SHIFT (24U) 16719 /*! SOSCVLD - System OSC Valid 16720 * 0b0..System OSC is not enabled or clock is not valid 16721 * 0b1..System OSC is enabled and output clock is valid 16722 */ 16723 #define SCG_SOSCCSR_SOSCVLD(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCVLD_SHIFT)) & SCG_SOSCCSR_SOSCVLD_MASK) 16724 #define SCG_SOSCCSR_SOSCSEL_MASK (0x2000000U) 16725 #define SCG_SOSCCSR_SOSCSEL_SHIFT (25U) 16726 /*! SOSCSEL - System OSC Selected 16727 * 0b0..System OSC is not the system clock source 16728 * 0b1..System OSC is the system clock source 16729 */ 16730 #define SCG_SOSCCSR_SOSCSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCSEL_SHIFT)) & SCG_SOSCCSR_SOSCSEL_MASK) 16731 #define SCG_SOSCCSR_SOSCERR_MASK (0x4000000U) 16732 #define SCG_SOSCCSR_SOSCERR_SHIFT (26U) 16733 /*! SOSCERR - System OSC Clock Error 16734 * 0b0..System OSC Clock Monitor is disabled or has not detected an error 16735 * 0b1..System OSC Clock Monitor is enabled and detected an error 16736 */ 16737 #define SCG_SOSCCSR_SOSCERR(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCERR_SHIFT)) & SCG_SOSCCSR_SOSCERR_MASK) 16738 /*! @} */ 16739 16740 /*! @name SOSCDIV - System OSC Divide Register */ 16741 /*! @{ */ 16742 #define SCG_SOSCDIV_SOSCDIV1_MASK (0x7U) 16743 #define SCG_SOSCDIV_SOSCDIV1_SHIFT (0U) 16744 /*! SOSCDIV1 - System OSC Clock Divide 1 16745 * 0b000..Output disabled 16746 * 0b001..Divide by 1 16747 * 0b010..Divide by 2 16748 * 0b011..Divide by 4 16749 * 0b100..Divide by 8 16750 * 0b101..Divide by 16 16751 * 0b110..Divide by 32 16752 * 0b111..Divide by 64 16753 */ 16754 #define SCG_SOSCDIV_SOSCDIV1(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCDIV_SOSCDIV1_SHIFT)) & SCG_SOSCDIV_SOSCDIV1_MASK) 16755 #define SCG_SOSCDIV_SOSCDIV2_MASK (0x700U) 16756 #define SCG_SOSCDIV_SOSCDIV2_SHIFT (8U) 16757 /*! SOSCDIV2 - System OSC Clock Divide 2 16758 * 0b000..Output disabled 16759 * 0b001..Divide by 1 16760 * 0b010..Divide by 2 16761 * 0b011..Divide by 4 16762 * 0b100..Divide by 8 16763 * 0b101..Divide by 16 16764 * 0b110..Divide by 32 16765 * 0b111..Divide by 64 16766 */ 16767 #define SCG_SOSCDIV_SOSCDIV2(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCDIV_SOSCDIV2_SHIFT)) & SCG_SOSCDIV_SOSCDIV2_MASK) 16768 #define SCG_SOSCDIV_SOSCDIV3_MASK (0x70000U) 16769 #define SCG_SOSCDIV_SOSCDIV3_SHIFT (16U) 16770 /*! SOSCDIV3 - System OSC Clock Divide 3 16771 * 0b000..Output disabled 16772 * 0b001..Divide by 1 16773 * 0b010..Divide by 2 16774 * 0b011..Divide by 4 16775 * 0b100..Divide by 8 16776 * 0b101..Divide by 16 16777 * 0b110..Divide by 32 16778 * 0b111..Divide by 64 16779 */ 16780 #define SCG_SOSCDIV_SOSCDIV3(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCDIV_SOSCDIV3_SHIFT)) & SCG_SOSCDIV_SOSCDIV3_MASK) 16781 /*! @} */ 16782 16783 /*! @name SIRCCSR - Slow IRC Control Status Register */ 16784 /*! @{ */ 16785 #define SCG_SIRCCSR_SIRCEN_MASK (0x1U) 16786 #define SCG_SIRCCSR_SIRCEN_SHIFT (0U) 16787 /*! SIRCEN - Slow IRC Enable 16788 * 0b0..Slow IRC is disabled 16789 * 0b1..Slow IRC is enabled 16790 */ 16791 #define SCG_SIRCCSR_SIRCEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCSR_SIRCEN_SHIFT)) & SCG_SIRCCSR_SIRCEN_MASK) 16792 #define SCG_SIRCCSR_SIRCSTEN_MASK (0x2U) 16793 #define SCG_SIRCCSR_SIRCSTEN_SHIFT (1U) 16794 /*! SIRCSTEN - Slow IRC Stop Enable 16795 * 0b0..Slow IRC is disabled in Stop modes 16796 * 0b1..Slow IRC is enabled in Stop modes 16797 */ 16798 #define SCG_SIRCCSR_SIRCSTEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCSR_SIRCSTEN_SHIFT)) & SCG_SIRCCSR_SIRCSTEN_MASK) 16799 #define SCG_SIRCCSR_SIRCLPEN_MASK (0x4U) 16800 #define SCG_SIRCCSR_SIRCLPEN_SHIFT (2U) 16801 /*! SIRCLPEN - Slow IRC Low Power Enable 16802 * 0b0..Slow IRC is disabled in VLP modes 16803 * 0b1..Slow IRC is enabled in VLP modes 16804 */ 16805 #define SCG_SIRCCSR_SIRCLPEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCSR_SIRCLPEN_SHIFT)) & SCG_SIRCCSR_SIRCLPEN_MASK) 16806 #define SCG_SIRCCSR_LK_MASK (0x800000U) 16807 #define SCG_SIRCCSR_LK_SHIFT (23U) 16808 /*! LK - Lock Register 16809 * 0b0..Control Status Register can be written. 16810 * 0b1..Control Status Register cannot be written. 16811 */ 16812 #define SCG_SIRCCSR_LK(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCSR_LK_SHIFT)) & SCG_SIRCCSR_LK_MASK) 16813 #define SCG_SIRCCSR_SIRCVLD_MASK (0x1000000U) 16814 #define SCG_SIRCCSR_SIRCVLD_SHIFT (24U) 16815 /*! SIRCVLD - Slow IRC Valid 16816 * 0b0..Slow IRC is not enabled or clock is not valid 16817 * 0b1..Slow IRC is enabled and output clock is valid 16818 */ 16819 #define SCG_SIRCCSR_SIRCVLD(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCSR_SIRCVLD_SHIFT)) & SCG_SIRCCSR_SIRCVLD_MASK) 16820 #define SCG_SIRCCSR_SIRCSEL_MASK (0x2000000U) 16821 #define SCG_SIRCCSR_SIRCSEL_SHIFT (25U) 16822 /*! SIRCSEL - Slow IRC Selected 16823 * 0b0..Slow IRC is not the system clock source 16824 * 0b1..Slow IRC is the system clock source 16825 */ 16826 #define SCG_SIRCCSR_SIRCSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCSR_SIRCSEL_SHIFT)) & SCG_SIRCCSR_SIRCSEL_MASK) 16827 /*! @} */ 16828 16829 /*! @name SIRCDIV - Slow IRC Divide Register */ 16830 /*! @{ */ 16831 #define SCG_SIRCDIV_SIRCDIV1_MASK (0x7U) 16832 #define SCG_SIRCDIV_SIRCDIV1_SHIFT (0U) 16833 /*! SIRCDIV1 - Slow IRC Clock Divide 1 16834 * 0b000..Output disabled 16835 * 0b001..Divide by 1 16836 * 0b010..Divide by 2 16837 * 0b011..Divide by 4 16838 * 0b100..Divide by 8 16839 * 0b101..Divide by 16 16840 * 0b110..Divide by 32 16841 * 0b111..Divide by 64 16842 */ 16843 #define SCG_SIRCDIV_SIRCDIV1(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCDIV_SIRCDIV1_SHIFT)) & SCG_SIRCDIV_SIRCDIV1_MASK) 16844 #define SCG_SIRCDIV_SIRCDIV2_MASK (0x700U) 16845 #define SCG_SIRCDIV_SIRCDIV2_SHIFT (8U) 16846 /*! SIRCDIV2 - Slow IRC Clock Divide 2 16847 * 0b000..Output disabled 16848 * 0b001..Divide by 1 16849 * 0b010..Divide by 2 16850 * 0b011..Divide by 4 16851 * 0b100..Divide by 8 16852 * 0b101..Divide by 16 16853 * 0b110..Divide by 32 16854 * 0b111..Divide by 64 16855 */ 16856 #define SCG_SIRCDIV_SIRCDIV2(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCDIV_SIRCDIV2_SHIFT)) & SCG_SIRCDIV_SIRCDIV2_MASK) 16857 #define SCG_SIRCDIV_SIRCDIV3_MASK (0x70000U) 16858 #define SCG_SIRCDIV_SIRCDIV3_SHIFT (16U) 16859 /*! SIRCDIV3 - Slow IRC Clock Divider 3 16860 * 0b000..Output disabled 16861 * 0b001..Divide by 1 16862 * 0b010..Divide by 2 16863 * 0b011..Divide by 4 16864 * 0b100..Divide by 8 16865 * 0b101..Divide by 16 16866 * 0b110..Divide by 32 16867 * 0b111..Divide by 64 16868 */ 16869 #define SCG_SIRCDIV_SIRCDIV3(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCDIV_SIRCDIV3_SHIFT)) & SCG_SIRCDIV_SIRCDIV3_MASK) 16870 /*! @} */ 16871 16872 /*! @name SIRCCFG - Slow IRC Configuration Register */ 16873 /*! @{ */ 16874 #define SCG_SIRCCFG_RANGE_MASK (0x1U) 16875 #define SCG_SIRCCFG_RANGE_SHIFT (0U) 16876 /*! RANGE - Frequency Range 16877 * 0b0..Slow IRC low range clock (2MHz) 16878 * 0b1..Slow IRC high range clock (8 MHz) 16879 */ 16880 #define SCG_SIRCCFG_RANGE(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCFG_RANGE_SHIFT)) & SCG_SIRCCFG_RANGE_MASK) 16881 /*! @} */ 16882 16883 /*! @name FIRCCSR - Fast IRC Control Status Register */ 16884 /*! @{ */ 16885 #define SCG_FIRCCSR_FIRCEN_MASK (0x1U) 16886 #define SCG_FIRCCSR_FIRCEN_SHIFT (0U) 16887 /*! FIRCEN - Fast IRC Enable 16888 * 0b0..Fast IRC is disabled 16889 * 0b1..Fast IRC is enabled 16890 */ 16891 #define SCG_FIRCCSR_FIRCEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCEN_SHIFT)) & SCG_FIRCCSR_FIRCEN_MASK) 16892 #define SCG_FIRCCSR_FIRCSTEN_MASK (0x2U) 16893 #define SCG_FIRCCSR_FIRCSTEN_SHIFT (1U) 16894 /*! FIRCSTEN - Fast IRC Stop Enable 16895 * 0b0..Fast IRC is disabled in Stop modes. 16896 * 0b1..Fast IRC is enabled in Stop modes 16897 */ 16898 #define SCG_FIRCCSR_FIRCSTEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCSTEN_SHIFT)) & SCG_FIRCCSR_FIRCSTEN_MASK) 16899 #define SCG_FIRCCSR_FIRCLPEN_MASK (0x4U) 16900 #define SCG_FIRCCSR_FIRCLPEN_SHIFT (2U) 16901 /*! FIRCLPEN - Fast IRC Low Power Enable 16902 * 0b0..Fast IRC is disabled in VLP modes 16903 * 0b1..Fast IRC is enabled in VLP modes 16904 */ 16905 #define SCG_FIRCCSR_FIRCLPEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCLPEN_SHIFT)) & SCG_FIRCCSR_FIRCLPEN_MASK) 16906 #define SCG_FIRCCSR_FIRCREGOFF_MASK (0x8U) 16907 #define SCG_FIRCCSR_FIRCREGOFF_SHIFT (3U) 16908 /*! FIRCREGOFF - Fast IRC Regulator Enable 16909 * 0b0..Fast IRC Regulator is enabled. 16910 * 0b1..Fast IRC Regulator is disabled. 16911 */ 16912 #define SCG_FIRCCSR_FIRCREGOFF(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCREGOFF_SHIFT)) & SCG_FIRCCSR_FIRCREGOFF_MASK) 16913 #define SCG_FIRCCSR_FIRCTREN_MASK (0x100U) 16914 #define SCG_FIRCCSR_FIRCTREN_SHIFT (8U) 16915 /*! FIRCTREN - Fast IRC Trim Enable 16916 * 0b0..Disable trimming Fast IRC to an external clock source 16917 * 0b1..Enable trimming Fast IRC to an external clock source 16918 */ 16919 #define SCG_FIRCCSR_FIRCTREN(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCTREN_SHIFT)) & SCG_FIRCCSR_FIRCTREN_MASK) 16920 #define SCG_FIRCCSR_FIRCTRUP_MASK (0x200U) 16921 #define SCG_FIRCCSR_FIRCTRUP_SHIFT (9U) 16922 /*! FIRCTRUP - Fast IRC Trim Update 16923 * 0b0..Disable Fast IRC trimming updates 16924 * 0b1..Enable Fast IRC trimming updates 16925 */ 16926 #define SCG_FIRCCSR_FIRCTRUP(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCTRUP_SHIFT)) & SCG_FIRCCSR_FIRCTRUP_MASK) 16927 #define SCG_FIRCCSR_LK_MASK (0x800000U) 16928 #define SCG_FIRCCSR_LK_SHIFT (23U) 16929 /*! LK - Lock Register 16930 * 0b0..Control Status Register can be written. 16931 * 0b1..Control Status Register cannot be written. 16932 */ 16933 #define SCG_FIRCCSR_LK(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_LK_SHIFT)) & SCG_FIRCCSR_LK_MASK) 16934 #define SCG_FIRCCSR_FIRCVLD_MASK (0x1000000U) 16935 #define SCG_FIRCCSR_FIRCVLD_SHIFT (24U) 16936 /*! FIRCVLD - Fast IRC Valid status 16937 * 0b0..Fast IRC is not enabled or clock is not valid. 16938 * 0b1..Fast IRC is enabled and output clock is valid. The clock is valid once there is an output clock from the FIRC analog. 16939 */ 16940 #define SCG_FIRCCSR_FIRCVLD(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCVLD_SHIFT)) & SCG_FIRCCSR_FIRCVLD_MASK) 16941 #define SCG_FIRCCSR_FIRCSEL_MASK (0x2000000U) 16942 #define SCG_FIRCCSR_FIRCSEL_SHIFT (25U) 16943 /*! FIRCSEL - Fast IRC Selected status 16944 * 0b0..Fast IRC is not the system clock source 16945 * 0b1..Fast IRC is the system clock source 16946 */ 16947 #define SCG_FIRCCSR_FIRCSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCSEL_SHIFT)) & SCG_FIRCCSR_FIRCSEL_MASK) 16948 #define SCG_FIRCCSR_FIRCERR_MASK (0x4000000U) 16949 #define SCG_FIRCCSR_FIRCERR_SHIFT (26U) 16950 /*! FIRCERR - Fast IRC Clock Error 16951 * 0b0..Error not detected with the Fast IRC trimming. 16952 * 0b1..Error detected with the Fast IRC trimming. 16953 */ 16954 #define SCG_FIRCCSR_FIRCERR(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCERR_SHIFT)) & SCG_FIRCCSR_FIRCERR_MASK) 16955 /*! @} */ 16956 16957 /*! @name FIRCDIV - Fast IRC Divide Register */ 16958 /*! @{ */ 16959 #define SCG_FIRCDIV_FIRCDIV1_MASK (0x7U) 16960 #define SCG_FIRCDIV_FIRCDIV1_SHIFT (0U) 16961 /*! FIRCDIV1 - Fast IRC Clock Divide 1 16962 * 0b000..Output disabled 16963 * 0b001..Divide by 1 16964 * 0b010..Divide by 2 16965 * 0b011..Divide by 4 16966 * 0b100..Divide by 8 16967 * 0b101..Divide by 16 16968 * 0b110..Divide by 32 16969 * 0b111..Divide by 64 16970 */ 16971 #define SCG_FIRCDIV_FIRCDIV1(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCDIV_FIRCDIV1_SHIFT)) & SCG_FIRCDIV_FIRCDIV1_MASK) 16972 #define SCG_FIRCDIV_FIRCDIV2_MASK (0x700U) 16973 #define SCG_FIRCDIV_FIRCDIV2_SHIFT (8U) 16974 /*! FIRCDIV2 - Fast IRC Clock Divide 2 16975 * 0b000..Output disabled 16976 * 0b001..Divide by 1 16977 * 0b010..Divide by 2 16978 * 0b011..Divide by 4 16979 * 0b100..Divide by 8 16980 * 0b101..Divide by 16 16981 * 0b110..Divide by 32 16982 * 0b111..Divide by 64 16983 */ 16984 #define SCG_FIRCDIV_FIRCDIV2(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCDIV_FIRCDIV2_SHIFT)) & SCG_FIRCDIV_FIRCDIV2_MASK) 16985 #define SCG_FIRCDIV_FIRCDIV3_MASK (0x70000U) 16986 #define SCG_FIRCDIV_FIRCDIV3_SHIFT (16U) 16987 /*! FIRCDIV3 - Fast IRC Clock Divider 3 16988 * 0b000..Clock disabled 16989 * 0b001..Divide by 1 16990 * 0b010..Divide by 2 16991 * 0b011..Divide by 4 16992 * 0b100..Divide by 8 16993 * 0b101..Divide by 16 16994 * 0b110..Divide by 32 16995 * 0b111..Divide by 64 16996 */ 16997 #define SCG_FIRCDIV_FIRCDIV3(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCDIV_FIRCDIV3_SHIFT)) & SCG_FIRCDIV_FIRCDIV3_MASK) 16998 /*! @} */ 16999 17000 /*! @name FIRCCFG - Fast IRC Configuration Register */ 17001 /*! @{ */ 17002 #define SCG_FIRCCFG_RANGE_MASK (0x3U) 17003 #define SCG_FIRCCFG_RANGE_SHIFT (0U) 17004 /*! RANGE - Frequency Range 17005 * 0b00..Fast IRC is trimmed to 48 MHz 17006 * 0b01..Fast IRC is trimmed to 52 MHz 17007 * 0b10..Fast IRC is trimmed to 56 MHz 17008 * 0b11..Fast IRC is trimmed to 60 MHz 17009 */ 17010 #define SCG_FIRCCFG_RANGE(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCFG_RANGE_SHIFT)) & SCG_FIRCCFG_RANGE_MASK) 17011 /*! @} */ 17012 17013 /*! @name FIRCTCFG - Fast IRC Trim Configuration Register */ 17014 /*! @{ */ 17015 #define SCG_FIRCTCFG_TRIMSRC_MASK (0x3U) 17016 #define SCG_FIRCTCFG_TRIMSRC_SHIFT (0U) 17017 /*! TRIMSRC - Trim Source 17018 * 0b00..Reserved 17019 * 0b01..Reserved 17020 * 0b10..System OSC. This option requires that SOSC be divided using the TRIMDIV field to get a frequency slower than 32kHz. 17021 * 0b11..RTC OSC (32.768 kHz) 17022 */ 17023 #define SCG_FIRCTCFG_TRIMSRC(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCTCFG_TRIMSRC_SHIFT)) & SCG_FIRCTCFG_TRIMSRC_MASK) 17024 #define SCG_FIRCTCFG_TRIMDIV_MASK (0x700U) 17025 #define SCG_FIRCTCFG_TRIMDIV_SHIFT (8U) 17026 /*! TRIMDIV - Fast IRC Trim Predivide 17027 * 0b000..Divide by 1 17028 * 0b001..Divide by 128 17029 * 0b010..Divide by 256 17030 * 0b011..Divide by 512 17031 * 0b100..Divide by 1024 17032 * 0b101..Divide by 2048 17033 * 0b110..Reserved. Writing this value will result in Divide by 1. 17034 * 0b111..Reserved. Writing this value will result in a Divide by 1. 17035 */ 17036 #define SCG_FIRCTCFG_TRIMDIV(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCTCFG_TRIMDIV_SHIFT)) & SCG_FIRCTCFG_TRIMDIV_MASK) 17037 /*! @} */ 17038 17039 /*! @name FIRCSTAT - Fast IRC Status Register */ 17040 /*! @{ */ 17041 #define SCG_FIRCSTAT_TRIMFINE_MASK (0x7FU) 17042 #define SCG_FIRCSTAT_TRIMFINE_SHIFT (0U) 17043 #define SCG_FIRCSTAT_TRIMFINE(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCSTAT_TRIMFINE_SHIFT)) & SCG_FIRCSTAT_TRIMFINE_MASK) 17044 #define SCG_FIRCSTAT_TRIMCOAR_MASK (0x3F00U) 17045 #define SCG_FIRCSTAT_TRIMCOAR_SHIFT (8U) 17046 #define SCG_FIRCSTAT_TRIMCOAR(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCSTAT_TRIMCOAR_SHIFT)) & SCG_FIRCSTAT_TRIMCOAR_MASK) 17047 /*! @} */ 17048 17049 /*! @name ROSCCSR - RTC OSC Control Status Register */ 17050 /*! @{ */ 17051 #define SCG_ROSCCSR_ROSCCM_MASK (0x10000U) 17052 #define SCG_ROSCCSR_ROSCCM_SHIFT (16U) 17053 /*! ROSCCM - RTC OSC Clock Monitor 17054 * 0b0..RTC OSC Clock Monitor is disabled 17055 * 0b1..RTC OSC Clock Monitor is enabled 17056 */ 17057 #define SCG_ROSCCSR_ROSCCM(x) (((uint32_t)(((uint32_t)(x)) << SCG_ROSCCSR_ROSCCM_SHIFT)) & SCG_ROSCCSR_ROSCCM_MASK) 17058 #define SCG_ROSCCSR_ROSCCMRE_MASK (0x20000U) 17059 #define SCG_ROSCCSR_ROSCCMRE_SHIFT (17U) 17060 /*! ROSCCMRE - RTC OSC Clock Monitor Reset Enable 17061 * 0b0..Clock Monitor generates interrupt when error detected 17062 * 0b1..Clock Monitor generates reset when error detected 17063 */ 17064 #define SCG_ROSCCSR_ROSCCMRE(x) (((uint32_t)(((uint32_t)(x)) << SCG_ROSCCSR_ROSCCMRE_SHIFT)) & SCG_ROSCCSR_ROSCCMRE_MASK) 17065 #define SCG_ROSCCSR_LK_MASK (0x800000U) 17066 #define SCG_ROSCCSR_LK_SHIFT (23U) 17067 /*! LK - Lock Register 17068 * 0b0..Control Status Register can be written. 17069 * 0b1..Control Status Register cannot be written. 17070 */ 17071 #define SCG_ROSCCSR_LK(x) (((uint32_t)(((uint32_t)(x)) << SCG_ROSCCSR_LK_SHIFT)) & SCG_ROSCCSR_LK_MASK) 17072 #define SCG_ROSCCSR_ROSCVLD_MASK (0x1000000U) 17073 #define SCG_ROSCCSR_ROSCVLD_SHIFT (24U) 17074 /*! ROSCVLD - RTC OSC Valid 17075 * 0b0..RTC OSC is not enabled or clock is not valid 17076 * 0b1..RTC OSC is enabled and output clock is valid 17077 */ 17078 #define SCG_ROSCCSR_ROSCVLD(x) (((uint32_t)(((uint32_t)(x)) << SCG_ROSCCSR_ROSCVLD_SHIFT)) & SCG_ROSCCSR_ROSCVLD_MASK) 17079 #define SCG_ROSCCSR_ROSCSEL_MASK (0x2000000U) 17080 #define SCG_ROSCCSR_ROSCSEL_SHIFT (25U) 17081 /*! ROSCSEL - RTC OSC Selected 17082 * 0b0..RTC OSC is not the system clock source 17083 * 0b1..RTC OSC is the system clock source 17084 */ 17085 #define SCG_ROSCCSR_ROSCSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_ROSCCSR_ROSCSEL_SHIFT)) & SCG_ROSCCSR_ROSCSEL_MASK) 17086 #define SCG_ROSCCSR_ROSCERR_MASK (0x4000000U) 17087 #define SCG_ROSCCSR_ROSCERR_SHIFT (26U) 17088 /*! ROSCERR - RTC OSC Clock Error 17089 * 0b0..RTC OSC Clock Monitor is disabled or has not detected an error 17090 * 0b1..RTC OSC Clock Monitor is enabled and detected an RTC loss of clock error 17091 */ 17092 #define SCG_ROSCCSR_ROSCERR(x) (((uint32_t)(((uint32_t)(x)) << SCG_ROSCCSR_ROSCERR_SHIFT)) & SCG_ROSCCSR_ROSCERR_MASK) 17093 /*! @} */ 17094 17095 /*! @name LPFLLCSR - Low Power FLL Control Status Register */ 17096 /*! @{ */ 17097 #define SCG_LPFLLCSR_LPFLLEN_MASK (0x1U) 17098 #define SCG_LPFLLCSR_LPFLLEN_SHIFT (0U) 17099 /*! LPFLLEN - LPFLL Enable 17100 * 0b0..LPFLL is disabled 17101 * 0b1..LPFLL is enabled 17102 */ 17103 #define SCG_LPFLLCSR_LPFLLEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLEN_SHIFT)) & SCG_LPFLLCSR_LPFLLEN_MASK) 17104 #define SCG_LPFLLCSR_LPFLLSTEN_MASK (0x2U) 17105 #define SCG_LPFLLCSR_LPFLLSTEN_SHIFT (1U) 17106 /*! LPFLLSTEN - LPFLL Stop Enable 17107 * 0b0..LPFLL is disabled in Stop modes. 17108 * 0b1..LPFLL is enabled in Stop modes 17109 */ 17110 #define SCG_LPFLLCSR_LPFLLSTEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLSTEN_SHIFT)) & SCG_LPFLLCSR_LPFLLSTEN_MASK) 17111 #define SCG_LPFLLCSR_LPFLLTREN_MASK (0x100U) 17112 #define SCG_LPFLLCSR_LPFLLTREN_SHIFT (8U) 17113 /*! LPFLLTREN - LPFLL Trim Enable 17114 * 0b0..Disable trimming LPFLL to an reference clock source 17115 * 0b1..Enable trimming LPFLL to an reference clock source 17116 */ 17117 #define SCG_LPFLLCSR_LPFLLTREN(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLTREN_SHIFT)) & SCG_LPFLLCSR_LPFLLTREN_MASK) 17118 #define SCG_LPFLLCSR_LPFLLTRUP_MASK (0x200U) 17119 #define SCG_LPFLLCSR_LPFLLTRUP_SHIFT (9U) 17120 /*! LPFLLTRUP - LPFLL Trim Update 17121 * 0b0..Disable LPFLL trimming updates. LPFLL frequency determined by AUTOTRIM written value. 17122 * 0b1..Enable LPFLL trimming updates. LPFLL frequency determined by reference clock multiplication 17123 */ 17124 #define SCG_LPFLLCSR_LPFLLTRUP(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLTRUP_SHIFT)) & SCG_LPFLLCSR_LPFLLTRUP_MASK) 17125 #define SCG_LPFLLCSR_LPFLLTRMLOCK_MASK (0x400U) 17126 #define SCG_LPFLLCSR_LPFLLTRMLOCK_SHIFT (10U) 17127 /*! LPFLLTRMLOCK - LPFLL Trim LOCK 17128 * 0b0..LPFLL not Locked 17129 * 0b1..LPFLL trimmed and Locked 17130 */ 17131 #define SCG_LPFLLCSR_LPFLLTRMLOCK(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLTRMLOCK_SHIFT)) & SCG_LPFLLCSR_LPFLLTRMLOCK_MASK) 17132 #define SCG_LPFLLCSR_LPFLLCM_MASK (0x10000U) 17133 #define SCG_LPFLLCSR_LPFLLCM_SHIFT (16U) 17134 /*! LPFLLCM - LPFLL Clock Monitor 17135 * 0b0..LPFLL Clock Monitor is disabled 17136 * 0b1..LPFLL Clock Monitor is enabled 17137 */ 17138 #define SCG_LPFLLCSR_LPFLLCM(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLCM_SHIFT)) & SCG_LPFLLCSR_LPFLLCM_MASK) 17139 #define SCG_LPFLLCSR_LPFLLCMRE_MASK (0x20000U) 17140 #define SCG_LPFLLCSR_LPFLLCMRE_SHIFT (17U) 17141 /*! LPFLLCMRE - LPFLL Clock Monitor Reset Enable 17142 * 0b0..Clock Monitor generates interrupt when error detected 17143 * 0b1..Clock Monitor generates reset when error detected 17144 */ 17145 #define SCG_LPFLLCSR_LPFLLCMRE(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLCMRE_SHIFT)) & SCG_LPFLLCSR_LPFLLCMRE_MASK) 17146 #define SCG_LPFLLCSR_LK_MASK (0x800000U) 17147 #define SCG_LPFLLCSR_LK_SHIFT (23U) 17148 /*! LK - Lock Register 17149 * 0b0..Control Status Register can be written. 17150 * 0b1..Control Status Register cannot be written. 17151 */ 17152 #define SCG_LPFLLCSR_LK(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LK_SHIFT)) & SCG_LPFLLCSR_LK_MASK) 17153 #define SCG_LPFLLCSR_LPFLLVLD_MASK (0x1000000U) 17154 #define SCG_LPFLLCSR_LPFLLVLD_SHIFT (24U) 17155 /*! LPFLLVLD - LPFLL Valid 17156 * 0b0..LPFLL is not enabled or clock is not valid. 17157 * 0b1..LPFLL is enabled and output clock is valid. 17158 */ 17159 #define SCG_LPFLLCSR_LPFLLVLD(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLVLD_SHIFT)) & SCG_LPFLLCSR_LPFLLVLD_MASK) 17160 #define SCG_LPFLLCSR_LPFLLSEL_MASK (0x2000000U) 17161 #define SCG_LPFLLCSR_LPFLLSEL_SHIFT (25U) 17162 /*! LPFLLSEL - LPFLL Selected 17163 * 0b0..LPFLL is not the system clock source 17164 * 0b1..LPFLL is the system clock source 17165 */ 17166 #define SCG_LPFLLCSR_LPFLLSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLSEL_SHIFT)) & SCG_LPFLLCSR_LPFLLSEL_MASK) 17167 #define SCG_LPFLLCSR_LPFLLERR_MASK (0x4000000U) 17168 #define SCG_LPFLLCSR_LPFLLERR_SHIFT (26U) 17169 /*! LPFLLERR - LPFLL Clock Error 17170 * 0b0..Error not detected with the LPFLL trimming. 17171 * 0b1..Error detected with the LPFLL trimming. 17172 */ 17173 #define SCG_LPFLLCSR_LPFLLERR(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLERR_SHIFT)) & SCG_LPFLLCSR_LPFLLERR_MASK) 17174 /*! @} */ 17175 17176 /*! @name LPFLLDIV - Low Power FLL Divide Register */ 17177 /*! @{ */ 17178 #define SCG_LPFLLDIV_LPFLLDIV1_MASK (0x7U) 17179 #define SCG_LPFLLDIV_LPFLLDIV1_SHIFT (0U) 17180 /*! LPFLLDIV1 - LPFLL Clock Divide 1 17181 * 0b000..Output disabled 17182 * 0b001..Divide by 1 17183 * 0b010..Divide by 2 17184 * 0b011..Divide by 4 17185 * 0b100..Divide by 8 17186 * 0b101..Divide by 16 17187 * 0b110..Divide by 32 17188 * 0b111..Divide by 64 17189 */ 17190 #define SCG_LPFLLDIV_LPFLLDIV1(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLDIV_LPFLLDIV1_SHIFT)) & SCG_LPFLLDIV_LPFLLDIV1_MASK) 17191 #define SCG_LPFLLDIV_LPFLLDIV2_MASK (0x700U) 17192 #define SCG_LPFLLDIV_LPFLLDIV2_SHIFT (8U) 17193 /*! LPFLLDIV2 - LPFLL Clock Divide 2 17194 * 0b000..Output disabled 17195 * 0b001..Divide by 1 17196 * 0b010..Divide by 2 17197 * 0b011..Divide by 4 17198 * 0b100..Divide by 8 17199 * 0b101..Divide by 16 17200 * 0b110..Divide by 32 17201 * 0b111..Divide by 64 17202 */ 17203 #define SCG_LPFLLDIV_LPFLLDIV2(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLDIV_LPFLLDIV2_SHIFT)) & SCG_LPFLLDIV_LPFLLDIV2_MASK) 17204 #define SCG_LPFLLDIV_LPFLLDIV3_MASK (0x70000U) 17205 #define SCG_LPFLLDIV_LPFLLDIV3_SHIFT (16U) 17206 /*! LPFLLDIV3 - LPFLL Clock Divide 3 17207 * 0b000..Clock disabled 17208 * 0b001..Divide by 1 17209 * 0b010..Divide by 2 17210 * 0b011..Divide by 4 17211 * 0b100..Divide by 8 17212 * 0b101..Divide by 16 17213 * 0b110..Divide by 32 17214 * 0b111..Divide by 64 17215 */ 17216 #define SCG_LPFLLDIV_LPFLLDIV3(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLDIV_LPFLLDIV3_SHIFT)) & SCG_LPFLLDIV_LPFLLDIV3_MASK) 17217 /*! @} */ 17218 17219 /*! @name LPFLLCFG - Low Power FLL Configuration Register */ 17220 /*! @{ */ 17221 #define SCG_LPFLLCFG_FSEL_MASK (0x3U) 17222 #define SCG_LPFLLCFG_FSEL_SHIFT (0U) 17223 /*! FSEL - Frequency Select 17224 * 0b00..LPFLL is trimmed to 48 MHz. 17225 * 0b01..LPFLL is trimmed to 72 MHz. 17226 * 0b10..Reserved 17227 * 0b11..Reserved 17228 */ 17229 #define SCG_LPFLLCFG_FSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCFG_FSEL_SHIFT)) & SCG_LPFLLCFG_FSEL_MASK) 17230 /*! @} */ 17231 17232 /*! @name LPFLLTCFG - Low Power FLL Trim Configuration Register */ 17233 /*! @{ */ 17234 #define SCG_LPFLLTCFG_TRIMSRC_MASK (0x3U) 17235 #define SCG_LPFLLTCFG_TRIMSRC_SHIFT (0U) 17236 /*! TRIMSRC - Trim Source 17237 * 0b00..SIRC 17238 * 0b01..FIRC 17239 * 0b10..System OSC 17240 * 0b11..RTC OSC 17241 */ 17242 #define SCG_LPFLLTCFG_TRIMSRC(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLTCFG_TRIMSRC_SHIFT)) & SCG_LPFLLTCFG_TRIMSRC_MASK) 17243 #define SCG_LPFLLTCFG_TRIMDIV_MASK (0x1F00U) 17244 #define SCG_LPFLLTCFG_TRIMDIV_SHIFT (8U) 17245 #define SCG_LPFLLTCFG_TRIMDIV(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLTCFG_TRIMDIV_SHIFT)) & SCG_LPFLLTCFG_TRIMDIV_MASK) 17246 #define SCG_LPFLLTCFG_LOCKW2LSB_MASK (0x10000U) 17247 #define SCG_LPFLLTCFG_LOCKW2LSB_SHIFT (16U) 17248 /*! LOCKW2LSB - Lock LPFLL with 2 LSBS 17249 * 0b0..LPFLL locks within 1LSB (0.4%) 17250 * 0b1..LPFLL locks within 2LSB (0.8%) 17251 */ 17252 #define SCG_LPFLLTCFG_LOCKW2LSB(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLTCFG_LOCKW2LSB_SHIFT)) & SCG_LPFLLTCFG_LOCKW2LSB_MASK) 17253 /*! @} */ 17254 17255 /*! @name LPFLLSTAT - Low Power FLL Status Register */ 17256 /*! @{ */ 17257 #define SCG_LPFLLSTAT_AUTOTRIM_MASK (0xFFU) 17258 #define SCG_LPFLLSTAT_AUTOTRIM_SHIFT (0U) 17259 #define SCG_LPFLLSTAT_AUTOTRIM(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLSTAT_AUTOTRIM_SHIFT)) & SCG_LPFLLSTAT_AUTOTRIM_MASK) 17260 /*! @} */ 17261 17262 17263 /*! 17264 * @} 17265 */ /* end of group SCG_Register_Masks */ 17266 17267 17268 /* SCG - Peripheral instance base addresses */ 17269 /** Peripheral SCG base address */ 17270 #define SCG_BASE (0x4002C000u) 17271 /** Peripheral SCG base pointer */ 17272 #define SCG ((SCG_Type *)SCG_BASE) 17273 /** Array initializer of SCG peripheral base addresses */ 17274 #define SCG_BASE_ADDRS { SCG_BASE } 17275 /** Array initializer of SCG peripheral base pointers */ 17276 #define SCG_BASE_PTRS { SCG } 17277 /** Interrupt vectors for the SCG peripheral type */ 17278 #define SCG_IRQS { SCG_IRQn } 17279 17280 /*! 17281 * @} 17282 */ /* end of group SCG_Peripheral_Access_Layer */ 17283 17284 17285 /* ---------------------------------------------------------------------------- 17286 -- SEMA42 Peripheral Access Layer 17287 ---------------------------------------------------------------------------- */ 17288 17289 /*! 17290 * @addtogroup SEMA42_Peripheral_Access_Layer SEMA42 Peripheral Access Layer 17291 * @{ 17292 */ 17293 17294 /** SEMA42 - Register Layout Typedef */ 17295 typedef struct { 17296 __IO uint8_t GATE3; /**< Gate Register, offset: 0x0 */ 17297 __IO uint8_t GATE2; /**< Gate Register, offset: 0x1 */ 17298 __IO uint8_t GATE1; /**< Gate Register, offset: 0x2 */ 17299 __IO uint8_t GATE0; /**< Gate Register, offset: 0x3 */ 17300 __IO uint8_t GATE7; /**< Gate Register, offset: 0x4 */ 17301 __IO uint8_t GATE6; /**< Gate Register, offset: 0x5 */ 17302 __IO uint8_t GATE5; /**< Gate Register, offset: 0x6 */ 17303 __IO uint8_t GATE4; /**< Gate Register, offset: 0x7 */ 17304 __IO uint8_t GATE11; /**< Gate Register, offset: 0x8 */ 17305 __IO uint8_t GATE10; /**< Gate Register, offset: 0x9 */ 17306 __IO uint8_t GATE9; /**< Gate Register, offset: 0xA */ 17307 __IO uint8_t GATE8; /**< Gate Register, offset: 0xB */ 17308 __IO uint8_t GATE15; /**< Gate Register, offset: 0xC */ 17309 __IO uint8_t GATE14; /**< Gate Register, offset: 0xD */ 17310 __IO uint8_t GATE13; /**< Gate Register, offset: 0xE */ 17311 __IO uint8_t GATE12; /**< Gate Register, offset: 0xF */ 17312 uint8_t RESERVED_0[50]; 17313 union { /* offset: 0x42 */ 17314 __I uint16_t RSTGT_R; /**< Reset Gate Read, offset: 0x42 */ 17315 __O uint16_t RSTGT_W; /**< Reset Gate Write, offset: 0x42 */ 17316 }; 17317 } SEMA42_Type; 17318 17319 /* ---------------------------------------------------------------------------- 17320 -- SEMA42 Register Masks 17321 ---------------------------------------------------------------------------- */ 17322 17323 /*! 17324 * @addtogroup SEMA42_Register_Masks SEMA42 Register Masks 17325 * @{ 17326 */ 17327 17328 /*! @name GATE3 - Gate Register */ 17329 /*! @{ */ 17330 #define SEMA42_GATE3_GTFSM_MASK (0xFU) 17331 #define SEMA42_GATE3_GTFSM_SHIFT (0U) 17332 /*! GTFSM - GTFSM 17333 * 0b0000..The gate is unlocked (free). 17334 * 0b0001..The gate has been locked by processor 0. 17335 * 0b0010..The gate has been locked by processor 1. 17336 * 0b0011..The gate has been locked by processor 2. 17337 * 0b0100..The gate has been locked by processor 3. 17338 * 0b0101..The gate has been locked by processor 4. 17339 * 0b0110..The gate has been locked by processor 5. 17340 * 0b0111..The gate has been locked by processor 6. 17341 * 0b1000..The gate has been locked by processor 7. 17342 * 0b1001..The gate has been locked by processor 8. 17343 * 0b1010..The gate has been locked by processor 9. 17344 * 0b1011..The gate has been locked by processor 10. 17345 * 0b1100..The gate has been locked by processor 11. 17346 * 0b1101..The gate has been locked by processor 12. 17347 * 0b1110..The gate has been locked by processor 13. 17348 * 0b1111..The gate has been locked by processor 14. 17349 */ 17350 #define SEMA42_GATE3_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE3_GTFSM_SHIFT)) & SEMA42_GATE3_GTFSM_MASK) 17351 /*! @} */ 17352 17353 /*! @name GATE2 - Gate Register */ 17354 /*! @{ */ 17355 #define SEMA42_GATE2_GTFSM_MASK (0xFU) 17356 #define SEMA42_GATE2_GTFSM_SHIFT (0U) 17357 /*! GTFSM - GTFSM 17358 * 0b0000..The gate is unlocked (free). 17359 * 0b0001..The gate has been locked by processor 0. 17360 * 0b0010..The gate has been locked by processor 1. 17361 * 0b0011..The gate has been locked by processor 2. 17362 * 0b0100..The gate has been locked by processor 3. 17363 * 0b0101..The gate has been locked by processor 4. 17364 * 0b0110..The gate has been locked by processor 5. 17365 * 0b0111..The gate has been locked by processor 6. 17366 * 0b1000..The gate has been locked by processor 7. 17367 * 0b1001..The gate has been locked by processor 8. 17368 * 0b1010..The gate has been locked by processor 9. 17369 * 0b1011..The gate has been locked by processor 10. 17370 * 0b1100..The gate has been locked by processor 11. 17371 * 0b1101..The gate has been locked by processor 12. 17372 * 0b1110..The gate has been locked by processor 13. 17373 * 0b1111..The gate has been locked by processor 14. 17374 */ 17375 #define SEMA42_GATE2_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE2_GTFSM_SHIFT)) & SEMA42_GATE2_GTFSM_MASK) 17376 /*! @} */ 17377 17378 /*! @name GATE1 - Gate Register */ 17379 /*! @{ */ 17380 #define SEMA42_GATE1_GTFSM_MASK (0xFU) 17381 #define SEMA42_GATE1_GTFSM_SHIFT (0U) 17382 /*! GTFSM - GTFSM 17383 * 0b0000..The gate is unlocked (free). 17384 * 0b0001..The gate has been locked by processor 0. 17385 * 0b0010..The gate has been locked by processor 1. 17386 * 0b0011..The gate has been locked by processor 2. 17387 * 0b0100..The gate has been locked by processor 3. 17388 * 0b0101..The gate has been locked by processor 4. 17389 * 0b0110..The gate has been locked by processor 5. 17390 * 0b0111..The gate has been locked by processor 6. 17391 * 0b1000..The gate has been locked by processor 7. 17392 * 0b1001..The gate has been locked by processor 8. 17393 * 0b1010..The gate has been locked by processor 9. 17394 * 0b1011..The gate has been locked by processor 10. 17395 * 0b1100..The gate has been locked by processor 11. 17396 * 0b1101..The gate has been locked by processor 12. 17397 * 0b1110..The gate has been locked by processor 13. 17398 * 0b1111..The gate has been locked by processor 14. 17399 */ 17400 #define SEMA42_GATE1_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE1_GTFSM_SHIFT)) & SEMA42_GATE1_GTFSM_MASK) 17401 /*! @} */ 17402 17403 /*! @name GATE0 - Gate Register */ 17404 /*! @{ */ 17405 #define SEMA42_GATE0_GTFSM_MASK (0xFU) 17406 #define SEMA42_GATE0_GTFSM_SHIFT (0U) 17407 /*! GTFSM - GTFSM 17408 * 0b0000..The gate is unlocked (free). 17409 * 0b0001..The gate has been locked by processor 0. 17410 * 0b0010..The gate has been locked by processor 1. 17411 * 0b0011..The gate has been locked by processor 2. 17412 * 0b0100..The gate has been locked by processor 3. 17413 * 0b0101..The gate has been locked by processor 4. 17414 * 0b0110..The gate has been locked by processor 5. 17415 * 0b0111..The gate has been locked by processor 6. 17416 * 0b1000..The gate has been locked by processor 7. 17417 * 0b1001..The gate has been locked by processor 8. 17418 * 0b1010..The gate has been locked by processor 9. 17419 * 0b1011..The gate has been locked by processor 10. 17420 * 0b1100..The gate has been locked by processor 11. 17421 * 0b1101..The gate has been locked by processor 12. 17422 * 0b1110..The gate has been locked by processor 13. 17423 * 0b1111..The gate has been locked by processor 14. 17424 */ 17425 #define SEMA42_GATE0_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE0_GTFSM_SHIFT)) & SEMA42_GATE0_GTFSM_MASK) 17426 /*! @} */ 17427 17428 /*! @name GATE7 - Gate Register */ 17429 /*! @{ */ 17430 #define SEMA42_GATE7_GTFSM_MASK (0xFU) 17431 #define SEMA42_GATE7_GTFSM_SHIFT (0U) 17432 /*! GTFSM - GTFSM 17433 * 0b0000..The gate is unlocked (free). 17434 * 0b0001..The gate has been locked by processor 0. 17435 * 0b0010..The gate has been locked by processor 1. 17436 * 0b0011..The gate has been locked by processor 2. 17437 * 0b0100..The gate has been locked by processor 3. 17438 * 0b0101..The gate has been locked by processor 4. 17439 * 0b0110..The gate has been locked by processor 5. 17440 * 0b0111..The gate has been locked by processor 6. 17441 * 0b1000..The gate has been locked by processor 7. 17442 * 0b1001..The gate has been locked by processor 8. 17443 * 0b1010..The gate has been locked by processor 9. 17444 * 0b1011..The gate has been locked by processor 10. 17445 * 0b1100..The gate has been locked by processor 11. 17446 * 0b1101..The gate has been locked by processor 12. 17447 * 0b1110..The gate has been locked by processor 13. 17448 * 0b1111..The gate has been locked by processor 14. 17449 */ 17450 #define SEMA42_GATE7_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE7_GTFSM_SHIFT)) & SEMA42_GATE7_GTFSM_MASK) 17451 /*! @} */ 17452 17453 /*! @name GATE6 - Gate Register */ 17454 /*! @{ */ 17455 #define SEMA42_GATE6_GTFSM_MASK (0xFU) 17456 #define SEMA42_GATE6_GTFSM_SHIFT (0U) 17457 /*! GTFSM - GTFSM 17458 * 0b0000..The gate is unlocked (free). 17459 * 0b0001..The gate has been locked by processor 0. 17460 * 0b0010..The gate has been locked by processor 1. 17461 * 0b0011..The gate has been locked by processor 2. 17462 * 0b0100..The gate has been locked by processor 3. 17463 * 0b0101..The gate has been locked by processor 4. 17464 * 0b0110..The gate has been locked by processor 5. 17465 * 0b0111..The gate has been locked by processor 6. 17466 * 0b1000..The gate has been locked by processor 7. 17467 * 0b1001..The gate has been locked by processor 8. 17468 * 0b1010..The gate has been locked by processor 9. 17469 * 0b1011..The gate has been locked by processor 10. 17470 * 0b1100..The gate has been locked by processor 11. 17471 * 0b1101..The gate has been locked by processor 12. 17472 * 0b1110..The gate has been locked by processor 13. 17473 * 0b1111..The gate has been locked by processor 14. 17474 */ 17475 #define SEMA42_GATE6_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE6_GTFSM_SHIFT)) & SEMA42_GATE6_GTFSM_MASK) 17476 /*! @} */ 17477 17478 /*! @name GATE5 - Gate Register */ 17479 /*! @{ */ 17480 #define SEMA42_GATE5_GTFSM_MASK (0xFU) 17481 #define SEMA42_GATE5_GTFSM_SHIFT (0U) 17482 /*! GTFSM - GTFSM 17483 * 0b0000..The gate is unlocked (free). 17484 * 0b0001..The gate has been locked by processor 0. 17485 * 0b0010..The gate has been locked by processor 1. 17486 * 0b0011..The gate has been locked by processor 2. 17487 * 0b0100..The gate has been locked by processor 3. 17488 * 0b0101..The gate has been locked by processor 4. 17489 * 0b0110..The gate has been locked by processor 5. 17490 * 0b0111..The gate has been locked by processor 6. 17491 * 0b1000..The gate has been locked by processor 7. 17492 * 0b1001..The gate has been locked by processor 8. 17493 * 0b1010..The gate has been locked by processor 9. 17494 * 0b1011..The gate has been locked by processor 10. 17495 * 0b1100..The gate has been locked by processor 11. 17496 * 0b1101..The gate has been locked by processor 12. 17497 * 0b1110..The gate has been locked by processor 13. 17498 * 0b1111..The gate has been locked by processor 14. 17499 */ 17500 #define SEMA42_GATE5_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE5_GTFSM_SHIFT)) & SEMA42_GATE5_GTFSM_MASK) 17501 /*! @} */ 17502 17503 /*! @name GATE4 - Gate Register */ 17504 /*! @{ */ 17505 #define SEMA42_GATE4_GTFSM_MASK (0xFU) 17506 #define SEMA42_GATE4_GTFSM_SHIFT (0U) 17507 /*! GTFSM - GTFSM 17508 * 0b0000..The gate is unlocked (free). 17509 * 0b0001..The gate has been locked by processor 0. 17510 * 0b0010..The gate has been locked by processor 1. 17511 * 0b0011..The gate has been locked by processor 2. 17512 * 0b0100..The gate has been locked by processor 3. 17513 * 0b0101..The gate has been locked by processor 4. 17514 * 0b0110..The gate has been locked by processor 5. 17515 * 0b0111..The gate has been locked by processor 6. 17516 * 0b1000..The gate has been locked by processor 7. 17517 * 0b1001..The gate has been locked by processor 8. 17518 * 0b1010..The gate has been locked by processor 9. 17519 * 0b1011..The gate has been locked by processor 10. 17520 * 0b1100..The gate has been locked by processor 11. 17521 * 0b1101..The gate has been locked by processor 12. 17522 * 0b1110..The gate has been locked by processor 13. 17523 * 0b1111..The gate has been locked by processor 14. 17524 */ 17525 #define SEMA42_GATE4_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE4_GTFSM_SHIFT)) & SEMA42_GATE4_GTFSM_MASK) 17526 /*! @} */ 17527 17528 /*! @name GATE11 - Gate Register */ 17529 /*! @{ */ 17530 #define SEMA42_GATE11_GTFSM_MASK (0xFU) 17531 #define SEMA42_GATE11_GTFSM_SHIFT (0U) 17532 /*! GTFSM - GTFSM 17533 * 0b0000..The gate is unlocked (free). 17534 * 0b0001..The gate has been locked by processor 0. 17535 * 0b0010..The gate has been locked by processor 1. 17536 * 0b0011..The gate has been locked by processor 2. 17537 * 0b0100..The gate has been locked by processor 3. 17538 * 0b0101..The gate has been locked by processor 4. 17539 * 0b0110..The gate has been locked by processor 5. 17540 * 0b0111..The gate has been locked by processor 6. 17541 * 0b1000..The gate has been locked by processor 7. 17542 * 0b1001..The gate has been locked by processor 8. 17543 * 0b1010..The gate has been locked by processor 9. 17544 * 0b1011..The gate has been locked by processor 10. 17545 * 0b1100..The gate has been locked by processor 11. 17546 * 0b1101..The gate has been locked by processor 12. 17547 * 0b1110..The gate has been locked by processor 13. 17548 * 0b1111..The gate has been locked by processor 14. 17549 */ 17550 #define SEMA42_GATE11_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE11_GTFSM_SHIFT)) & SEMA42_GATE11_GTFSM_MASK) 17551 /*! @} */ 17552 17553 /*! @name GATE10 - Gate Register */ 17554 /*! @{ */ 17555 #define SEMA42_GATE10_GTFSM_MASK (0xFU) 17556 #define SEMA42_GATE10_GTFSM_SHIFT (0U) 17557 /*! GTFSM - GTFSM 17558 * 0b0000..The gate is unlocked (free). 17559 * 0b0001..The gate has been locked by processor 0. 17560 * 0b0010..The gate has been locked by processor 1. 17561 * 0b0011..The gate has been locked by processor 2. 17562 * 0b0100..The gate has been locked by processor 3. 17563 * 0b0101..The gate has been locked by processor 4. 17564 * 0b0110..The gate has been locked by processor 5. 17565 * 0b0111..The gate has been locked by processor 6. 17566 * 0b1000..The gate has been locked by processor 7. 17567 * 0b1001..The gate has been locked by processor 8. 17568 * 0b1010..The gate has been locked by processor 9. 17569 * 0b1011..The gate has been locked by processor 10. 17570 * 0b1100..The gate has been locked by processor 11. 17571 * 0b1101..The gate has been locked by processor 12. 17572 * 0b1110..The gate has been locked by processor 13. 17573 * 0b1111..The gate has been locked by processor 14. 17574 */ 17575 #define SEMA42_GATE10_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE10_GTFSM_SHIFT)) & SEMA42_GATE10_GTFSM_MASK) 17576 /*! @} */ 17577 17578 /*! @name GATE9 - Gate Register */ 17579 /*! @{ */ 17580 #define SEMA42_GATE9_GTFSM_MASK (0xFU) 17581 #define SEMA42_GATE9_GTFSM_SHIFT (0U) 17582 /*! GTFSM - GTFSM 17583 * 0b0000..The gate is unlocked (free). 17584 * 0b0001..The gate has been locked by processor 0. 17585 * 0b0010..The gate has been locked by processor 1. 17586 * 0b0011..The gate has been locked by processor 2. 17587 * 0b0100..The gate has been locked by processor 3. 17588 * 0b0101..The gate has been locked by processor 4. 17589 * 0b0110..The gate has been locked by processor 5. 17590 * 0b0111..The gate has been locked by processor 6. 17591 * 0b1000..The gate has been locked by processor 7. 17592 * 0b1001..The gate has been locked by processor 8. 17593 * 0b1010..The gate has been locked by processor 9. 17594 * 0b1011..The gate has been locked by processor 10. 17595 * 0b1100..The gate has been locked by processor 11. 17596 * 0b1101..The gate has been locked by processor 12. 17597 * 0b1110..The gate has been locked by processor 13. 17598 * 0b1111..The gate has been locked by processor 14. 17599 */ 17600 #define SEMA42_GATE9_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE9_GTFSM_SHIFT)) & SEMA42_GATE9_GTFSM_MASK) 17601 /*! @} */ 17602 17603 /*! @name GATE8 - Gate Register */ 17604 /*! @{ */ 17605 #define SEMA42_GATE8_GTFSM_MASK (0xFU) 17606 #define SEMA42_GATE8_GTFSM_SHIFT (0U) 17607 /*! GTFSM - GTFSM 17608 * 0b0000..The gate is unlocked (free). 17609 * 0b0001..The gate has been locked by processor 0. 17610 * 0b0010..The gate has been locked by processor 1. 17611 * 0b0011..The gate has been locked by processor 2. 17612 * 0b0100..The gate has been locked by processor 3. 17613 * 0b0101..The gate has been locked by processor 4. 17614 * 0b0110..The gate has been locked by processor 5. 17615 * 0b0111..The gate has been locked by processor 6. 17616 * 0b1000..The gate has been locked by processor 7. 17617 * 0b1001..The gate has been locked by processor 8. 17618 * 0b1010..The gate has been locked by processor 9. 17619 * 0b1011..The gate has been locked by processor 10. 17620 * 0b1100..The gate has been locked by processor 11. 17621 * 0b1101..The gate has been locked by processor 12. 17622 * 0b1110..The gate has been locked by processor 13. 17623 * 0b1111..The gate has been locked by processor 14. 17624 */ 17625 #define SEMA42_GATE8_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE8_GTFSM_SHIFT)) & SEMA42_GATE8_GTFSM_MASK) 17626 /*! @} */ 17627 17628 /*! @name GATE15 - Gate Register */ 17629 /*! @{ */ 17630 #define SEMA42_GATE15_GTFSM_MASK (0xFU) 17631 #define SEMA42_GATE15_GTFSM_SHIFT (0U) 17632 /*! GTFSM - GTFSM 17633 * 0b0000..The gate is unlocked (free). 17634 * 0b0001..The gate has been locked by processor 0. 17635 * 0b0010..The gate has been locked by processor 1. 17636 * 0b0011..The gate has been locked by processor 2. 17637 * 0b0100..The gate has been locked by processor 3. 17638 * 0b0101..The gate has been locked by processor 4. 17639 * 0b0110..The gate has been locked by processor 5. 17640 * 0b0111..The gate has been locked by processor 6. 17641 * 0b1000..The gate has been locked by processor 7. 17642 * 0b1001..The gate has been locked by processor 8. 17643 * 0b1010..The gate has been locked by processor 9. 17644 * 0b1011..The gate has been locked by processor 10. 17645 * 0b1100..The gate has been locked by processor 11. 17646 * 0b1101..The gate has been locked by processor 12. 17647 * 0b1110..The gate has been locked by processor 13. 17648 * 0b1111..The gate has been locked by processor 14. 17649 */ 17650 #define SEMA42_GATE15_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE15_GTFSM_SHIFT)) & SEMA42_GATE15_GTFSM_MASK) 17651 /*! @} */ 17652 17653 /*! @name GATE14 - Gate Register */ 17654 /*! @{ */ 17655 #define SEMA42_GATE14_GTFSM_MASK (0xFU) 17656 #define SEMA42_GATE14_GTFSM_SHIFT (0U) 17657 /*! GTFSM - GTFSM 17658 * 0b0000..The gate is unlocked (free). 17659 * 0b0001..The gate has been locked by processor 0. 17660 * 0b0010..The gate has been locked by processor 1. 17661 * 0b0011..The gate has been locked by processor 2. 17662 * 0b0100..The gate has been locked by processor 3. 17663 * 0b0101..The gate has been locked by processor 4. 17664 * 0b0110..The gate has been locked by processor 5. 17665 * 0b0111..The gate has been locked by processor 6. 17666 * 0b1000..The gate has been locked by processor 7. 17667 * 0b1001..The gate has been locked by processor 8. 17668 * 0b1010..The gate has been locked by processor 9. 17669 * 0b1011..The gate has been locked by processor 10. 17670 * 0b1100..The gate has been locked by processor 11. 17671 * 0b1101..The gate has been locked by processor 12. 17672 * 0b1110..The gate has been locked by processor 13. 17673 * 0b1111..The gate has been locked by processor 14. 17674 */ 17675 #define SEMA42_GATE14_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE14_GTFSM_SHIFT)) & SEMA42_GATE14_GTFSM_MASK) 17676 /*! @} */ 17677 17678 /*! @name GATE13 - Gate Register */ 17679 /*! @{ */ 17680 #define SEMA42_GATE13_GTFSM_MASK (0xFU) 17681 #define SEMA42_GATE13_GTFSM_SHIFT (0U) 17682 /*! GTFSM - GTFSM 17683 * 0b0000..The gate is unlocked (free). 17684 * 0b0001..The gate has been locked by processor 0. 17685 * 0b0010..The gate has been locked by processor 1. 17686 * 0b0011..The gate has been locked by processor 2. 17687 * 0b0100..The gate has been locked by processor 3. 17688 * 0b0101..The gate has been locked by processor 4. 17689 * 0b0110..The gate has been locked by processor 5. 17690 * 0b0111..The gate has been locked by processor 6. 17691 * 0b1000..The gate has been locked by processor 7. 17692 * 0b1001..The gate has been locked by processor 8. 17693 * 0b1010..The gate has been locked by processor 9. 17694 * 0b1011..The gate has been locked by processor 10. 17695 * 0b1100..The gate has been locked by processor 11. 17696 * 0b1101..The gate has been locked by processor 12. 17697 * 0b1110..The gate has been locked by processor 13. 17698 * 0b1111..The gate has been locked by processor 14. 17699 */ 17700 #define SEMA42_GATE13_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE13_GTFSM_SHIFT)) & SEMA42_GATE13_GTFSM_MASK) 17701 /*! @} */ 17702 17703 /*! @name GATE12 - Gate Register */ 17704 /*! @{ */ 17705 #define SEMA42_GATE12_GTFSM_MASK (0xFU) 17706 #define SEMA42_GATE12_GTFSM_SHIFT (0U) 17707 /*! GTFSM - GTFSM 17708 * 0b0000..The gate is unlocked (free). 17709 * 0b0001..The gate has been locked by processor 0. 17710 * 0b0010..The gate has been locked by processor 1. 17711 * 0b0011..The gate has been locked by processor 2. 17712 * 0b0100..The gate has been locked by processor 3. 17713 * 0b0101..The gate has been locked by processor 4. 17714 * 0b0110..The gate has been locked by processor 5. 17715 * 0b0111..The gate has been locked by processor 6. 17716 * 0b1000..The gate has been locked by processor 7. 17717 * 0b1001..The gate has been locked by processor 8. 17718 * 0b1010..The gate has been locked by processor 9. 17719 * 0b1011..The gate has been locked by processor 10. 17720 * 0b1100..The gate has been locked by processor 11. 17721 * 0b1101..The gate has been locked by processor 12. 17722 * 0b1110..The gate has been locked by processor 13. 17723 * 0b1111..The gate has been locked by processor 14. 17724 */ 17725 #define SEMA42_GATE12_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE12_GTFSM_SHIFT)) & SEMA42_GATE12_GTFSM_MASK) 17726 /*! @} */ 17727 17728 /*! @name RSTGT_R - Reset Gate Read */ 17729 /*! @{ */ 17730 #define SEMA42_RSTGT_R_RSTGTN_MASK (0xFFU) 17731 #define SEMA42_RSTGT_R_RSTGTN_SHIFT (0U) 17732 #define SEMA42_RSTGT_R_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_RSTGTN_SHIFT)) & SEMA42_RSTGT_R_RSTGTN_MASK) 17733 #define SEMA42_RSTGT_R_RSTGMS_MASK (0xF00U) 17734 #define SEMA42_RSTGT_R_RSTGMS_SHIFT (8U) 17735 #define SEMA42_RSTGT_R_RSTGMS(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_RSTGMS_SHIFT)) & SEMA42_RSTGT_R_RSTGMS_MASK) 17736 #define SEMA42_RSTGT_R_RSTGSM_MASK (0x3000U) 17737 #define SEMA42_RSTGT_R_RSTGSM_SHIFT (12U) 17738 /*! RSTGSM - RSTGSM 17739 * 0b00..Idle, waiting for the first data pattern write. 17740 * 0b01..Waiting for the second data pattern write. 17741 * 0b10..The 2-write sequence has completed. Generate the specified gate reset(s). After the reset is performed, this machine returns to the idle (waiting for first data pattern write) state. The "01" state persists for only one clock cycle. Software cannot observe this state. 17742 * 0b11..This state encoding is never used and therefore reserved. 17743 */ 17744 #define SEMA42_RSTGT_R_RSTGSM(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_RSTGSM_SHIFT)) & SEMA42_RSTGT_R_RSTGSM_MASK) 17745 #define SEMA42_RSTGT_R_ROZ_MASK (0xC000U) 17746 #define SEMA42_RSTGT_R_ROZ_SHIFT (14U) 17747 #define SEMA42_RSTGT_R_ROZ(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_ROZ_SHIFT)) & SEMA42_RSTGT_R_ROZ_MASK) 17748 /*! @} */ 17749 17750 /*! @name RSTGT_W - Reset Gate Write */ 17751 /*! @{ */ 17752 #define SEMA42_RSTGT_W_RSTGTN_MASK (0xFFU) 17753 #define SEMA42_RSTGT_W_RSTGTN_SHIFT (0U) 17754 #define SEMA42_RSTGT_W_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_W_RSTGTN_SHIFT)) & SEMA42_RSTGT_W_RSTGTN_MASK) 17755 #define SEMA42_RSTGT_W_RSTGDP_MASK (0xFF00U) 17756 #define SEMA42_RSTGT_W_RSTGDP_SHIFT (8U) 17757 #define SEMA42_RSTGT_W_RSTGDP(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_W_RSTGDP_SHIFT)) & SEMA42_RSTGT_W_RSTGDP_MASK) 17758 /*! @} */ 17759 17760 17761 /*! 17762 * @} 17763 */ /* end of group SEMA42_Register_Masks */ 17764 17765 17766 /* SEMA42 - Peripheral instance base addresses */ 17767 /** Peripheral SEMA420 base address */ 17768 #define SEMA420_BASE (0x4001B000u) 17769 /** Peripheral SEMA420 base pointer */ 17770 #define SEMA420 ((SEMA42_Type *)SEMA420_BASE) 17771 /** Peripheral SEMA421 base address */ 17772 #define SEMA421_BASE (0x4101B000u) 17773 /** Peripheral SEMA421 base pointer */ 17774 #define SEMA421 ((SEMA42_Type *)SEMA421_BASE) 17775 /** Array initializer of SEMA42 peripheral base addresses */ 17776 #define SEMA42_BASE_ADDRS { SEMA420_BASE, SEMA421_BASE } 17777 /** Array initializer of SEMA42 peripheral base pointers */ 17778 #define SEMA42_BASE_PTRS { SEMA420, SEMA421 } 17779 17780 /*! 17781 * @} 17782 */ /* end of group SEMA42_Peripheral_Access_Layer */ 17783 17784 17785 /* ---------------------------------------------------------------------------- 17786 -- SIM Peripheral Access Layer 17787 ---------------------------------------------------------------------------- */ 17788 17789 /*! 17790 * @addtogroup SIM_Peripheral_Access_Layer SIM Peripheral Access Layer 17791 * @{ 17792 */ 17793 17794 /** SIM - Register Layout Typedef */ 17795 typedef struct { 17796 uint8_t RESERVED_0[4]; 17797 __IO uint32_t CHIPCTRL; /**< Chip Control Register, offset: 0x4 */ 17798 uint8_t RESERVED_1[28]; 17799 __I uint32_t SDID; /**< System Device Identification Register, offset: 0x24 */ 17800 uint8_t RESERVED_2[36]; 17801 __IO uint32_t FCFG1; /**< Flash Configuration Register 1, offset: 0x4C */ 17802 __I uint32_t FCFG2; /**< Flash Configuration Register 2, offset: 0x50 */ 17803 uint8_t RESERVED_3[4]; 17804 __I uint32_t UIDH; /**< Unique Identification Register High, offset: 0x58 */ 17805 __I uint32_t UIDM; /**< Unique Identification Register Mid Middle, offset: 0x5C */ 17806 __I uint32_t UIDL; /**< Unique Identification Register Mid Low, offset: 0x60 */ 17807 __I uint32_t RFADDRL; /**< RF Mac Address Low, offset: 0x64 */ 17808 __I uint32_t RFADDRH; /**< RF MAC Address High, offset: 0x68 */ 17809 uint8_t RESERVED_4[4]; 17810 __IO uint32_t MISC2; /**< MISC2 Register, offset: 0x70 */ 17811 } SIM_Type; 17812 17813 /* ---------------------------------------------------------------------------- 17814 -- SIM Register Masks 17815 ---------------------------------------------------------------------------- */ 17816 17817 /*! 17818 * @addtogroup SIM_Register_Masks SIM Register Masks 17819 * @{ 17820 */ 17821 17822 /*! @name CHIPCTRL - Chip Control Register */ 17823 /*! @{ */ 17824 #define SIM_CHIPCTRL_FBSL_MASK (0x300U) 17825 #define SIM_CHIPCTRL_FBSL_SHIFT (8U) 17826 /*! FBSL - FLEXBUS security level 17827 * 0b00..All off-chip access(instruction and data) via the Flexbus or sdram are disallowed 17828 * 0b01..All off-chip access(instruction and data) via the Flexbus or sdram are disallowed 17829 * 0b10..off-chip instruction access are disallowed, data access are allowed 17830 * 0b11..off-chip instruction access and data access are allowed 17831 */ 17832 #define SIM_CHIPCTRL_FBSL(x) (((uint32_t)(((uint32_t)(x)) << SIM_CHIPCTRL_FBSL_SHIFT)) & SIM_CHIPCTRL_FBSL_MASK) 17833 /*! @} */ 17834 17835 /*! @name SDID - System Device Identification Register */ 17836 /*! @{ */ 17837 #define SIM_SDID_PINID_MASK (0xFU) 17838 #define SIM_SDID_PINID_SHIFT (0U) 17839 /*! PINID - PINID 17840 * 0b1000..176-pin 17841 * 0b1101..191-pin 17842 */ 17843 #define SIM_SDID_PINID(x) (((uint32_t)(((uint32_t)(x)) << SIM_SDID_PINID_SHIFT)) & SIM_SDID_PINID_MASK) 17844 #define SIM_SDID_DIEID_MASK (0xF80U) 17845 #define SIM_SDID_DIEID_SHIFT (7U) 17846 #define SIM_SDID_DIEID(x) (((uint32_t)(((uint32_t)(x)) << SIM_SDID_DIEID_SHIFT)) & SIM_SDID_DIEID_MASK) 17847 #define SIM_SDID_REVID_MASK (0xF000U) 17848 #define SIM_SDID_REVID_SHIFT (12U) 17849 #define SIM_SDID_REVID(x) (((uint32_t)(((uint32_t)(x)) << SIM_SDID_REVID_SHIFT)) & SIM_SDID_REVID_MASK) 17850 #define SIM_SDID_SERIESID_MASK (0xF00000U) 17851 #define SIM_SDID_SERIESID_SHIFT (20U) 17852 #define SIM_SDID_SERIESID(x) (((uint32_t)(((uint32_t)(x)) << SIM_SDID_SERIESID_SHIFT)) & SIM_SDID_SERIESID_MASK) 17853 #define SIM_SDID_SUBFAMID_MASK (0xF000000U) 17854 #define SIM_SDID_SUBFAMID_SHIFT (24U) 17855 /*! SUBFAMID - SUBFAMID 17856 * 0b0010..02 17857 * 0b0011..03 17858 * 0b0100..04 17859 */ 17860 #define SIM_SDID_SUBFAMID(x) (((uint32_t)(((uint32_t)(x)) << SIM_SDID_SUBFAMID_SHIFT)) & SIM_SDID_SUBFAMID_MASK) 17861 #define SIM_SDID_FAMID_MASK (0xF0000000U) 17862 #define SIM_SDID_FAMID_SHIFT (28U) 17863 /*! FAMID - FAMID 17864 * 0b0000..RV32M1 17865 */ 17866 #define SIM_SDID_FAMID(x) (((uint32_t)(((uint32_t)(x)) << SIM_SDID_FAMID_SHIFT)) & SIM_SDID_FAMID_MASK) 17867 /*! @} */ 17868 17869 /*! @name FCFG1 - Flash Configuration Register 1 */ 17870 /*! @{ */ 17871 #define SIM_FCFG1_FLASHDIS_MASK (0x1U) 17872 #define SIM_FCFG1_FLASHDIS_SHIFT (0U) 17873 /*! FLASHDIS - Flash disable 17874 * 0b0..Flash is enabled 17875 * 0b1..Flash is disabled 17876 */ 17877 #define SIM_FCFG1_FLASHDIS(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_FLASHDIS_SHIFT)) & SIM_FCFG1_FLASHDIS_MASK) 17878 #define SIM_FCFG1_FLASHDOZE_MASK (0x2U) 17879 #define SIM_FCFG1_FLASHDOZE_SHIFT (1U) 17880 /*! FLASHDOZE - Flash Doze 17881 * 0b0..Flash remains enabled during Doze mode 17882 * 0b1..Flash is disabled for the duration of Doze mode 17883 */ 17884 #define SIM_FCFG1_FLASHDOZE(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_FLASHDOZE_SHIFT)) & SIM_FCFG1_FLASHDOZE_MASK) 17885 #define SIM_FCFG1_FLSAUTODISEN_MASK (0x4U) 17886 #define SIM_FCFG1_FLSAUTODISEN_SHIFT (2U) 17887 /*! FLSAUTODISEN - Flash auto disable enabled. 17888 * 0b0..Disable flash auto disable function 17889 * 0b1..Enable flash auto disable function 17890 */ 17891 #define SIM_FCFG1_FLSAUTODISEN(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_FLSAUTODISEN_SHIFT)) & SIM_FCFG1_FLSAUTODISEN_MASK) 17892 #define SIM_FCFG1_FLSAUTODISWD_MASK (0x3FF8U) 17893 #define SIM_FCFG1_FLSAUTODISWD_SHIFT (3U) 17894 #define SIM_FCFG1_FLSAUTODISWD(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_FLSAUTODISWD_SHIFT)) & SIM_FCFG1_FLSAUTODISWD_MASK) 17895 #define SIM_FCFG1_CORE1_SRAMSIZE_MASK (0xF0000U) 17896 #define SIM_FCFG1_CORE1_SRAMSIZE_SHIFT (16U) 17897 /*! CORE1_SRAMSIZE 17898 * 0b1001..CM0+ has 128 KB SRAM 17899 */ 17900 #define SIM_FCFG1_CORE1_SRAMSIZE(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_CORE1_SRAMSIZE_SHIFT)) & SIM_FCFG1_CORE1_SRAMSIZE_MASK) 17901 #define SIM_FCFG1_CORE0_SRAMSIZE_MASK (0xF00000U) 17902 #define SIM_FCFG1_CORE0_SRAMSIZE_SHIFT (20U) 17903 /*! CORE0_SRAMSIZE 17904 * 0b1010..CM4 has 256 KB SRAM 17905 */ 17906 #define SIM_FCFG1_CORE0_SRAMSIZE(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_CORE0_SRAMSIZE_SHIFT)) & SIM_FCFG1_CORE0_SRAMSIZE_MASK) 17907 #define SIM_FCFG1_CORE1_PFSIZE_MASK (0xF000000U) 17908 #define SIM_FCFG1_CORE1_PFSIZE_SHIFT (24U) 17909 /*! CORE1_PFSIZE 17910 * 0b1010..CM0+ has 256 KB flash size. 17911 */ 17912 #define SIM_FCFG1_CORE1_PFSIZE(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_CORE1_PFSIZE_SHIFT)) & SIM_FCFG1_CORE1_PFSIZE_MASK) 17913 #define SIM_FCFG1_CORE0_PFSIZE_MASK (0xF0000000U) 17914 #define SIM_FCFG1_CORE0_PFSIZE_SHIFT (28U) 17915 /*! CORE0_PFSIZE 17916 * 0b1100..CM4 has 1 MB flash size. 17917 */ 17918 #define SIM_FCFG1_CORE0_PFSIZE(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_CORE0_PFSIZE_SHIFT)) & SIM_FCFG1_CORE0_PFSIZE_MASK) 17919 /*! @} */ 17920 17921 /*! @name FCFG2 - Flash Configuration Register 2 */ 17922 /*! @{ */ 17923 #define SIM_FCFG2_MAXADDR2_MASK (0x3F0000U) 17924 #define SIM_FCFG2_MAXADDR2_SHIFT (16U) 17925 #define SIM_FCFG2_MAXADDR2(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG2_MAXADDR2_SHIFT)) & SIM_FCFG2_MAXADDR2_MASK) 17926 #define SIM_FCFG2_MAXADDR01_MASK (0x7F000000U) 17927 #define SIM_FCFG2_MAXADDR01_SHIFT (24U) 17928 #define SIM_FCFG2_MAXADDR01(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG2_MAXADDR01_SHIFT)) & SIM_FCFG2_MAXADDR01_MASK) 17929 #define SIM_FCFG2_SWAP_MASK (0x80000000U) 17930 #define SIM_FCFG2_SWAP_SHIFT (31U) 17931 /*! SWAP - SWAP 17932 * 0b0..Logical P-flash Block 0 is located at relative address 0x0000 17933 * 0b1..Logical P-flash Block 1 is located at relative address 0x0000 17934 */ 17935 #define SIM_FCFG2_SWAP(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG2_SWAP_SHIFT)) & SIM_FCFG2_SWAP_MASK) 17936 /*! @} */ 17937 17938 /*! @name UIDH - Unique Identification Register High */ 17939 /*! @{ */ 17940 #define SIM_UIDH_UID_MASK (0xFFFFU) 17941 #define SIM_UIDH_UID_SHIFT (0U) 17942 #define SIM_UIDH_UID(x) (((uint32_t)(((uint32_t)(x)) << SIM_UIDH_UID_SHIFT)) & SIM_UIDH_UID_MASK) 17943 /*! @} */ 17944 17945 /*! @name UIDM - Unique Identification Register Mid Middle */ 17946 /*! @{ */ 17947 #define SIM_UIDM_UID_MASK (0xFFFFFFFFU) 17948 #define SIM_UIDM_UID_SHIFT (0U) 17949 #define SIM_UIDM_UID(x) (((uint32_t)(((uint32_t)(x)) << SIM_UIDM_UID_SHIFT)) & SIM_UIDM_UID_MASK) 17950 /*! @} */ 17951 17952 /*! @name UIDL - Unique Identification Register Mid Low */ 17953 /*! @{ */ 17954 #define SIM_UIDL_UID_MASK (0xFFFFFFFFU) 17955 #define SIM_UIDL_UID_SHIFT (0U) 17956 #define SIM_UIDL_UID(x) (((uint32_t)(((uint32_t)(x)) << SIM_UIDL_UID_SHIFT)) & SIM_UIDL_UID_MASK) 17957 /*! @} */ 17958 17959 /*! @name RFADDRL - RF Mac Address Low */ 17960 /*! @{ */ 17961 #define SIM_RFADDRL_MACADDR0_MASK (0xFFU) 17962 #define SIM_RFADDRL_MACADDR0_SHIFT (0U) 17963 #define SIM_RFADDRL_MACADDR0(x) (((uint32_t)(((uint32_t)(x)) << SIM_RFADDRL_MACADDR0_SHIFT)) & SIM_RFADDRL_MACADDR0_MASK) 17964 #define SIM_RFADDRL_MACADDR1_MASK (0xFF00U) 17965 #define SIM_RFADDRL_MACADDR1_SHIFT (8U) 17966 #define SIM_RFADDRL_MACADDR1(x) (((uint32_t)(((uint32_t)(x)) << SIM_RFADDRL_MACADDR1_SHIFT)) & SIM_RFADDRL_MACADDR1_MASK) 17967 #define SIM_RFADDRL_MACADDR2_MASK (0xFF0000U) 17968 #define SIM_RFADDRL_MACADDR2_SHIFT (16U) 17969 #define SIM_RFADDRL_MACADDR2(x) (((uint32_t)(((uint32_t)(x)) << SIM_RFADDRL_MACADDR2_SHIFT)) & SIM_RFADDRL_MACADDR2_MASK) 17970 #define SIM_RFADDRL_MACADDR3_MASK (0xFF000000U) 17971 #define SIM_RFADDRL_MACADDR3_SHIFT (24U) 17972 #define SIM_RFADDRL_MACADDR3(x) (((uint32_t)(((uint32_t)(x)) << SIM_RFADDRL_MACADDR3_SHIFT)) & SIM_RFADDRL_MACADDR3_MASK) 17973 /*! @} */ 17974 17975 /*! @name RFADDRH - RF MAC Address High */ 17976 /*! @{ */ 17977 #define SIM_RFADDRH_MACADDR4_MASK (0xFFU) 17978 #define SIM_RFADDRH_MACADDR4_SHIFT (0U) 17979 #define SIM_RFADDRH_MACADDR4(x) (((uint32_t)(((uint32_t)(x)) << SIM_RFADDRH_MACADDR4_SHIFT)) & SIM_RFADDRH_MACADDR4_MASK) 17980 /*! @} */ 17981 17982 /*! @name MISC2 - MISC2 Register */ 17983 /*! @{ */ 17984 #define SIM_MISC2_SYSTICK_CLK_EN_MASK (0x1U) 17985 #define SIM_MISC2_SYSTICK_CLK_EN_SHIFT (0U) 17986 /*! systick_clk_en - Systick clock enable 17987 * 0b0..Systick clock is disabled 17988 * 0b1..Systick clock is enabled 17989 */ 17990 #define SIM_MISC2_SYSTICK_CLK_EN(x) (((uint32_t)(((uint32_t)(x)) << SIM_MISC2_SYSTICK_CLK_EN_SHIFT)) & SIM_MISC2_SYSTICK_CLK_EN_MASK) 17991 /*! @} */ 17992 17993 17994 /*! 17995 * @} 17996 */ /* end of group SIM_Register_Masks */ 17997 17998 17999 /* SIM - Peripheral instance base addresses */ 18000 /** Peripheral SIM base address */ 18001 #define SIM_BASE (0x40026000u) 18002 /** Peripheral SIM base pointer */ 18003 #define SIM ((SIM_Type *)SIM_BASE) 18004 /** Array initializer of SIM peripheral base addresses */ 18005 #define SIM_BASE_ADDRS { SIM_BASE } 18006 /** Array initializer of SIM peripheral base pointers */ 18007 #define SIM_BASE_PTRS { SIM } 18008 18009 /*! 18010 * @} 18011 */ /* end of group SIM_Peripheral_Access_Layer */ 18012 18013 18014 /* ---------------------------------------------------------------------------- 18015 -- SMC Peripheral Access Layer 18016 ---------------------------------------------------------------------------- */ 18017 18018 /*! 18019 * @addtogroup SMC_Peripheral_Access_Layer SMC Peripheral Access Layer 18020 * @{ 18021 */ 18022 18023 /** SMC - Register Layout Typedef */ 18024 typedef struct { 18025 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 18026 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 18027 __IO uint32_t PMPROT; /**< Power Mode Protection register, offset: 0x8 */ 18028 uint8_t RESERVED_0[4]; 18029 __IO uint32_t PMCTRL; /**< Power Mode Control register, offset: 0x10 */ 18030 uint8_t RESERVED_1[4]; 18031 __IO uint32_t PMSTAT; /**< Power Mode Status register, offset: 0x18 */ 18032 uint8_t RESERVED_2[4]; 18033 __I uint32_t SRS; /**< System Reset Status, offset: 0x20 */ 18034 __IO uint32_t RPC; /**< Reset Pin Control, offset: 0x24 */ 18035 __IO uint32_t SSRS; /**< Sticky System Reset Status, offset: 0x28 */ 18036 __IO uint32_t SRIE; /**< System Reset Interrupt Enable, offset: 0x2C */ 18037 __IO uint32_t SRIF; /**< System Reset Interrupt Flag, offset: 0x30 */ 18038 uint8_t RESERVED_3[12]; 18039 __IO uint32_t MR; /**< Mode Register, offset: 0x40 */ 18040 uint8_t RESERVED_4[12]; 18041 __IO uint32_t FM; /**< Force Mode Register, offset: 0x50 */ 18042 uint8_t RESERVED_5[12]; 18043 __IO uint32_t SRAMLPR; /**< SRAM Low Power Register, offset: 0x60 */ 18044 __IO uint32_t SRAMDSR; /**< SRAM Deep Sleep Register, offset: 0x64 */ 18045 } SMC_Type; 18046 18047 /* ---------------------------------------------------------------------------- 18048 -- SMC Register Masks 18049 ---------------------------------------------------------------------------- */ 18050 18051 /*! 18052 * @addtogroup SMC_Register_Masks SMC Register Masks 18053 * @{ 18054 */ 18055 18056 /*! @name VERID - Version ID Register */ 18057 /*! @{ */ 18058 #define SMC_VERID_FEATURE_MASK (0xFFFFU) 18059 #define SMC_VERID_FEATURE_SHIFT (0U) 18060 /*! FEATURE - Feature Specification Number 18061 * 0b0000000010101011..Default features supported 18062 */ 18063 #define SMC_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << SMC_VERID_FEATURE_SHIFT)) & SMC_VERID_FEATURE_MASK) 18064 #define SMC_VERID_MINOR_MASK (0xFF0000U) 18065 #define SMC_VERID_MINOR_SHIFT (16U) 18066 #define SMC_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << SMC_VERID_MINOR_SHIFT)) & SMC_VERID_MINOR_MASK) 18067 #define SMC_VERID_MAJOR_MASK (0xFF000000U) 18068 #define SMC_VERID_MAJOR_SHIFT (24U) 18069 #define SMC_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << SMC_VERID_MAJOR_SHIFT)) & SMC_VERID_MAJOR_MASK) 18070 /*! @} */ 18071 18072 /*! @name PARAM - Parameter Register */ 18073 /*! @{ */ 18074 #define SMC_PARAM_PWRD_INDPT_MASK (0x1U) 18075 #define SMC_PARAM_PWRD_INDPT_SHIFT (0U) 18076 #define SMC_PARAM_PWRD_INDPT(x) (((uint32_t)(((uint32_t)(x)) << SMC_PARAM_PWRD_INDPT_SHIFT)) & SMC_PARAM_PWRD_INDPT_MASK) 18077 /*! @} */ 18078 18079 /*! @name PMPROT - Power Mode Protection register */ 18080 /*! @{ */ 18081 #define SMC_PMPROT_AVLLS_MASK (0x3U) 18082 #define SMC_PMPROT_AVLLS_SHIFT (0U) 18083 /*! AVLLS - Allow Very-Low-Leakage Stop Mode 18084 * 0b00..VLLS mode is not allowed 18085 * 0b01..VLLS0/1 mode is allowed 18086 * 0b10..VLLS2/3 mode is allowed 18087 * 0b11..VLLS0/1/2/3 mode is allowed 18088 */ 18089 #define SMC_PMPROT_AVLLS(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMPROT_AVLLS_SHIFT)) & SMC_PMPROT_AVLLS_MASK) 18090 #define SMC_PMPROT_ALLS_MASK (0x8U) 18091 #define SMC_PMPROT_ALLS_SHIFT (3U) 18092 /*! ALLS - Allow Low-Leakage Stop Mode 18093 * 0b0..LLS is not allowed 18094 * 0b1..LLS is allowed 18095 */ 18096 #define SMC_PMPROT_ALLS(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMPROT_ALLS_SHIFT)) & SMC_PMPROT_ALLS_MASK) 18097 #define SMC_PMPROT_AVLP_MASK (0x20U) 18098 #define SMC_PMPROT_AVLP_SHIFT (5U) 18099 /*! AVLP - Allow Very-Low-Power Modes 18100 * 0b0..VLPR, VLPW, and VLPS are not allowed. 18101 * 0b1..VLPR, VLPW, and VLPS are allowed. 18102 */ 18103 #define SMC_PMPROT_AVLP(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMPROT_AVLP_SHIFT)) & SMC_PMPROT_AVLP_MASK) 18104 #define SMC_PMPROT_AHSRUN_MASK (0x80U) 18105 #define SMC_PMPROT_AHSRUN_SHIFT (7U) 18106 /*! AHSRUN - Allow High Speed Run mode 18107 * 0b0..HSRUN is not allowed 18108 * 0b1..HSRUN is allowed 18109 */ 18110 #define SMC_PMPROT_AHSRUN(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMPROT_AHSRUN_SHIFT)) & SMC_PMPROT_AHSRUN_MASK) 18111 /*! @} */ 18112 18113 /*! @name PMCTRL - Power Mode Control register */ 18114 /*! @{ */ 18115 #define SMC_PMCTRL_STOPM_MASK (0x7U) 18116 #define SMC_PMCTRL_STOPM_SHIFT (0U) 18117 /*! STOPM - Stop Mode Control 18118 * 0b000..Normal Stop (STOP) 18119 * 0b001..Reserved 18120 * 0b010..Very-Low-Power Stop (VLPS) 18121 * 0b011..Low-Leakage Stop (LLS) 18122 * 0b100..Very-Low-Leakage Stop with SRAM retention(VLLS2/3) 18123 * 0b101..Reserved 18124 * 0b110..Very-Low-Leakage Stop without SRAM retention (VLLS0/1) 18125 * 0b111..Reserved 18126 */ 18127 #define SMC_PMCTRL_STOPM(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMCTRL_STOPM_SHIFT)) & SMC_PMCTRL_STOPM_MASK) 18128 #define SMC_PMCTRL_RUNM_MASK (0x300U) 18129 #define SMC_PMCTRL_RUNM_SHIFT (8U) 18130 /*! RUNM - Run Mode Control 18131 * 0b00..Normal Run mode (RUN) 18132 * 0b01..Reserved 18133 * 0b10..Very-Low-Power Run mode (VLPR) 18134 * 0b11..High Speed Run mode (HSRUN) 18135 */ 18136 #define SMC_PMCTRL_RUNM(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMCTRL_RUNM_SHIFT)) & SMC_PMCTRL_RUNM_MASK) 18137 #define SMC_PMCTRL_PSTOPO_MASK (0x30000U) 18138 #define SMC_PMCTRL_PSTOPO_SHIFT (16U) 18139 /*! PSTOPO - Partial Stop Option 18140 * 0b00..STOP - Normal Stop mode 18141 * 0b01..PSTOP1 - Partial Stop with system and bus clock disabled 18142 * 0b10..PSTOP2 - Partial Stop with system clock disabled and bus clock enabled 18143 * 0b11..PSTOP3 - Partial Stop with system clock enabled and bus clock enabled 18144 */ 18145 #define SMC_PMCTRL_PSTOPO(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMCTRL_PSTOPO_SHIFT)) & SMC_PMCTRL_PSTOPO_MASK) 18146 /*! @} */ 18147 18148 /*! @name PMSTAT - Power Mode Status register */ 18149 /*! @{ */ 18150 #define SMC_PMSTAT_PMSTAT_MASK (0xFFU) 18151 #define SMC_PMSTAT_PMSTAT_SHIFT (0U) 18152 /*! PMSTAT - Power Mode Status 18153 * 0b00000001..Current power mode is RUN. 18154 * 0b00000010..Current power mode is any STOP mode. 18155 * 0b00000100..Current power mode is VLPR. 18156 * 0b10000000..Current power mode is HSRUN 18157 */ 18158 #define SMC_PMSTAT_PMSTAT(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMSTAT_PMSTAT_SHIFT)) & SMC_PMSTAT_PMSTAT_MASK) 18159 #define SMC_PMSTAT_STOPSTAT_MASK (0xFF000000U) 18160 #define SMC_PMSTAT_STOPSTAT_SHIFT (24U) 18161 #define SMC_PMSTAT_STOPSTAT(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMSTAT_STOPSTAT_SHIFT)) & SMC_PMSTAT_STOPSTAT_MASK) 18162 /*! @} */ 18163 18164 /*! @name SRS - System Reset Status */ 18165 /*! @{ */ 18166 #define SMC_SRS_WAKEUP_MASK (0x1U) 18167 #define SMC_SRS_WAKEUP_SHIFT (0U) 18168 /*! WAKEUP - Wakeup Reset 18169 * 0b0..Reset not generated by wakeup from VLLS mode. 18170 * 0b1..Reset generated by wakeup from VLLS mode. 18171 */ 18172 #define SMC_SRS_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_WAKEUP_SHIFT)) & SMC_SRS_WAKEUP_MASK) 18173 #define SMC_SRS_POR_MASK (0x2U) 18174 #define SMC_SRS_POR_SHIFT (1U) 18175 /*! POR - POR Reset 18176 * 0b0..Reset not generated by POR. 18177 * 0b1..Reset generated by POR. 18178 */ 18179 #define SMC_SRS_POR(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_POR_SHIFT)) & SMC_SRS_POR_MASK) 18180 #define SMC_SRS_LVD_MASK (0x4U) 18181 #define SMC_SRS_LVD_SHIFT (2U) 18182 /*! LVD - LVD Reset 18183 * 0b0..Reset not generated by LVD. 18184 * 0b1..Reset generated by LVD. 18185 */ 18186 #define SMC_SRS_LVD(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_LVD_SHIFT)) & SMC_SRS_LVD_MASK) 18187 #define SMC_SRS_HVD_MASK (0x8U) 18188 #define SMC_SRS_HVD_SHIFT (3U) 18189 /*! HVD - HVD Reset 18190 * 0b0..Reset not generated by HVD. 18191 * 0b1..Reset generated by HVD. 18192 */ 18193 #define SMC_SRS_HVD(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_HVD_SHIFT)) & SMC_SRS_HVD_MASK) 18194 #define SMC_SRS_WARM_MASK (0x10U) 18195 #define SMC_SRS_WARM_SHIFT (4U) 18196 /*! WARM - Warm Reset 18197 * 0b0..Reset not generated by Warm Reset source. 18198 * 0b1..Reset generated by Warm Reset source. 18199 */ 18200 #define SMC_SRS_WARM(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_WARM_SHIFT)) & SMC_SRS_WARM_MASK) 18201 #define SMC_SRS_FATAL_MASK (0x20U) 18202 #define SMC_SRS_FATAL_SHIFT (5U) 18203 /*! FATAL - Fatal Reset 18204 * 0b0..Reset was not generated by a fatal reset source. 18205 * 0b1..Reset was generated by a fatal reset source. 18206 */ 18207 #define SMC_SRS_FATAL(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_FATAL_SHIFT)) & SMC_SRS_FATAL_MASK) 18208 #define SMC_SRS_CORE_MASK (0x80U) 18209 #define SMC_SRS_CORE_SHIFT (7U) 18210 /*! CORE - Core Reset 18211 * 0b0..Reset source was not core only reset. 18212 * 0b1..Reset source was core reset and reset the core only. 18213 */ 18214 #define SMC_SRS_CORE(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_CORE_SHIFT)) & SMC_SRS_CORE_MASK) 18215 #define SMC_SRS_PIN_MASK (0x100U) 18216 #define SMC_SRS_PIN_SHIFT (8U) 18217 /*! PIN - Pin Reset 18218 * 0b0..Reset was not generated from the assertion of RESET_B pin. 18219 * 0b1..Reset was generated from the assertion of RESET_B pin. 18220 */ 18221 #define SMC_SRS_PIN(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_PIN_SHIFT)) & SMC_SRS_PIN_MASK) 18222 #define SMC_SRS_MDM_MASK (0x200U) 18223 #define SMC_SRS_MDM_SHIFT (9U) 18224 /*! MDM - MDM Reset 18225 * 0b0..Reset was not generated from the MDM reset request. 18226 * 0b1..Reset was generated from the MDM reset request. 18227 */ 18228 #define SMC_SRS_MDM(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_MDM_SHIFT)) & SMC_SRS_MDM_MASK) 18229 #define SMC_SRS_RSTACK_MASK (0x400U) 18230 #define SMC_SRS_RSTACK_SHIFT (10U) 18231 /*! RSTACK - Reset Timeout 18232 * 0b0..Reset not generated from Reset Controller Timeout. 18233 * 0b1..Reset generated from Reset Controller Timeout. 18234 */ 18235 #define SMC_SRS_RSTACK(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_RSTACK_SHIFT)) & SMC_SRS_RSTACK_MASK) 18236 #define SMC_SRS_STOPACK_MASK (0x800U) 18237 #define SMC_SRS_STOPACK_SHIFT (11U) 18238 /*! STOPACK - Stop Timeout Reset 18239 * 0b0..Reset not generated by Stop Controller Timeout. 18240 * 0b1..Reset generated by Stop Controller Timeout. 18241 */ 18242 #define SMC_SRS_STOPACK(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_STOPACK_SHIFT)) & SMC_SRS_STOPACK_MASK) 18243 #define SMC_SRS_SCG_MASK (0x1000U) 18244 #define SMC_SRS_SCG_SHIFT (12U) 18245 /*! SCG - SCG Reset 18246 * 0b0..Reset is not generated from an SCG loss of lock or loss of clock. 18247 * 0b1..Reset is generated from an SCG loss of lock or loss of clock. 18248 */ 18249 #define SMC_SRS_SCG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_SCG_SHIFT)) & SMC_SRS_SCG_MASK) 18250 #define SMC_SRS_WDOG_MASK (0x2000U) 18251 #define SMC_SRS_WDOG_SHIFT (13U) 18252 /*! WDOG - Watchdog Reset 18253 * 0b0..Reset is not generated from the WatchDog timeout. 18254 * 0b1..Reset is generated from the WatchDog timeout. 18255 */ 18256 #define SMC_SRS_WDOG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_WDOG_SHIFT)) & SMC_SRS_WDOG_MASK) 18257 #define SMC_SRS_SW_MASK (0x4000U) 18258 #define SMC_SRS_SW_SHIFT (14U) 18259 /*! SW - Software Reset 18260 * 0b0..Reset not generated by software request from core. 18261 * 0b1..Reset generated by software request from core. 18262 */ 18263 #define SMC_SRS_SW(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_SW_SHIFT)) & SMC_SRS_SW_MASK) 18264 #define SMC_SRS_LOCKUP_MASK (0x8000U) 18265 #define SMC_SRS_LOCKUP_SHIFT (15U) 18266 /*! LOCKUP - Lockup Reset 18267 * 0b0..Reset not generated by core lockup or exception. 18268 * 0b1..Reset generated by core lockup or exception. 18269 */ 18270 #define SMC_SRS_LOCKUP(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_LOCKUP_SHIFT)) & SMC_SRS_LOCKUP_MASK) 18271 #define SMC_SRS_CORE0_MASK (0x10000U) 18272 #define SMC_SRS_CORE0_SHIFT (16U) 18273 /*! CORE0 - Core0 System Reset 18274 * 0b0..Reset not generated from Core0 system reset source. 18275 * 0b1..Reset generated from Core0 system reset source. 18276 */ 18277 #define SMC_SRS_CORE0(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_CORE0_SHIFT)) & SMC_SRS_CORE0_MASK) 18278 #define SMC_SRS_CORE1_MASK (0x20000U) 18279 #define SMC_SRS_CORE1_SHIFT (17U) 18280 /*! CORE1 - Core1 System Reset 18281 * 0b0..Reset not generated from Core1 system reset source. 18282 * 0b1..Reset generated from Core1 system reset source. 18283 */ 18284 #define SMC_SRS_CORE1(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_CORE1_SHIFT)) & SMC_SRS_CORE1_MASK) 18285 #define SMC_SRS_JTAG_MASK (0x10000000U) 18286 #define SMC_SRS_JTAG_SHIFT (28U) 18287 /*! JTAG - JTAG System Reset 18288 * 0b0..Reset not generated by JTAG system reset. 18289 * 0b1..Reset generated by JTAG system reset. 18290 */ 18291 #define SMC_SRS_JTAG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_JTAG_SHIFT)) & SMC_SRS_JTAG_MASK) 18292 /*! @} */ 18293 18294 /*! @name RPC - Reset Pin Control */ 18295 /*! @{ */ 18296 #define SMC_RPC_FILTCFG_MASK (0x1FU) 18297 #define SMC_RPC_FILTCFG_SHIFT (0U) 18298 #define SMC_RPC_FILTCFG(x) (((uint32_t)(((uint32_t)(x)) << SMC_RPC_FILTCFG_SHIFT)) & SMC_RPC_FILTCFG_MASK) 18299 #define SMC_RPC_FILTEN_MASK (0x100U) 18300 #define SMC_RPC_FILTEN_SHIFT (8U) 18301 /*! FILTEN - Filter Enable 18302 * 0b0..Slow clock reset pin filter disabled. 18303 * 0b1..Slow clock reset pin filter enabled in Run modes. 18304 */ 18305 #define SMC_RPC_FILTEN(x) (((uint32_t)(((uint32_t)(x)) << SMC_RPC_FILTEN_SHIFT)) & SMC_RPC_FILTEN_MASK) 18306 #define SMC_RPC_LPOFEN_MASK (0x200U) 18307 #define SMC_RPC_LPOFEN_SHIFT (9U) 18308 /*! LPOFEN - LPO Filter Enable 18309 * 0b0..LPO clock reset pin filter disabled. 18310 * 0b1..LPO clock reset pin filter enabled in all modes. 18311 */ 18312 #define SMC_RPC_LPOFEN(x) (((uint32_t)(((uint32_t)(x)) << SMC_RPC_LPOFEN_SHIFT)) & SMC_RPC_LPOFEN_MASK) 18313 /*! @} */ 18314 18315 /*! @name SSRS - Sticky System Reset Status */ 18316 /*! @{ */ 18317 #define SMC_SSRS_WAKEUP_MASK (0x1U) 18318 #define SMC_SSRS_WAKEUP_SHIFT (0U) 18319 /*! WAKEUP - Wakeup Reset 18320 * 0b0..Reset not generated by wakeup from VLLS mode. 18321 * 0b1..Reset generated by wakeup from VLLS mode. 18322 */ 18323 #define SMC_SSRS_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_WAKEUP_SHIFT)) & SMC_SSRS_WAKEUP_MASK) 18324 #define SMC_SSRS_POR_MASK (0x2U) 18325 #define SMC_SSRS_POR_SHIFT (1U) 18326 /*! POR - POR Reset 18327 * 0b0..Reset not generated by POR. 18328 * 0b1..Reset generated by POR. 18329 */ 18330 #define SMC_SSRS_POR(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_POR_SHIFT)) & SMC_SSRS_POR_MASK) 18331 #define SMC_SSRS_LVD_MASK (0x4U) 18332 #define SMC_SSRS_LVD_SHIFT (2U) 18333 /*! LVD - LVD Reset 18334 * 0b0..Reset not generated by LVD. 18335 * 0b1..Reset generated by LVD. 18336 */ 18337 #define SMC_SSRS_LVD(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_LVD_SHIFT)) & SMC_SSRS_LVD_MASK) 18338 #define SMC_SSRS_HVD_MASK (0x8U) 18339 #define SMC_SSRS_HVD_SHIFT (3U) 18340 /*! HVD - HVD Reset 18341 * 0b0..Reset not generated by HVD. 18342 * 0b1..Reset generated by HVD. 18343 */ 18344 #define SMC_SSRS_HVD(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_HVD_SHIFT)) & SMC_SSRS_HVD_MASK) 18345 #define SMC_SSRS_WARM_MASK (0x10U) 18346 #define SMC_SSRS_WARM_SHIFT (4U) 18347 /*! WARM - Warm Reset 18348 * 0b0..Reset not generated by system reset source. 18349 * 0b1..Reset generated by system reset source. 18350 */ 18351 #define SMC_SSRS_WARM(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_WARM_SHIFT)) & SMC_SSRS_WARM_MASK) 18352 #define SMC_SSRS_FATAL_MASK (0x20U) 18353 #define SMC_SSRS_FATAL_SHIFT (5U) 18354 /*! FATAL - Fatal Reset 18355 * 0b0..Reset was not generated by a fatal reset source. 18356 * 0b1..Reset was generated by a fatal reset source. 18357 */ 18358 #define SMC_SSRS_FATAL(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_FATAL_SHIFT)) & SMC_SSRS_FATAL_MASK) 18359 #define SMC_SSRS_PIN_MASK (0x100U) 18360 #define SMC_SSRS_PIN_SHIFT (8U) 18361 /*! PIN - Pin Reset 18362 * 0b0..Reset was not generated from the RESET_B pin. 18363 * 0b1..Reset was generated from the RESET_B pin. 18364 */ 18365 #define SMC_SSRS_PIN(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_PIN_SHIFT)) & SMC_SSRS_PIN_MASK) 18366 #define SMC_SSRS_MDM_MASK (0x200U) 18367 #define SMC_SSRS_MDM_SHIFT (9U) 18368 /*! MDM - MDM Reset 18369 * 0b0..Reset was not generated from the MDM reset request. 18370 * 0b1..Reset was generated from the MDM reset request. 18371 */ 18372 #define SMC_SSRS_MDM(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_MDM_SHIFT)) & SMC_SSRS_MDM_MASK) 18373 #define SMC_SSRS_RSTACK_MASK (0x400U) 18374 #define SMC_SSRS_RSTACK_SHIFT (10U) 18375 /*! RSTACK - Reset Timeout 18376 * 0b0..Reset not generated from Reset Controller Timeout. 18377 * 0b1..Reset generated from Reset Controller Timeout. 18378 */ 18379 #define SMC_SSRS_RSTACK(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_RSTACK_SHIFT)) & SMC_SSRS_RSTACK_MASK) 18380 #define SMC_SSRS_STOPACK_MASK (0x800U) 18381 #define SMC_SSRS_STOPACK_SHIFT (11U) 18382 /*! STOPACK - Stop Timeout Reset 18383 * 0b0..Reset not generated by Stop Controller Timeout. 18384 * 0b1..Reset generated by Stop Controller Timeout. 18385 */ 18386 #define SMC_SSRS_STOPACK(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_STOPACK_SHIFT)) & SMC_SSRS_STOPACK_MASK) 18387 #define SMC_SSRS_SCG_MASK (0x1000U) 18388 #define SMC_SSRS_SCG_SHIFT (12U) 18389 /*! SCG - SCG Reset 18390 * 0b0..Reset is not generated from an SCG loss of lock or loss of clock. 18391 * 0b1..Reset is generated from an SCG loss of lock or loss of clock. 18392 */ 18393 #define SMC_SSRS_SCG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_SCG_SHIFT)) & SMC_SSRS_SCG_MASK) 18394 #define SMC_SSRS_WDOG_MASK (0x2000U) 18395 #define SMC_SSRS_WDOG_SHIFT (13U) 18396 /*! WDOG - Watchdog Reset 18397 * 0b0..Reset is not generated from the WatchDog timeout. 18398 * 0b1..Reset is generated from the WatchDog timeout. 18399 */ 18400 #define SMC_SSRS_WDOG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_WDOG_SHIFT)) & SMC_SSRS_WDOG_MASK) 18401 #define SMC_SSRS_SW_MASK (0x4000U) 18402 #define SMC_SSRS_SW_SHIFT (14U) 18403 /*! SW - Software Reset 18404 * 0b0..Reset not generated by software request from core. 18405 * 0b1..Reset generated by software request from core. 18406 */ 18407 #define SMC_SSRS_SW(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_SW_SHIFT)) & SMC_SSRS_SW_MASK) 18408 #define SMC_SSRS_LOCKUP_MASK (0x8000U) 18409 #define SMC_SSRS_LOCKUP_SHIFT (15U) 18410 /*! LOCKUP - Lockup Reset 18411 * 0b0..Reset not generated by core lockup. 18412 * 0b1..Reset generated by core lockup. 18413 */ 18414 #define SMC_SSRS_LOCKUP(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_LOCKUP_SHIFT)) & SMC_SSRS_LOCKUP_MASK) 18415 #define SMC_SSRS_CORE0_MASK (0x10000U) 18416 #define SMC_SSRS_CORE0_SHIFT (16U) 18417 /*! CORE0 - Core0 Reset 18418 * 0b0..Reset not generated from Core0 reset source. 18419 * 0b1..Reset generated from Core0 reset source. 18420 */ 18421 #define SMC_SSRS_CORE0(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_CORE0_SHIFT)) & SMC_SSRS_CORE0_MASK) 18422 #define SMC_SSRS_CORE1_MASK (0x20000U) 18423 #define SMC_SSRS_CORE1_SHIFT (17U) 18424 /*! CORE1 - Core1 Reset 18425 * 0b0..Reset not generated from Core1 reset source. 18426 * 0b1..Reset generated from Core1 reset source. 18427 */ 18428 #define SMC_SSRS_CORE1(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_CORE1_SHIFT)) & SMC_SSRS_CORE1_MASK) 18429 #define SMC_SSRS_JTAG_MASK (0x10000000U) 18430 #define SMC_SSRS_JTAG_SHIFT (28U) 18431 /*! JTAG - JTAG System Reset 18432 * 0b0..Reset not generated by JTAG system reset. 18433 * 0b1..Reset generated by JTAG system reset. 18434 */ 18435 #define SMC_SSRS_JTAG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_JTAG_SHIFT)) & SMC_SSRS_JTAG_MASK) 18436 /*! @} */ 18437 18438 /*! @name SRIE - System Reset Interrupt Enable */ 18439 /*! @{ */ 18440 #define SMC_SRIE_PIN_MASK (0x100U) 18441 #define SMC_SRIE_PIN_SHIFT (8U) 18442 /*! PIN - Pin Reset 18443 * 0b0..Interrupt disabled. 18444 * 0b1..Interrupt enabled. 18445 */ 18446 #define SMC_SRIE_PIN(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_PIN_SHIFT)) & SMC_SRIE_PIN_MASK) 18447 #define SMC_SRIE_MDM_MASK (0x200U) 18448 #define SMC_SRIE_MDM_SHIFT (9U) 18449 /*! MDM - MDM Reset 18450 * 0b0..Interrupt disabled. 18451 * 0b1..Interrupt enabled. 18452 */ 18453 #define SMC_SRIE_MDM(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_MDM_SHIFT)) & SMC_SRIE_MDM_MASK) 18454 #define SMC_SRIE_STOPACK_MASK (0x800U) 18455 #define SMC_SRIE_STOPACK_SHIFT (11U) 18456 /*! STOPACK - Stop Timeout Reset 18457 * 0b0..Interrupt disabled. 18458 * 0b1..Interrupt enabled. 18459 */ 18460 #define SMC_SRIE_STOPACK(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_STOPACK_SHIFT)) & SMC_SRIE_STOPACK_MASK) 18461 #define SMC_SRIE_WDOG_MASK (0x2000U) 18462 #define SMC_SRIE_WDOG_SHIFT (13U) 18463 /*! WDOG - Watchdog Reset 18464 * 0b0..Interrupt disabled. 18465 * 0b1..Interrupt enabled. 18466 */ 18467 #define SMC_SRIE_WDOG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_WDOG_SHIFT)) & SMC_SRIE_WDOG_MASK) 18468 #define SMC_SRIE_SW_MASK (0x4000U) 18469 #define SMC_SRIE_SW_SHIFT (14U) 18470 /*! SW - Software Reset 18471 * 0b0..Interrupt disabled. 18472 * 0b1..Interrupt enabled. 18473 */ 18474 #define SMC_SRIE_SW(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_SW_SHIFT)) & SMC_SRIE_SW_MASK) 18475 #define SMC_SRIE_LOCKUP_MASK (0x8000U) 18476 #define SMC_SRIE_LOCKUP_SHIFT (15U) 18477 /*! LOCKUP - Lockup Reset 18478 * 0b0..Interrupt disabled. 18479 * 0b1..Interrupt enabled. 18480 */ 18481 #define SMC_SRIE_LOCKUP(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_LOCKUP_SHIFT)) & SMC_SRIE_LOCKUP_MASK) 18482 #define SMC_SRIE_CORE0_MASK (0x10000U) 18483 #define SMC_SRIE_CORE0_SHIFT (16U) 18484 /*! CORE0 - Core0 Reset 18485 * 0b0..Interrupt disabled. 18486 * 0b1..Interrupt enabled. 18487 */ 18488 #define SMC_SRIE_CORE0(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_CORE0_SHIFT)) & SMC_SRIE_CORE0_MASK) 18489 #define SMC_SRIE_CORE1_MASK (0x20000U) 18490 #define SMC_SRIE_CORE1_SHIFT (17U) 18491 /*! CORE1 - Core1 Reset 18492 * 0b0..Interrupt disabled. 18493 * 0b1..Interrupt enabled. 18494 */ 18495 #define SMC_SRIE_CORE1(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_CORE1_SHIFT)) & SMC_SRIE_CORE1_MASK) 18496 /*! @} */ 18497 18498 /*! @name SRIF - System Reset Interrupt Flag */ 18499 /*! @{ */ 18500 #define SMC_SRIF_PIN_MASK (0x100U) 18501 #define SMC_SRIF_PIN_SHIFT (8U) 18502 /*! PIN - Pin Reset 18503 * 0b0..Reset source not pending. 18504 * 0b1..Reset source pending. 18505 */ 18506 #define SMC_SRIF_PIN(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_PIN_SHIFT)) & SMC_SRIF_PIN_MASK) 18507 #define SMC_SRIF_MDM_MASK (0x200U) 18508 #define SMC_SRIF_MDM_SHIFT (9U) 18509 /*! MDM - MDM Reset 18510 * 0b0..Reset source not pending. 18511 * 0b1..Reset source pending. 18512 */ 18513 #define SMC_SRIF_MDM(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_MDM_SHIFT)) & SMC_SRIF_MDM_MASK) 18514 #define SMC_SRIF_STOPACK_MASK (0x800U) 18515 #define SMC_SRIF_STOPACK_SHIFT (11U) 18516 /*! STOPACK - Stop Timeout Reset 18517 * 0b0..Reset source not pending. 18518 * 0b1..Reset source pending. 18519 */ 18520 #define SMC_SRIF_STOPACK(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_STOPACK_SHIFT)) & SMC_SRIF_STOPACK_MASK) 18521 #define SMC_SRIF_WDOG_MASK (0x2000U) 18522 #define SMC_SRIF_WDOG_SHIFT (13U) 18523 /*! WDOG - Watchdog Reset 18524 * 0b0..Reset source not pending. 18525 * 0b1..Reset source pending. 18526 */ 18527 #define SMC_SRIF_WDOG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_WDOG_SHIFT)) & SMC_SRIF_WDOG_MASK) 18528 #define SMC_SRIF_SW_MASK (0x4000U) 18529 #define SMC_SRIF_SW_SHIFT (14U) 18530 /*! SW - Software Reset 18531 * 0b0..Reset source not pending. 18532 * 0b1..Reset source pending. 18533 */ 18534 #define SMC_SRIF_SW(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_SW_SHIFT)) & SMC_SRIF_SW_MASK) 18535 #define SMC_SRIF_LOCKUP_MASK (0x8000U) 18536 #define SMC_SRIF_LOCKUP_SHIFT (15U) 18537 /*! LOCKUP - Lockup Reset 18538 * 0b0..Reset source not pending. 18539 * 0b1..Reset source pending. 18540 */ 18541 #define SMC_SRIF_LOCKUP(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_LOCKUP_SHIFT)) & SMC_SRIF_LOCKUP_MASK) 18542 #define SMC_SRIF_CORE0_MASK (0x10000U) 18543 #define SMC_SRIF_CORE0_SHIFT (16U) 18544 /*! CORE0 - Core0 Reset 18545 * 0b0..Reset source not pending. 18546 * 0b1..Reset source pending. 18547 */ 18548 #define SMC_SRIF_CORE0(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_CORE0_SHIFT)) & SMC_SRIF_CORE0_MASK) 18549 #define SMC_SRIF_CORE1_MASK (0x20000U) 18550 #define SMC_SRIF_CORE1_SHIFT (17U) 18551 /*! CORE1 - Core1 Reset 18552 * 0b0..Reset source not pending. 18553 * 0b1..Reset source pending. 18554 */ 18555 #define SMC_SRIF_CORE1(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_CORE1_SHIFT)) & SMC_SRIF_CORE1_MASK) 18556 /*! @} */ 18557 18558 /*! @name MR - Mode Register */ 18559 /*! @{ */ 18560 #define SMC_MR_BOOTCFG_MASK (0x3U) 18561 #define SMC_MR_BOOTCFG_SHIFT (0U) 18562 /*! BOOTCFG - Boot Configuration 18563 * 0b00..Boot from Flash. 18564 * 0b01..Boot from ROM due to BOOTCFG0 pin assertion. 18565 * 0b10..Boot from ROM due to FOPT configuration. 18566 * 0b11..Boot from ROM due to both BOOTCFG0 pin assertion and FOPT configuration. 18567 */ 18568 #define SMC_MR_BOOTCFG(x) (((uint32_t)(((uint32_t)(x)) << SMC_MR_BOOTCFG_SHIFT)) & SMC_MR_BOOTCFG_MASK) 18569 /*! @} */ 18570 18571 /*! @name FM - Force Mode Register */ 18572 /*! @{ */ 18573 #define SMC_FM_FORCECFG_MASK (0x3U) 18574 #define SMC_FM_FORCECFG_SHIFT (0U) 18575 /*! FORCECFG - Boot Configuration 18576 * 0b00..No effect. 18577 * 0b01..Assert corresponding bit in Mode Register on next system reset. 18578 */ 18579 #define SMC_FM_FORCECFG(x) (((uint32_t)(((uint32_t)(x)) << SMC_FM_FORCECFG_SHIFT)) & SMC_FM_FORCECFG_MASK) 18580 /*! @} */ 18581 18582 /*! @name SRAMLPR - SRAM Low Power Register */ 18583 /*! @{ */ 18584 #define SMC_SRAMLPR_LPE_MASK (0xFFFFFFFFU) 18585 #define SMC_SRAMLPR_LPE_SHIFT (0U) 18586 #define SMC_SRAMLPR_LPE(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRAMLPR_LPE_SHIFT)) & SMC_SRAMLPR_LPE_MASK) 18587 /*! @} */ 18588 18589 /*! @name SRAMDSR - SRAM Deep Sleep Register */ 18590 /*! @{ */ 18591 #define SMC_SRAMDSR_DSE_MASK (0xFFFFFFFFU) 18592 #define SMC_SRAMDSR_DSE_SHIFT (0U) 18593 #define SMC_SRAMDSR_DSE(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRAMDSR_DSE_SHIFT)) & SMC_SRAMDSR_DSE_MASK) 18594 /*! @} */ 18595 18596 18597 /*! 18598 * @} 18599 */ /* end of group SMC_Register_Masks */ 18600 18601 18602 /* SMC - Peripheral instance base addresses */ 18603 /** Peripheral SMC0 base address */ 18604 #define SMC0_BASE (0x40020000u) 18605 /** Peripheral SMC0 base pointer */ 18606 #define SMC0 ((SMC_Type *)SMC0_BASE) 18607 /** Peripheral SMC1 base address */ 18608 #define SMC1_BASE (0x41020000u) 18609 /** Peripheral SMC1 base pointer */ 18610 #define SMC1 ((SMC_Type *)SMC1_BASE) 18611 /** Array initializer of SMC peripheral base addresses */ 18612 #define SMC_BASE_ADDRS { SMC0_BASE, SMC1_BASE } 18613 /** Array initializer of SMC peripheral base pointers */ 18614 #define SMC_BASE_PTRS { SMC0, SMC1 } 18615 /** Interrupt vectors for the SMC peripheral type */ 18616 #define SMC_IRQS { CMC0_IRQn, NotAvail_IRQn } 18617 18618 /*! 18619 * @} 18620 */ /* end of group SMC_Peripheral_Access_Layer */ 18621 18622 18623 /* ---------------------------------------------------------------------------- 18624 -- SPM Peripheral Access Layer 18625 ---------------------------------------------------------------------------- */ 18626 18627 /*! 18628 * @addtogroup SPM_Peripheral_Access_Layer SPM Peripheral Access Layer 18629 * @{ 18630 */ 18631 18632 /** SPM - Register Layout Typedef */ 18633 typedef struct { 18634 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 18635 uint8_t RESERVED_0[4]; 18636 __I uint32_t RSR; /**< Regulator Status Register, offset: 0x8 */ 18637 uint8_t RESERVED_1[4]; 18638 __IO uint32_t RCTRL; /**< Run Control Register, offset: 0x10 */ 18639 __IO uint32_t LPCTRL; /**< Low Power Control Register, offset: 0x14 */ 18640 uint8_t RESERVED_2[232]; 18641 __IO uint32_t CORERCNFG; /**< CORE LDO RUN Configuration Register, offset: 0x100 */ 18642 __IO uint32_t CORELPCNFG; /**< CORE LDO Low Power Configuration register, offset: 0x104 */ 18643 __IO uint32_t CORESC; /**< Core LDO Status And Control register, offset: 0x108 */ 18644 __IO uint32_t LVDSC1; /**< Low Voltage Detect Status and Control 1 register, offset: 0x10C */ 18645 __IO uint32_t LVDSC2; /**< Low Voltage Detect Status and Control 2 register, offset: 0x110 */ 18646 __IO uint32_t HVDSC1; /**< High Voltage Detect Status And Control 1 register, offset: 0x114 */ 18647 uint8_t RESERVED_3[232]; 18648 __IO uint32_t RFLDOLPCNFG; /**< RF LDO Low Power Configuration register, offset: 0x200 */ 18649 __IO uint32_t RFLDOSC; /**< RF LDO Status And Control register, offset: 0x204 */ 18650 uint8_t RESERVED_4[252]; 18651 __IO uint32_t DCDCSC; /**< DCDC Status Control Register, offset: 0x304 */ 18652 uint8_t RESERVED_5[4]; 18653 __IO uint32_t DCDCC1; /**< DCDC Control Register 1, offset: 0x30C */ 18654 __IO uint32_t DCDCC2; /**< DCDC Control Register 2, offset: 0x310 */ 18655 __IO uint32_t DCDCC3; /**< DCDC Control Register 3, offset: 0x314 */ 18656 __IO uint32_t DCDCC4; /**< DCDC Control Register 4, offset: 0x318 */ 18657 uint8_t RESERVED_6[4]; 18658 __IO uint32_t DCDCC6; /**< DCDC Control Register 6, offset: 0x320 */ 18659 uint8_t RESERVED_7[232]; 18660 __IO uint32_t LPREQPINCNTRL; /**< LP Request Pin Control Register, offset: 0x40C */ 18661 } SPM_Type; 18662 18663 /* ---------------------------------------------------------------------------- 18664 -- SPM Register Masks 18665 ---------------------------------------------------------------------------- */ 18666 18667 /*! 18668 * @addtogroup SPM_Register_Masks SPM Register Masks 18669 * @{ 18670 */ 18671 18672 /*! @name VERID - Version ID Register */ 18673 /*! @{ */ 18674 #define SPM_VERID_FEATURE_MASK (0xFFFFU) 18675 #define SPM_VERID_FEATURE_SHIFT (0U) 18676 /*! FEATURE - Feature Specification Number 18677 * 0b0000000000000000..Standard features implemented. 18678 */ 18679 #define SPM_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << SPM_VERID_FEATURE_SHIFT)) & SPM_VERID_FEATURE_MASK) 18680 #define SPM_VERID_MINOR_MASK (0xFF0000U) 18681 #define SPM_VERID_MINOR_SHIFT (16U) 18682 #define SPM_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << SPM_VERID_MINOR_SHIFT)) & SPM_VERID_MINOR_MASK) 18683 #define SPM_VERID_MAJOR_MASK (0xFF000000U) 18684 #define SPM_VERID_MAJOR_SHIFT (24U) 18685 #define SPM_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << SPM_VERID_MAJOR_SHIFT)) & SPM_VERID_MAJOR_MASK) 18686 /*! @} */ 18687 18688 /*! @name RSR - Regulator Status Register */ 18689 /*! @{ */ 18690 #define SPM_RSR_REGSEL_MASK (0x7U) 18691 #define SPM_RSR_REGSEL_SHIFT (0U) 18692 #define SPM_RSR_REGSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_RSR_REGSEL_SHIFT)) & SPM_RSR_REGSEL_MASK) 18693 #define SPM_RSR_MCUPMSTAT_MASK (0x1F0000U) 18694 #define SPM_RSR_MCUPMSTAT_SHIFT (16U) 18695 /*! MCUPMSTAT - MCU Power Mode Status 18696 * 0b00000..Reserved 18697 * 0b00001..Last Low Power mode is STOP. 18698 * 0b00010..Last Low Power mode is VLPS. 18699 * 0b00100..Last Low Power mode is LLS. 18700 * 0b01000..Last Low Power mode is VLLS23. 18701 * 0b10000..Last Low Power mode is VLLS01. 18702 */ 18703 #define SPM_RSR_MCUPMSTAT(x) (((uint32_t)(((uint32_t)(x)) << SPM_RSR_MCUPMSTAT_SHIFT)) & SPM_RSR_MCUPMSTAT_MASK) 18704 #define SPM_RSR_RFPMSTAT_MASK (0x7000000U) 18705 #define SPM_RSR_RFPMSTAT_SHIFT (24U) 18706 /*! RFPMSTAT - RADIO Power Mode Status 18707 * 0b000..Reserved 18708 * 0b001..Current Power mode is VLPS. 18709 * 0b010..Current Power mode is LLS. 18710 * 0b100..Current Power mode is VLLS. 18711 */ 18712 #define SPM_RSR_RFPMSTAT(x) (((uint32_t)(((uint32_t)(x)) << SPM_RSR_RFPMSTAT_SHIFT)) & SPM_RSR_RFPMSTAT_MASK) 18713 #define SPM_RSR_RFRUNFORCE_MASK (0x8000000U) 18714 #define SPM_RSR_RFRUNFORCE_SHIFT (27U) 18715 /*! RFRUNFORCE - RADIO Run Force Power Mode Status 18716 * 0b0..Radio Run Force Regulator Off 18717 * 0b1..Radio Run Force Regulator On. 18718 */ 18719 #define SPM_RSR_RFRUNFORCE(x) (((uint32_t)(((uint32_t)(x)) << SPM_RSR_RFRUNFORCE_SHIFT)) & SPM_RSR_RFRUNFORCE_MASK) 18720 /*! @} */ 18721 18722 /*! @name RCTRL - Run Control Register */ 18723 /*! @{ */ 18724 #define SPM_RCTRL_REGSEL_MASK (0x7U) 18725 #define SPM_RCTRL_REGSEL_SHIFT (0U) 18726 #define SPM_RCTRL_REGSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_RCTRL_REGSEL_SHIFT)) & SPM_RCTRL_REGSEL_MASK) 18727 /*! @} */ 18728 18729 /*! @name LPCTRL - Low Power Control Register */ 18730 /*! @{ */ 18731 #define SPM_LPCTRL_REGSEL_MASK (0x7U) 18732 #define SPM_LPCTRL_REGSEL_SHIFT (0U) 18733 #define SPM_LPCTRL_REGSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_LPCTRL_REGSEL_SHIFT)) & SPM_LPCTRL_REGSEL_MASK) 18734 /*! @} */ 18735 18736 /*! @name CORERCNFG - CORE LDO RUN Configuration Register */ 18737 /*! @{ */ 18738 #define SPM_CORERCNFG_VDDIOVDDMEN_MASK (0x10000U) 18739 #define SPM_CORERCNFG_VDDIOVDDMEN_SHIFT (16U) 18740 /*! VDDIOVDDMEN - VDDIOVDDMEN 18741 * 0b0..VDDIO voltage monitor disabled in run modes. 18742 * 0b1..VDDIO voltage monitor enabled in run modes. 18743 */ 18744 #define SPM_CORERCNFG_VDDIOVDDMEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORERCNFG_VDDIOVDDMEN_SHIFT)) & SPM_CORERCNFG_VDDIOVDDMEN_MASK) 18745 #define SPM_CORERCNFG_USBVDDMEN_MASK (0x20000U) 18746 #define SPM_CORERCNFG_USBVDDMEN_SHIFT (17U) 18747 /*! USBVDDMEN - USBVDDMEN 18748 * 0b0..USB voltage monitor disabled in run modes. 18749 * 0b1..USB voltage monitor enabled in run modes. 18750 */ 18751 #define SPM_CORERCNFG_USBVDDMEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORERCNFG_USBVDDMEN_SHIFT)) & SPM_CORERCNFG_USBVDDMEN_MASK) 18752 #define SPM_CORERCNFG_RTCVDDMEN_MASK (0x40000U) 18753 #define SPM_CORERCNFG_RTCVDDMEN_SHIFT (18U) 18754 /*! RTCVDDMEN - RTCVDDMEN 18755 * 0b0..RTC voltage monitor disabled in run modes. 18756 * 0b1..RTC voltage monitor enabled in run modes. 18757 */ 18758 #define SPM_CORERCNFG_RTCVDDMEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORERCNFG_RTCVDDMEN_SHIFT)) & SPM_CORERCNFG_RTCVDDMEN_MASK) 18759 /*! @} */ 18760 18761 /*! @name CORELPCNFG - CORE LDO Low Power Configuration register */ 18762 /*! @{ */ 18763 #define SPM_CORELPCNFG_LPSEL_MASK (0x2U) 18764 #define SPM_CORELPCNFG_LPSEL_SHIFT (1U) 18765 /*! LPSEL - LPSEL 18766 * 0b0..Core LDO enters low power state in VLP/Stop modes. 18767 * 0b1..Core LDO remains in high power state in VLP/Stop modes. If LPSEL = 1 in a low power mode then BGEN must also be set to 1. 18768 */ 18769 #define SPM_CORELPCNFG_LPSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_LPSEL_SHIFT)) & SPM_CORELPCNFG_LPSEL_MASK) 18770 #define SPM_CORELPCNFG_BGEN_MASK (0x4U) 18771 #define SPM_CORELPCNFG_BGEN_SHIFT (2U) 18772 /*! BGEN - Bandgap Enable In Low Power Mode Operation 18773 * 0b0..Bandgap is disabled in STOP/VLP/LLS and VLLS modes. 18774 * 0b1..Bandgap remains enabled in STOP/VLP/LLS and VLLS modes. 18775 */ 18776 #define SPM_CORELPCNFG_BGEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_BGEN_SHIFT)) & SPM_CORELPCNFG_BGEN_MASK) 18777 #define SPM_CORELPCNFG_BGBEN_MASK (0x8U) 18778 #define SPM_CORELPCNFG_BGBEN_SHIFT (3U) 18779 /*! BGBEN - Bandgap Buffer Enable 18780 * 0b0..Bandgap buffer not enabled 18781 * 0b1..Bandgap buffer enabled BGEN must be set when this bit is also set. 18782 */ 18783 #define SPM_CORELPCNFG_BGBEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_BGBEN_SHIFT)) & SPM_CORELPCNFG_BGBEN_MASK) 18784 #define SPM_CORELPCNFG_BGBDS_MASK (0x10U) 18785 #define SPM_CORELPCNFG_BGBDS_SHIFT (4U) 18786 /*! BGBDS - Bandgap Buffer Drive Select 18787 * 0b0..Low Drive 18788 * 0b1..High Drive 18789 */ 18790 #define SPM_CORELPCNFG_BGBDS(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_BGBDS_SHIFT)) & SPM_CORELPCNFG_BGBDS_MASK) 18791 #define SPM_CORELPCNFG_LPOEN_MASK (0x80U) 18792 #define SPM_CORELPCNFG_LPOEN_SHIFT (7U) 18793 /*! LPOEN - LPO Enabled 18794 * 0b0..LPO is disabled in VLLS modes. 18795 * 0b1..LPO remains enabled in VLLS modes. 18796 */ 18797 #define SPM_CORELPCNFG_LPOEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_LPOEN_SHIFT)) & SPM_CORELPCNFG_LPOEN_MASK) 18798 #define SPM_CORELPCNFG_POREN_MASK (0x100U) 18799 #define SPM_CORELPCNFG_POREN_SHIFT (8U) 18800 /*! POREN - POR Enabled 18801 * 0b0..POR brownout is disabled in VLLS0/1 mode. 18802 * 0b1..POR brownout remains enabled in VLLS0/1 mode. 18803 */ 18804 #define SPM_CORELPCNFG_POREN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_POREN_SHIFT)) & SPM_CORELPCNFG_POREN_MASK) 18805 #define SPM_CORELPCNFG_LVDEN_MASK (0x200U) 18806 #define SPM_CORELPCNFG_LVDEN_SHIFT (9U) 18807 /*! LVDEN - LVD Enabled 18808 * 0b0..LVD/HVD is disabled in low power modes. 18809 * 0b1..LVD/HVD remains enabled in low power modes. BGEN must be set when this bit is also set. 18810 */ 18811 #define SPM_CORELPCNFG_LVDEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_LVDEN_SHIFT)) & SPM_CORELPCNFG_LVDEN_MASK) 18812 #define SPM_CORELPCNFG_LPHIDRIVE_MASK (0x4000U) 18813 #define SPM_CORELPCNFG_LPHIDRIVE_SHIFT (14U) 18814 /*! LPHIDRIVE - LPHIDRIVE 18815 * 0b0..High Drive disabled. 18816 * 0b1..High Drive enabled. 18817 */ 18818 #define SPM_CORELPCNFG_LPHIDRIVE(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_LPHIDRIVE_SHIFT)) & SPM_CORELPCNFG_LPHIDRIVE_MASK) 18819 #define SPM_CORELPCNFG_ALLREFEN_MASK (0x8000U) 18820 #define SPM_CORELPCNFG_ALLREFEN_SHIFT (15U) 18821 /*! ALLREFEN - All Reference Enable. This bit only has an affect in VLLS0/1. 18822 * 0b0..All references are disabled in VLLS. 18823 * 0b1..All references are enabled in VLLS0/1. 18824 */ 18825 #define SPM_CORELPCNFG_ALLREFEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_ALLREFEN_SHIFT)) & SPM_CORELPCNFG_ALLREFEN_MASK) 18826 #define SPM_CORELPCNFG_VDDIOVDDMEN_MASK (0x10000U) 18827 #define SPM_CORELPCNFG_VDDIOVDDMEN_SHIFT (16U) 18828 /*! VDDIOVDDMEN - VDDIOVDDMEN 18829 * 0b0..VDDIO voltage monitor disabled in lp modes. 18830 * 0b1..VDDIO voltage monitor enabled in lp modes. Note: voltage monitor is always disabled in VLLS0/1 modes. 18831 */ 18832 #define SPM_CORELPCNFG_VDDIOVDDMEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_VDDIOVDDMEN_SHIFT)) & SPM_CORELPCNFG_VDDIOVDDMEN_MASK) 18833 #define SPM_CORELPCNFG_USBVDDMEN_MASK (0x20000U) 18834 #define SPM_CORELPCNFG_USBVDDMEN_SHIFT (17U) 18835 /*! USBVDDMEN - USBVDDMEN 18836 * 0b0..USB voltage monitor disabled in lp modes. 18837 * 0b1..USB voltage monitor enabled in lp modes. Note: voltage monitor is always disabled in VLLS0/1 modes. 18838 */ 18839 #define SPM_CORELPCNFG_USBVDDMEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_USBVDDMEN_SHIFT)) & SPM_CORELPCNFG_USBVDDMEN_MASK) 18840 #define SPM_CORELPCNFG_RTCVDDMEN_MASK (0x40000U) 18841 #define SPM_CORELPCNFG_RTCVDDMEN_SHIFT (18U) 18842 /*! RTCVDDMEN - RTCVDDMEN 18843 * 0b0..RTC voltage monitor disabled in lp modes. 18844 * 0b1..RTC voltage monitor enabled in lp modes. Note: voltage monitor is always disabled in VLLS0/1 modes. 18845 */ 18846 #define SPM_CORELPCNFG_RTCVDDMEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_RTCVDDMEN_SHIFT)) & SPM_CORELPCNFG_RTCVDDMEN_MASK) 18847 /*! @} */ 18848 18849 /*! @name CORESC - Core LDO Status And Control register */ 18850 /*! @{ */ 18851 #define SPM_CORESC_REGONS_MASK (0x4U) 18852 #define SPM_CORESC_REGONS_SHIFT (2U) 18853 /*! REGONS - CORE LDO Regulator in Run Regulation Status 18854 * 0b0..Regulator is in low power state or in transition to/from it. 18855 * 0b1..Regulator is in high power state. 18856 */ 18857 #define SPM_CORESC_REGONS(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_REGONS_SHIFT)) & SPM_CORESC_REGONS_MASK) 18858 #define SPM_CORESC_ACKISO_MASK (0x8U) 18859 #define SPM_CORESC_ACKISO_SHIFT (3U) 18860 /*! ACKISO - Acknowledge Isolation 18861 * 0b0..Peripherals and I/O pads are in normal run state. 18862 * 0b1..Certain peripherals and I/O pads are in a isolated and latched state. 18863 */ 18864 #define SPM_CORESC_ACKISO(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_ACKISO_SHIFT)) & SPM_CORESC_ACKISO_MASK) 18865 #define SPM_CORESC_TRIM_MASK (0x3F00U) 18866 #define SPM_CORESC_TRIM_SHIFT (8U) 18867 #define SPM_CORESC_TRIM(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_TRIM_SHIFT)) & SPM_CORESC_TRIM_MASK) 18868 #define SPM_CORESC_VDDIOOVRIDE_MASK (0x10000U) 18869 #define SPM_CORESC_VDDIOOVRIDE_SHIFT (16U) 18870 /*! VDDIOOVRIDE - VDDIOOVRIDE 18871 * 0b0..VDDIOOK status set to 1'b0. 18872 * 0b1..VDDIOOK status set to 1'b1. 18873 */ 18874 #define SPM_CORESC_VDDIOOVRIDE(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_VDDIOOVRIDE_SHIFT)) & SPM_CORESC_VDDIOOVRIDE_MASK) 18875 #define SPM_CORESC_USBOVRIDE_MASK (0x20000U) 18876 #define SPM_CORESC_USBOVRIDE_SHIFT (17U) 18877 /*! USBOVRIDE - USBOVRIDE 18878 * 0b0..USBVDDOK status set to 1'b0. 18879 * 0b1..USBVDDOK status set to 1'b1. 18880 */ 18881 #define SPM_CORESC_USBOVRIDE(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_USBOVRIDE_SHIFT)) & SPM_CORESC_USBOVRIDE_MASK) 18882 #define SPM_CORESC_RTCOVRIDE_MASK (0x40000U) 18883 #define SPM_CORESC_RTCOVRIDE_SHIFT (18U) 18884 /*! RTCOVRIDE - RTCOVRIDE 18885 * 0b0..RTCVDDOK status set to 1'b0. 18886 * 0b1..RTCVDDOK status set to 1'b1. 18887 */ 18888 #define SPM_CORESC_RTCOVRIDE(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_RTCOVRIDE_SHIFT)) & SPM_CORESC_RTCOVRIDE_MASK) 18889 #define SPM_CORESC_VDDIOOK_MASK (0x1000000U) 18890 #define SPM_CORESC_VDDIOOK_SHIFT (24U) 18891 #define SPM_CORESC_VDDIOOK(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_VDDIOOK_SHIFT)) & SPM_CORESC_VDDIOOK_MASK) 18892 #define SPM_CORESC_USBVDDOK_MASK (0x2000000U) 18893 #define SPM_CORESC_USBVDDOK_SHIFT (25U) 18894 #define SPM_CORESC_USBVDDOK(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_USBVDDOK_SHIFT)) & SPM_CORESC_USBVDDOK_MASK) 18895 #define SPM_CORESC_RTCVDDOK_MASK (0x4000000U) 18896 #define SPM_CORESC_RTCVDDOK_SHIFT (26U) 18897 #define SPM_CORESC_RTCVDDOK(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_RTCVDDOK_SHIFT)) & SPM_CORESC_RTCVDDOK_MASK) 18898 /*! @} */ 18899 18900 /*! @name LVDSC1 - Low Voltage Detect Status and Control 1 register */ 18901 /*! @{ */ 18902 #define SPM_LVDSC1_COREVDD_LVDRE_MASK (0x10U) 18903 #define SPM_LVDSC1_COREVDD_LVDRE_SHIFT (4U) 18904 /*! COREVDD_LVDRE - Core Low-Voltage Detect Reset Enable 18905 * 0b0..COREVDD_LVDF does not generate hardware resets 18906 * 0b1..Force an MCU reset when CORE_LVDF = 1 18907 */ 18908 #define SPM_LVDSC1_COREVDD_LVDRE(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_COREVDD_LVDRE_SHIFT)) & SPM_LVDSC1_COREVDD_LVDRE_MASK) 18909 #define SPM_LVDSC1_COREVDD_LVDIE_MASK (0x20U) 18910 #define SPM_LVDSC1_COREVDD_LVDIE_SHIFT (5U) 18911 /*! COREVDD_LVDIE - Low-Voltage Detect Interrupt Enable 18912 * 0b0..Hardware interrupt disabled (use polling) 18913 * 0b1..Request a hardware interrupt when LVDF = 1 18914 */ 18915 #define SPM_LVDSC1_COREVDD_LVDIE(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_COREVDD_LVDIE_SHIFT)) & SPM_LVDSC1_COREVDD_LVDIE_MASK) 18916 #define SPM_LVDSC1_COREVDD_LVDACK_MASK (0x40U) 18917 #define SPM_LVDSC1_COREVDD_LVDACK_SHIFT (6U) 18918 #define SPM_LVDSC1_COREVDD_LVDACK(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_COREVDD_LVDACK_SHIFT)) & SPM_LVDSC1_COREVDD_LVDACK_MASK) 18919 #define SPM_LVDSC1_COREVDD_LVDF_MASK (0x80U) 18920 #define SPM_LVDSC1_COREVDD_LVDF_SHIFT (7U) 18921 /*! COREVDD_LVDF - Low-Voltage Detect Flag 18922 * 0b0..Low-voltage event not detected 18923 * 0b1..Low-voltage event detected 18924 */ 18925 #define SPM_LVDSC1_COREVDD_LVDF(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_COREVDD_LVDF_SHIFT)) & SPM_LVDSC1_COREVDD_LVDF_MASK) 18926 #define SPM_LVDSC1_VDD_LVDV_MASK (0x30000U) 18927 #define SPM_LVDSC1_VDD_LVDV_SHIFT (16U) 18928 /*! VDD_LVDV - VDD Low-Voltage Detect Voltage Select 18929 * 0b00..Low trip point selected (V LVD = V LVDL ) 18930 * 0b01..High trip point selected (V LVD = V LVDH ) 18931 * 0b10..Reserved 18932 * 0b11..Reserved 18933 */ 18934 #define SPM_LVDSC1_VDD_LVDV(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_VDD_LVDV_SHIFT)) & SPM_LVDSC1_VDD_LVDV_MASK) 18935 #define SPM_LVDSC1_VDD_LVDRE_MASK (0x100000U) 18936 #define SPM_LVDSC1_VDD_LVDRE_SHIFT (20U) 18937 /*! VDD_LVDRE - VDD Low-Voltage Detect Reset Enable 18938 * 0b0..VDD_LVDF does not generate hardware resets 18939 * 0b1..Force an MCU reset when VDD_LVDF = 1 18940 */ 18941 #define SPM_LVDSC1_VDD_LVDRE(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_VDD_LVDRE_SHIFT)) & SPM_LVDSC1_VDD_LVDRE_MASK) 18942 #define SPM_LVDSC1_VDD_LVDIE_MASK (0x200000U) 18943 #define SPM_LVDSC1_VDD_LVDIE_SHIFT (21U) 18944 /*! VDD_LVDIE - VDD Low-Voltage Detect Interrupt Enable 18945 * 0b0..Hardware interrupt disabled (use polling) 18946 * 0b1..Request a hardware interrupt when VDD_LVDF = 1 18947 */ 18948 #define SPM_LVDSC1_VDD_LVDIE(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_VDD_LVDIE_SHIFT)) & SPM_LVDSC1_VDD_LVDIE_MASK) 18949 #define SPM_LVDSC1_VDD_LVDACK_MASK (0x400000U) 18950 #define SPM_LVDSC1_VDD_LVDACK_SHIFT (22U) 18951 #define SPM_LVDSC1_VDD_LVDACK(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_VDD_LVDACK_SHIFT)) & SPM_LVDSC1_VDD_LVDACK_MASK) 18952 #define SPM_LVDSC1_VDD_LVDF_MASK (0x800000U) 18953 #define SPM_LVDSC1_VDD_LVDF_SHIFT (23U) 18954 /*! VDD_LVDF - VDD Low-Voltage Detect Flag 18955 * 0b0..Low-voltage event not detected 18956 * 0b1..Low-voltage event detected 18957 */ 18958 #define SPM_LVDSC1_VDD_LVDF(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_VDD_LVDF_SHIFT)) & SPM_LVDSC1_VDD_LVDF_MASK) 18959 /*! @} */ 18960 18961 /*! @name LVDSC2 - Low Voltage Detect Status and Control 2 register */ 18962 /*! @{ */ 18963 #define SPM_LVDSC2_VDD_LVWV_MASK (0x30000U) 18964 #define SPM_LVDSC2_VDD_LVWV_SHIFT (16U) 18965 /*! VDD_LVWV - VDD Low-Voltage Warning Voltage Select 18966 * 0b00..Low trip point selected (V LVW = VLVW1) 18967 * 0b01..Mid 1 trip point selected (V LVW = VLVW2) 18968 * 0b10..Mid 2 trip point selected (V LVW = VLVW3) 18969 * 0b11..High trip point selected (V LVW = VLVW4) 18970 */ 18971 #define SPM_LVDSC2_VDD_LVWV(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC2_VDD_LVWV_SHIFT)) & SPM_LVDSC2_VDD_LVWV_MASK) 18972 #define SPM_LVDSC2_VDD_LVWIE_MASK (0x200000U) 18973 #define SPM_LVDSC2_VDD_LVWIE_SHIFT (21U) 18974 /*! VDD_LVWIE - VDD Low-Voltage Warning Interrupt Enable 18975 * 0b0..Hardware interrupt disabled (use polling) 18976 * 0b1..Request a hardware interrupt when VDD_LVWF = 1 18977 */ 18978 #define SPM_LVDSC2_VDD_LVWIE(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC2_VDD_LVWIE_SHIFT)) & SPM_LVDSC2_VDD_LVWIE_MASK) 18979 #define SPM_LVDSC2_VDD_LVWACK_MASK (0x400000U) 18980 #define SPM_LVDSC2_VDD_LVWACK_SHIFT (22U) 18981 #define SPM_LVDSC2_VDD_LVWACK(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC2_VDD_LVWACK_SHIFT)) & SPM_LVDSC2_VDD_LVWACK_MASK) 18982 #define SPM_LVDSC2_VDD_LVWF_MASK (0x800000U) 18983 #define SPM_LVDSC2_VDD_LVWF_SHIFT (23U) 18984 /*! VDD_LVWF - VDD Low-Voltage Warning Flag 18985 * 0b0..Low-voltage warning event not detected 18986 * 0b1..Low-voltage warning event detected 18987 */ 18988 #define SPM_LVDSC2_VDD_LVWF(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC2_VDD_LVWF_SHIFT)) & SPM_LVDSC2_VDD_LVWF_MASK) 18989 /*! @} */ 18990 18991 /*! @name HVDSC1 - High Voltage Detect Status And Control 1 register */ 18992 /*! @{ */ 18993 #define SPM_HVDSC1_VDD_HVDV_MASK (0x10000U) 18994 #define SPM_HVDSC1_VDD_HVDV_SHIFT (16U) 18995 /*! VDD_HVDV - VDD High-Voltage Detect Voltage Select 18996 * 0b0..Low trip point selected (V VDD = V VDD_HVDL ) 18997 * 0b1..High trip point selected (V VDD = V VDD_HVDH ) 18998 */ 18999 #define SPM_HVDSC1_VDD_HVDV(x) (((uint32_t)(((uint32_t)(x)) << SPM_HVDSC1_VDD_HVDV_SHIFT)) & SPM_HVDSC1_VDD_HVDV_MASK) 19000 #define SPM_HVDSC1_VDD_HVDRE_MASK (0x100000U) 19001 #define SPM_HVDSC1_VDD_HVDRE_SHIFT (20U) 19002 /*! VDD_HVDRE - VDD High-Voltage Detect Reset Enable 19003 * 0b0..VDD HVDF does not generate hardware resets 19004 * 0b1..Force an MCU reset when VDD_HVDF = 1 19005 */ 19006 #define SPM_HVDSC1_VDD_HVDRE(x) (((uint32_t)(((uint32_t)(x)) << SPM_HVDSC1_VDD_HVDRE_SHIFT)) & SPM_HVDSC1_VDD_HVDRE_MASK) 19007 #define SPM_HVDSC1_VDD_HVDIE_MASK (0x200000U) 19008 #define SPM_HVDSC1_VDD_HVDIE_SHIFT (21U) 19009 /*! VDD_HVDIE - VDD High-Voltage Detect Interrupt Enable 19010 * 0b0..Hardware interrupt disabled (use polling) 19011 * 0b1..Request a hardware interrupt when HVDF = 1 19012 */ 19013 #define SPM_HVDSC1_VDD_HVDIE(x) (((uint32_t)(((uint32_t)(x)) << SPM_HVDSC1_VDD_HVDIE_SHIFT)) & SPM_HVDSC1_VDD_HVDIE_MASK) 19014 #define SPM_HVDSC1_VDD_HVDACK_MASK (0x400000U) 19015 #define SPM_HVDSC1_VDD_HVDACK_SHIFT (22U) 19016 #define SPM_HVDSC1_VDD_HVDACK(x) (((uint32_t)(((uint32_t)(x)) << SPM_HVDSC1_VDD_HVDACK_SHIFT)) & SPM_HVDSC1_VDD_HVDACK_MASK) 19017 #define SPM_HVDSC1_VDD_HVDF_MASK (0x800000U) 19018 #define SPM_HVDSC1_VDD_HVDF_SHIFT (23U) 19019 /*! VDD_HVDF - VDD High-Voltage Detect Flag 19020 * 0b0..Vdd High-voltage event not detected 19021 * 0b1..Vdd High-voltage event detected 19022 */ 19023 #define SPM_HVDSC1_VDD_HVDF(x) (((uint32_t)(((uint32_t)(x)) << SPM_HVDSC1_VDD_HVDF_SHIFT)) & SPM_HVDSC1_VDD_HVDF_MASK) 19024 /*! @} */ 19025 19026 /*! @name RFLDOLPCNFG - RF LDO Low Power Configuration register */ 19027 /*! @{ */ 19028 #define SPM_RFLDOLPCNFG_LPSEL_MASK (0x2U) 19029 #define SPM_RFLDOLPCNFG_LPSEL_SHIFT (1U) 19030 /*! LPSEL - LPSEL 19031 * 0b0..RF LDO regulator enters low power state in VLP/Stop modes. 19032 * 0b1..RF LDO regulator remains in high power state in VLP/Stop modes. 19033 */ 19034 #define SPM_RFLDOLPCNFG_LPSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOLPCNFG_LPSEL_SHIFT)) & SPM_RFLDOLPCNFG_LPSEL_MASK) 19035 /*! @} */ 19036 19037 /*! @name RFLDOSC - RF LDO Status And Control register */ 19038 /*! @{ */ 19039 #define SPM_RFLDOSC_IOREGVSEL_MASK (0x1U) 19040 #define SPM_RFLDOSC_IOREGVSEL_SHIFT (0U) 19041 /*! IOREGVSEL - IO Regulator Voltage Select 19042 * 0b0..Regulate to 1.8V. 19043 * 0b1..Regulate to 1.5V. 19044 */ 19045 #define SPM_RFLDOSC_IOREGVSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_IOREGVSEL_SHIFT)) & SPM_RFLDOSC_IOREGVSEL_MASK) 19046 #define SPM_RFLDOSC_VDD1P8SEL_MASK (0x10U) 19047 #define SPM_RFLDOSC_VDD1P8SEL_SHIFT (4U) 19048 /*! VDD1P8SEL - VDD 1p8 SNS Pin Select 19049 * 0b0..VDD1p8_SNS0 selected. 19050 * 0b1..VDD1p8_SNS1 selected. 19051 */ 19052 #define SPM_RFLDOSC_VDD1P8SEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_VDD1P8SEL_SHIFT)) & SPM_RFLDOSC_VDD1P8SEL_MASK) 19053 #define SPM_RFLDOSC_ISINKEN_MASK (0x20U) 19054 #define SPM_RFLDOSC_ISINKEN_SHIFT (5U) 19055 /*! ISINKEN - ISINKEN 19056 * 0b0..Disable current sink feature of low power regulator. 19057 * 0b1..Enable current sink feature of low power regulator. 19058 */ 19059 #define SPM_RFLDOSC_ISINKEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_ISINKEN_SHIFT)) & SPM_RFLDOSC_ISINKEN_MASK) 19060 #define SPM_RFLDOSC_IOTRIM_MASK (0x1F00U) 19061 #define SPM_RFLDOSC_IOTRIM_SHIFT (8U) 19062 #define SPM_RFLDOSC_IOTRIM(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_IOTRIM_SHIFT)) & SPM_RFLDOSC_IOTRIM_MASK) 19063 #define SPM_RFLDOSC_IOSSSEL_MASK (0x70000U) 19064 #define SPM_RFLDOSC_IOSSSEL_SHIFT (16U) 19065 /*! IOSSSEL - IO 1.8 Reg Soft Start Select 19066 * 0b000..Soft Start duration set to 110us. 19067 * 0b001..Soft Start duration set to 95us. 19068 * 0b010..Soft Start duration set to 60us. 19069 * 0b011..Soft Start duration set to 48us. 19070 * 0b100..Soft Start duration set to 38us. 19071 * 0b101..Soft Start duration set to 30us. 19072 * 0b110..Soft Start duration set to 24us. 19073 * 0b111..Soft Start duration set to 17us. 19074 */ 19075 #define SPM_RFLDOSC_IOSSSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_IOSSSEL_SHIFT)) & SPM_RFLDOSC_IOSSSEL_MASK) 19076 #define SPM_RFLDOSC_SSDONE_MASK (0x1000000U) 19077 #define SPM_RFLDOSC_SSDONE_SHIFT (24U) 19078 #define SPM_RFLDOSC_SSDONE(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_SSDONE_SHIFT)) & SPM_RFLDOSC_SSDONE_MASK) 19079 #define SPM_RFLDOSC_IOSPARE_OUT_MASK (0xC000000U) 19080 #define SPM_RFLDOSC_IOSPARE_OUT_SHIFT (26U) 19081 #define SPM_RFLDOSC_IOSPARE_OUT(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_IOSPARE_OUT_SHIFT)) & SPM_RFLDOSC_IOSPARE_OUT_MASK) 19082 /*! @} */ 19083 19084 /*! @name DCDCSC - DCDC Status Control Register */ 19085 /*! @{ */ 19086 #define SPM_DCDCSC_DCDC_DISABLE_AUTO_CLK_SWITCH_MASK (0x2U) 19087 #define SPM_DCDCSC_DCDC_DISABLE_AUTO_CLK_SWITCH_SHIFT (1U) 19088 #define SPM_DCDCSC_DCDC_DISABLE_AUTO_CLK_SWITCH(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCSC_DCDC_DISABLE_AUTO_CLK_SWITCH_SHIFT)) & SPM_DCDCSC_DCDC_DISABLE_AUTO_CLK_SWITCH_MASK) 19089 #define SPM_DCDCSC_DCDC_SEL_CLK_MASK (0x4U) 19090 #define SPM_DCDCSC_DCDC_SEL_CLK_SHIFT (2U) 19091 #define SPM_DCDCSC_DCDC_SEL_CLK(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCSC_DCDC_SEL_CLK_SHIFT)) & SPM_DCDCSC_DCDC_SEL_CLK_MASK) 19092 #define SPM_DCDCSC_DCDC_PWD_OSC_INT_MASK (0x8U) 19093 #define SPM_DCDCSC_DCDC_PWD_OSC_INT_SHIFT (3U) 19094 #define SPM_DCDCSC_DCDC_PWD_OSC_INT(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCSC_DCDC_PWD_OSC_INT_SHIFT)) & SPM_DCDCSC_DCDC_PWD_OSC_INT_MASK) 19095 #define SPM_DCDCSC_DCDC_VBAT_DIV_CTRL_MASK (0xC00U) 19096 #define SPM_DCDCSC_DCDC_VBAT_DIV_CTRL_SHIFT (10U) 19097 /*! DCDC_VBAT_DIV_CTRL - DCDC_VBAT_DIV_CTRL 19098 * 0b00..OFF 19099 * 0b01..VBAT 19100 * 0b10..VBAT / 2 19101 * 0b11..VBAT / 4 19102 */ 19103 #define SPM_DCDCSC_DCDC_VBAT_DIV_CTRL(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCSC_DCDC_VBAT_DIV_CTRL_SHIFT)) & SPM_DCDCSC_DCDC_VBAT_DIV_CTRL_MASK) 19104 #define SPM_DCDCSC_DCDC_LESS_I_MASK (0x2000000U) 19105 #define SPM_DCDCSC_DCDC_LESS_I_SHIFT (25U) 19106 #define SPM_DCDCSC_DCDC_LESS_I(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCSC_DCDC_LESS_I_SHIFT)) & SPM_DCDCSC_DCDC_LESS_I_MASK) 19107 #define SPM_DCDCSC_PWD_CMP_OFFSET_MASK (0x4000000U) 19108 #define SPM_DCDCSC_PWD_CMP_OFFSET_SHIFT (26U) 19109 #define SPM_DCDCSC_PWD_CMP_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCSC_PWD_CMP_OFFSET_SHIFT)) & SPM_DCDCSC_PWD_CMP_OFFSET_MASK) 19110 #define SPM_DCDCSC_CLKFLT_FAULT_MASK (0x40000000U) 19111 #define SPM_DCDCSC_CLKFLT_FAULT_SHIFT (30U) 19112 #define SPM_DCDCSC_CLKFLT_FAULT(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCSC_CLKFLT_FAULT_SHIFT)) & SPM_DCDCSC_CLKFLT_FAULT_MASK) 19113 #define SPM_DCDCSC_DCDC_STS_DC_OK_MASK (0x80000000U) 19114 #define SPM_DCDCSC_DCDC_STS_DC_OK_SHIFT (31U) 19115 #define SPM_DCDCSC_DCDC_STS_DC_OK(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCSC_DCDC_STS_DC_OK_SHIFT)) & SPM_DCDCSC_DCDC_STS_DC_OK_MASK) 19116 /*! @} */ 19117 19118 /*! @name DCDCC1 - DCDC Control Register 1 */ 19119 /*! @{ */ 19120 #define SPM_DCDCC1_POSLIMIT_BUCK_IN_MASK (0x7FU) 19121 #define SPM_DCDCC1_POSLIMIT_BUCK_IN_SHIFT (0U) 19122 #define SPM_DCDCC1_POSLIMIT_BUCK_IN(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC1_POSLIMIT_BUCK_IN_SHIFT)) & SPM_DCDCC1_POSLIMIT_BUCK_IN_MASK) 19123 #define SPM_DCDCC1_DCDC_LOOPCTRL_EN_CM_HYST_MASK (0x4000000U) 19124 #define SPM_DCDCC1_DCDC_LOOPCTRL_EN_CM_HYST_SHIFT (26U) 19125 #define SPM_DCDCC1_DCDC_LOOPCTRL_EN_CM_HYST(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC1_DCDC_LOOPCTRL_EN_CM_HYST_SHIFT)) & SPM_DCDCC1_DCDC_LOOPCTRL_EN_CM_HYST_MASK) 19126 #define SPM_DCDCC1_DCDC_LOOPCTRL_EN_DF_HYST_MASK (0x8000000U) 19127 #define SPM_DCDCC1_DCDC_LOOPCTRL_EN_DF_HYST_SHIFT (27U) 19128 #define SPM_DCDCC1_DCDC_LOOPCTRL_EN_DF_HYST(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC1_DCDC_LOOPCTRL_EN_DF_HYST_SHIFT)) & SPM_DCDCC1_DCDC_LOOPCTRL_EN_DF_HYST_MASK) 19129 /*! @} */ 19130 19131 /*! @name DCDCC2 - DCDC Control Register 2 */ 19132 /*! @{ */ 19133 #define SPM_DCDCC2_DCDC_LOOPCTRL_HYST_SIGN_MASK (0x2000U) 19134 #define SPM_DCDCC2_DCDC_LOOPCTRL_HYST_SIGN_SHIFT (13U) 19135 #define SPM_DCDCC2_DCDC_LOOPCTRL_HYST_SIGN(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC2_DCDC_LOOPCTRL_HYST_SIGN_SHIFT)) & SPM_DCDCC2_DCDC_LOOPCTRL_HYST_SIGN_MASK) 19136 #define SPM_DCDCC2_DCDC_BATTMONITOR_EN_BATADJ_MASK (0x8000U) 19137 #define SPM_DCDCC2_DCDC_BATTMONITOR_EN_BATADJ_SHIFT (15U) 19138 #define SPM_DCDCC2_DCDC_BATTMONITOR_EN_BATADJ(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC2_DCDC_BATTMONITOR_EN_BATADJ_SHIFT)) & SPM_DCDCC2_DCDC_BATTMONITOR_EN_BATADJ_MASK) 19139 #define SPM_DCDCC2_DCDC_BATTMONITOR_BATT_VAL_MASK (0x3FF0000U) 19140 #define SPM_DCDCC2_DCDC_BATTMONITOR_BATT_VAL_SHIFT (16U) 19141 #define SPM_DCDCC2_DCDC_BATTMONITOR_BATT_VAL(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC2_DCDC_BATTMONITOR_BATT_VAL_SHIFT)) & SPM_DCDCC2_DCDC_BATTMONITOR_BATT_VAL_MASK) 19142 /*! @} */ 19143 19144 /*! @name DCDCC3 - DCDC Control Register 3 */ 19145 /*! @{ */ 19146 #define SPM_DCDCC3_DCDC_BYPASS_ADC_MEAS_MASK (0x1U) 19147 #define SPM_DCDCC3_DCDC_BYPASS_ADC_MEAS_SHIFT (0U) 19148 #define SPM_DCDCC3_DCDC_BYPASS_ADC_MEAS(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC3_DCDC_BYPASS_ADC_MEAS_SHIFT)) & SPM_DCDCC3_DCDC_BYPASS_ADC_MEAS_MASK) 19149 #define SPM_DCDCC3_DCDC_VBAT_VALUE_MASK (0x1CU) 19150 #define SPM_DCDCC3_DCDC_VBAT_VALUE_SHIFT (2U) 19151 #define SPM_DCDCC3_DCDC_VBAT_VALUE(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC3_DCDC_VBAT_VALUE_SHIFT)) & SPM_DCDCC3_DCDC_VBAT_VALUE_MASK) 19152 #define SPM_DCDCC3_DCDC_VDD1P2CTRL_ADJTN_MASK (0xF0000U) 19153 #define SPM_DCDCC3_DCDC_VDD1P2CTRL_ADJTN_SHIFT (16U) 19154 #define SPM_DCDCC3_DCDC_VDD1P2CTRL_ADJTN(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC3_DCDC_VDD1P2CTRL_ADJTN_SHIFT)) & SPM_DCDCC3_DCDC_VDD1P2CTRL_ADJTN_MASK) 19155 #define SPM_DCDCC3_DCDC_MINPWR_DC_HALFCLK_MASK (0x1000000U) 19156 #define SPM_DCDCC3_DCDC_MINPWR_DC_HALFCLK_SHIFT (24U) 19157 #define SPM_DCDCC3_DCDC_MINPWR_DC_HALFCLK(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC3_DCDC_MINPWR_DC_HALFCLK_SHIFT)) & SPM_DCDCC3_DCDC_MINPWR_DC_HALFCLK_MASK) 19158 #define SPM_DCDCC3_DCDC_MINPWR_EXTRA_DOUBLE_FETS_MASK (0x2000000U) 19159 #define SPM_DCDCC3_DCDC_MINPWR_EXTRA_DOUBLE_FETS_SHIFT (25U) 19160 #define SPM_DCDCC3_DCDC_MINPWR_EXTRA_DOUBLE_FETS(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC3_DCDC_MINPWR_EXTRA_DOUBLE_FETS_SHIFT)) & SPM_DCDCC3_DCDC_MINPWR_EXTRA_DOUBLE_FETS_MASK) 19161 #define SPM_DCDCC3_DCDC_MINPWR_DOUBLE_FETS_MASK (0x4000000U) 19162 #define SPM_DCDCC3_DCDC_MINPWR_DOUBLE_FETS_SHIFT (26U) 19163 #define SPM_DCDCC3_DCDC_MINPWR_DOUBLE_FETS(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC3_DCDC_MINPWR_DOUBLE_FETS_SHIFT)) & SPM_DCDCC3_DCDC_MINPWR_DOUBLE_FETS_MASK) 19164 #define SPM_DCDCC3_DCDC_MINPWR_HALF_FETS_MASK (0x8000000U) 19165 #define SPM_DCDCC3_DCDC_MINPWR_HALF_FETS_SHIFT (27U) 19166 #define SPM_DCDCC3_DCDC_MINPWR_HALF_FETS(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC3_DCDC_MINPWR_HALF_FETS_SHIFT)) & SPM_DCDCC3_DCDC_MINPWR_HALF_FETS_MASK) 19167 #define SPM_DCDCC3_DCDC_VDD1P2CTRL_DISABLE_STEP_MASK (0x40000000U) 19168 #define SPM_DCDCC3_DCDC_VDD1P2CTRL_DISABLE_STEP_SHIFT (30U) 19169 #define SPM_DCDCC3_DCDC_VDD1P2CTRL_DISABLE_STEP(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC3_DCDC_VDD1P2CTRL_DISABLE_STEP_SHIFT)) & SPM_DCDCC3_DCDC_VDD1P2CTRL_DISABLE_STEP_MASK) 19170 #define SPM_DCDCC3_DCDC_VDD1P8CTRL_DISABLE_STEP_MASK (0x80000000U) 19171 #define SPM_DCDCC3_DCDC_VDD1P8CTRL_DISABLE_STEP_SHIFT (31U) 19172 #define SPM_DCDCC3_DCDC_VDD1P8CTRL_DISABLE_STEP(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC3_DCDC_VDD1P8CTRL_DISABLE_STEP_SHIFT)) & SPM_DCDCC3_DCDC_VDD1P8CTRL_DISABLE_STEP_MASK) 19173 /*! @} */ 19174 19175 /*! @name DCDCC4 - DCDC Control Register 4 */ 19176 /*! @{ */ 19177 #define SPM_DCDCC4_INTEGRATOR_VALUE_MASK (0x7FFFFU) 19178 #define SPM_DCDCC4_INTEGRATOR_VALUE_SHIFT (0U) 19179 #define SPM_DCDCC4_INTEGRATOR_VALUE(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC4_INTEGRATOR_VALUE_SHIFT)) & SPM_DCDCC4_INTEGRATOR_VALUE_MASK) 19180 #define SPM_DCDCC4_INTEGRATOR_VALUE_SELECT_MASK (0x80000U) 19181 #define SPM_DCDCC4_INTEGRATOR_VALUE_SELECT_SHIFT (19U) 19182 /*! INTEGRATOR_VALUE_SELECT - INTEGRATOR VALUE SELECT 19183 * 0b0..Select the saved value in hardware 19184 * 0b1..Select the integrator value in this register 19185 */ 19186 #define SPM_DCDCC4_INTEGRATOR_VALUE_SELECT(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC4_INTEGRATOR_VALUE_SELECT_SHIFT)) & SPM_DCDCC4_INTEGRATOR_VALUE_SELECT_MASK) 19187 #define SPM_DCDCC4_PULSE_RUN_SPEEDUP_MASK (0x100000U) 19188 #define SPM_DCDCC4_PULSE_RUN_SPEEDUP_SHIFT (20U) 19189 #define SPM_DCDCC4_PULSE_RUN_SPEEDUP(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC4_PULSE_RUN_SPEEDUP_SHIFT)) & SPM_DCDCC4_PULSE_RUN_SPEEDUP_MASK) 19190 /*! @} */ 19191 19192 /*! @name DCDCC6 - DCDC Control Register 6 */ 19193 /*! @{ */ 19194 #define SPM_DCDCC6_DCDC_VDD1P8CTRL_TRG_MASK (0x1FU) 19195 #define SPM_DCDCC6_DCDC_VDD1P8CTRL_TRG_SHIFT (0U) 19196 #define SPM_DCDCC6_DCDC_VDD1P8CTRL_TRG(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC6_DCDC_VDD1P8CTRL_TRG_SHIFT)) & SPM_DCDCC6_DCDC_VDD1P8CTRL_TRG_MASK) 19197 #define SPM_DCDCC6_DCDC_VDD1P2CTRL_TRG_BUCK_MASK (0xF00U) 19198 #define SPM_DCDCC6_DCDC_VDD1P2CTRL_TRG_BUCK_SHIFT (8U) 19199 #define SPM_DCDCC6_DCDC_VDD1P2CTRL_TRG_BUCK(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC6_DCDC_VDD1P2CTRL_TRG_BUCK_SHIFT)) & SPM_DCDCC6_DCDC_VDD1P2CTRL_TRG_BUCK_MASK) 19200 #define SPM_DCDCC6_DCDC_HSVDD_TRIM_MASK (0xF000000U) 19201 #define SPM_DCDCC6_DCDC_HSVDD_TRIM_SHIFT (24U) 19202 #define SPM_DCDCC6_DCDC_HSVDD_TRIM(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC6_DCDC_HSVDD_TRIM_SHIFT)) & SPM_DCDCC6_DCDC_HSVDD_TRIM_MASK) 19203 /*! @} */ 19204 19205 /*! @name LPREQPINCNTRL - LP Request Pin Control Register */ 19206 /*! @{ */ 19207 #define SPM_LPREQPINCNTRL_LPREQOE_MASK (0x1U) 19208 #define SPM_LPREQPINCNTRL_LPREQOE_SHIFT (0U) 19209 /*! LPREQOE - Low Power Request Output Enable Register 19210 * 0b0..Low Power request output pin not enabled. 19211 * 0b1..Low Power request output pin enabled. 19212 */ 19213 #define SPM_LPREQPINCNTRL_LPREQOE(x) (((uint32_t)(((uint32_t)(x)) << SPM_LPREQPINCNTRL_LPREQOE_SHIFT)) & SPM_LPREQPINCNTRL_LPREQOE_MASK) 19214 #define SPM_LPREQPINCNTRL_POLARITY_MASK (0x2U) 19215 #define SPM_LPREQPINCNTRL_POLARITY_SHIFT (1U) 19216 /*! POLARITY - Low Power Request Output Pin Polarity Control Register 19217 * 0b0..High true polarity. 19218 * 0b1..Low true polarity. 19219 */ 19220 #define SPM_LPREQPINCNTRL_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << SPM_LPREQPINCNTRL_POLARITY_SHIFT)) & SPM_LPREQPINCNTRL_POLARITY_MASK) 19221 /*! @} */ 19222 19223 19224 /*! 19225 * @} 19226 */ /* end of group SPM_Register_Masks */ 19227 19228 19229 /* SPM - Peripheral instance base addresses */ 19230 /** Peripheral SPM base address */ 19231 #define SPM_BASE (0x40028000u) 19232 /** Peripheral SPM base pointer */ 19233 #define SPM ((SPM_Type *)SPM_BASE) 19234 /** Array initializer of SPM peripheral base addresses */ 19235 #define SPM_BASE_ADDRS { SPM_BASE } 19236 /** Array initializer of SPM peripheral base pointers */ 19237 #define SPM_BASE_PTRS { SPM } 19238 /** Interrupt vectors for the SPM peripheral type */ 19239 #define SPM_IRQS { SPM_IRQn } 19240 19241 /*! 19242 * @} 19243 */ /* end of group SPM_Peripheral_Access_Layer */ 19244 19245 19246 /* ---------------------------------------------------------------------------- 19247 -- TPM Peripheral Access Layer 19248 ---------------------------------------------------------------------------- */ 19249 19250 /*! 19251 * @addtogroup TPM_Peripheral_Access_Layer TPM Peripheral Access Layer 19252 * @{ 19253 */ 19254 19255 /** TPM - Register Layout Typedef */ 19256 typedef struct { 19257 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 19258 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 19259 __IO uint32_t GLOBAL; /**< TPM Global Register, offset: 0x8 */ 19260 uint8_t RESERVED_0[4]; 19261 __IO uint32_t SC; /**< Status and Control, offset: 0x10 */ 19262 __IO uint32_t CNT; /**< Counter, offset: 0x14 */ 19263 __IO uint32_t MOD; /**< Modulo, offset: 0x18 */ 19264 __IO uint32_t STATUS; /**< Capture and Compare Status, offset: 0x1C */ 19265 struct { /* offset: 0x20, array step: 0x8 */ 19266 __IO uint32_t CnSC; /**< Channel (n) Status and Control, array offset: 0x20, array step: 0x8 */ 19267 __IO uint32_t CnV; /**< Channel (n) Value, array offset: 0x24, array step: 0x8 */ 19268 } CONTROLS[6]; 19269 uint8_t RESERVED_1[20]; 19270 __IO uint32_t COMBINE; /**< Combine Channel Register, offset: 0x64 */ 19271 uint8_t RESERVED_2[4]; 19272 __IO uint32_t TRIG; /**< Channel Trigger, offset: 0x6C */ 19273 __IO uint32_t POL; /**< Channel Polarity, offset: 0x70 */ 19274 uint8_t RESERVED_3[4]; 19275 __IO uint32_t FILTER; /**< Filter Control, offset: 0x78 */ 19276 uint8_t RESERVED_4[4]; 19277 __IO uint32_t QDCTRL; /**< Quadrature Decoder Control and Status, offset: 0x80 */ 19278 __IO uint32_t CONF; /**< Configuration, offset: 0x84 */ 19279 } TPM_Type; 19280 19281 /* ---------------------------------------------------------------------------- 19282 -- TPM Register Masks 19283 ---------------------------------------------------------------------------- */ 19284 19285 /*! 19286 * @addtogroup TPM_Register_Masks TPM Register Masks 19287 * @{ 19288 */ 19289 19290 /*! @name VERID - Version ID Register */ 19291 /*! @{ */ 19292 #define TPM_VERID_FEATURE_MASK (0xFFFFU) 19293 #define TPM_VERID_FEATURE_SHIFT (0U) 19294 /*! FEATURE - Feature Identification Number 19295 * 0b0000000000000001..Standard feature set. 19296 * 0b0000000000000011..Standard feature set with Filter and Combine registers implemented. 19297 * 0b0000000000000111..Standard feature set with Filter, Combine and Quadrature registers implemented. 19298 */ 19299 #define TPM_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << TPM_VERID_FEATURE_SHIFT)) & TPM_VERID_FEATURE_MASK) 19300 #define TPM_VERID_MINOR_MASK (0xFF0000U) 19301 #define TPM_VERID_MINOR_SHIFT (16U) 19302 #define TPM_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << TPM_VERID_MINOR_SHIFT)) & TPM_VERID_MINOR_MASK) 19303 #define TPM_VERID_MAJOR_MASK (0xFF000000U) 19304 #define TPM_VERID_MAJOR_SHIFT (24U) 19305 #define TPM_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << TPM_VERID_MAJOR_SHIFT)) & TPM_VERID_MAJOR_MASK) 19306 /*! @} */ 19307 19308 /*! @name PARAM - Parameter Register */ 19309 /*! @{ */ 19310 #define TPM_PARAM_CHAN_MASK (0xFFU) 19311 #define TPM_PARAM_CHAN_SHIFT (0U) 19312 #define TPM_PARAM_CHAN(x) (((uint32_t)(((uint32_t)(x)) << TPM_PARAM_CHAN_SHIFT)) & TPM_PARAM_CHAN_MASK) 19313 #define TPM_PARAM_TRIG_MASK (0xFF00U) 19314 #define TPM_PARAM_TRIG_SHIFT (8U) 19315 #define TPM_PARAM_TRIG(x) (((uint32_t)(((uint32_t)(x)) << TPM_PARAM_TRIG_SHIFT)) & TPM_PARAM_TRIG_MASK) 19316 #define TPM_PARAM_WIDTH_MASK (0xFF0000U) 19317 #define TPM_PARAM_WIDTH_SHIFT (16U) 19318 #define TPM_PARAM_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << TPM_PARAM_WIDTH_SHIFT)) & TPM_PARAM_WIDTH_MASK) 19319 /*! @} */ 19320 19321 /*! @name GLOBAL - TPM Global Register */ 19322 /*! @{ */ 19323 #define TPM_GLOBAL_NOUPDATE_MASK (0x1U) 19324 #define TPM_GLOBAL_NOUPDATE_SHIFT (0U) 19325 /*! NOUPDATE - No Update 19326 * 0b0..Internal double buffered registers update as normal. 19327 * 0b1..Internal double buffered registers do not update. 19328 */ 19329 #define TPM_GLOBAL_NOUPDATE(x) (((uint32_t)(((uint32_t)(x)) << TPM_GLOBAL_NOUPDATE_SHIFT)) & TPM_GLOBAL_NOUPDATE_MASK) 19330 #define TPM_GLOBAL_RST_MASK (0x2U) 19331 #define TPM_GLOBAL_RST_SHIFT (1U) 19332 /*! RST - Software Reset 19333 * 0b0..Module is not reset. 19334 * 0b1..Module is reset. 19335 */ 19336 #define TPM_GLOBAL_RST(x) (((uint32_t)(((uint32_t)(x)) << TPM_GLOBAL_RST_SHIFT)) & TPM_GLOBAL_RST_MASK) 19337 /*! @} */ 19338 19339 /*! @name SC - Status and Control */ 19340 /*! @{ */ 19341 #define TPM_SC_PS_MASK (0x7U) 19342 #define TPM_SC_PS_SHIFT (0U) 19343 /*! PS - Prescale Factor Selection 19344 * 0b000..Divide by 1 19345 * 0b001..Divide by 2 19346 * 0b010..Divide by 4 19347 * 0b011..Divide by 8 19348 * 0b100..Divide by 16 19349 * 0b101..Divide by 32 19350 * 0b110..Divide by 64 19351 * 0b111..Divide by 128 19352 */ 19353 #define TPM_SC_PS(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_PS_SHIFT)) & TPM_SC_PS_MASK) 19354 #define TPM_SC_CMOD_MASK (0x18U) 19355 #define TPM_SC_CMOD_SHIFT (3U) 19356 /*! CMOD - Clock Mode Selection 19357 * 0b00..TPM counter is disabled 19358 * 0b01..TPM counter increments on every TPM counter clock 19359 * 0b10..TPM counter increments on rising edge of TPM_EXTCLK synchronized to the TPM counter clock 19360 * 0b11..TPM counter increments on rising edge of the selected external input trigger. 19361 */ 19362 #define TPM_SC_CMOD(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_CMOD_SHIFT)) & TPM_SC_CMOD_MASK) 19363 #define TPM_SC_CPWMS_MASK (0x20U) 19364 #define TPM_SC_CPWMS_SHIFT (5U) 19365 /*! CPWMS - Center-Aligned PWM Select 19366 * 0b0..TPM counter operates in up counting mode. 19367 * 0b1..TPM counter operates in up-down counting mode. 19368 */ 19369 #define TPM_SC_CPWMS(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_CPWMS_SHIFT)) & TPM_SC_CPWMS_MASK) 19370 #define TPM_SC_TOIE_MASK (0x40U) 19371 #define TPM_SC_TOIE_SHIFT (6U) 19372 /*! TOIE - Timer Overflow Interrupt Enable 19373 * 0b0..Disable TOF interrupts. Use software polling or DMA request. 19374 * 0b1..Enable TOF interrupts. An interrupt is generated when TOF equals one. 19375 */ 19376 #define TPM_SC_TOIE(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_TOIE_SHIFT)) & TPM_SC_TOIE_MASK) 19377 #define TPM_SC_TOF_MASK (0x80U) 19378 #define TPM_SC_TOF_SHIFT (7U) 19379 /*! TOF - Timer Overflow Flag 19380 * 0b0..TPM counter has not overflowed. 19381 * 0b1..TPM counter has overflowed. 19382 */ 19383 #define TPM_SC_TOF(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_TOF_SHIFT)) & TPM_SC_TOF_MASK) 19384 #define TPM_SC_DMA_MASK (0x100U) 19385 #define TPM_SC_DMA_SHIFT (8U) 19386 /*! DMA - DMA Enable 19387 * 0b0..Disables DMA transfers. 19388 * 0b1..Enables DMA transfers. 19389 */ 19390 #define TPM_SC_DMA(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_DMA_SHIFT)) & TPM_SC_DMA_MASK) 19391 /*! @} */ 19392 19393 /*! @name CNT - Counter */ 19394 /*! @{ */ 19395 #define TPM_CNT_COUNT_MASK (0xFFFFU) 19396 #define TPM_CNT_COUNT_SHIFT (0U) 19397 #define TPM_CNT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << TPM_CNT_COUNT_SHIFT)) & TPM_CNT_COUNT_MASK) 19398 /*! @} */ 19399 19400 /*! @name MOD - Modulo */ 19401 /*! @{ */ 19402 #define TPM_MOD_MOD_MASK (0xFFFFU) 19403 #define TPM_MOD_MOD_SHIFT (0U) 19404 #define TPM_MOD_MOD(x) (((uint32_t)(((uint32_t)(x)) << TPM_MOD_MOD_SHIFT)) & TPM_MOD_MOD_MASK) 19405 /*! @} */ 19406 19407 /*! @name STATUS - Capture and Compare Status */ 19408 /*! @{ */ 19409 #define TPM_STATUS_CH0F_MASK (0x1U) 19410 #define TPM_STATUS_CH0F_SHIFT (0U) 19411 /*! CH0F - Channel 0 Flag 19412 * 0b0..No channel event has occurred. 19413 * 0b1..A channel event has occurred. 19414 */ 19415 #define TPM_STATUS_CH0F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH0F_SHIFT)) & TPM_STATUS_CH0F_MASK) 19416 #define TPM_STATUS_CH1F_MASK (0x2U) 19417 #define TPM_STATUS_CH1F_SHIFT (1U) 19418 /*! CH1F - Channel 1 Flag 19419 * 0b0..No channel event has occurred. 19420 * 0b1..A channel event has occurred. 19421 */ 19422 #define TPM_STATUS_CH1F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH1F_SHIFT)) & TPM_STATUS_CH1F_MASK) 19423 #define TPM_STATUS_CH2F_MASK (0x4U) 19424 #define TPM_STATUS_CH2F_SHIFT (2U) 19425 /*! CH2F - Channel 2 Flag 19426 * 0b0..No channel event has occurred. 19427 * 0b1..A channel event has occurred. 19428 */ 19429 #define TPM_STATUS_CH2F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH2F_SHIFT)) & TPM_STATUS_CH2F_MASK) 19430 #define TPM_STATUS_CH3F_MASK (0x8U) 19431 #define TPM_STATUS_CH3F_SHIFT (3U) 19432 /*! CH3F - Channel 3 Flag 19433 * 0b0..No channel event has occurred. 19434 * 0b1..A channel event has occurred. 19435 */ 19436 #define TPM_STATUS_CH3F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH3F_SHIFT)) & TPM_STATUS_CH3F_MASK) 19437 #define TPM_STATUS_CH4F_MASK (0x10U) 19438 #define TPM_STATUS_CH4F_SHIFT (4U) 19439 /*! CH4F - Channel 4 Flag 19440 * 0b0..No channel event has occurred. 19441 * 0b1..A channel event has occurred. 19442 */ 19443 #define TPM_STATUS_CH4F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH4F_SHIFT)) & TPM_STATUS_CH4F_MASK) 19444 #define TPM_STATUS_CH5F_MASK (0x20U) 19445 #define TPM_STATUS_CH5F_SHIFT (5U) 19446 /*! CH5F - Channel 5 Flag 19447 * 0b0..No channel event has occurred. 19448 * 0b1..A channel event has occurred. 19449 */ 19450 #define TPM_STATUS_CH5F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH5F_SHIFT)) & TPM_STATUS_CH5F_MASK) 19451 #define TPM_STATUS_TOF_MASK (0x100U) 19452 #define TPM_STATUS_TOF_SHIFT (8U) 19453 /*! TOF - Timer Overflow Flag 19454 * 0b0..TPM counter has not overflowed. 19455 * 0b1..TPM counter has overflowed. 19456 */ 19457 #define TPM_STATUS_TOF(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_TOF_SHIFT)) & TPM_STATUS_TOF_MASK) 19458 /*! @} */ 19459 19460 /*! @name CnSC - Channel (n) Status and Control */ 19461 /*! @{ */ 19462 #define TPM_CnSC_DMA_MASK (0x1U) 19463 #define TPM_CnSC_DMA_SHIFT (0U) 19464 /*! DMA - DMA Enable 19465 * 0b0..Disable DMA transfers. 19466 * 0b1..Enable DMA transfers. 19467 */ 19468 #define TPM_CnSC_DMA(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_DMA_SHIFT)) & TPM_CnSC_DMA_MASK) 19469 #define TPM_CnSC_ELSA_MASK (0x4U) 19470 #define TPM_CnSC_ELSA_SHIFT (2U) 19471 #define TPM_CnSC_ELSA(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_ELSA_SHIFT)) & TPM_CnSC_ELSA_MASK) 19472 #define TPM_CnSC_ELSB_MASK (0x8U) 19473 #define TPM_CnSC_ELSB_SHIFT (3U) 19474 #define TPM_CnSC_ELSB(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_ELSB_SHIFT)) & TPM_CnSC_ELSB_MASK) 19475 #define TPM_CnSC_MSA_MASK (0x10U) 19476 #define TPM_CnSC_MSA_SHIFT (4U) 19477 #define TPM_CnSC_MSA(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_MSA_SHIFT)) & TPM_CnSC_MSA_MASK) 19478 #define TPM_CnSC_MSB_MASK (0x20U) 19479 #define TPM_CnSC_MSB_SHIFT (5U) 19480 #define TPM_CnSC_MSB(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_MSB_SHIFT)) & TPM_CnSC_MSB_MASK) 19481 #define TPM_CnSC_CHIE_MASK (0x40U) 19482 #define TPM_CnSC_CHIE_SHIFT (6U) 19483 /*! CHIE - Channel Interrupt Enable 19484 * 0b0..Disable channel interrupts. 19485 * 0b1..Enable channel interrupts. 19486 */ 19487 #define TPM_CnSC_CHIE(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_CHIE_SHIFT)) & TPM_CnSC_CHIE_MASK) 19488 #define TPM_CnSC_CHF_MASK (0x80U) 19489 #define TPM_CnSC_CHF_SHIFT (7U) 19490 /*! CHF - Channel Flag 19491 * 0b0..No channel event has occurred. 19492 * 0b1..A channel event has occurred. 19493 */ 19494 #define TPM_CnSC_CHF(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_CHF_SHIFT)) & TPM_CnSC_CHF_MASK) 19495 /*! @} */ 19496 19497 /* The count of TPM_CnSC */ 19498 #define TPM_CnSC_COUNT (6U) 19499 19500 /*! @name CnV - Channel (n) Value */ 19501 /*! @{ */ 19502 #define TPM_CnV_VAL_MASK (0xFFFFU) 19503 #define TPM_CnV_VAL_SHIFT (0U) 19504 #define TPM_CnV_VAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnV_VAL_SHIFT)) & TPM_CnV_VAL_MASK) 19505 /*! @} */ 19506 19507 /* The count of TPM_CnV */ 19508 #define TPM_CnV_COUNT (6U) 19509 19510 /*! @name COMBINE - Combine Channel Register */ 19511 /*! @{ */ 19512 #define TPM_COMBINE_COMBINE0_MASK (0x1U) 19513 #define TPM_COMBINE_COMBINE0_SHIFT (0U) 19514 /*! COMBINE0 - Combine Channels 0 and 1 19515 * 0b0..Channels 0 and 1 are independent. 19516 * 0b1..Channels 0 and 1 are combined. 19517 */ 19518 #define TPM_COMBINE_COMBINE0(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMBINE0_SHIFT)) & TPM_COMBINE_COMBINE0_MASK) 19519 #define TPM_COMBINE_COMSWAP0_MASK (0x2U) 19520 #define TPM_COMBINE_COMSWAP0_SHIFT (1U) 19521 /*! COMSWAP0 - Combine Channel 0 and 1 Swap 19522 * 0b0..Even channel is used for input capture and 1st compare. 19523 * 0b1..Odd channel is used for input capture and 1st compare. 19524 */ 19525 #define TPM_COMBINE_COMSWAP0(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMSWAP0_SHIFT)) & TPM_COMBINE_COMSWAP0_MASK) 19526 #define TPM_COMBINE_COMBINE1_MASK (0x100U) 19527 #define TPM_COMBINE_COMBINE1_SHIFT (8U) 19528 /*! COMBINE1 - Combine Channels 2 and 3 19529 * 0b0..Channels 2 and 3 are independent. 19530 * 0b1..Channels 2 and 3 are combined. 19531 */ 19532 #define TPM_COMBINE_COMBINE1(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMBINE1_SHIFT)) & TPM_COMBINE_COMBINE1_MASK) 19533 #define TPM_COMBINE_COMSWAP1_MASK (0x200U) 19534 #define TPM_COMBINE_COMSWAP1_SHIFT (9U) 19535 /*! COMSWAP1 - Combine Channels 2 and 3 Swap 19536 * 0b0..Even channel is used for input capture and 1st compare. 19537 * 0b1..Odd channel is used for input capture and 1st compare. 19538 */ 19539 #define TPM_COMBINE_COMSWAP1(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMSWAP1_SHIFT)) & TPM_COMBINE_COMSWAP1_MASK) 19540 #define TPM_COMBINE_COMBINE2_MASK (0x10000U) 19541 #define TPM_COMBINE_COMBINE2_SHIFT (16U) 19542 /*! COMBINE2 - Combine Channels 4 and 5 19543 * 0b0..Channels 4 and 5 are independent. 19544 * 0b1..Channels 4 and 5 are combined. 19545 */ 19546 #define TPM_COMBINE_COMBINE2(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMBINE2_SHIFT)) & TPM_COMBINE_COMBINE2_MASK) 19547 #define TPM_COMBINE_COMSWAP2_MASK (0x20000U) 19548 #define TPM_COMBINE_COMSWAP2_SHIFT (17U) 19549 /*! COMSWAP2 - Combine Channels 4 and 5 Swap 19550 * 0b0..Even channel is used for input capture and 1st compare. 19551 * 0b1..Odd channel is used for input capture and 1st compare. 19552 */ 19553 #define TPM_COMBINE_COMSWAP2(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMSWAP2_SHIFT)) & TPM_COMBINE_COMSWAP2_MASK) 19554 /*! @} */ 19555 19556 /*! @name TRIG - Channel Trigger */ 19557 /*! @{ */ 19558 #define TPM_TRIG_TRIG0_MASK (0x1U) 19559 #define TPM_TRIG_TRIG0_SHIFT (0U) 19560 /*! TRIG0 - Channel 0 Trigger 19561 * 0b0..No effect. 19562 * 0b1..Configures trigger input 0 to be used by channel 0. 19563 */ 19564 #define TPM_TRIG_TRIG0(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG0_SHIFT)) & TPM_TRIG_TRIG0_MASK) 19565 #define TPM_TRIG_TRIG1_MASK (0x2U) 19566 #define TPM_TRIG_TRIG1_SHIFT (1U) 19567 /*! TRIG1 - Channel 1 Trigger 19568 * 0b0..No effect. 19569 * 0b1..Configures trigger input 1 to be used by channel 1. 19570 */ 19571 #define TPM_TRIG_TRIG1(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG1_SHIFT)) & TPM_TRIG_TRIG1_MASK) 19572 #define TPM_TRIG_TRIG2_MASK (0x4U) 19573 #define TPM_TRIG_TRIG2_SHIFT (2U) 19574 /*! TRIG2 - Channel 2 Trigger 19575 * 0b0..No effect. 19576 * 0b1..Configures trigger input 0 to be used by channel 2. 19577 */ 19578 #define TPM_TRIG_TRIG2(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG2_SHIFT)) & TPM_TRIG_TRIG2_MASK) 19579 #define TPM_TRIG_TRIG3_MASK (0x8U) 19580 #define TPM_TRIG_TRIG3_SHIFT (3U) 19581 /*! TRIG3 - Channel 3 Trigger 19582 * 0b0..No effect. 19583 * 0b1..Configures trigger input 1 to be used by channel 3. 19584 */ 19585 #define TPM_TRIG_TRIG3(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG3_SHIFT)) & TPM_TRIG_TRIG3_MASK) 19586 #define TPM_TRIG_TRIG4_MASK (0x10U) 19587 #define TPM_TRIG_TRIG4_SHIFT (4U) 19588 /*! TRIG4 - Channel 4 Trigger 19589 * 0b0..No effect. 19590 * 0b1..Configures trigger input 0 to be used by channel 4. 19591 */ 19592 #define TPM_TRIG_TRIG4(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG4_SHIFT)) & TPM_TRIG_TRIG4_MASK) 19593 #define TPM_TRIG_TRIG5_MASK (0x20U) 19594 #define TPM_TRIG_TRIG5_SHIFT (5U) 19595 /*! TRIG5 - Channel 5 Trigger 19596 * 0b0..No effect. 19597 * 0b1..Configures trigger input 1 to be used by channel 5. 19598 */ 19599 #define TPM_TRIG_TRIG5(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG5_SHIFT)) & TPM_TRIG_TRIG5_MASK) 19600 /*! @} */ 19601 19602 /*! @name POL - Channel Polarity */ 19603 /*! @{ */ 19604 #define TPM_POL_POL0_MASK (0x1U) 19605 #define TPM_POL_POL0_SHIFT (0U) 19606 /*! POL0 - Channel 0 Polarity 19607 * 0b0..The channel polarity is active high. 19608 * 0b1..The channel polarity is active low. 19609 */ 19610 #define TPM_POL_POL0(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL0_SHIFT)) & TPM_POL_POL0_MASK) 19611 #define TPM_POL_POL1_MASK (0x2U) 19612 #define TPM_POL_POL1_SHIFT (1U) 19613 /*! POL1 - Channel 1 Polarity 19614 * 0b0..The channel polarity is active high. 19615 * 0b1..The channel polarity is active low. 19616 */ 19617 #define TPM_POL_POL1(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL1_SHIFT)) & TPM_POL_POL1_MASK) 19618 #define TPM_POL_POL2_MASK (0x4U) 19619 #define TPM_POL_POL2_SHIFT (2U) 19620 /*! POL2 - Channel 2 Polarity 19621 * 0b0..The channel polarity is active high. 19622 * 0b1..The channel polarity is active low. 19623 */ 19624 #define TPM_POL_POL2(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL2_SHIFT)) & TPM_POL_POL2_MASK) 19625 #define TPM_POL_POL3_MASK (0x8U) 19626 #define TPM_POL_POL3_SHIFT (3U) 19627 /*! POL3 - Channel 3 Polarity 19628 * 0b0..The channel polarity is active high. 19629 * 0b1..The channel polarity is active low. 19630 */ 19631 #define TPM_POL_POL3(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL3_SHIFT)) & TPM_POL_POL3_MASK) 19632 #define TPM_POL_POL4_MASK (0x10U) 19633 #define TPM_POL_POL4_SHIFT (4U) 19634 /*! POL4 - Channel 4 Polarity 19635 * 0b0..The channel polarity is active high 19636 * 0b1..The channel polarity is active low. 19637 */ 19638 #define TPM_POL_POL4(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL4_SHIFT)) & TPM_POL_POL4_MASK) 19639 #define TPM_POL_POL5_MASK (0x20U) 19640 #define TPM_POL_POL5_SHIFT (5U) 19641 /*! POL5 - Channel 5 Polarity 19642 * 0b0..The channel polarity is active high. 19643 * 0b1..The channel polarity is active low. 19644 */ 19645 #define TPM_POL_POL5(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL5_SHIFT)) & TPM_POL_POL5_MASK) 19646 /*! @} */ 19647 19648 /*! @name FILTER - Filter Control */ 19649 /*! @{ */ 19650 #define TPM_FILTER_CH0FVAL_MASK (0xFU) 19651 #define TPM_FILTER_CH0FVAL_SHIFT (0U) 19652 #define TPM_FILTER_CH0FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH0FVAL_SHIFT)) & TPM_FILTER_CH0FVAL_MASK) 19653 #define TPM_FILTER_CH1FVAL_MASK (0xF0U) 19654 #define TPM_FILTER_CH1FVAL_SHIFT (4U) 19655 #define TPM_FILTER_CH1FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH1FVAL_SHIFT)) & TPM_FILTER_CH1FVAL_MASK) 19656 #define TPM_FILTER_CH2FVAL_MASK (0xF00U) 19657 #define TPM_FILTER_CH2FVAL_SHIFT (8U) 19658 #define TPM_FILTER_CH2FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH2FVAL_SHIFT)) & TPM_FILTER_CH2FVAL_MASK) 19659 #define TPM_FILTER_CH3FVAL_MASK (0xF000U) 19660 #define TPM_FILTER_CH3FVAL_SHIFT (12U) 19661 #define TPM_FILTER_CH3FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH3FVAL_SHIFT)) & TPM_FILTER_CH3FVAL_MASK) 19662 #define TPM_FILTER_CH4FVAL_MASK (0xF0000U) 19663 #define TPM_FILTER_CH4FVAL_SHIFT (16U) 19664 #define TPM_FILTER_CH4FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH4FVAL_SHIFT)) & TPM_FILTER_CH4FVAL_MASK) 19665 #define TPM_FILTER_CH5FVAL_MASK (0xF00000U) 19666 #define TPM_FILTER_CH5FVAL_SHIFT (20U) 19667 #define TPM_FILTER_CH5FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH5FVAL_SHIFT)) & TPM_FILTER_CH5FVAL_MASK) 19668 /*! @} */ 19669 19670 /*! @name QDCTRL - Quadrature Decoder Control and Status */ 19671 /*! @{ */ 19672 #define TPM_QDCTRL_QUADEN_MASK (0x1U) 19673 #define TPM_QDCTRL_QUADEN_SHIFT (0U) 19674 /*! QUADEN - QUADEN 19675 * 0b0..Quadrature decoder mode is disabled. 19676 * 0b1..Quadrature decoder mode is enabled. 19677 */ 19678 #define TPM_QDCTRL_QUADEN(x) (((uint32_t)(((uint32_t)(x)) << TPM_QDCTRL_QUADEN_SHIFT)) & TPM_QDCTRL_QUADEN_MASK) 19679 #define TPM_QDCTRL_TOFDIR_MASK (0x2U) 19680 #define TPM_QDCTRL_TOFDIR_SHIFT (1U) 19681 /*! TOFDIR - TOFDIR 19682 * 0b0..TOF bit was set on the bottom of counting. There was an FTM counter decrement and FTM counter changes from its minimum value (zero) to its maximum value (MOD register). 19683 * 0b1..TOF bit was set on the top of counting. There was an FTM counter increment and FTM counter changes from its maximum value (MOD register) to its minimum value (zero). 19684 */ 19685 #define TPM_QDCTRL_TOFDIR(x) (((uint32_t)(((uint32_t)(x)) << TPM_QDCTRL_TOFDIR_SHIFT)) & TPM_QDCTRL_TOFDIR_MASK) 19686 #define TPM_QDCTRL_QUADIR_MASK (0x4U) 19687 #define TPM_QDCTRL_QUADIR_SHIFT (2U) 19688 /*! QUADIR - Counter Direction in Quadrature Decode Mode 19689 * 0b0..Counter direction is decreasing (counter decrement). 19690 * 0b1..Counter direction is increasing (counter increment). 19691 */ 19692 #define TPM_QDCTRL_QUADIR(x) (((uint32_t)(((uint32_t)(x)) << TPM_QDCTRL_QUADIR_SHIFT)) & TPM_QDCTRL_QUADIR_MASK) 19693 #define TPM_QDCTRL_QUADMODE_MASK (0x8U) 19694 #define TPM_QDCTRL_QUADMODE_SHIFT (3U) 19695 /*! QUADMODE - Quadrature Decoder Mode 19696 * 0b0..Phase encoding mode. 19697 * 0b1..Count and direction encoding mode. 19698 */ 19699 #define TPM_QDCTRL_QUADMODE(x) (((uint32_t)(((uint32_t)(x)) << TPM_QDCTRL_QUADMODE_SHIFT)) & TPM_QDCTRL_QUADMODE_MASK) 19700 /*! @} */ 19701 19702 /*! @name CONF - Configuration */ 19703 /*! @{ */ 19704 #define TPM_CONF_DOZEEN_MASK (0x20U) 19705 #define TPM_CONF_DOZEEN_SHIFT (5U) 19706 /*! DOZEEN - Doze Enable 19707 * 0b0..Internal TPM counter continues in Doze mode. 19708 * 0b1..Internal TPM counter is paused and does not increment during Doze mode. Trigger inputs and input capture events are ignored, and PWM outputs are forced to their default state. 19709 */ 19710 #define TPM_CONF_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_DOZEEN_SHIFT)) & TPM_CONF_DOZEEN_MASK) 19711 #define TPM_CONF_DBGMODE_MASK (0xC0U) 19712 #define TPM_CONF_DBGMODE_SHIFT (6U) 19713 /*! DBGMODE - Debug Mode 19714 * 0b00..TPM counter is paused and does not increment during debug mode. Trigger inputs and input capture events are ignored, and PWM outputs are forced to their default state. 19715 * 0b11..TPM counter continues in debug mode. 19716 */ 19717 #define TPM_CONF_DBGMODE(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_DBGMODE_SHIFT)) & TPM_CONF_DBGMODE_MASK) 19718 #define TPM_CONF_GTBSYNC_MASK (0x100U) 19719 #define TPM_CONF_GTBSYNC_SHIFT (8U) 19720 /*! GTBSYNC - Global Time Base Synchronization 19721 * 0b0..Global timebase synchronization disabled. 19722 * 0b1..Global timebase synchronization enabled. 19723 */ 19724 #define TPM_CONF_GTBSYNC(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_GTBSYNC_SHIFT)) & TPM_CONF_GTBSYNC_MASK) 19725 #define TPM_CONF_GTBEEN_MASK (0x200U) 19726 #define TPM_CONF_GTBEEN_SHIFT (9U) 19727 /*! GTBEEN - Global time base enable 19728 * 0b0..All channels use the internally generated TPM counter as their timebase 19729 * 0b1..All channels use an externally generated global timebase as their timebase 19730 */ 19731 #define TPM_CONF_GTBEEN(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_GTBEEN_SHIFT)) & TPM_CONF_GTBEEN_MASK) 19732 #define TPM_CONF_CSOT_MASK (0x10000U) 19733 #define TPM_CONF_CSOT_SHIFT (16U) 19734 /*! CSOT - Counter Start on Trigger 19735 * 0b0..TPM counter starts to increment immediately, once it is enabled. 19736 * 0b1..TPM counter only starts to increment when it a rising edge on the selected input trigger is detected, after it has been enabled or after it has stopped due to overflow. 19737 */ 19738 #define TPM_CONF_CSOT(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_CSOT_SHIFT)) & TPM_CONF_CSOT_MASK) 19739 #define TPM_CONF_CSOO_MASK (0x20000U) 19740 #define TPM_CONF_CSOO_SHIFT (17U) 19741 /*! CSOO - Counter Stop On Overflow 19742 * 0b0..TPM counter continues incrementing or decrementing after overflow 19743 * 0b1..TPM counter stops incrementing or decrementing after overflow. 19744 */ 19745 #define TPM_CONF_CSOO(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_CSOO_SHIFT)) & TPM_CONF_CSOO_MASK) 19746 #define TPM_CONF_CROT_MASK (0x40000U) 19747 #define TPM_CONF_CROT_SHIFT (18U) 19748 /*! CROT - Counter Reload On Trigger 19749 * 0b0..Counter is not reloaded due to a rising edge on the selected input trigger 19750 * 0b1..Counter is reloaded when a rising edge is detected on the selected input trigger 19751 */ 19752 #define TPM_CONF_CROT(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_CROT_SHIFT)) & TPM_CONF_CROT_MASK) 19753 #define TPM_CONF_CPOT_MASK (0x80000U) 19754 #define TPM_CONF_CPOT_SHIFT (19U) 19755 #define TPM_CONF_CPOT(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_CPOT_SHIFT)) & TPM_CONF_CPOT_MASK) 19756 #define TPM_CONF_TRGPOL_MASK (0x400000U) 19757 #define TPM_CONF_TRGPOL_SHIFT (22U) 19758 /*! TRGPOL - Trigger Polarity 19759 * 0b0..Trigger is active high. 19760 * 0b1..Trigger is active low. 19761 */ 19762 #define TPM_CONF_TRGPOL(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_TRGPOL_SHIFT)) & TPM_CONF_TRGPOL_MASK) 19763 #define TPM_CONF_TRGSRC_MASK (0x800000U) 19764 #define TPM_CONF_TRGSRC_SHIFT (23U) 19765 /*! TRGSRC - Trigger Source 19766 * 0b0..Trigger source selected by TRGSEL is external. 19767 * 0b1..Trigger source selected by TRGSEL is internal (channel pin input capture). 19768 */ 19769 #define TPM_CONF_TRGSRC(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_TRGSRC_SHIFT)) & TPM_CONF_TRGSRC_MASK) 19770 #define TPM_CONF_TRGSEL_MASK (0x3000000U) 19771 #define TPM_CONF_TRGSEL_SHIFT (24U) 19772 /*! TRGSEL - Trigger Select 19773 * 0b01..Channel 0 pin input capture 19774 * 0b10..Channel 1 pin input capture 19775 * 0b11..Channel 0 or Channel 1 pin input capture 19776 */ 19777 #define TPM_CONF_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_TRGSEL_SHIFT)) & TPM_CONF_TRGSEL_MASK) 19778 /*! @} */ 19779 19780 19781 /*! 19782 * @} 19783 */ /* end of group TPM_Register_Masks */ 19784 19785 19786 /* TPM - Peripheral instance base addresses */ 19787 /** Peripheral TPM0 base address */ 19788 #define TPM0_BASE (0x40035000u) 19789 /** Peripheral TPM0 base pointer */ 19790 #define TPM0 ((TPM_Type *)TPM0_BASE) 19791 /** Peripheral TPM1 base address */ 19792 #define TPM1_BASE (0x40036000u) 19793 /** Peripheral TPM1 base pointer */ 19794 #define TPM1 ((TPM_Type *)TPM1_BASE) 19795 /** Peripheral TPM2 base address */ 19796 #define TPM2_BASE (0x40037000u) 19797 /** Peripheral TPM2 base pointer */ 19798 #define TPM2 ((TPM_Type *)TPM2_BASE) 19799 /** Peripheral TPM3 base address */ 19800 #define TPM3_BASE (0x4102D000u) 19801 /** Peripheral TPM3 base pointer */ 19802 #define TPM3 ((TPM_Type *)TPM3_BASE) 19803 /** Array initializer of TPM peripheral base addresses */ 19804 #define TPM_BASE_ADDRS { TPM0_BASE, TPM1_BASE, TPM2_BASE, TPM3_BASE } 19805 /** Array initializer of TPM peripheral base pointers */ 19806 #define TPM_BASE_PTRS { TPM0, TPM1, TPM2, TPM3 } 19807 /** Interrupt vectors for the TPM peripheral type */ 19808 #define TPM_IRQS { TPM0_IRQn, TPM1_IRQn, TPM2_IRQn, TPM3_IRQn } 19809 19810 /*! 19811 * @} 19812 */ /* end of group TPM_Peripheral_Access_Layer */ 19813 19814 19815 /* ---------------------------------------------------------------------------- 19816 -- TRGMUX Peripheral Access Layer 19817 ---------------------------------------------------------------------------- */ 19818 19819 /*! 19820 * @addtogroup TRGMUX_Peripheral_Access_Layer TRGMUX Peripheral Access Layer 19821 * @{ 19822 */ 19823 19824 /** TRGMUX - Register Layout Typedef */ 19825 typedef struct { 19826 __IO uint32_t TRGCFG[25]; /**< TRGMUX TRGMUX_DMAMUX0 Register..TRGMUX TRGMUX_LPDAC0 Register, array offset: 0x0, array step: 0x4 */ 19827 } TRGMUX_Type; 19828 19829 /* ---------------------------------------------------------------------------- 19830 -- TRGMUX Register Masks 19831 ---------------------------------------------------------------------------- */ 19832 19833 /*! 19834 * @addtogroup TRGMUX_Register_Masks TRGMUX Register Masks 19835 * @{ 19836 */ 19837 19838 /*! @name TRGCFG - TRGMUX TRGMUX_DMAMUX0 Register..TRGMUX TRGMUX_LPDAC0 Register */ 19839 /*! @{ */ 19840 #define TRGMUX_TRGCFG_SEL0_MASK (0x3FU) 19841 #define TRGMUX_TRGCFG_SEL0_SHIFT (0U) 19842 #define TRGMUX_TRGCFG_SEL0(x) (((uint32_t)(((uint32_t)(x)) << TRGMUX_TRGCFG_SEL0_SHIFT)) & TRGMUX_TRGCFG_SEL0_MASK) 19843 #define TRGMUX_TRGCFG_SEL1_MASK (0x3F00U) 19844 #define TRGMUX_TRGCFG_SEL1_SHIFT (8U) 19845 #define TRGMUX_TRGCFG_SEL1(x) (((uint32_t)(((uint32_t)(x)) << TRGMUX_TRGCFG_SEL1_SHIFT)) & TRGMUX_TRGCFG_SEL1_MASK) 19846 #define TRGMUX_TRGCFG_SEL2_MASK (0x3F0000U) 19847 #define TRGMUX_TRGCFG_SEL2_SHIFT (16U) 19848 #define TRGMUX_TRGCFG_SEL2(x) (((uint32_t)(((uint32_t)(x)) << TRGMUX_TRGCFG_SEL2_SHIFT)) & TRGMUX_TRGCFG_SEL2_MASK) 19849 #define TRGMUX_TRGCFG_SEL3_MASK (0x3F000000U) 19850 #define TRGMUX_TRGCFG_SEL3_SHIFT (24U) 19851 #define TRGMUX_TRGCFG_SEL3(x) (((uint32_t)(((uint32_t)(x)) << TRGMUX_TRGCFG_SEL3_SHIFT)) & TRGMUX_TRGCFG_SEL3_MASK) 19852 #define TRGMUX_TRGCFG_LK_MASK (0x80000000U) 19853 #define TRGMUX_TRGCFG_LK_SHIFT (31U) 19854 /*! LK - TRGMUX register lock. 19855 * 0b0..Register can be written. 19856 * 0b1..Register cannot be written until the next system Reset. 19857 */ 19858 #define TRGMUX_TRGCFG_LK(x) (((uint32_t)(((uint32_t)(x)) << TRGMUX_TRGCFG_LK_SHIFT)) & TRGMUX_TRGCFG_LK_MASK) 19859 /*! @} */ 19860 19861 /* The count of TRGMUX_TRGCFG */ 19862 #define TRGMUX_TRGCFG_COUNT (25U) 19863 19864 19865 /*! 19866 * @} 19867 */ /* end of group TRGMUX_Register_Masks */ 19868 19869 19870 /* TRGMUX - Peripheral instance base addresses */ 19871 /** Peripheral TRGMUX0 base address */ 19872 #define TRGMUX0_BASE (0x40029000u) 19873 /** Peripheral TRGMUX0 base pointer */ 19874 #define TRGMUX0 ((TRGMUX_Type *)TRGMUX0_BASE) 19875 /** Peripheral TRGMUX1 base address */ 19876 #define TRGMUX1_BASE (0x41025000u) 19877 /** Peripheral TRGMUX1 base pointer */ 19878 #define TRGMUX1 ((TRGMUX_Type *)TRGMUX1_BASE) 19879 /** Array initializer of TRGMUX peripheral base addresses */ 19880 #define TRGMUX_BASE_ADDRS { TRGMUX0_BASE, TRGMUX1_BASE } 19881 /** Array initializer of TRGMUX peripheral base pointers */ 19882 #define TRGMUX_BASE_PTRS { TRGMUX0, TRGMUX1 } 19883 19884 /*! 19885 * @} 19886 */ /* end of group TRGMUX_Peripheral_Access_Layer */ 19887 19888 19889 /* ---------------------------------------------------------------------------- 19890 -- TRNG Peripheral Access Layer 19891 ---------------------------------------------------------------------------- */ 19892 19893 /*! 19894 * @addtogroup TRNG_Peripheral_Access_Layer TRNG Peripheral Access Layer 19895 * @{ 19896 */ 19897 19898 /** TRNG - Register Layout Typedef */ 19899 typedef struct { 19900 __IO uint32_t MCTL; /**< Miscellaneous Control Register, offset: 0x0 */ 19901 __IO uint32_t SCMISC; /**< Statistical Check Miscellaneous Register, offset: 0x4 */ 19902 __IO uint32_t PKRRNG; /**< Poker Range Register, offset: 0x8 */ 19903 union { /* offset: 0xC */ 19904 __IO uint32_t PKRMAX; /**< Poker Maximum Limit Register, offset: 0xC */ 19905 __I uint32_t PKRSQ; /**< Poker Square Calculation Result Register, offset: 0xC */ 19906 }; 19907 __IO uint32_t SDCTL; /**< Seed Control Register, offset: 0x10 */ 19908 union { /* offset: 0x14 */ 19909 __IO uint32_t SBLIM; /**< Sparse Bit Limit Register, offset: 0x14 */ 19910 __I uint32_t TOTSAM; /**< Total Samples Register, offset: 0x14 */ 19911 }; 19912 __IO uint32_t FRQMIN; /**< Frequency Count Minimum Limit Register, offset: 0x18 */ 19913 union { /* offset: 0x1C */ 19914 __I uint32_t FRQCNT; /**< Frequency Count Register, offset: 0x1C */ 19915 __IO uint32_t FRQMAX; /**< Frequency Count Maximum Limit Register, offset: 0x1C */ 19916 }; 19917 union { /* offset: 0x20 */ 19918 __I uint32_t SCMC; /**< Statistical Check Monobit Count Register, offset: 0x20 */ 19919 __IO uint32_t SCML; /**< Statistical Check Monobit Limit Register, offset: 0x20 */ 19920 }; 19921 union { /* offset: 0x24 */ 19922 __I uint32_t SCR1C; /**< Statistical Check Run Length 1 Count Register, offset: 0x24 */ 19923 __IO uint32_t SCR1L; /**< Statistical Check Run Length 1 Limit Register, offset: 0x24 */ 19924 }; 19925 union { /* offset: 0x28 */ 19926 __I uint32_t SCR2C; /**< Statistical Check Run Length 2 Count Register, offset: 0x28 */ 19927 __IO uint32_t SCR2L; /**< Statistical Check Run Length 2 Limit Register, offset: 0x28 */ 19928 }; 19929 union { /* offset: 0x2C */ 19930 __I uint32_t SCR3C; /**< Statistical Check Run Length 3 Count Register, offset: 0x2C */ 19931 __IO uint32_t SCR3L; /**< Statistical Check Run Length 3 Limit Register, offset: 0x2C */ 19932 }; 19933 union { /* offset: 0x30 */ 19934 __I uint32_t SCR4C; /**< Statistical Check Run Length 4 Count Register, offset: 0x30 */ 19935 __IO uint32_t SCR4L; /**< Statistical Check Run Length 4 Limit Register, offset: 0x30 */ 19936 }; 19937 union { /* offset: 0x34 */ 19938 __I uint32_t SCR5C; /**< Statistical Check Run Length 5 Count Register, offset: 0x34 */ 19939 __IO uint32_t SCR5L; /**< Statistical Check Run Length 5 Limit Register, offset: 0x34 */ 19940 }; 19941 union { /* offset: 0x38 */ 19942 __I uint32_t SCR6PC; /**< Statistical Check Run Length 6+ Count Register, offset: 0x38 */ 19943 __IO uint32_t SCR6PL; /**< Statistical Check Run Length 6+ Limit Register, offset: 0x38 */ 19944 }; 19945 __I uint32_t STATUS; /**< Status Register, offset: 0x3C */ 19946 __I uint32_t ENT[16]; /**< Entropy Read Register, array offset: 0x40, array step: 0x4 */ 19947 __I uint32_t PKRCNT10; /**< Statistical Check Poker Count 1 and 0 Register, offset: 0x80 */ 19948 __I uint32_t PKRCNT32; /**< Statistical Check Poker Count 3 and 2 Register, offset: 0x84 */ 19949 __I uint32_t PKRCNT54; /**< Statistical Check Poker Count 5 and 4 Register, offset: 0x88 */ 19950 __I uint32_t PKRCNT76; /**< Statistical Check Poker Count 7 and 6 Register, offset: 0x8C */ 19951 __I uint32_t PKRCNT98; /**< Statistical Check Poker Count 9 and 8 Register, offset: 0x90 */ 19952 __I uint32_t PKRCNTBA; /**< Statistical Check Poker Count B and A Register, offset: 0x94 */ 19953 __I uint32_t PKRCNTDC; /**< Statistical Check Poker Count D and C Register, offset: 0x98 */ 19954 __I uint32_t PKRCNTFE; /**< Statistical Check Poker Count F and E Register, offset: 0x9C */ 19955 __IO uint32_t SEC_CFG; /**< Security Configuration Register, offset: 0xA0 */ 19956 __IO uint32_t INT_CTRL; /**< Interrupt Control Register, offset: 0xA4 */ 19957 __IO uint32_t INT_MASK; /**< Mask Register, offset: 0xA8 */ 19958 __I uint32_t INT_STATUS; /**< Interrupt Status Register, offset: 0xAC */ 19959 uint8_t RESERVED_0[64]; 19960 __I uint32_t VID1; /**< Version ID Register (MS), offset: 0xF0 */ 19961 __I uint32_t VID2; /**< Version ID Register (LS), offset: 0xF4 */ 19962 } TRNG_Type; 19963 19964 /* ---------------------------------------------------------------------------- 19965 -- TRNG Register Masks 19966 ---------------------------------------------------------------------------- */ 19967 19968 /*! 19969 * @addtogroup TRNG_Register_Masks TRNG Register Masks 19970 * @{ 19971 */ 19972 19973 /*! @name MCTL - Miscellaneous Control Register */ 19974 /*! @{ */ 19975 #define TRNG_MCTL_SAMP_MODE_MASK (0x3U) 19976 #define TRNG_MCTL_SAMP_MODE_SHIFT (0U) 19977 /*! SAMP_MODE 19978 * 0b00..use Von Neumann data into both Entropy shifter and Statistical Checker 19979 * 0b01..use raw data into both Entropy shifter and Statistical Checker 19980 * 0b10..use Von Neumann data into Entropy shifter. Use raw data into Statistical Checker 19981 * 0b11..undefined/reserved. 19982 */ 19983 #define TRNG_MCTL_SAMP_MODE(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_SAMP_MODE_SHIFT)) & TRNG_MCTL_SAMP_MODE_MASK) 19984 #define TRNG_MCTL_OSC_DIV_MASK (0xCU) 19985 #define TRNG_MCTL_OSC_DIV_SHIFT (2U) 19986 /*! OSC_DIV 19987 * 0b00..use ring oscillator with no divide 19988 * 0b01..use ring oscillator divided-by-2 19989 * 0b10..use ring oscillator divided-by-4 19990 * 0b11..use ring oscillator divided-by-8 19991 */ 19992 #define TRNG_MCTL_OSC_DIV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_OSC_DIV_SHIFT)) & TRNG_MCTL_OSC_DIV_MASK) 19993 #define TRNG_MCTL_UNUSED4_MASK (0x10U) 19994 #define TRNG_MCTL_UNUSED4_SHIFT (4U) 19995 #define TRNG_MCTL_UNUSED4(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_UNUSED4_SHIFT)) & TRNG_MCTL_UNUSED4_MASK) 19996 #define TRNG_MCTL_TRNG_ACC_MASK (0x20U) 19997 #define TRNG_MCTL_TRNG_ACC_SHIFT (5U) 19998 #define TRNG_MCTL_TRNG_ACC(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_TRNG_ACC_SHIFT)) & TRNG_MCTL_TRNG_ACC_MASK) 19999 #define TRNG_MCTL_RST_DEF_MASK (0x40U) 20000 #define TRNG_MCTL_RST_DEF_SHIFT (6U) 20001 #define TRNG_MCTL_RST_DEF(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_RST_DEF_SHIFT)) & TRNG_MCTL_RST_DEF_MASK) 20002 #define TRNG_MCTL_FOR_SCLK_MASK (0x80U) 20003 #define TRNG_MCTL_FOR_SCLK_SHIFT (7U) 20004 #define TRNG_MCTL_FOR_SCLK(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FOR_SCLK_SHIFT)) & TRNG_MCTL_FOR_SCLK_MASK) 20005 #define TRNG_MCTL_FCT_FAIL_MASK (0x100U) 20006 #define TRNG_MCTL_FCT_FAIL_SHIFT (8U) 20007 #define TRNG_MCTL_FCT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FCT_FAIL_SHIFT)) & TRNG_MCTL_FCT_FAIL_MASK) 20008 #define TRNG_MCTL_FCT_VAL_MASK (0x200U) 20009 #define TRNG_MCTL_FCT_VAL_SHIFT (9U) 20010 #define TRNG_MCTL_FCT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FCT_VAL_SHIFT)) & TRNG_MCTL_FCT_VAL_MASK) 20011 #define TRNG_MCTL_ENT_VAL_MASK (0x400U) 20012 #define TRNG_MCTL_ENT_VAL_SHIFT (10U) 20013 #define TRNG_MCTL_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_ENT_VAL_SHIFT)) & TRNG_MCTL_ENT_VAL_MASK) 20014 #define TRNG_MCTL_TST_OUT_MASK (0x800U) 20015 #define TRNG_MCTL_TST_OUT_SHIFT (11U) 20016 #define TRNG_MCTL_TST_OUT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_TST_OUT_SHIFT)) & TRNG_MCTL_TST_OUT_MASK) 20017 #define TRNG_MCTL_ERR_MASK (0x1000U) 20018 #define TRNG_MCTL_ERR_SHIFT (12U) 20019 #define TRNG_MCTL_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_ERR_SHIFT)) & TRNG_MCTL_ERR_MASK) 20020 #define TRNG_MCTL_TSTOP_OK_MASK (0x2000U) 20021 #define TRNG_MCTL_TSTOP_OK_SHIFT (13U) 20022 #define TRNG_MCTL_TSTOP_OK(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_TSTOP_OK_SHIFT)) & TRNG_MCTL_TSTOP_OK_MASK) 20023 #define TRNG_MCTL_PRGM_MASK (0x10000U) 20024 #define TRNG_MCTL_PRGM_SHIFT (16U) 20025 #define TRNG_MCTL_PRGM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_PRGM_SHIFT)) & TRNG_MCTL_PRGM_MASK) 20026 /*! @} */ 20027 20028 /*! @name SCMISC - Statistical Check Miscellaneous Register */ 20029 /*! @{ */ 20030 #define TRNG_SCMISC_LRUN_MAX_MASK (0xFFU) 20031 #define TRNG_SCMISC_LRUN_MAX_SHIFT (0U) 20032 #define TRNG_SCMISC_LRUN_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMISC_LRUN_MAX_SHIFT)) & TRNG_SCMISC_LRUN_MAX_MASK) 20033 #define TRNG_SCMISC_RTY_CT_MASK (0xF0000U) 20034 #define TRNG_SCMISC_RTY_CT_SHIFT (16U) 20035 #define TRNG_SCMISC_RTY_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMISC_RTY_CT_SHIFT)) & TRNG_SCMISC_RTY_CT_MASK) 20036 /*! @} */ 20037 20038 /*! @name PKRRNG - Poker Range Register */ 20039 /*! @{ */ 20040 #define TRNG_PKRRNG_PKR_RNG_MASK (0xFFFFU) 20041 #define TRNG_PKRRNG_PKR_RNG_SHIFT (0U) 20042 #define TRNG_PKRRNG_PKR_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRRNG_PKR_RNG_SHIFT)) & TRNG_PKRRNG_PKR_RNG_MASK) 20043 /*! @} */ 20044 20045 /*! @name PKRMAX - Poker Maximum Limit Register */ 20046 /*! @{ */ 20047 #define TRNG_PKRMAX_PKR_MAX_MASK (0xFFFFFFU) 20048 #define TRNG_PKRMAX_PKR_MAX_SHIFT (0U) 20049 #define TRNG_PKRMAX_PKR_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRMAX_PKR_MAX_SHIFT)) & TRNG_PKRMAX_PKR_MAX_MASK) 20050 /*! @} */ 20051 20052 /*! @name PKRSQ - Poker Square Calculation Result Register */ 20053 /*! @{ */ 20054 #define TRNG_PKRSQ_PKR_SQ_MASK (0xFFFFFFU) 20055 #define TRNG_PKRSQ_PKR_SQ_SHIFT (0U) 20056 #define TRNG_PKRSQ_PKR_SQ(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRSQ_PKR_SQ_SHIFT)) & TRNG_PKRSQ_PKR_SQ_MASK) 20057 /*! @} */ 20058 20059 /*! @name SDCTL - Seed Control Register */ 20060 /*! @{ */ 20061 #define TRNG_SDCTL_SAMP_SIZE_MASK (0xFFFFU) 20062 #define TRNG_SDCTL_SAMP_SIZE_SHIFT (0U) 20063 #define TRNG_SDCTL_SAMP_SIZE(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SDCTL_SAMP_SIZE_SHIFT)) & TRNG_SDCTL_SAMP_SIZE_MASK) 20064 #define TRNG_SDCTL_ENT_DLY_MASK (0xFFFF0000U) 20065 #define TRNG_SDCTL_ENT_DLY_SHIFT (16U) 20066 #define TRNG_SDCTL_ENT_DLY(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SDCTL_ENT_DLY_SHIFT)) & TRNG_SDCTL_ENT_DLY_MASK) 20067 /*! @} */ 20068 20069 /*! @name SBLIM - Sparse Bit Limit Register */ 20070 /*! @{ */ 20071 #define TRNG_SBLIM_SB_LIM_MASK (0x3FFU) 20072 #define TRNG_SBLIM_SB_LIM_SHIFT (0U) 20073 #define TRNG_SBLIM_SB_LIM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SBLIM_SB_LIM_SHIFT)) & TRNG_SBLIM_SB_LIM_MASK) 20074 /*! @} */ 20075 20076 /*! @name TOTSAM - Total Samples Register */ 20077 /*! @{ */ 20078 #define TRNG_TOTSAM_TOT_SAM_MASK (0xFFFFFU) 20079 #define TRNG_TOTSAM_TOT_SAM_SHIFT (0U) 20080 #define TRNG_TOTSAM_TOT_SAM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_TOTSAM_TOT_SAM_SHIFT)) & TRNG_TOTSAM_TOT_SAM_MASK) 20081 /*! @} */ 20082 20083 /*! @name FRQMIN - Frequency Count Minimum Limit Register */ 20084 /*! @{ */ 20085 #define TRNG_FRQMIN_FRQ_MIN_MASK (0x3FFFFFU) 20086 #define TRNG_FRQMIN_FRQ_MIN_SHIFT (0U) 20087 #define TRNG_FRQMIN_FRQ_MIN(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQMIN_FRQ_MIN_SHIFT)) & TRNG_FRQMIN_FRQ_MIN_MASK) 20088 /*! @} */ 20089 20090 /*! @name FRQCNT - Frequency Count Register */ 20091 /*! @{ */ 20092 #define TRNG_FRQCNT_FRQ_CT_MASK (0x3FFFFFU) 20093 #define TRNG_FRQCNT_FRQ_CT_SHIFT (0U) 20094 #define TRNG_FRQCNT_FRQ_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQCNT_FRQ_CT_SHIFT)) & TRNG_FRQCNT_FRQ_CT_MASK) 20095 /*! @} */ 20096 20097 /*! @name FRQMAX - Frequency Count Maximum Limit Register */ 20098 /*! @{ */ 20099 #define TRNG_FRQMAX_FRQ_MAX_MASK (0x3FFFFFU) 20100 #define TRNG_FRQMAX_FRQ_MAX_SHIFT (0U) 20101 #define TRNG_FRQMAX_FRQ_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQMAX_FRQ_MAX_SHIFT)) & TRNG_FRQMAX_FRQ_MAX_MASK) 20102 /*! @} */ 20103 20104 /*! @name SCMC - Statistical Check Monobit Count Register */ 20105 /*! @{ */ 20106 #define TRNG_SCMC_MONO_CT_MASK (0xFFFFU) 20107 #define TRNG_SCMC_MONO_CT_SHIFT (0U) 20108 #define TRNG_SCMC_MONO_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMC_MONO_CT_SHIFT)) & TRNG_SCMC_MONO_CT_MASK) 20109 /*! @} */ 20110 20111 /*! @name SCML - Statistical Check Monobit Limit Register */ 20112 /*! @{ */ 20113 #define TRNG_SCML_MONO_MAX_MASK (0xFFFFU) 20114 #define TRNG_SCML_MONO_MAX_SHIFT (0U) 20115 #define TRNG_SCML_MONO_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCML_MONO_MAX_SHIFT)) & TRNG_SCML_MONO_MAX_MASK) 20116 #define TRNG_SCML_MONO_RNG_MASK (0xFFFF0000U) 20117 #define TRNG_SCML_MONO_RNG_SHIFT (16U) 20118 #define TRNG_SCML_MONO_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCML_MONO_RNG_SHIFT)) & TRNG_SCML_MONO_RNG_MASK) 20119 /*! @} */ 20120 20121 /*! @name SCR1C - Statistical Check Run Length 1 Count Register */ 20122 /*! @{ */ 20123 #define TRNG_SCR1C_R1_0_CT_MASK (0x7FFFU) 20124 #define TRNG_SCR1C_R1_0_CT_SHIFT (0U) 20125 #define TRNG_SCR1C_R1_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1C_R1_0_CT_SHIFT)) & TRNG_SCR1C_R1_0_CT_MASK) 20126 #define TRNG_SCR1C_R1_1_CT_MASK (0x7FFF0000U) 20127 #define TRNG_SCR1C_R1_1_CT_SHIFT (16U) 20128 #define TRNG_SCR1C_R1_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1C_R1_1_CT_SHIFT)) & TRNG_SCR1C_R1_1_CT_MASK) 20129 /*! @} */ 20130 20131 /*! @name SCR1L - Statistical Check Run Length 1 Limit Register */ 20132 /*! @{ */ 20133 #define TRNG_SCR1L_RUN1_MAX_MASK (0x7FFFU) 20134 #define TRNG_SCR1L_RUN1_MAX_SHIFT (0U) 20135 #define TRNG_SCR1L_RUN1_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1L_RUN1_MAX_SHIFT)) & TRNG_SCR1L_RUN1_MAX_MASK) 20136 #define TRNG_SCR1L_RUN1_RNG_MASK (0x7FFF0000U) 20137 #define TRNG_SCR1L_RUN1_RNG_SHIFT (16U) 20138 #define TRNG_SCR1L_RUN1_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1L_RUN1_RNG_SHIFT)) & TRNG_SCR1L_RUN1_RNG_MASK) 20139 /*! @} */ 20140 20141 /*! @name SCR2C - Statistical Check Run Length 2 Count Register */ 20142 /*! @{ */ 20143 #define TRNG_SCR2C_R2_0_CT_MASK (0x3FFFU) 20144 #define TRNG_SCR2C_R2_0_CT_SHIFT (0U) 20145 #define TRNG_SCR2C_R2_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2C_R2_0_CT_SHIFT)) & TRNG_SCR2C_R2_0_CT_MASK) 20146 #define TRNG_SCR2C_R2_1_CT_MASK (0x3FFF0000U) 20147 #define TRNG_SCR2C_R2_1_CT_SHIFT (16U) 20148 #define TRNG_SCR2C_R2_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2C_R2_1_CT_SHIFT)) & TRNG_SCR2C_R2_1_CT_MASK) 20149 /*! @} */ 20150 20151 /*! @name SCR2L - Statistical Check Run Length 2 Limit Register */ 20152 /*! @{ */ 20153 #define TRNG_SCR2L_RUN2_MAX_MASK (0x3FFFU) 20154 #define TRNG_SCR2L_RUN2_MAX_SHIFT (0U) 20155 #define TRNG_SCR2L_RUN2_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2L_RUN2_MAX_SHIFT)) & TRNG_SCR2L_RUN2_MAX_MASK) 20156 #define TRNG_SCR2L_RUN2_RNG_MASK (0x3FFF0000U) 20157 #define TRNG_SCR2L_RUN2_RNG_SHIFT (16U) 20158 #define TRNG_SCR2L_RUN2_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2L_RUN2_RNG_SHIFT)) & TRNG_SCR2L_RUN2_RNG_MASK) 20159 /*! @} */ 20160 20161 /*! @name SCR3C - Statistical Check Run Length 3 Count Register */ 20162 /*! @{ */ 20163 #define TRNG_SCR3C_R3_0_CT_MASK (0x1FFFU) 20164 #define TRNG_SCR3C_R3_0_CT_SHIFT (0U) 20165 #define TRNG_SCR3C_R3_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3C_R3_0_CT_SHIFT)) & TRNG_SCR3C_R3_0_CT_MASK) 20166 #define TRNG_SCR3C_R3_1_CT_MASK (0x1FFF0000U) 20167 #define TRNG_SCR3C_R3_1_CT_SHIFT (16U) 20168 #define TRNG_SCR3C_R3_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3C_R3_1_CT_SHIFT)) & TRNG_SCR3C_R3_1_CT_MASK) 20169 /*! @} */ 20170 20171 /*! @name SCR3L - Statistical Check Run Length 3 Limit Register */ 20172 /*! @{ */ 20173 #define TRNG_SCR3L_RUN3_MAX_MASK (0x1FFFU) 20174 #define TRNG_SCR3L_RUN3_MAX_SHIFT (0U) 20175 #define TRNG_SCR3L_RUN3_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3L_RUN3_MAX_SHIFT)) & TRNG_SCR3L_RUN3_MAX_MASK) 20176 #define TRNG_SCR3L_RUN3_RNG_MASK (0x1FFF0000U) 20177 #define TRNG_SCR3L_RUN3_RNG_SHIFT (16U) 20178 #define TRNG_SCR3L_RUN3_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3L_RUN3_RNG_SHIFT)) & TRNG_SCR3L_RUN3_RNG_MASK) 20179 /*! @} */ 20180 20181 /*! @name SCR4C - Statistical Check Run Length 4 Count Register */ 20182 /*! @{ */ 20183 #define TRNG_SCR4C_R4_0_CT_MASK (0xFFFU) 20184 #define TRNG_SCR4C_R4_0_CT_SHIFT (0U) 20185 #define TRNG_SCR4C_R4_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4C_R4_0_CT_SHIFT)) & TRNG_SCR4C_R4_0_CT_MASK) 20186 #define TRNG_SCR4C_R4_1_CT_MASK (0xFFF0000U) 20187 #define TRNG_SCR4C_R4_1_CT_SHIFT (16U) 20188 #define TRNG_SCR4C_R4_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4C_R4_1_CT_SHIFT)) & TRNG_SCR4C_R4_1_CT_MASK) 20189 /*! @} */ 20190 20191 /*! @name SCR4L - Statistical Check Run Length 4 Limit Register */ 20192 /*! @{ */ 20193 #define TRNG_SCR4L_RUN4_MAX_MASK (0xFFFU) 20194 #define TRNG_SCR4L_RUN4_MAX_SHIFT (0U) 20195 #define TRNG_SCR4L_RUN4_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4L_RUN4_MAX_SHIFT)) & TRNG_SCR4L_RUN4_MAX_MASK) 20196 #define TRNG_SCR4L_RUN4_RNG_MASK (0xFFF0000U) 20197 #define TRNG_SCR4L_RUN4_RNG_SHIFT (16U) 20198 #define TRNG_SCR4L_RUN4_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4L_RUN4_RNG_SHIFT)) & TRNG_SCR4L_RUN4_RNG_MASK) 20199 /*! @} */ 20200 20201 /*! @name SCR5C - Statistical Check Run Length 5 Count Register */ 20202 /*! @{ */ 20203 #define TRNG_SCR5C_R5_0_CT_MASK (0x7FFU) 20204 #define TRNG_SCR5C_R5_0_CT_SHIFT (0U) 20205 #define TRNG_SCR5C_R5_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5C_R5_0_CT_SHIFT)) & TRNG_SCR5C_R5_0_CT_MASK) 20206 #define TRNG_SCR5C_R5_1_CT_MASK (0x7FF0000U) 20207 #define TRNG_SCR5C_R5_1_CT_SHIFT (16U) 20208 #define TRNG_SCR5C_R5_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5C_R5_1_CT_SHIFT)) & TRNG_SCR5C_R5_1_CT_MASK) 20209 /*! @} */ 20210 20211 /*! @name SCR5L - Statistical Check Run Length 5 Limit Register */ 20212 /*! @{ */ 20213 #define TRNG_SCR5L_RUN5_MAX_MASK (0x7FFU) 20214 #define TRNG_SCR5L_RUN5_MAX_SHIFT (0U) 20215 #define TRNG_SCR5L_RUN5_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5L_RUN5_MAX_SHIFT)) & TRNG_SCR5L_RUN5_MAX_MASK) 20216 #define TRNG_SCR5L_RUN5_RNG_MASK (0x7FF0000U) 20217 #define TRNG_SCR5L_RUN5_RNG_SHIFT (16U) 20218 #define TRNG_SCR5L_RUN5_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5L_RUN5_RNG_SHIFT)) & TRNG_SCR5L_RUN5_RNG_MASK) 20219 /*! @} */ 20220 20221 /*! @name SCR6PC - Statistical Check Run Length 6+ Count Register */ 20222 /*! @{ */ 20223 #define TRNG_SCR6PC_R6P_0_CT_MASK (0x7FFU) 20224 #define TRNG_SCR6PC_R6P_0_CT_SHIFT (0U) 20225 #define TRNG_SCR6PC_R6P_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PC_R6P_0_CT_SHIFT)) & TRNG_SCR6PC_R6P_0_CT_MASK) 20226 #define TRNG_SCR6PC_R6P_1_CT_MASK (0x7FF0000U) 20227 #define TRNG_SCR6PC_R6P_1_CT_SHIFT (16U) 20228 #define TRNG_SCR6PC_R6P_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PC_R6P_1_CT_SHIFT)) & TRNG_SCR6PC_R6P_1_CT_MASK) 20229 /*! @} */ 20230 20231 /*! @name SCR6PL - Statistical Check Run Length 6+ Limit Register */ 20232 /*! @{ */ 20233 #define TRNG_SCR6PL_RUN6P_MAX_MASK (0x7FFU) 20234 #define TRNG_SCR6PL_RUN6P_MAX_SHIFT (0U) 20235 #define TRNG_SCR6PL_RUN6P_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PL_RUN6P_MAX_SHIFT)) & TRNG_SCR6PL_RUN6P_MAX_MASK) 20236 #define TRNG_SCR6PL_RUN6P_RNG_MASK (0x7FF0000U) 20237 #define TRNG_SCR6PL_RUN6P_RNG_SHIFT (16U) 20238 #define TRNG_SCR6PL_RUN6P_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PL_RUN6P_RNG_SHIFT)) & TRNG_SCR6PL_RUN6P_RNG_MASK) 20239 /*! @} */ 20240 20241 /*! @name STATUS - Status Register */ 20242 /*! @{ */ 20243 #define TRNG_STATUS_TF1BR0_MASK (0x1U) 20244 #define TRNG_STATUS_TF1BR0_SHIFT (0U) 20245 #define TRNG_STATUS_TF1BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF1BR0_SHIFT)) & TRNG_STATUS_TF1BR0_MASK) 20246 #define TRNG_STATUS_TF1BR1_MASK (0x2U) 20247 #define TRNG_STATUS_TF1BR1_SHIFT (1U) 20248 #define TRNG_STATUS_TF1BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF1BR1_SHIFT)) & TRNG_STATUS_TF1BR1_MASK) 20249 #define TRNG_STATUS_TF2BR0_MASK (0x4U) 20250 #define TRNG_STATUS_TF2BR0_SHIFT (2U) 20251 #define TRNG_STATUS_TF2BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF2BR0_SHIFT)) & TRNG_STATUS_TF2BR0_MASK) 20252 #define TRNG_STATUS_TF2BR1_MASK (0x8U) 20253 #define TRNG_STATUS_TF2BR1_SHIFT (3U) 20254 #define TRNG_STATUS_TF2BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF2BR1_SHIFT)) & TRNG_STATUS_TF2BR1_MASK) 20255 #define TRNG_STATUS_TF3BR0_MASK (0x10U) 20256 #define TRNG_STATUS_TF3BR0_SHIFT (4U) 20257 #define TRNG_STATUS_TF3BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF3BR0_SHIFT)) & TRNG_STATUS_TF3BR0_MASK) 20258 #define TRNG_STATUS_TF3BR1_MASK (0x20U) 20259 #define TRNG_STATUS_TF3BR1_SHIFT (5U) 20260 #define TRNG_STATUS_TF3BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF3BR1_SHIFT)) & TRNG_STATUS_TF3BR1_MASK) 20261 #define TRNG_STATUS_TF4BR0_MASK (0x40U) 20262 #define TRNG_STATUS_TF4BR0_SHIFT (6U) 20263 #define TRNG_STATUS_TF4BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF4BR0_SHIFT)) & TRNG_STATUS_TF4BR0_MASK) 20264 #define TRNG_STATUS_TF4BR1_MASK (0x80U) 20265 #define TRNG_STATUS_TF4BR1_SHIFT (7U) 20266 #define TRNG_STATUS_TF4BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF4BR1_SHIFT)) & TRNG_STATUS_TF4BR1_MASK) 20267 #define TRNG_STATUS_TF5BR0_MASK (0x100U) 20268 #define TRNG_STATUS_TF5BR0_SHIFT (8U) 20269 #define TRNG_STATUS_TF5BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF5BR0_SHIFT)) & TRNG_STATUS_TF5BR0_MASK) 20270 #define TRNG_STATUS_TF5BR1_MASK (0x200U) 20271 #define TRNG_STATUS_TF5BR1_SHIFT (9U) 20272 #define TRNG_STATUS_TF5BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF5BR1_SHIFT)) & TRNG_STATUS_TF5BR1_MASK) 20273 #define TRNG_STATUS_TF6PBR0_MASK (0x400U) 20274 #define TRNG_STATUS_TF6PBR0_SHIFT (10U) 20275 #define TRNG_STATUS_TF6PBR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF6PBR0_SHIFT)) & TRNG_STATUS_TF6PBR0_MASK) 20276 #define TRNG_STATUS_TF6PBR1_MASK (0x800U) 20277 #define TRNG_STATUS_TF6PBR1_SHIFT (11U) 20278 #define TRNG_STATUS_TF6PBR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF6PBR1_SHIFT)) & TRNG_STATUS_TF6PBR1_MASK) 20279 #define TRNG_STATUS_TFSB_MASK (0x1000U) 20280 #define TRNG_STATUS_TFSB_SHIFT (12U) 20281 #define TRNG_STATUS_TFSB(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFSB_SHIFT)) & TRNG_STATUS_TFSB_MASK) 20282 #define TRNG_STATUS_TFLR_MASK (0x2000U) 20283 #define TRNG_STATUS_TFLR_SHIFT (13U) 20284 #define TRNG_STATUS_TFLR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFLR_SHIFT)) & TRNG_STATUS_TFLR_MASK) 20285 #define TRNG_STATUS_TFP_MASK (0x4000U) 20286 #define TRNG_STATUS_TFP_SHIFT (14U) 20287 #define TRNG_STATUS_TFP(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFP_SHIFT)) & TRNG_STATUS_TFP_MASK) 20288 #define TRNG_STATUS_TFMB_MASK (0x8000U) 20289 #define TRNG_STATUS_TFMB_SHIFT (15U) 20290 #define TRNG_STATUS_TFMB(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFMB_SHIFT)) & TRNG_STATUS_TFMB_MASK) 20291 #define TRNG_STATUS_RETRY_CT_MASK (0xF0000U) 20292 #define TRNG_STATUS_RETRY_CT_SHIFT (16U) 20293 #define TRNG_STATUS_RETRY_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_RETRY_CT_SHIFT)) & TRNG_STATUS_RETRY_CT_MASK) 20294 /*! @} */ 20295 20296 /*! @name ENT - Entropy Read Register */ 20297 /*! @{ */ 20298 #define TRNG_ENT_ENT_MASK (0xFFFFFFFFU) 20299 #define TRNG_ENT_ENT_SHIFT (0U) 20300 #define TRNG_ENT_ENT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_ENT_ENT_SHIFT)) & TRNG_ENT_ENT_MASK) 20301 /*! @} */ 20302 20303 /* The count of TRNG_ENT */ 20304 #define TRNG_ENT_COUNT (16U) 20305 20306 /*! @name PKRCNT10 - Statistical Check Poker Count 1 and 0 Register */ 20307 /*! @{ */ 20308 #define TRNG_PKRCNT10_PKR_0_CT_MASK (0xFFFFU) 20309 #define TRNG_PKRCNT10_PKR_0_CT_SHIFT (0U) 20310 #define TRNG_PKRCNT10_PKR_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT10_PKR_0_CT_SHIFT)) & TRNG_PKRCNT10_PKR_0_CT_MASK) 20311 #define TRNG_PKRCNT10_PKR_1_CT_MASK (0xFFFF0000U) 20312 #define TRNG_PKRCNT10_PKR_1_CT_SHIFT (16U) 20313 #define TRNG_PKRCNT10_PKR_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT10_PKR_1_CT_SHIFT)) & TRNG_PKRCNT10_PKR_1_CT_MASK) 20314 /*! @} */ 20315 20316 /*! @name PKRCNT32 - Statistical Check Poker Count 3 and 2 Register */ 20317 /*! @{ */ 20318 #define TRNG_PKRCNT32_PKR_2_CT_MASK (0xFFFFU) 20319 #define TRNG_PKRCNT32_PKR_2_CT_SHIFT (0U) 20320 #define TRNG_PKRCNT32_PKR_2_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT32_PKR_2_CT_SHIFT)) & TRNG_PKRCNT32_PKR_2_CT_MASK) 20321 #define TRNG_PKRCNT32_PKR_3_CT_MASK (0xFFFF0000U) 20322 #define TRNG_PKRCNT32_PKR_3_CT_SHIFT (16U) 20323 #define TRNG_PKRCNT32_PKR_3_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT32_PKR_3_CT_SHIFT)) & TRNG_PKRCNT32_PKR_3_CT_MASK) 20324 /*! @} */ 20325 20326 /*! @name PKRCNT54 - Statistical Check Poker Count 5 and 4 Register */ 20327 /*! @{ */ 20328 #define TRNG_PKRCNT54_PKR_4_CT_MASK (0xFFFFU) 20329 #define TRNG_PKRCNT54_PKR_4_CT_SHIFT (0U) 20330 #define TRNG_PKRCNT54_PKR_4_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT54_PKR_4_CT_SHIFT)) & TRNG_PKRCNT54_PKR_4_CT_MASK) 20331 #define TRNG_PKRCNT54_PKR_5_CT_MASK (0xFFFF0000U) 20332 #define TRNG_PKRCNT54_PKR_5_CT_SHIFT (16U) 20333 #define TRNG_PKRCNT54_PKR_5_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT54_PKR_5_CT_SHIFT)) & TRNG_PKRCNT54_PKR_5_CT_MASK) 20334 /*! @} */ 20335 20336 /*! @name PKRCNT76 - Statistical Check Poker Count 7 and 6 Register */ 20337 /*! @{ */ 20338 #define TRNG_PKRCNT76_PKR_6_CT_MASK (0xFFFFU) 20339 #define TRNG_PKRCNT76_PKR_6_CT_SHIFT (0U) 20340 #define TRNG_PKRCNT76_PKR_6_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT76_PKR_6_CT_SHIFT)) & TRNG_PKRCNT76_PKR_6_CT_MASK) 20341 #define TRNG_PKRCNT76_PKR_7_CT_MASK (0xFFFF0000U) 20342 #define TRNG_PKRCNT76_PKR_7_CT_SHIFT (16U) 20343 #define TRNG_PKRCNT76_PKR_7_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT76_PKR_7_CT_SHIFT)) & TRNG_PKRCNT76_PKR_7_CT_MASK) 20344 /*! @} */ 20345 20346 /*! @name PKRCNT98 - Statistical Check Poker Count 9 and 8 Register */ 20347 /*! @{ */ 20348 #define TRNG_PKRCNT98_PKR_8_CT_MASK (0xFFFFU) 20349 #define TRNG_PKRCNT98_PKR_8_CT_SHIFT (0U) 20350 #define TRNG_PKRCNT98_PKR_8_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT98_PKR_8_CT_SHIFT)) & TRNG_PKRCNT98_PKR_8_CT_MASK) 20351 #define TRNG_PKRCNT98_PKR_9_CT_MASK (0xFFFF0000U) 20352 #define TRNG_PKRCNT98_PKR_9_CT_SHIFT (16U) 20353 #define TRNG_PKRCNT98_PKR_9_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT98_PKR_9_CT_SHIFT)) & TRNG_PKRCNT98_PKR_9_CT_MASK) 20354 /*! @} */ 20355 20356 /*! @name PKRCNTBA - Statistical Check Poker Count B and A Register */ 20357 /*! @{ */ 20358 #define TRNG_PKRCNTBA_PKR_A_CT_MASK (0xFFFFU) 20359 #define TRNG_PKRCNTBA_PKR_A_CT_SHIFT (0U) 20360 #define TRNG_PKRCNTBA_PKR_A_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTBA_PKR_A_CT_SHIFT)) & TRNG_PKRCNTBA_PKR_A_CT_MASK) 20361 #define TRNG_PKRCNTBA_PKR_B_CT_MASK (0xFFFF0000U) 20362 #define TRNG_PKRCNTBA_PKR_B_CT_SHIFT (16U) 20363 #define TRNG_PKRCNTBA_PKR_B_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTBA_PKR_B_CT_SHIFT)) & TRNG_PKRCNTBA_PKR_B_CT_MASK) 20364 /*! @} */ 20365 20366 /*! @name PKRCNTDC - Statistical Check Poker Count D and C Register */ 20367 /*! @{ */ 20368 #define TRNG_PKRCNTDC_PKR_C_CT_MASK (0xFFFFU) 20369 #define TRNG_PKRCNTDC_PKR_C_CT_SHIFT (0U) 20370 #define TRNG_PKRCNTDC_PKR_C_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTDC_PKR_C_CT_SHIFT)) & TRNG_PKRCNTDC_PKR_C_CT_MASK) 20371 #define TRNG_PKRCNTDC_PKR_D_CT_MASK (0xFFFF0000U) 20372 #define TRNG_PKRCNTDC_PKR_D_CT_SHIFT (16U) 20373 #define TRNG_PKRCNTDC_PKR_D_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTDC_PKR_D_CT_SHIFT)) & TRNG_PKRCNTDC_PKR_D_CT_MASK) 20374 /*! @} */ 20375 20376 /*! @name PKRCNTFE - Statistical Check Poker Count F and E Register */ 20377 /*! @{ */ 20378 #define TRNG_PKRCNTFE_PKR_E_CT_MASK (0xFFFFU) 20379 #define TRNG_PKRCNTFE_PKR_E_CT_SHIFT (0U) 20380 #define TRNG_PKRCNTFE_PKR_E_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTFE_PKR_E_CT_SHIFT)) & TRNG_PKRCNTFE_PKR_E_CT_MASK) 20381 #define TRNG_PKRCNTFE_PKR_F_CT_MASK (0xFFFF0000U) 20382 #define TRNG_PKRCNTFE_PKR_F_CT_SHIFT (16U) 20383 #define TRNG_PKRCNTFE_PKR_F_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTFE_PKR_F_CT_SHIFT)) & TRNG_PKRCNTFE_PKR_F_CT_MASK) 20384 /*! @} */ 20385 20386 /*! @name SEC_CFG - Security Configuration Register */ 20387 /*! @{ */ 20388 #define TRNG_SEC_CFG_UNUSED0_MASK (0x1U) 20389 #define TRNG_SEC_CFG_UNUSED0_SHIFT (0U) 20390 #define TRNG_SEC_CFG_UNUSED0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SEC_CFG_UNUSED0_SHIFT)) & TRNG_SEC_CFG_UNUSED0_MASK) 20391 #define TRNG_SEC_CFG_NO_PRGM_MASK (0x2U) 20392 #define TRNG_SEC_CFG_NO_PRGM_SHIFT (1U) 20393 /*! NO_PRGM 20394 * 0b0..Programability of registers controlled only by the Miscellaneous Control Register's access mode bit. 20395 * 0b1..Overides Miscellaneous Control Register access mode and prevents TRNG register programming. 20396 */ 20397 #define TRNG_SEC_CFG_NO_PRGM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SEC_CFG_NO_PRGM_SHIFT)) & TRNG_SEC_CFG_NO_PRGM_MASK) 20398 #define TRNG_SEC_CFG_UNUSED2_MASK (0x4U) 20399 #define TRNG_SEC_CFG_UNUSED2_SHIFT (2U) 20400 #define TRNG_SEC_CFG_UNUSED2(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SEC_CFG_UNUSED2_SHIFT)) & TRNG_SEC_CFG_UNUSED2_MASK) 20401 /*! @} */ 20402 20403 /*! @name INT_CTRL - Interrupt Control Register */ 20404 /*! @{ */ 20405 #define TRNG_INT_CTRL_HW_ERR_MASK (0x1U) 20406 #define TRNG_INT_CTRL_HW_ERR_SHIFT (0U) 20407 /*! HW_ERR 20408 * 0b0..Corresponding bit of INT_STATUS register cleared. 20409 * 0b1..Corresponding bit of INT_STATUS register active. 20410 */ 20411 #define TRNG_INT_CTRL_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_HW_ERR_SHIFT)) & TRNG_INT_CTRL_HW_ERR_MASK) 20412 #define TRNG_INT_CTRL_ENT_VAL_MASK (0x2U) 20413 #define TRNG_INT_CTRL_ENT_VAL_SHIFT (1U) 20414 /*! ENT_VAL 20415 * 0b0..Same behavior as bit 0 of this register. 20416 * 0b1..Same behavior as bit 0 of this register. 20417 */ 20418 #define TRNG_INT_CTRL_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_ENT_VAL_SHIFT)) & TRNG_INT_CTRL_ENT_VAL_MASK) 20419 #define TRNG_INT_CTRL_FRQ_CT_FAIL_MASK (0x4U) 20420 #define TRNG_INT_CTRL_FRQ_CT_FAIL_SHIFT (2U) 20421 /*! FRQ_CT_FAIL 20422 * 0b0..Same behavior as bit 0 of this register. 20423 * 0b1..Same behavior as bit 0 of this register. 20424 */ 20425 #define TRNG_INT_CTRL_FRQ_CT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_FRQ_CT_FAIL_SHIFT)) & TRNG_INT_CTRL_FRQ_CT_FAIL_MASK) 20426 #define TRNG_INT_CTRL_UNUSED_MASK (0xFFFFFFF8U) 20427 #define TRNG_INT_CTRL_UNUSED_SHIFT (3U) 20428 #define TRNG_INT_CTRL_UNUSED(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_UNUSED_SHIFT)) & TRNG_INT_CTRL_UNUSED_MASK) 20429 /*! @} */ 20430 20431 /*! @name INT_MASK - Mask Register */ 20432 /*! @{ */ 20433 #define TRNG_INT_MASK_HW_ERR_MASK (0x1U) 20434 #define TRNG_INT_MASK_HW_ERR_SHIFT (0U) 20435 /*! HW_ERR 20436 * 0b0..Corresponding interrupt of INT_STATUS is masked. 20437 * 0b1..Corresponding bit of INT_STATUS is active. 20438 */ 20439 #define TRNG_INT_MASK_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_MASK_HW_ERR_SHIFT)) & TRNG_INT_MASK_HW_ERR_MASK) 20440 #define TRNG_INT_MASK_ENT_VAL_MASK (0x2U) 20441 #define TRNG_INT_MASK_ENT_VAL_SHIFT (1U) 20442 /*! ENT_VAL 20443 * 0b0..Same behavior as bit 0 of this register. 20444 * 0b1..Same behavior as bit 0 of this register. 20445 */ 20446 #define TRNG_INT_MASK_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_MASK_ENT_VAL_SHIFT)) & TRNG_INT_MASK_ENT_VAL_MASK) 20447 #define TRNG_INT_MASK_FRQ_CT_FAIL_MASK (0x4U) 20448 #define TRNG_INT_MASK_FRQ_CT_FAIL_SHIFT (2U) 20449 /*! FRQ_CT_FAIL 20450 * 0b0..Same behavior as bit 0 of this register. 20451 * 0b1..Same behavior as bit 0 of this register. 20452 */ 20453 #define TRNG_INT_MASK_FRQ_CT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_MASK_FRQ_CT_FAIL_SHIFT)) & TRNG_INT_MASK_FRQ_CT_FAIL_MASK) 20454 /*! @} */ 20455 20456 /*! @name INT_STATUS - Interrupt Status Register */ 20457 /*! @{ */ 20458 #define TRNG_INT_STATUS_HW_ERR_MASK (0x1U) 20459 #define TRNG_INT_STATUS_HW_ERR_SHIFT (0U) 20460 /*! HW_ERR 20461 * 0b0..no error 20462 * 0b1..error detected. 20463 */ 20464 #define TRNG_INT_STATUS_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_STATUS_HW_ERR_SHIFT)) & TRNG_INT_STATUS_HW_ERR_MASK) 20465 #define TRNG_INT_STATUS_ENT_VAL_MASK (0x2U) 20466 #define TRNG_INT_STATUS_ENT_VAL_SHIFT (1U) 20467 /*! ENT_VAL 20468 * 0b0..Busy generation entropy. Any value read is invalid. 20469 * 0b1..TRNG can be stopped and entropy is valid if read. 20470 */ 20471 #define TRNG_INT_STATUS_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_STATUS_ENT_VAL_SHIFT)) & TRNG_INT_STATUS_ENT_VAL_MASK) 20472 #define TRNG_INT_STATUS_FRQ_CT_FAIL_MASK (0x4U) 20473 #define TRNG_INT_STATUS_FRQ_CT_FAIL_SHIFT (2U) 20474 /*! FRQ_CT_FAIL 20475 * 0b0..No hardware nor self test frequency errors. 20476 * 0b1..The frequency counter has detected a failure. 20477 */ 20478 #define TRNG_INT_STATUS_FRQ_CT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_STATUS_FRQ_CT_FAIL_SHIFT)) & TRNG_INT_STATUS_FRQ_CT_FAIL_MASK) 20479 /*! @} */ 20480 20481 /*! @name VID1 - Version ID Register (MS) */ 20482 /*! @{ */ 20483 #define TRNG_VID1_MIN_REV_MASK (0xFFU) 20484 #define TRNG_VID1_MIN_REV_SHIFT (0U) 20485 /*! MIN_REV 20486 * 0b00000000..Minor revision number for TRNG. 20487 */ 20488 #define TRNG_VID1_MIN_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_MIN_REV_SHIFT)) & TRNG_VID1_MIN_REV_MASK) 20489 #define TRNG_VID1_MAJ_REV_MASK (0xFF00U) 20490 #define TRNG_VID1_MAJ_REV_SHIFT (8U) 20491 /*! MAJ_REV 20492 * 0b00000001..Major revision number for TRNG. 20493 */ 20494 #define TRNG_VID1_MAJ_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_MAJ_REV_SHIFT)) & TRNG_VID1_MAJ_REV_MASK) 20495 #define TRNG_VID1_IP_ID_MASK (0xFFFF0000U) 20496 #define TRNG_VID1_IP_ID_SHIFT (16U) 20497 /*! IP_ID 20498 * 0b0000000000110000..ID for TRNG. 20499 */ 20500 #define TRNG_VID1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_IP_ID_SHIFT)) & TRNG_VID1_IP_ID_MASK) 20501 /*! @} */ 20502 20503 /*! @name VID2 - Version ID Register (LS) */ 20504 /*! @{ */ 20505 #define TRNG_VID2_CONFIG_OPT_MASK (0xFFU) 20506 #define TRNG_VID2_CONFIG_OPT_SHIFT (0U) 20507 /*! CONFIG_OPT 20508 * 0b00000000..TRNG_CONFIG_OPT for TRNG. 20509 */ 20510 #define TRNG_VID2_CONFIG_OPT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_CONFIG_OPT_SHIFT)) & TRNG_VID2_CONFIG_OPT_MASK) 20511 #define TRNG_VID2_ECO_REV_MASK (0xFF00U) 20512 #define TRNG_VID2_ECO_REV_SHIFT (8U) 20513 /*! ECO_REV 20514 * 0b00000000..TRNG_ECO_REV for TRNG. 20515 */ 20516 #define TRNG_VID2_ECO_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_ECO_REV_SHIFT)) & TRNG_VID2_ECO_REV_MASK) 20517 #define TRNG_VID2_INTG_OPT_MASK (0xFF0000U) 20518 #define TRNG_VID2_INTG_OPT_SHIFT (16U) 20519 /*! INTG_OPT 20520 * 0b00000000..INTG_OPT for TRNG. 20521 */ 20522 #define TRNG_VID2_INTG_OPT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_INTG_OPT_SHIFT)) & TRNG_VID2_INTG_OPT_MASK) 20523 #define TRNG_VID2_ERA_MASK (0xFF000000U) 20524 #define TRNG_VID2_ERA_SHIFT (24U) 20525 /*! ERA 20526 * 0b00000000..COMPILE_OPT for TRNG. 20527 */ 20528 #define TRNG_VID2_ERA(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_ERA_SHIFT)) & TRNG_VID2_ERA_MASK) 20529 /*! @} */ 20530 20531 20532 /*! 20533 * @} 20534 */ /* end of group TRNG_Register_Masks */ 20535 20536 20537 /* TRNG - Peripheral instance base addresses */ 20538 /** Peripheral TRNG base address */ 20539 #define TRNG_BASE (0x41029000u) 20540 /** Peripheral TRNG base pointer */ 20541 #define TRNG ((TRNG_Type *)TRNG_BASE) 20542 /** Array initializer of TRNG peripheral base addresses */ 20543 #define TRNG_BASE_ADDRS { TRNG_BASE } 20544 /** Array initializer of TRNG peripheral base pointers */ 20545 #define TRNG_BASE_PTRS { TRNG } 20546 /** Interrupt vectors for the TRNG peripheral type */ 20547 #define TRNG_IRQS { TRNG_IRQn } 20548 /** Backward compatibility macros */ 20549 #define TRNG0 TRNG 20550 20551 20552 /*! 20553 * @} 20554 */ /* end of group TRNG_Peripheral_Access_Layer */ 20555 20556 20557 /* ---------------------------------------------------------------------------- 20558 -- TSTMR Peripheral Access Layer 20559 ---------------------------------------------------------------------------- */ 20560 20561 /*! 20562 * @addtogroup TSTMR_Peripheral_Access_Layer TSTMR Peripheral Access Layer 20563 * @{ 20564 */ 20565 20566 /** TSTMR - Register Layout Typedef */ 20567 typedef struct { 20568 __I uint32_t L; /**< Time Stamp Timer Register Low, offset: 0x0 */ 20569 __I uint32_t H; /**< Time Stamp Timer Register High, offset: 0x4 */ 20570 } TSTMR_Type; 20571 20572 /* ---------------------------------------------------------------------------- 20573 -- TSTMR Register Masks 20574 ---------------------------------------------------------------------------- */ 20575 20576 /*! 20577 * @addtogroup TSTMR_Register_Masks TSTMR Register Masks 20578 * @{ 20579 */ 20580 20581 /*! @name L - Time Stamp Timer Register Low */ 20582 /*! @{ */ 20583 #define TSTMR_L_VALUE_MASK (0xFFFFFFFFU) 20584 #define TSTMR_L_VALUE_SHIFT (0U) 20585 #define TSTMR_L_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TSTMR_L_VALUE_SHIFT)) & TSTMR_L_VALUE_MASK) 20586 /*! @} */ 20587 20588 /*! @name H - Time Stamp Timer Register High */ 20589 /*! @{ */ 20590 #define TSTMR_H_VALUE_MASK (0xFFFFFFU) 20591 #define TSTMR_H_VALUE_SHIFT (0U) 20592 #define TSTMR_H_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TSTMR_H_VALUE_SHIFT)) & TSTMR_H_VALUE_MASK) 20593 /*! @} */ 20594 20595 20596 /*! 20597 * @} 20598 */ /* end of group TSTMR_Register_Masks */ 20599 20600 20601 /* TSTMR - Peripheral instance base addresses */ 20602 /** Peripheral TSTMRA base address */ 20603 #define TSTMRA_BASE (0x40034000u) 20604 /** Peripheral TSTMRA base pointer */ 20605 #define TSTMRA ((TSTMR_Type *)TSTMRA_BASE) 20606 /** Array initializer of TSTMR peripheral base addresses */ 20607 #define TSTMR_BASE_ADDRS { TSTMRA_BASE } 20608 /** Array initializer of TSTMR peripheral base pointers */ 20609 #define TSTMR_BASE_PTRS { TSTMRA } 20610 20611 /*! 20612 * @} 20613 */ /* end of group TSTMR_Peripheral_Access_Layer */ 20614 20615 20616 /* ---------------------------------------------------------------------------- 20617 -- USB Peripheral Access Layer 20618 ---------------------------------------------------------------------------- */ 20619 20620 /*! 20621 * @addtogroup USB_Peripheral_Access_Layer USB Peripheral Access Layer 20622 * @{ 20623 */ 20624 20625 /** USB - Register Layout Typedef */ 20626 typedef struct { 20627 __I uint8_t PERID; /**< Peripheral ID register, offset: 0x0 */ 20628 uint8_t RESERVED_0[3]; 20629 __I uint8_t IDCOMP; /**< Peripheral ID Complement register, offset: 0x4 */ 20630 uint8_t RESERVED_1[3]; 20631 __I uint8_t REV; /**< Peripheral Revision register, offset: 0x8 */ 20632 uint8_t RESERVED_2[3]; 20633 __I uint8_t ADDINFO; /**< Peripheral Additional Info register, offset: 0xC */ 20634 uint8_t RESERVED_3[15]; 20635 __IO uint8_t OTGCTL; /**< OTG Control register, offset: 0x1C */ 20636 uint8_t RESERVED_4[99]; 20637 __IO uint8_t ISTAT; /**< Interrupt Status register, offset: 0x80 */ 20638 uint8_t RESERVED_5[3]; 20639 __IO uint8_t INTEN; /**< Interrupt Enable register, offset: 0x84 */ 20640 uint8_t RESERVED_6[3]; 20641 __IO uint8_t ERRSTAT; /**< Error Interrupt Status register, offset: 0x88 */ 20642 uint8_t RESERVED_7[3]; 20643 __IO uint8_t ERREN; /**< Error Interrupt Enable register, offset: 0x8C */ 20644 uint8_t RESERVED_8[3]; 20645 __I uint8_t STAT; /**< Status register, offset: 0x90 */ 20646 uint8_t RESERVED_9[3]; 20647 __IO uint8_t CTL; /**< Control register, offset: 0x94 */ 20648 uint8_t RESERVED_10[3]; 20649 __IO uint8_t ADDR; /**< Address register, offset: 0x98 */ 20650 uint8_t RESERVED_11[3]; 20651 __IO uint8_t BDTPAGE1; /**< BDT Page register 1, offset: 0x9C */ 20652 uint8_t RESERVED_12[3]; 20653 __IO uint8_t FRMNUML; /**< Frame Number register Low, offset: 0xA0 */ 20654 uint8_t RESERVED_13[3]; 20655 __IO uint8_t FRMNUMH; /**< Frame Number register High, offset: 0xA4 */ 20656 uint8_t RESERVED_14[11]; 20657 __IO uint8_t BDTPAGE2; /**< BDT Page Register 2, offset: 0xB0 */ 20658 uint8_t RESERVED_15[3]; 20659 __IO uint8_t BDTPAGE3; /**< BDT Page Register 3, offset: 0xB4 */ 20660 uint8_t RESERVED_16[11]; 20661 struct { /* offset: 0xC0, array step: 0x4 */ 20662 __IO uint8_t ENDPT; /**< Endpoint Control register, array offset: 0xC0, array step: 0x4 */ 20663 uint8_t RESERVED_0[3]; 20664 } ENDPOINT[16]; 20665 __IO uint8_t USBCTRL; /**< USB Control register, offset: 0x100 */ 20666 uint8_t RESERVED_17[3]; 20667 __I uint8_t OBSERVE; /**< USB OTG Observe register, offset: 0x104 */ 20668 uint8_t RESERVED_18[3]; 20669 __IO uint8_t CONTROL; /**< USB OTG Control register, offset: 0x108 */ 20670 uint8_t RESERVED_19[3]; 20671 __IO uint8_t USBTRC0; /**< USB Transceiver Control register 0, offset: 0x10C */ 20672 uint8_t RESERVED_20[23]; 20673 __IO uint8_t KEEP_ALIVE_CTRL; /**< Keep Alive mode control, offset: 0x124 */ 20674 uint8_t RESERVED_21[3]; 20675 __IO uint8_t KEEP_ALIVE_WKCTRL; /**< Keep Alive mode wakeup control, offset: 0x128 */ 20676 uint8_t RESERVED_22[3]; 20677 __IO uint8_t MISCCTRL; /**< Miscellaneous Control register, offset: 0x12C */ 20678 uint8_t RESERVED_23[3]; 20679 __IO uint8_t STALL_IL_DIS; /**< Peripheral mode stall disable for endpoints 7 to 0 in IN direction, offset: 0x130 */ 20680 uint8_t RESERVED_24[3]; 20681 __IO uint8_t STALL_IH_DIS; /**< Peripheral mode stall disable for endpoints 15 to 8 in IN direction, offset: 0x134 */ 20682 uint8_t RESERVED_25[3]; 20683 __IO uint8_t STALL_OL_DIS; /**< Peripheral mode stall disable for endpoints 7 to 0 in OUT direction, offset: 0x138 */ 20684 uint8_t RESERVED_26[3]; 20685 __IO uint8_t STALL_OH_DIS; /**< Peripheral mode stall disable for endpoints 15 to 8 in OUT direction, offset: 0x13C */ 20686 uint8_t RESERVED_27[3]; 20687 __IO uint8_t CLK_RECOVER_CTRL; /**< USB Clock recovery control, offset: 0x140 */ 20688 uint8_t RESERVED_28[3]; 20689 __IO uint8_t CLK_RECOVER_IRC_EN; /**< IRC48MFIRC oscillator enable register, offset: 0x144 */ 20690 uint8_t RESERVED_29[15]; 20691 __IO uint8_t CLK_RECOVER_INT_EN; /**< Clock recovery combined interrupt enable, offset: 0x154 */ 20692 uint8_t RESERVED_30[7]; 20693 __IO uint8_t CLK_RECOVER_INT_STATUS; /**< Clock recovery separated interrupt status, offset: 0x15C */ 20694 } USB_Type; 20695 20696 /* ---------------------------------------------------------------------------- 20697 -- USB Register Masks 20698 ---------------------------------------------------------------------------- */ 20699 20700 /*! 20701 * @addtogroup USB_Register_Masks USB Register Masks 20702 * @{ 20703 */ 20704 20705 /*! @name PERID - Peripheral ID register */ 20706 /*! @{ */ 20707 #define USB_PERID_ID_MASK (0x3FU) 20708 #define USB_PERID_ID_SHIFT (0U) 20709 #define USB_PERID_ID(x) (((uint8_t)(((uint8_t)(x)) << USB_PERID_ID_SHIFT)) & USB_PERID_ID_MASK) 20710 /*! @} */ 20711 20712 /*! @name IDCOMP - Peripheral ID Complement register */ 20713 /*! @{ */ 20714 #define USB_IDCOMP_NID_MASK (0x3FU) 20715 #define USB_IDCOMP_NID_SHIFT (0U) 20716 #define USB_IDCOMP_NID(x) (((uint8_t)(((uint8_t)(x)) << USB_IDCOMP_NID_SHIFT)) & USB_IDCOMP_NID_MASK) 20717 /*! @} */ 20718 20719 /*! @name REV - Peripheral Revision register */ 20720 /*! @{ */ 20721 #define USB_REV_REV_MASK (0xFFU) 20722 #define USB_REV_REV_SHIFT (0U) 20723 #define USB_REV_REV(x) (((uint8_t)(((uint8_t)(x)) << USB_REV_REV_SHIFT)) & USB_REV_REV_MASK) 20724 /*! @} */ 20725 20726 /*! @name ADDINFO - Peripheral Additional Info register */ 20727 /*! @{ */ 20728 #define USB_ADDINFO_IEHOST_MASK (0x1U) 20729 #define USB_ADDINFO_IEHOST_SHIFT (0U) 20730 #define USB_ADDINFO_IEHOST(x) (((uint8_t)(((uint8_t)(x)) << USB_ADDINFO_IEHOST_SHIFT)) & USB_ADDINFO_IEHOST_MASK) 20731 /*! @} */ 20732 20733 /*! @name OTGCTL - OTG Control register */ 20734 /*! @{ */ 20735 #define USB_OTGCTL_DPHIGH_MASK (0x80U) 20736 #define USB_OTGCTL_DPHIGH_SHIFT (7U) 20737 /*! DPHIGH - D+ Data Line pullup resistor enable 20738 * 0b0..D+ pullup resistor is not enabled 20739 * 0b1..D+ pullup resistor is enabled 20740 */ 20741 #define USB_OTGCTL_DPHIGH(x) (((uint8_t)(((uint8_t)(x)) << USB_OTGCTL_DPHIGH_SHIFT)) & USB_OTGCTL_DPHIGH_MASK) 20742 /*! @} */ 20743 20744 /*! @name ISTAT - Interrupt Status register */ 20745 /*! @{ */ 20746 #define USB_ISTAT_USBRST_MASK (0x1U) 20747 #define USB_ISTAT_USBRST_SHIFT (0U) 20748 #define USB_ISTAT_USBRST(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_USBRST_SHIFT)) & USB_ISTAT_USBRST_MASK) 20749 #define USB_ISTAT_ERROR_MASK (0x2U) 20750 #define USB_ISTAT_ERROR_SHIFT (1U) 20751 #define USB_ISTAT_ERROR(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_ERROR_SHIFT)) & USB_ISTAT_ERROR_MASK) 20752 #define USB_ISTAT_SOFTOK_MASK (0x4U) 20753 #define USB_ISTAT_SOFTOK_SHIFT (2U) 20754 #define USB_ISTAT_SOFTOK(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_SOFTOK_SHIFT)) & USB_ISTAT_SOFTOK_MASK) 20755 #define USB_ISTAT_TOKDNE_MASK (0x8U) 20756 #define USB_ISTAT_TOKDNE_SHIFT (3U) 20757 #define USB_ISTAT_TOKDNE(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_TOKDNE_SHIFT)) & USB_ISTAT_TOKDNE_MASK) 20758 #define USB_ISTAT_SLEEP_MASK (0x10U) 20759 #define USB_ISTAT_SLEEP_SHIFT (4U) 20760 #define USB_ISTAT_SLEEP(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_SLEEP_SHIFT)) & USB_ISTAT_SLEEP_MASK) 20761 #define USB_ISTAT_RESUME_MASK (0x20U) 20762 #define USB_ISTAT_RESUME_SHIFT (5U) 20763 #define USB_ISTAT_RESUME(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_RESUME_SHIFT)) & USB_ISTAT_RESUME_MASK) 20764 #define USB_ISTAT_STALL_MASK (0x80U) 20765 #define USB_ISTAT_STALL_SHIFT (7U) 20766 #define USB_ISTAT_STALL(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_STALL_SHIFT)) & USB_ISTAT_STALL_MASK) 20767 /*! @} */ 20768 20769 /*! @name INTEN - Interrupt Enable register */ 20770 /*! @{ */ 20771 #define USB_INTEN_USBRSTEN_MASK (0x1U) 20772 #define USB_INTEN_USBRSTEN_SHIFT (0U) 20773 /*! USBRSTEN - USBRST Interrupt Enable 20774 * 0b0..Disables the USBRST interrupt. 20775 * 0b1..Enables the USBRST interrupt. 20776 */ 20777 #define USB_INTEN_USBRSTEN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_USBRSTEN_SHIFT)) & USB_INTEN_USBRSTEN_MASK) 20778 #define USB_INTEN_ERROREN_MASK (0x2U) 20779 #define USB_INTEN_ERROREN_SHIFT (1U) 20780 /*! ERROREN - ERROR Interrupt Enable 20781 * 0b0..Disables the ERROR interrupt. 20782 * 0b1..Enables the ERROR interrupt. 20783 */ 20784 #define USB_INTEN_ERROREN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_ERROREN_SHIFT)) & USB_INTEN_ERROREN_MASK) 20785 #define USB_INTEN_SOFTOKEN_MASK (0x4U) 20786 #define USB_INTEN_SOFTOKEN_SHIFT (2U) 20787 /*! SOFTOKEN - SOFTOK Interrupt Enable 20788 * 0b0..Disbles the SOFTOK interrupt. 20789 * 0b1..Enables the SOFTOK interrupt. 20790 */ 20791 #define USB_INTEN_SOFTOKEN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_SOFTOKEN_SHIFT)) & USB_INTEN_SOFTOKEN_MASK) 20792 #define USB_INTEN_TOKDNEEN_MASK (0x8U) 20793 #define USB_INTEN_TOKDNEEN_SHIFT (3U) 20794 /*! TOKDNEEN - TOKDNE Interrupt Enable 20795 * 0b0..Disables the TOKDNE interrupt. 20796 * 0b1..Enables the TOKDNE interrupt. 20797 */ 20798 #define USB_INTEN_TOKDNEEN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_TOKDNEEN_SHIFT)) & USB_INTEN_TOKDNEEN_MASK) 20799 #define USB_INTEN_SLEEPEN_MASK (0x10U) 20800 #define USB_INTEN_SLEEPEN_SHIFT (4U) 20801 /*! SLEEPEN - SLEEP Interrupt Enable 20802 * 0b0..Disables the SLEEP interrupt. 20803 * 0b1..Enables the SLEEP interrupt. 20804 */ 20805 #define USB_INTEN_SLEEPEN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_SLEEPEN_SHIFT)) & USB_INTEN_SLEEPEN_MASK) 20806 #define USB_INTEN_RESUMEEN_MASK (0x20U) 20807 #define USB_INTEN_RESUMEEN_SHIFT (5U) 20808 /*! RESUMEEN - RESUME Interrupt Enable 20809 * 0b0..Disables the RESUME interrupt. 20810 * 0b1..Enables the RESUME interrupt. 20811 */ 20812 #define USB_INTEN_RESUMEEN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_RESUMEEN_SHIFT)) & USB_INTEN_RESUMEEN_MASK) 20813 #define USB_INTEN_STALLEN_MASK (0x80U) 20814 #define USB_INTEN_STALLEN_SHIFT (7U) 20815 /*! STALLEN - STALL Interrupt Enable 20816 * 0b0..Diasbles the STALL interrupt. 20817 * 0b1..Enables the STALL interrupt. 20818 */ 20819 #define USB_INTEN_STALLEN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_STALLEN_SHIFT)) & USB_INTEN_STALLEN_MASK) 20820 /*! @} */ 20821 20822 /*! @name ERRSTAT - Error Interrupt Status register */ 20823 /*! @{ */ 20824 #define USB_ERRSTAT_PIDERR_MASK (0x1U) 20825 #define USB_ERRSTAT_PIDERR_SHIFT (0U) 20826 #define USB_ERRSTAT_PIDERR(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_PIDERR_SHIFT)) & USB_ERRSTAT_PIDERR_MASK) 20827 #define USB_ERRSTAT_CRC5EOF_MASK (0x2U) 20828 #define USB_ERRSTAT_CRC5EOF_SHIFT (1U) 20829 #define USB_ERRSTAT_CRC5EOF(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_CRC5EOF_SHIFT)) & USB_ERRSTAT_CRC5EOF_MASK) 20830 #define USB_ERRSTAT_CRC16_MASK (0x4U) 20831 #define USB_ERRSTAT_CRC16_SHIFT (2U) 20832 #define USB_ERRSTAT_CRC16(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_CRC16_SHIFT)) & USB_ERRSTAT_CRC16_MASK) 20833 #define USB_ERRSTAT_DFN8_MASK (0x8U) 20834 #define USB_ERRSTAT_DFN8_SHIFT (3U) 20835 #define USB_ERRSTAT_DFN8(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_DFN8_SHIFT)) & USB_ERRSTAT_DFN8_MASK) 20836 #define USB_ERRSTAT_BTOERR_MASK (0x10U) 20837 #define USB_ERRSTAT_BTOERR_SHIFT (4U) 20838 #define USB_ERRSTAT_BTOERR(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_BTOERR_SHIFT)) & USB_ERRSTAT_BTOERR_MASK) 20839 #define USB_ERRSTAT_DMAERR_MASK (0x20U) 20840 #define USB_ERRSTAT_DMAERR_SHIFT (5U) 20841 #define USB_ERRSTAT_DMAERR(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_DMAERR_SHIFT)) & USB_ERRSTAT_DMAERR_MASK) 20842 #define USB_ERRSTAT_OWNERR_MASK (0x40U) 20843 #define USB_ERRSTAT_OWNERR_SHIFT (6U) 20844 #define USB_ERRSTAT_OWNERR(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_OWNERR_SHIFT)) & USB_ERRSTAT_OWNERR_MASK) 20845 #define USB_ERRSTAT_BTSERR_MASK (0x80U) 20846 #define USB_ERRSTAT_BTSERR_SHIFT (7U) 20847 #define USB_ERRSTAT_BTSERR(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_BTSERR_SHIFT)) & USB_ERRSTAT_BTSERR_MASK) 20848 /*! @} */ 20849 20850 /*! @name ERREN - Error Interrupt Enable register */ 20851 /*! @{ */ 20852 #define USB_ERREN_PIDERREN_MASK (0x1U) 20853 #define USB_ERREN_PIDERREN_SHIFT (0U) 20854 /*! PIDERREN - PIDERR Interrupt Enable 20855 * 0b0..Disables the PIDERR interrupt. 20856 * 0b1..Enters the PIDERR interrupt. 20857 */ 20858 #define USB_ERREN_PIDERREN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_PIDERREN_SHIFT)) & USB_ERREN_PIDERREN_MASK) 20859 #define USB_ERREN_CRC5EOFEN_MASK (0x2U) 20860 #define USB_ERREN_CRC5EOFEN_SHIFT (1U) 20861 /*! CRC5EOFEN - CRC5/EOF Interrupt Enable 20862 * 0b0..Disables the CRC5/EOF interrupt. 20863 * 0b1..Enables the CRC5/EOF interrupt. 20864 */ 20865 #define USB_ERREN_CRC5EOFEN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_CRC5EOFEN_SHIFT)) & USB_ERREN_CRC5EOFEN_MASK) 20866 #define USB_ERREN_CRC16EN_MASK (0x4U) 20867 #define USB_ERREN_CRC16EN_SHIFT (2U) 20868 /*! CRC16EN - CRC16 Interrupt Enable 20869 * 0b0..Disables the CRC16 interrupt. 20870 * 0b1..Enables the CRC16 interrupt. 20871 */ 20872 #define USB_ERREN_CRC16EN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_CRC16EN_SHIFT)) & USB_ERREN_CRC16EN_MASK) 20873 #define USB_ERREN_DFN8EN_MASK (0x8U) 20874 #define USB_ERREN_DFN8EN_SHIFT (3U) 20875 /*! DFN8EN - DFN8 Interrupt Enable 20876 * 0b0..Disables the DFN8 interrupt. 20877 * 0b1..Enables the DFN8 interrupt. 20878 */ 20879 #define USB_ERREN_DFN8EN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_DFN8EN_SHIFT)) & USB_ERREN_DFN8EN_MASK) 20880 #define USB_ERREN_BTOERREN_MASK (0x10U) 20881 #define USB_ERREN_BTOERREN_SHIFT (4U) 20882 /*! BTOERREN - BTOERR Interrupt Enable 20883 * 0b0..Disables the BTOERR interrupt. 20884 * 0b1..Enables the BTOERR interrupt. 20885 */ 20886 #define USB_ERREN_BTOERREN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_BTOERREN_SHIFT)) & USB_ERREN_BTOERREN_MASK) 20887 #define USB_ERREN_DMAERREN_MASK (0x20U) 20888 #define USB_ERREN_DMAERREN_SHIFT (5U) 20889 /*! DMAERREN - DMAERR Interrupt Enable 20890 * 0b0..Disables the DMAERR interrupt. 20891 * 0b1..Enables the DMAERR interrupt. 20892 */ 20893 #define USB_ERREN_DMAERREN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_DMAERREN_SHIFT)) & USB_ERREN_DMAERREN_MASK) 20894 #define USB_ERREN_OWNERREN_MASK (0x40U) 20895 #define USB_ERREN_OWNERREN_SHIFT (6U) 20896 /*! OWNERREN - OWNERR Interrupt Enable 20897 * 0b0..Disables the OWNERR interrupt. 20898 * 0b1..Enables the OWNERR interrupt. 20899 */ 20900 #define USB_ERREN_OWNERREN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_OWNERREN_SHIFT)) & USB_ERREN_OWNERREN_MASK) 20901 #define USB_ERREN_BTSERREN_MASK (0x80U) 20902 #define USB_ERREN_BTSERREN_SHIFT (7U) 20903 /*! BTSERREN - BTSERR Interrupt Enable 20904 * 0b0..Disables the BTSERR interrupt. 20905 * 0b1..Enables the BTSERR interrupt. 20906 */ 20907 #define USB_ERREN_BTSERREN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_BTSERREN_SHIFT)) & USB_ERREN_BTSERREN_MASK) 20908 /*! @} */ 20909 20910 /*! @name STAT - Status register */ 20911 /*! @{ */ 20912 #define USB_STAT_ODD_MASK (0x4U) 20913 #define USB_STAT_ODD_SHIFT (2U) 20914 #define USB_STAT_ODD(x) (((uint8_t)(((uint8_t)(x)) << USB_STAT_ODD_SHIFT)) & USB_STAT_ODD_MASK) 20915 #define USB_STAT_TX_MASK (0x8U) 20916 #define USB_STAT_TX_SHIFT (3U) 20917 /*! TX - Transmit Indicator 20918 * 0b0..The most recent transaction was a receive operation. 20919 * 0b1..The most recent transaction was a transmit operation. 20920 */ 20921 #define USB_STAT_TX(x) (((uint8_t)(((uint8_t)(x)) << USB_STAT_TX_SHIFT)) & USB_STAT_TX_MASK) 20922 #define USB_STAT_ENDP_MASK (0xF0U) 20923 #define USB_STAT_ENDP_SHIFT (4U) 20924 #define USB_STAT_ENDP(x) (((uint8_t)(((uint8_t)(x)) << USB_STAT_ENDP_SHIFT)) & USB_STAT_ENDP_MASK) 20925 /*! @} */ 20926 20927 /*! @name CTL - Control register */ 20928 /*! @{ */ 20929 #define USB_CTL_USBENSOFEN_MASK (0x1U) 20930 #define USB_CTL_USBENSOFEN_SHIFT (0U) 20931 /*! USBENSOFEN - USB Enable 20932 * 0b0..Disables the USB Module. 20933 * 0b1..Enables the USB Module. 20934 */ 20935 #define USB_CTL_USBENSOFEN(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_USBENSOFEN_SHIFT)) & USB_CTL_USBENSOFEN_MASK) 20936 #define USB_CTL_ODDRST_MASK (0x2U) 20937 #define USB_CTL_ODDRST_SHIFT (1U) 20938 #define USB_CTL_ODDRST(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_ODDRST_SHIFT)) & USB_CTL_ODDRST_MASK) 20939 #define USB_CTL_RESUME_MASK (0x4U) 20940 #define USB_CTL_RESUME_SHIFT (2U) 20941 #define USB_CTL_RESUME(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_RESUME_SHIFT)) & USB_CTL_RESUME_MASK) 20942 #define USB_CTL_HOSTMODEEN_MASK (0x8U) 20943 #define USB_CTL_HOSTMODEEN_SHIFT (3U) 20944 /*! HOSTMODEEN - Host mode enable 20945 * 0b0..USB Module operates in Device mode. 20946 * 0b1..USB Module operates in Host mode. In Host mode, the USB module performs USB transactions under the programmed control of the host processor. 20947 */ 20948 #define USB_CTL_HOSTMODEEN(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_HOSTMODEEN_SHIFT)) & USB_CTL_HOSTMODEEN_MASK) 20949 #define USB_CTL_TXSUSPENDTOKENBUSY_MASK (0x20U) 20950 #define USB_CTL_TXSUSPENDTOKENBUSY_SHIFT (5U) 20951 #define USB_CTL_TXSUSPENDTOKENBUSY(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_TXSUSPENDTOKENBUSY_SHIFT)) & USB_CTL_TXSUSPENDTOKENBUSY_MASK) 20952 #define USB_CTL_SE0_MASK (0x40U) 20953 #define USB_CTL_SE0_SHIFT (6U) 20954 #define USB_CTL_SE0(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_SE0_SHIFT)) & USB_CTL_SE0_MASK) 20955 #define USB_CTL_JSTATE_MASK (0x80U) 20956 #define USB_CTL_JSTATE_SHIFT (7U) 20957 #define USB_CTL_JSTATE(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_JSTATE_SHIFT)) & USB_CTL_JSTATE_MASK) 20958 /*! @} */ 20959 20960 /*! @name ADDR - Address register */ 20961 /*! @{ */ 20962 #define USB_ADDR_ADDR_MASK (0x7FU) 20963 #define USB_ADDR_ADDR_SHIFT (0U) 20964 #define USB_ADDR_ADDR(x) (((uint8_t)(((uint8_t)(x)) << USB_ADDR_ADDR_SHIFT)) & USB_ADDR_ADDR_MASK) 20965 /*! @} */ 20966 20967 /*! @name BDTPAGE1 - BDT Page register 1 */ 20968 /*! @{ */ 20969 #define USB_BDTPAGE1_BDTBA_MASK (0xFEU) 20970 #define USB_BDTPAGE1_BDTBA_SHIFT (1U) 20971 #define USB_BDTPAGE1_BDTBA(x) (((uint8_t)(((uint8_t)(x)) << USB_BDTPAGE1_BDTBA_SHIFT)) & USB_BDTPAGE1_BDTBA_MASK) 20972 /*! @} */ 20973 20974 /*! @name FRMNUML - Frame Number register Low */ 20975 /*! @{ */ 20976 #define USB_FRMNUML_FRM_MASK (0xFFU) 20977 #define USB_FRMNUML_FRM_SHIFT (0U) 20978 #define USB_FRMNUML_FRM(x) (((uint8_t)(((uint8_t)(x)) << USB_FRMNUML_FRM_SHIFT)) & USB_FRMNUML_FRM_MASK) 20979 /*! @} */ 20980 20981 /*! @name FRMNUMH - Frame Number register High */ 20982 /*! @{ */ 20983 #define USB_FRMNUMH_FRM_MASK (0x7U) 20984 #define USB_FRMNUMH_FRM_SHIFT (0U) 20985 #define USB_FRMNUMH_FRM(x) (((uint8_t)(((uint8_t)(x)) << USB_FRMNUMH_FRM_SHIFT)) & USB_FRMNUMH_FRM_MASK) 20986 /*! @} */ 20987 20988 /*! @name BDTPAGE2 - BDT Page Register 2 */ 20989 /*! @{ */ 20990 #define USB_BDTPAGE2_BDTBA_MASK (0xFFU) 20991 #define USB_BDTPAGE2_BDTBA_SHIFT (0U) 20992 #define USB_BDTPAGE2_BDTBA(x) (((uint8_t)(((uint8_t)(x)) << USB_BDTPAGE2_BDTBA_SHIFT)) & USB_BDTPAGE2_BDTBA_MASK) 20993 /*! @} */ 20994 20995 /*! @name BDTPAGE3 - BDT Page Register 3 */ 20996 /*! @{ */ 20997 #define USB_BDTPAGE3_BDTBA_MASK (0xFFU) 20998 #define USB_BDTPAGE3_BDTBA_SHIFT (0U) 20999 #define USB_BDTPAGE3_BDTBA(x) (((uint8_t)(((uint8_t)(x)) << USB_BDTPAGE3_BDTBA_SHIFT)) & USB_BDTPAGE3_BDTBA_MASK) 21000 /*! @} */ 21001 21002 /*! @name ENDPT - Endpoint Control register */ 21003 /*! @{ */ 21004 #define USB_ENDPT_EPHSHK_MASK (0x1U) 21005 #define USB_ENDPT_EPHSHK_SHIFT (0U) 21006 #define USB_ENDPT_EPHSHK(x) (((uint8_t)(((uint8_t)(x)) << USB_ENDPT_EPHSHK_SHIFT)) & USB_ENDPT_EPHSHK_MASK) 21007 #define USB_ENDPT_EPSTALL_MASK (0x2U) 21008 #define USB_ENDPT_EPSTALL_SHIFT (1U) 21009 #define USB_ENDPT_EPSTALL(x) (((uint8_t)(((uint8_t)(x)) << USB_ENDPT_EPSTALL_SHIFT)) & USB_ENDPT_EPSTALL_MASK) 21010 #define USB_ENDPT_EPTXEN_MASK (0x4U) 21011 #define USB_ENDPT_EPTXEN_SHIFT (2U) 21012 #define USB_ENDPT_EPTXEN(x) (((uint8_t)(((uint8_t)(x)) << USB_ENDPT_EPTXEN_SHIFT)) & USB_ENDPT_EPTXEN_MASK) 21013 #define USB_ENDPT_EPRXEN_MASK (0x8U) 21014 #define USB_ENDPT_EPRXEN_SHIFT (3U) 21015 #define USB_ENDPT_EPRXEN(x) (((uint8_t)(((uint8_t)(x)) << USB_ENDPT_EPRXEN_SHIFT)) & USB_ENDPT_EPRXEN_MASK) 21016 #define USB_ENDPT_EPCTLDIS_MASK (0x10U) 21017 #define USB_ENDPT_EPCTLDIS_SHIFT (4U) 21018 #define USB_ENDPT_EPCTLDIS(x) (((uint8_t)(((uint8_t)(x)) << USB_ENDPT_EPCTLDIS_SHIFT)) & USB_ENDPT_EPCTLDIS_MASK) 21019 /*! @} */ 21020 21021 /* The count of USB_ENDPT */ 21022 #define USB_ENDPT_COUNT (16U) 21023 21024 /*! @name USBCTRL - USB Control register */ 21025 /*! @{ */ 21026 #define USB_USBCTRL_UARTSEL_MASK (0x10U) 21027 #define USB_USBCTRL_UARTSEL_SHIFT (4U) 21028 /*! UARTSEL - UART Select 21029 * 0b0..USB signals are not used as UART signals. 21030 * 0b1..USB signals are used as UART signals. 21031 */ 21032 #define USB_USBCTRL_UARTSEL(x) (((uint8_t)(((uint8_t)(x)) << USB_USBCTRL_UARTSEL_SHIFT)) & USB_USBCTRL_UARTSEL_MASK) 21033 #define USB_USBCTRL_UARTCHLS_MASK (0x20U) 21034 #define USB_USBCTRL_UARTCHLS_SHIFT (5U) 21035 /*! UARTCHLS - UART Signal Channel Select 21036 * 0b0..USB DP/DM signals are used as UART TX/RX. 21037 * 0b1..USB DP/DM signals are used as UART RX/TX. 21038 */ 21039 #define USB_USBCTRL_UARTCHLS(x) (((uint8_t)(((uint8_t)(x)) << USB_USBCTRL_UARTCHLS_SHIFT)) & USB_USBCTRL_UARTCHLS_MASK) 21040 #define USB_USBCTRL_PDE_MASK (0x40U) 21041 #define USB_USBCTRL_PDE_SHIFT (6U) 21042 /*! PDE - Pulldown enable 21043 * 0b0..Weak pulldowns are disabled on D+ and D-. 21044 * 0b1..Weak pulldowns are enabled on D+ and D-. 21045 */ 21046 #define USB_USBCTRL_PDE(x) (((uint8_t)(((uint8_t)(x)) << USB_USBCTRL_PDE_SHIFT)) & USB_USBCTRL_PDE_MASK) 21047 #define USB_USBCTRL_SUSP_MASK (0x80U) 21048 #define USB_USBCTRL_SUSP_SHIFT (7U) 21049 /*! SUSP - Suspend 21050 * 0b0..USB transceiver is not in the Suspend state. 21051 * 0b1..USB transceiver is in the Suspend state. 21052 */ 21053 #define USB_USBCTRL_SUSP(x) (((uint8_t)(((uint8_t)(x)) << USB_USBCTRL_SUSP_SHIFT)) & USB_USBCTRL_SUSP_MASK) 21054 /*! @} */ 21055 21056 /*! @name OBSERVE - USB OTG Observe register */ 21057 /*! @{ */ 21058 #define USB_OBSERVE_DMPD_MASK (0x10U) 21059 #define USB_OBSERVE_DMPD_SHIFT (4U) 21060 /*! DMPD - DMPD 21061 * 0b0..D- pulldown is disabled. 21062 * 0b1..D- pulldown is enabled. 21063 */ 21064 #define USB_OBSERVE_DMPD(x) (((uint8_t)(((uint8_t)(x)) << USB_OBSERVE_DMPD_SHIFT)) & USB_OBSERVE_DMPD_MASK) 21065 #define USB_OBSERVE_DPPD_MASK (0x40U) 21066 #define USB_OBSERVE_DPPD_SHIFT (6U) 21067 /*! DPPD - DPPD 21068 * 0b0..D+ pulldown is disabled. 21069 * 0b1..D+ pulldown is enabled. 21070 */ 21071 #define USB_OBSERVE_DPPD(x) (((uint8_t)(((uint8_t)(x)) << USB_OBSERVE_DPPD_SHIFT)) & USB_OBSERVE_DPPD_MASK) 21072 #define USB_OBSERVE_DPPU_MASK (0x80U) 21073 #define USB_OBSERVE_DPPU_SHIFT (7U) 21074 /*! DPPU - DPPU 21075 * 0b0..D+ pullup disabled. 21076 * 0b1..D+ pullup enabled. 21077 */ 21078 #define USB_OBSERVE_DPPU(x) (((uint8_t)(((uint8_t)(x)) << USB_OBSERVE_DPPU_SHIFT)) & USB_OBSERVE_DPPU_MASK) 21079 /*! @} */ 21080 21081 /*! @name CONTROL - USB OTG Control register */ 21082 /*! @{ */ 21083 #define USB_CONTROL_DPPULLUPNONOTG_MASK (0x10U) 21084 #define USB_CONTROL_DPPULLUPNONOTG_SHIFT (4U) 21085 /*! DPPULLUPNONOTG - DPPULLUPNONOTG 21086 * 0b0..DP Pullup in non-OTG Device mode is not enabled. 21087 * 0b1..DP Pullup in non-OTG Device mode is enabled. 21088 */ 21089 #define USB_CONTROL_DPPULLUPNONOTG(x) (((uint8_t)(((uint8_t)(x)) << USB_CONTROL_DPPULLUPNONOTG_SHIFT)) & USB_CONTROL_DPPULLUPNONOTG_MASK) 21090 /*! @} */ 21091 21092 /*! @name USBTRC0 - USB Transceiver Control register 0 */ 21093 /*! @{ */ 21094 #define USB_USBTRC0_USB_RESUME_INT_MASK (0x1U) 21095 #define USB_USBTRC0_USB_RESUME_INT_SHIFT (0U) 21096 /*! USB_RESUME_INT - USB Asynchronous Interrupt 21097 * 0b0..No interrupt was generated. 21098 * 0b1..Interrupt was generated because of the USB asynchronous interrupt. 21099 */ 21100 #define USB_USBTRC0_USB_RESUME_INT(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_USB_RESUME_INT_SHIFT)) & USB_USBTRC0_USB_RESUME_INT_MASK) 21101 #define USB_USBTRC0_SYNC_DET_MASK (0x2U) 21102 #define USB_USBTRC0_SYNC_DET_SHIFT (1U) 21103 /*! SYNC_DET - Synchronous USB Interrupt Detect 21104 * 0b0..Synchronous interrupt has not been detected. 21105 * 0b1..Synchronous interrupt has been detected. 21106 */ 21107 #define USB_USBTRC0_SYNC_DET(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_SYNC_DET_SHIFT)) & USB_USBTRC0_SYNC_DET_MASK) 21108 #define USB_USBTRC0_USB_CLK_RECOVERY_INT_MASK (0x4U) 21109 #define USB_USBTRC0_USB_CLK_RECOVERY_INT_SHIFT (2U) 21110 #define USB_USBTRC0_USB_CLK_RECOVERY_INT(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_USB_CLK_RECOVERY_INT_SHIFT)) & USB_USBTRC0_USB_CLK_RECOVERY_INT_MASK) 21111 #define USB_USBTRC0_VREDG_DET_MASK (0x8U) 21112 #define USB_USBTRC0_VREDG_DET_SHIFT (3U) 21113 /*! VREDG_DET - VREGIN Rising Edge Interrupt Detect 21114 * 0b0..VREGIN rising edge interrupt has not been detected. 21115 * 0b1..VREGIN rising edge interrupt has been detected. 21116 */ 21117 #define USB_USBTRC0_VREDG_DET(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_VREDG_DET_SHIFT)) & USB_USBTRC0_VREDG_DET_MASK) 21118 #define USB_USBTRC0_VFEDG_DET_MASK (0x10U) 21119 #define USB_USBTRC0_VFEDG_DET_SHIFT (4U) 21120 /*! VFEDG_DET - VREGIN Falling Edge Interrupt Detect 21121 * 0b0..VREGIN falling edge interrupt has not been detected. 21122 * 0b1..VREGIN falling edge interrupt has been detected. 21123 */ 21124 #define USB_USBTRC0_VFEDG_DET(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_VFEDG_DET_SHIFT)) & USB_USBTRC0_VFEDG_DET_MASK) 21125 #define USB_USBTRC0_USBRESMEN_MASK (0x20U) 21126 #define USB_USBTRC0_USBRESMEN_SHIFT (5U) 21127 /*! USBRESMEN - Asynchronous Resume Interrupt Enable 21128 * 0b0..USB asynchronous wakeup from Suspend mode is disabled. 21129 * 0b1..USB asynchronous wakeup from Suspend mode is enabled. 21130 */ 21131 #define USB_USBTRC0_USBRESMEN(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_USBRESMEN_SHIFT)) & USB_USBTRC0_USBRESMEN_MASK) 21132 #define USB_USBTRC0_VREGIN_STS_MASK (0x40U) 21133 #define USB_USBTRC0_VREGIN_STS_SHIFT (6U) 21134 #define USB_USBTRC0_VREGIN_STS(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_VREGIN_STS_SHIFT)) & USB_USBTRC0_VREGIN_STS_MASK) 21135 #define USB_USBTRC0_USBRESET_MASK (0x80U) 21136 #define USB_USBTRC0_USBRESET_SHIFT (7U) 21137 /*! USBRESET - USB Reset 21138 * 0b0..Normal USB module operation. 21139 * 0b1..Returns the USB module to its reset state. 21140 */ 21141 #define USB_USBTRC0_USBRESET(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_USBRESET_SHIFT)) & USB_USBTRC0_USBRESET_MASK) 21142 /*! @} */ 21143 21144 /*! @name KEEP_ALIVE_CTRL - Keep Alive mode control */ 21145 /*! @{ */ 21146 #define USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_EN_MASK (0x1U) 21147 #define USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_EN_SHIFT (0U) 21148 #define USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_EN_SHIFT)) & USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_EN_MASK) 21149 #define USB_KEEP_ALIVE_CTRL_OWN_OVERRD_EN_MASK (0x2U) 21150 #define USB_KEEP_ALIVE_CTRL_OWN_OVERRD_EN_SHIFT (1U) 21151 #define USB_KEEP_ALIVE_CTRL_OWN_OVERRD_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_KEEP_ALIVE_CTRL_OWN_OVERRD_EN_SHIFT)) & USB_KEEP_ALIVE_CTRL_OWN_OVERRD_EN_MASK) 21152 #define USB_KEEP_ALIVE_CTRL_STOP_ACK_DLY_EN_MASK (0x4U) 21153 #define USB_KEEP_ALIVE_CTRL_STOP_ACK_DLY_EN_SHIFT (2U) 21154 /*! STOP_ACK_DLY_EN - STOP_ACK_DLY_EN 21155 * 0b0..Enter KEEP_ALIVE mode until the USB core is idle and there is no USB AHB transfer. 21156 * 0b1..Enter KEEP_ALIVE mode immediately when there is no USB AHB transfer. 21157 */ 21158 #define USB_KEEP_ALIVE_CTRL_STOP_ACK_DLY_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_KEEP_ALIVE_CTRL_STOP_ACK_DLY_EN_SHIFT)) & USB_KEEP_ALIVE_CTRL_STOP_ACK_DLY_EN_MASK) 21159 #define USB_KEEP_ALIVE_CTRL_WAKE_REQ_EN_MASK (0x8U) 21160 #define USB_KEEP_ALIVE_CTRL_WAKE_REQ_EN_SHIFT (3U) 21161 /*! WAKE_REQ_EN - WAKE_REQ_EN 21162 * 0b0..USB bus wakeup request is disabled 21163 * 0b1..USB bus wakeup request is enabled 21164 */ 21165 #define USB_KEEP_ALIVE_CTRL_WAKE_REQ_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_KEEP_ALIVE_CTRL_WAKE_REQ_EN_SHIFT)) & USB_KEEP_ALIVE_CTRL_WAKE_REQ_EN_MASK) 21166 #define USB_KEEP_ALIVE_CTRL_WAKE_INT_EN_MASK (0x10U) 21167 #define USB_KEEP_ALIVE_CTRL_WAKE_INT_EN_SHIFT (4U) 21168 #define USB_KEEP_ALIVE_CTRL_WAKE_INT_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_KEEP_ALIVE_CTRL_WAKE_INT_EN_SHIFT)) & USB_KEEP_ALIVE_CTRL_WAKE_INT_EN_MASK) 21169 #define USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_STS_MASK (0x40U) 21170 #define USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_STS_SHIFT (6U) 21171 /*! KEEP_ALIVE_STS - Keep Alive Status 21172 * 0b0..USB is not in Keep Alive mode. 21173 * 0b1..USB is in Keep Alive mode. 21174 */ 21175 #define USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_STS(x) (((uint8_t)(((uint8_t)(x)) << USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_STS_SHIFT)) & USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_STS_MASK) 21176 #define USB_KEEP_ALIVE_CTRL_WAKE_INT_STS_MASK (0x80U) 21177 #define USB_KEEP_ALIVE_CTRL_WAKE_INT_STS_SHIFT (7U) 21178 #define USB_KEEP_ALIVE_CTRL_WAKE_INT_STS(x) (((uint8_t)(((uint8_t)(x)) << USB_KEEP_ALIVE_CTRL_WAKE_INT_STS_SHIFT)) & USB_KEEP_ALIVE_CTRL_WAKE_INT_STS_MASK) 21179 /*! @} */ 21180 21181 /*! @name KEEP_ALIVE_WKCTRL - Keep Alive mode wakeup control */ 21182 /*! @{ */ 21183 #define USB_KEEP_ALIVE_WKCTRL_WAKE_ON_THIS_MASK (0xFU) 21184 #define USB_KEEP_ALIVE_WKCTRL_WAKE_ON_THIS_SHIFT (0U) 21185 /*! WAKE_ON_THIS - WAKE_ON_THIS 21186 * 0b0001..Wake up after receiving OUT/SETUP token packet. 21187 * 0b1101..Wake up after receiving SETUP token packet. All other values are reserved. 21188 */ 21189 #define USB_KEEP_ALIVE_WKCTRL_WAKE_ON_THIS(x) (((uint8_t)(((uint8_t)(x)) << USB_KEEP_ALIVE_WKCTRL_WAKE_ON_THIS_SHIFT)) & USB_KEEP_ALIVE_WKCTRL_WAKE_ON_THIS_MASK) 21190 #define USB_KEEP_ALIVE_WKCTRL_WAKE_ENDPT_MASK (0xF0U) 21191 #define USB_KEEP_ALIVE_WKCTRL_WAKE_ENDPT_SHIFT (4U) 21192 #define USB_KEEP_ALIVE_WKCTRL_WAKE_ENDPT(x) (((uint8_t)(((uint8_t)(x)) << USB_KEEP_ALIVE_WKCTRL_WAKE_ENDPT_SHIFT)) & USB_KEEP_ALIVE_WKCTRL_WAKE_ENDPT_MASK) 21193 /*! @} */ 21194 21195 /*! @name MISCCTRL - Miscellaneous Control register */ 21196 /*! @{ */ 21197 #define USB_MISCCTRL_SOFDYNTHLD_MASK (0x1U) 21198 #define USB_MISCCTRL_SOFDYNTHLD_SHIFT (0U) 21199 /*! SOFDYNTHLD - Dynamic SOF Threshold Compare mode 21200 * 0b0..SOF_TOK interrupt is set when byte times SOF threshold is reached. 21201 * 0b1..SOF_TOK interrupt is set when 8 byte times SOF threshold is reached or overstepped. 21202 */ 21203 #define USB_MISCCTRL_SOFDYNTHLD(x) (((uint8_t)(((uint8_t)(x)) << USB_MISCCTRL_SOFDYNTHLD_SHIFT)) & USB_MISCCTRL_SOFDYNTHLD_MASK) 21204 #define USB_MISCCTRL_SOFBUSSET_MASK (0x2U) 21205 #define USB_MISCCTRL_SOFBUSSET_SHIFT (1U) 21206 /*! SOFBUSSET - SOF_TOK Interrupt Generation Mode Select 21207 * 0b0..SOF_TOK interrupt is set according to SOF threshold value. 21208 * 0b1..SOF_TOK interrupt is set when SOF counter reaches 0. 21209 */ 21210 #define USB_MISCCTRL_SOFBUSSET(x) (((uint8_t)(((uint8_t)(x)) << USB_MISCCTRL_SOFBUSSET_SHIFT)) & USB_MISCCTRL_SOFBUSSET_MASK) 21211 #define USB_MISCCTRL_OWNERRISODIS_MASK (0x4U) 21212 #define USB_MISCCTRL_OWNERRISODIS_SHIFT (2U) 21213 /*! OWNERRISODIS - OWN Error Detect for ISO IN / ISO OUT Disable 21214 * 0b0..OWN error detect for ISO IN / ISO OUT is not disabled. 21215 * 0b1..OWN error detect for ISO IN / ISO OUT is disabled. 21216 */ 21217 #define USB_MISCCTRL_OWNERRISODIS(x) (((uint8_t)(((uint8_t)(x)) << USB_MISCCTRL_OWNERRISODIS_SHIFT)) & USB_MISCCTRL_OWNERRISODIS_MASK) 21218 #define USB_MISCCTRL_VREDG_EN_MASK (0x8U) 21219 #define USB_MISCCTRL_VREDG_EN_SHIFT (3U) 21220 /*! VREDG_EN - VREGIN Rising Edge Interrupt Enable 21221 * 0b0..VREGIN rising edge interrupt disabled. 21222 * 0b1..VREGIN rising edge interrupt enabled. 21223 */ 21224 #define USB_MISCCTRL_VREDG_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_MISCCTRL_VREDG_EN_SHIFT)) & USB_MISCCTRL_VREDG_EN_MASK) 21225 #define USB_MISCCTRL_VFEDG_EN_MASK (0x10U) 21226 #define USB_MISCCTRL_VFEDG_EN_SHIFT (4U) 21227 /*! VFEDG_EN - VREGIN Falling Edge Interrupt Enable 21228 * 0b0..VREGIN falling edge interrupt disabled. 21229 * 0b1..VREGIN falling edge interrupt enabled. 21230 */ 21231 #define USB_MISCCTRL_VFEDG_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_MISCCTRL_VFEDG_EN_SHIFT)) & USB_MISCCTRL_VFEDG_EN_MASK) 21232 #define USB_MISCCTRL_STL_ADJ_EN_MASK (0x80U) 21233 #define USB_MISCCTRL_STL_ADJ_EN_SHIFT (7U) 21234 /*! STL_ADJ_EN - USB Peripheral mode Stall Adjust Enable 21235 * 0b0..If USB_ENDPTn[END_STALL] = 1, both IN and OUT directions for the associated endpoint will be stalled 21236 * 0b1..If USB_ENDPTn[END_STALL] = 1, the USB_STALL_xx_DIS registers control which directions for the associated endpoint will be stalled. 21237 */ 21238 #define USB_MISCCTRL_STL_ADJ_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_MISCCTRL_STL_ADJ_EN_SHIFT)) & USB_MISCCTRL_STL_ADJ_EN_MASK) 21239 /*! @} */ 21240 21241 /*! @name STALL_IL_DIS - Peripheral mode stall disable for endpoints 7 to 0 in IN direction */ 21242 /*! @{ */ 21243 #define USB_STALL_IL_DIS_STALL_I_DIS0_MASK (0x1U) 21244 #define USB_STALL_IL_DIS_STALL_I_DIS0_SHIFT (0U) 21245 /*! STALL_I_DIS0 - STALL_I_DIS0 21246 * 0b0..Endpoint 0 IN direction stall is enabled. 21247 * 0b1..Endpoint 0 IN direction stall is disabled. 21248 */ 21249 #define USB_STALL_IL_DIS_STALL_I_DIS0(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IL_DIS_STALL_I_DIS0_SHIFT)) & USB_STALL_IL_DIS_STALL_I_DIS0_MASK) 21250 #define USB_STALL_IL_DIS_STALL_I_DIS1_MASK (0x2U) 21251 #define USB_STALL_IL_DIS_STALL_I_DIS1_SHIFT (1U) 21252 /*! STALL_I_DIS1 - STALL_I_DIS1 21253 * 0b0..Endpoint 1 IN direction stall is enabled. 21254 * 0b1..Endpoint 1 IN direction stall is disabled. 21255 */ 21256 #define USB_STALL_IL_DIS_STALL_I_DIS1(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IL_DIS_STALL_I_DIS1_SHIFT)) & USB_STALL_IL_DIS_STALL_I_DIS1_MASK) 21257 #define USB_STALL_IL_DIS_STALL_I_DIS2_MASK (0x4U) 21258 #define USB_STALL_IL_DIS_STALL_I_DIS2_SHIFT (2U) 21259 /*! STALL_I_DIS2 - STALL_I_DIS2 21260 * 0b0..Endpoint 2 IN direction stall is enabled. 21261 * 0b1..Endpoint 2 IN direction stall is disabled. 21262 */ 21263 #define USB_STALL_IL_DIS_STALL_I_DIS2(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IL_DIS_STALL_I_DIS2_SHIFT)) & USB_STALL_IL_DIS_STALL_I_DIS2_MASK) 21264 #define USB_STALL_IL_DIS_STALL_I_DIS3_MASK (0x8U) 21265 #define USB_STALL_IL_DIS_STALL_I_DIS3_SHIFT (3U) 21266 /*! STALL_I_DIS3 - STALL_I_DIS3 21267 * 0b0..Endpoint 3 IN direction stall is enabled. 21268 * 0b1..Endpoint 3 IN direction stall is disabled. 21269 */ 21270 #define USB_STALL_IL_DIS_STALL_I_DIS3(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IL_DIS_STALL_I_DIS3_SHIFT)) & USB_STALL_IL_DIS_STALL_I_DIS3_MASK) 21271 #define USB_STALL_IL_DIS_STALL_I_DIS4_MASK (0x10U) 21272 #define USB_STALL_IL_DIS_STALL_I_DIS4_SHIFT (4U) 21273 /*! STALL_I_DIS4 - STALL_I_DIS4 21274 * 0b0..Endpoint 4 IN direction stall is enabled. 21275 * 0b1..Endpoint 4 IN direction stall is disabled. 21276 */ 21277 #define USB_STALL_IL_DIS_STALL_I_DIS4(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IL_DIS_STALL_I_DIS4_SHIFT)) & USB_STALL_IL_DIS_STALL_I_DIS4_MASK) 21278 #define USB_STALL_IL_DIS_STALL_I_DIS5_MASK (0x20U) 21279 #define USB_STALL_IL_DIS_STALL_I_DIS5_SHIFT (5U) 21280 /*! STALL_I_DIS5 - STALL_I_DIS5 21281 * 0b0..Endpoint 5 IN direction stall is enabled. 21282 * 0b1..Endpoint 5 IN direction stall is disabled. 21283 */ 21284 #define USB_STALL_IL_DIS_STALL_I_DIS5(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IL_DIS_STALL_I_DIS5_SHIFT)) & USB_STALL_IL_DIS_STALL_I_DIS5_MASK) 21285 #define USB_STALL_IL_DIS_STALL_I_DIS6_MASK (0x40U) 21286 #define USB_STALL_IL_DIS_STALL_I_DIS6_SHIFT (6U) 21287 /*! STALL_I_DIS6 - STALL_I_DIS6 21288 * 0b0..Endpoint 6 IN direction stall is enabled. 21289 * 0b1..Endpoint 6 IN direction stall is disabled. 21290 */ 21291 #define USB_STALL_IL_DIS_STALL_I_DIS6(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IL_DIS_STALL_I_DIS6_SHIFT)) & USB_STALL_IL_DIS_STALL_I_DIS6_MASK) 21292 #define USB_STALL_IL_DIS_STALL_I_DIS7_MASK (0x80U) 21293 #define USB_STALL_IL_DIS_STALL_I_DIS7_SHIFT (7U) 21294 /*! STALL_I_DIS7 - STALL_I_DIS7 21295 * 0b0..Endpoint 7 IN direction stall is enabled. 21296 * 0b1..Endpoint 7 IN direction stall is disabled. 21297 */ 21298 #define USB_STALL_IL_DIS_STALL_I_DIS7(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IL_DIS_STALL_I_DIS7_SHIFT)) & USB_STALL_IL_DIS_STALL_I_DIS7_MASK) 21299 /*! @} */ 21300 21301 /*! @name STALL_IH_DIS - Peripheral mode stall disable for endpoints 15 to 8 in IN direction */ 21302 /*! @{ */ 21303 #define USB_STALL_IH_DIS_STALL_I_DIS8_MASK (0x1U) 21304 #define USB_STALL_IH_DIS_STALL_I_DIS8_SHIFT (0U) 21305 /*! STALL_I_DIS8 - STALL_I_DIS8 21306 * 0b0..Endpoint 8 IN direction stall is enabled. 21307 * 0b1..Endpoint 8 IN direction stall is disabled. 21308 */ 21309 #define USB_STALL_IH_DIS_STALL_I_DIS8(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IH_DIS_STALL_I_DIS8_SHIFT)) & USB_STALL_IH_DIS_STALL_I_DIS8_MASK) 21310 #define USB_STALL_IH_DIS_STALL_I_DIS9_MASK (0x2U) 21311 #define USB_STALL_IH_DIS_STALL_I_DIS9_SHIFT (1U) 21312 /*! STALL_I_DIS9 - STALL_I_DIS9 21313 * 0b0..Endpoint 9 IN direction stall is enabled. 21314 * 0b1..Endpoint 9 IN direction stall is disabled. 21315 */ 21316 #define USB_STALL_IH_DIS_STALL_I_DIS9(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IH_DIS_STALL_I_DIS9_SHIFT)) & USB_STALL_IH_DIS_STALL_I_DIS9_MASK) 21317 #define USB_STALL_IH_DIS_STALL_I_DIS10_MASK (0x4U) 21318 #define USB_STALL_IH_DIS_STALL_I_DIS10_SHIFT (2U) 21319 /*! STALL_I_DIS10 - STALL_I_DIS10 21320 * 0b0..Endpoint 10 IN direction stall is enabled. 21321 * 0b1..Endpoint 10 IN direction stall is disabled. 21322 */ 21323 #define USB_STALL_IH_DIS_STALL_I_DIS10(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IH_DIS_STALL_I_DIS10_SHIFT)) & USB_STALL_IH_DIS_STALL_I_DIS10_MASK) 21324 #define USB_STALL_IH_DIS_STALL_I_DIS11_MASK (0x8U) 21325 #define USB_STALL_IH_DIS_STALL_I_DIS11_SHIFT (3U) 21326 /*! STALL_I_DIS11 - STALL_I_DIS11 21327 * 0b0..Endpoint 11 IN direction stall is enabled. 21328 * 0b1..Endpoint 11 IN direction stall is disabled. 21329 */ 21330 #define USB_STALL_IH_DIS_STALL_I_DIS11(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IH_DIS_STALL_I_DIS11_SHIFT)) & USB_STALL_IH_DIS_STALL_I_DIS11_MASK) 21331 #define USB_STALL_IH_DIS_STALL_I_DIS12_MASK (0x10U) 21332 #define USB_STALL_IH_DIS_STALL_I_DIS12_SHIFT (4U) 21333 /*! STALL_I_DIS12 - STALL_I_DIS12 21334 * 0b0..Endpoint 12 IN direction stall is enabled. 21335 * 0b1..Endpoint 12 IN direction stall is disabled. 21336 */ 21337 #define USB_STALL_IH_DIS_STALL_I_DIS12(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IH_DIS_STALL_I_DIS12_SHIFT)) & USB_STALL_IH_DIS_STALL_I_DIS12_MASK) 21338 #define USB_STALL_IH_DIS_STALL_I_DIS13_MASK (0x20U) 21339 #define USB_STALL_IH_DIS_STALL_I_DIS13_SHIFT (5U) 21340 /*! STALL_I_DIS13 - STALL_I_DIS13 21341 * 0b0..Endpoint 13 IN direction stall is enabled. 21342 * 0b1..Endpoint 13 IN direction stall is disabled. 21343 */ 21344 #define USB_STALL_IH_DIS_STALL_I_DIS13(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IH_DIS_STALL_I_DIS13_SHIFT)) & USB_STALL_IH_DIS_STALL_I_DIS13_MASK) 21345 #define USB_STALL_IH_DIS_STALL_I_DIS14_MASK (0x40U) 21346 #define USB_STALL_IH_DIS_STALL_I_DIS14_SHIFT (6U) 21347 /*! STALL_I_DIS14 - STALL_I_DIS14 21348 * 0b0..Endpoint 14 IN direction stall is enabled. 21349 * 0b1..Endpoint 14 IN direction stall is disabled. 21350 */ 21351 #define USB_STALL_IH_DIS_STALL_I_DIS14(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IH_DIS_STALL_I_DIS14_SHIFT)) & USB_STALL_IH_DIS_STALL_I_DIS14_MASK) 21352 #define USB_STALL_IH_DIS_STALL_I_DIS15_MASK (0x80U) 21353 #define USB_STALL_IH_DIS_STALL_I_DIS15_SHIFT (7U) 21354 /*! STALL_I_DIS15 - STALL_I_DIS15 21355 * 0b0..Endpoint 15 IN direction stall is enabled. 21356 * 0b1..Endpoint 15 IN direction stall is disabled. 21357 */ 21358 #define USB_STALL_IH_DIS_STALL_I_DIS15(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_IH_DIS_STALL_I_DIS15_SHIFT)) & USB_STALL_IH_DIS_STALL_I_DIS15_MASK) 21359 /*! @} */ 21360 21361 /*! @name STALL_OL_DIS - Peripheral mode stall disable for endpoints 7 to 0 in OUT direction */ 21362 /*! @{ */ 21363 #define USB_STALL_OL_DIS_STALL_O_DIS0_MASK (0x1U) 21364 #define USB_STALL_OL_DIS_STALL_O_DIS0_SHIFT (0U) 21365 /*! STALL_O_DIS0 - STALL_O_DIS0 21366 * 0b0..Endpoint 0 OUT direction stall is enabled. 21367 * 0b1..Endpoint 0 OUT direction stall is disabled. 21368 */ 21369 #define USB_STALL_OL_DIS_STALL_O_DIS0(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OL_DIS_STALL_O_DIS0_SHIFT)) & USB_STALL_OL_DIS_STALL_O_DIS0_MASK) 21370 #define USB_STALL_OL_DIS_STALL_O_DIS1_MASK (0x2U) 21371 #define USB_STALL_OL_DIS_STALL_O_DIS1_SHIFT (1U) 21372 /*! STALL_O_DIS1 - STALL_O_DIS1 21373 * 0b0..Endpoint 1 OUT direction stall is enabled. 21374 * 0b1..Endpoint 1 OUT direction stall is disabled. 21375 */ 21376 #define USB_STALL_OL_DIS_STALL_O_DIS1(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OL_DIS_STALL_O_DIS1_SHIFT)) & USB_STALL_OL_DIS_STALL_O_DIS1_MASK) 21377 #define USB_STALL_OL_DIS_STALL_O_DIS2_MASK (0x4U) 21378 #define USB_STALL_OL_DIS_STALL_O_DIS2_SHIFT (2U) 21379 /*! STALL_O_DIS2 - STALL_O_DIS2 21380 * 0b0..Endpoint 2 OUT direction stall is enabled. 21381 * 0b1..Endpoint 2 OUT direction stall is disabled. 21382 */ 21383 #define USB_STALL_OL_DIS_STALL_O_DIS2(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OL_DIS_STALL_O_DIS2_SHIFT)) & USB_STALL_OL_DIS_STALL_O_DIS2_MASK) 21384 #define USB_STALL_OL_DIS_STALL_O_DIS3_MASK (0x8U) 21385 #define USB_STALL_OL_DIS_STALL_O_DIS3_SHIFT (3U) 21386 /*! STALL_O_DIS3 - STALL_O_DIS3 21387 * 0b0..Endpoint 3 OUT direction stall is enabled. 21388 * 0b1..Endpoint 3 OUT direction stall is disabled. 21389 */ 21390 #define USB_STALL_OL_DIS_STALL_O_DIS3(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OL_DIS_STALL_O_DIS3_SHIFT)) & USB_STALL_OL_DIS_STALL_O_DIS3_MASK) 21391 #define USB_STALL_OL_DIS_STALL_O_DIS4_MASK (0x10U) 21392 #define USB_STALL_OL_DIS_STALL_O_DIS4_SHIFT (4U) 21393 /*! STALL_O_DIS4 - STALL_O_DIS4 21394 * 0b0..Endpoint 4 OUT direction stall is enabled. 21395 * 0b1..Endpoint 4 OUT direction stall is disabled. 21396 */ 21397 #define USB_STALL_OL_DIS_STALL_O_DIS4(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OL_DIS_STALL_O_DIS4_SHIFT)) & USB_STALL_OL_DIS_STALL_O_DIS4_MASK) 21398 #define USB_STALL_OL_DIS_STALL_O_DIS5_MASK (0x20U) 21399 #define USB_STALL_OL_DIS_STALL_O_DIS5_SHIFT (5U) 21400 /*! STALL_O_DIS5 - STALL_O_DIS5 21401 * 0b0..Endpoint 5 OUT direction stall is enabled. 21402 * 0b1..Endpoint 5 OUT direction stall is disabled. 21403 */ 21404 #define USB_STALL_OL_DIS_STALL_O_DIS5(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OL_DIS_STALL_O_DIS5_SHIFT)) & USB_STALL_OL_DIS_STALL_O_DIS5_MASK) 21405 #define USB_STALL_OL_DIS_STALL_O_DIS6_MASK (0x40U) 21406 #define USB_STALL_OL_DIS_STALL_O_DIS6_SHIFT (6U) 21407 /*! STALL_O_DIS6 - STALL_O_DIS6 21408 * 0b0..Endpoint 6 OUT direction stall is enabled. 21409 * 0b1..Endpoint 6 OUT direction stall is disabled. 21410 */ 21411 #define USB_STALL_OL_DIS_STALL_O_DIS6(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OL_DIS_STALL_O_DIS6_SHIFT)) & USB_STALL_OL_DIS_STALL_O_DIS6_MASK) 21412 #define USB_STALL_OL_DIS_STALL_O_DIS7_MASK (0x80U) 21413 #define USB_STALL_OL_DIS_STALL_O_DIS7_SHIFT (7U) 21414 /*! STALL_O_DIS7 - STALL_O_DIS7 21415 * 0b0..Endpoint 7 OUT direction stall is enabled. 21416 * 0b1..Endpoint 7 OUT direction stall is disabled. 21417 */ 21418 #define USB_STALL_OL_DIS_STALL_O_DIS7(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OL_DIS_STALL_O_DIS7_SHIFT)) & USB_STALL_OL_DIS_STALL_O_DIS7_MASK) 21419 /*! @} */ 21420 21421 /*! @name STALL_OH_DIS - Peripheral mode stall disable for endpoints 15 to 8 in OUT direction */ 21422 /*! @{ */ 21423 #define USB_STALL_OH_DIS_STALL_O_DIS8_MASK (0x1U) 21424 #define USB_STALL_OH_DIS_STALL_O_DIS8_SHIFT (0U) 21425 /*! STALL_O_DIS8 - STALL_O_DIS8 21426 * 0b0..Endpoint 8 OUT direction stall is enabled. 21427 * 0b1..Endpoint 8 OUT direction stall is disabled. 21428 */ 21429 #define USB_STALL_OH_DIS_STALL_O_DIS8(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OH_DIS_STALL_O_DIS8_SHIFT)) & USB_STALL_OH_DIS_STALL_O_DIS8_MASK) 21430 #define USB_STALL_OH_DIS_STALL_O_DIS9_MASK (0x2U) 21431 #define USB_STALL_OH_DIS_STALL_O_DIS9_SHIFT (1U) 21432 /*! STALL_O_DIS9 - STALL_O_DIS9 21433 * 0b0..Endpoint 9 OUT direction stall is enabled. 21434 * 0b1..Endpoint 9 OUT direction stall is disabled. 21435 */ 21436 #define USB_STALL_OH_DIS_STALL_O_DIS9(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OH_DIS_STALL_O_DIS9_SHIFT)) & USB_STALL_OH_DIS_STALL_O_DIS9_MASK) 21437 #define USB_STALL_OH_DIS_STALL_O_DIS10_MASK (0x4U) 21438 #define USB_STALL_OH_DIS_STALL_O_DIS10_SHIFT (2U) 21439 /*! STALL_O_DIS10 - STALL_O_DIS10 21440 * 0b0..Endpoint 10 OUT direction stall is enabled. 21441 * 0b1..Endpoint 10 OUT direction stall is disabled. 21442 */ 21443 #define USB_STALL_OH_DIS_STALL_O_DIS10(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OH_DIS_STALL_O_DIS10_SHIFT)) & USB_STALL_OH_DIS_STALL_O_DIS10_MASK) 21444 #define USB_STALL_OH_DIS_STALL_O_DIS11_MASK (0x8U) 21445 #define USB_STALL_OH_DIS_STALL_O_DIS11_SHIFT (3U) 21446 /*! STALL_O_DIS11 - STALL_O_DIS11 21447 * 0b0..Endpoint 11 OUT direction stall is enabled. 21448 * 0b1..Endpoint 11 OUT direction stall is disabled. 21449 */ 21450 #define USB_STALL_OH_DIS_STALL_O_DIS11(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OH_DIS_STALL_O_DIS11_SHIFT)) & USB_STALL_OH_DIS_STALL_O_DIS11_MASK) 21451 #define USB_STALL_OH_DIS_STALL_O_DIS12_MASK (0x10U) 21452 #define USB_STALL_OH_DIS_STALL_O_DIS12_SHIFT (4U) 21453 /*! STALL_O_DIS12 - STALL_O_DIS12 21454 * 0b0..Endpoint 12 OUT direction stall is enabled. 21455 * 0b1..Endpoint 12 OUT direction stall is disabled. 21456 */ 21457 #define USB_STALL_OH_DIS_STALL_O_DIS12(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OH_DIS_STALL_O_DIS12_SHIFT)) & USB_STALL_OH_DIS_STALL_O_DIS12_MASK) 21458 #define USB_STALL_OH_DIS_STALL_O_DIS13_MASK (0x20U) 21459 #define USB_STALL_OH_DIS_STALL_O_DIS13_SHIFT (5U) 21460 /*! STALL_O_DIS13 - STALL_O_DIS13 21461 * 0b0..Endpoint 13 OUT direction stall is enabled. 21462 * 0b1..Endpoint 13 OUT direction stall is disabled. 21463 */ 21464 #define USB_STALL_OH_DIS_STALL_O_DIS13(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OH_DIS_STALL_O_DIS13_SHIFT)) & USB_STALL_OH_DIS_STALL_O_DIS13_MASK) 21465 #define USB_STALL_OH_DIS_STALL_O_DIS14_MASK (0x40U) 21466 #define USB_STALL_OH_DIS_STALL_O_DIS14_SHIFT (6U) 21467 /*! STALL_O_DIS14 - STALL_O_DIS14 21468 * 0b0..Endpoint 14 OUT direction stall is enabled. 21469 * 0b1..Endpoint 14 OUT direction stall is disabled. 21470 */ 21471 #define USB_STALL_OH_DIS_STALL_O_DIS14(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OH_DIS_STALL_O_DIS14_SHIFT)) & USB_STALL_OH_DIS_STALL_O_DIS14_MASK) 21472 #define USB_STALL_OH_DIS_STALL_O_DIS15_MASK (0x80U) 21473 #define USB_STALL_OH_DIS_STALL_O_DIS15_SHIFT (7U) 21474 /*! STALL_O_DIS15 - STALL_O_DIS15 21475 * 0b0..Endpoint 15 OUT direction stall is enabled. 21476 * 0b1..Endpoint 15 OUT direction stall is disabled. 21477 */ 21478 #define USB_STALL_OH_DIS_STALL_O_DIS15(x) (((uint8_t)(((uint8_t)(x)) << USB_STALL_OH_DIS_STALL_O_DIS15_SHIFT)) & USB_STALL_OH_DIS_STALL_O_DIS15_MASK) 21479 /*! @} */ 21480 21481 /*! @name CLK_RECOVER_CTRL - USB Clock recovery control */ 21482 /*! @{ */ 21483 #define USB_CLK_RECOVER_CTRL_RESTART_IFRTRIM_EN_MASK (0x20U) 21484 #define USB_CLK_RECOVER_CTRL_RESTART_IFRTRIM_EN_SHIFT (5U) 21485 /*! RESTART_IFRTRIM_EN - Restart from IFR trim value 21486 * 0b0..Trim fine adjustment always works based on the previous updated trim fine value (default). 21487 * 0b1..Trim fine restarts from the IFR trim value, whenever bus_reset/bus_resume is detected or module enable is desasserted. 21488 */ 21489 #define USB_CLK_RECOVER_CTRL_RESTART_IFRTRIM_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_CLK_RECOVER_CTRL_RESTART_IFRTRIM_EN_SHIFT)) & USB_CLK_RECOVER_CTRL_RESTART_IFRTRIM_EN_MASK) 21490 #define USB_CLK_RECOVER_CTRL_RESET_RESUME_ROUGH_EN_MASK (0x40U) 21491 #define USB_CLK_RECOVER_CTRL_RESET_RESUME_ROUGH_EN_SHIFT (6U) 21492 /*! RESET_RESUME_ROUGH_EN - Reset/resume to rough phase enable 21493 * 0b0..Always works in tracking phase after the first time rough phase, to track transition (default). 21494 * 0b1..Go back to rough stage whenever a bus reset or bus resume occurs. 21495 */ 21496 #define USB_CLK_RECOVER_CTRL_RESET_RESUME_ROUGH_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_CLK_RECOVER_CTRL_RESET_RESUME_ROUGH_EN_SHIFT)) & USB_CLK_RECOVER_CTRL_RESET_RESUME_ROUGH_EN_MASK) 21497 #define USB_CLK_RECOVER_CTRL_CLOCK_RECOVER_EN_MASK (0x80U) 21498 #define USB_CLK_RECOVER_CTRL_CLOCK_RECOVER_EN_SHIFT (7U) 21499 /*! CLOCK_RECOVER_EN - Crystal-less USB enable 21500 * 0b0..Disable clock recovery block (default) 21501 * 0b1..Enable clock recovery block 21502 */ 21503 #define USB_CLK_RECOVER_CTRL_CLOCK_RECOVER_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_CLK_RECOVER_CTRL_CLOCK_RECOVER_EN_SHIFT)) & USB_CLK_RECOVER_CTRL_CLOCK_RECOVER_EN_MASK) 21504 /*! @} */ 21505 21506 /*! @name CLK_RECOVER_IRC_EN - IRC48MFIRC oscillator enable register */ 21507 /*! @{ */ 21508 #define USB_CLK_RECOVER_IRC_EN_REG_EN_MASK (0x1U) 21509 #define USB_CLK_RECOVER_IRC_EN_REG_EN_SHIFT (0U) 21510 /*! REG_EN - Regulator enable 21511 * 0b0..IRC48M local regulator is disabled 21512 * 0b1..IRC48M local regulator is enabled (default) 21513 */ 21514 #define USB_CLK_RECOVER_IRC_EN_REG_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_CLK_RECOVER_IRC_EN_REG_EN_SHIFT)) & USB_CLK_RECOVER_IRC_EN_REG_EN_MASK) 21515 #define USB_CLK_RECOVER_IRC_EN_IRC_EN_MASK (0x2U) 21516 #define USB_CLK_RECOVER_IRC_EN_IRC_EN_SHIFT (1U) 21517 /*! IRC_EN - IRC_EN 21518 * 0b0..Disable the IRC48M module (default) 21519 * 0b1..Enable the IRC48M module 21520 */ 21521 #define USB_CLK_RECOVER_IRC_EN_IRC_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_CLK_RECOVER_IRC_EN_IRC_EN_SHIFT)) & USB_CLK_RECOVER_IRC_EN_IRC_EN_MASK) 21522 /*! @} */ 21523 21524 /*! @name CLK_RECOVER_INT_EN - Clock recovery combined interrupt enable */ 21525 /*! @{ */ 21526 #define USB_CLK_RECOVER_INT_EN_OVF_ERROR_EN_MASK (0x10U) 21527 #define USB_CLK_RECOVER_INT_EN_OVF_ERROR_EN_SHIFT (4U) 21528 /*! OVF_ERROR_EN - OVF_ERROR_EN 21529 * 0b0..The interrupt will be masked 21530 * 0b1..The interrupt will be enabled (default) 21531 */ 21532 #define USB_CLK_RECOVER_INT_EN_OVF_ERROR_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_CLK_RECOVER_INT_EN_OVF_ERROR_EN_SHIFT)) & USB_CLK_RECOVER_INT_EN_OVF_ERROR_EN_MASK) 21533 /*! @} */ 21534 21535 /*! @name CLK_RECOVER_INT_STATUS - Clock recovery separated interrupt status */ 21536 /*! @{ */ 21537 #define USB_CLK_RECOVER_INT_STATUS_OVF_ERROR_MASK (0x10U) 21538 #define USB_CLK_RECOVER_INT_STATUS_OVF_ERROR_SHIFT (4U) 21539 /*! OVF_ERROR - OVF_ERROR 21540 * 0b0..No interrupt is reported 21541 * 0b1..Unmasked interrupt has been generated 21542 */ 21543 #define USB_CLK_RECOVER_INT_STATUS_OVF_ERROR(x) (((uint8_t)(((uint8_t)(x)) << USB_CLK_RECOVER_INT_STATUS_OVF_ERROR_SHIFT)) & USB_CLK_RECOVER_INT_STATUS_OVF_ERROR_MASK) 21544 /*! @} */ 21545 21546 21547 /*! 21548 * @} 21549 */ /* end of group USB_Register_Masks */ 21550 21551 21552 /* USB - Peripheral instance base addresses */ 21553 /** Peripheral USB0 base address */ 21554 #define USB0_BASE (0x40045000u) 21555 /** Peripheral USB0 base pointer */ 21556 #define USB0 ((USB_Type *)USB0_BASE) 21557 /** Array initializer of USB peripheral base addresses */ 21558 #define USB_BASE_ADDRS { USB0_BASE } 21559 /** Array initializer of USB peripheral base pointers */ 21560 #define USB_BASE_PTRS { USB0 } 21561 /** Interrupt vectors for the USB peripheral type */ 21562 #define USB_IRQS { USB0_IRQn } 21563 21564 /*! 21565 * @} 21566 */ /* end of group USB_Peripheral_Access_Layer */ 21567 21568 21569 /* ---------------------------------------------------------------------------- 21570 -- USBVREG Peripheral Access Layer 21571 ---------------------------------------------------------------------------- */ 21572 21573 /*! 21574 * @addtogroup USBVREG_Peripheral_Access_Layer USBVREG Peripheral Access Layer 21575 * @{ 21576 */ 21577 21578 /** USBVREG - Register Layout Typedef */ 21579 typedef struct { 21580 __IO uint32_t CTRL; /**< USB VREG Control Register, offset: 0x0 */ 21581 __IO uint32_t CFGCTRL; /**< USB VREG Configuration Control Register, offset: 0x4 */ 21582 } USBVREG_Type; 21583 21584 /* ---------------------------------------------------------------------------- 21585 -- USBVREG Register Masks 21586 ---------------------------------------------------------------------------- */ 21587 21588 /*! 21589 * @addtogroup USBVREG_Register_Masks USBVREG Register Masks 21590 * @{ 21591 */ 21592 21593 /*! @name CTRL - USB VREG Control Register */ 21594 /*! @{ */ 21595 #define USBVREG_CTRL_VSTBY_MASK (0x20000000U) 21596 #define USBVREG_CTRL_VSTBY_SHIFT (29U) 21597 /*! VSTBY - USB Voltage Regulator in Standby Mode during VLPR and VLPW modes 21598 * 0b0..USB voltage regulator is not in standby during VLPR and VLPW modes. 21599 * 0b1..USB voltage regulator in standby during VLPR and VLPW modes. 21600 */ 21601 #define USBVREG_CTRL_VSTBY(x) (((uint32_t)(((uint32_t)(x)) << USBVREG_CTRL_VSTBY_SHIFT)) & USBVREG_CTRL_VSTBY_MASK) 21602 #define USBVREG_CTRL_SSTBY_MASK (0x40000000U) 21603 #define USBVREG_CTRL_SSTBY_SHIFT (30U) 21604 /*! SSTBY - USB Voltage Regulator in Standby Mode during Stop, VLPS, LLS and VLLS Modes 21605 * 0b0..USB voltage regulator is not in standby during Stop,VLPS,LLS and VLLS modes. 21606 * 0b1..USB voltage regulator is in standby during Stop,VLPS,LLS and VLLS modes. 21607 */ 21608 #define USBVREG_CTRL_SSTBY(x) (((uint32_t)(((uint32_t)(x)) << USBVREG_CTRL_SSTBY_SHIFT)) & USBVREG_CTRL_SSTBY_MASK) 21609 #define USBVREG_CTRL_EN_MASK (0x80000000U) 21610 #define USBVREG_CTRL_EN_SHIFT (31U) 21611 /*! EN - USB Voltage Regulator Enable 21612 * 0b0..USB voltage regulator is disabled. 21613 * 0b1..USB voltage regulator is enabled. 21614 */ 21615 #define USBVREG_CTRL_EN(x) (((uint32_t)(((uint32_t)(x)) << USBVREG_CTRL_EN_SHIFT)) & USBVREG_CTRL_EN_MASK) 21616 /*! @} */ 21617 21618 /*! @name CFGCTRL - USB VREG Configuration Control Register */ 21619 /*! @{ */ 21620 #define USBVREG_CFGCTRL_URWE_MASK (0x1000000U) 21621 #define USBVREG_CFGCTRL_URWE_SHIFT (24U) 21622 /*! URWE - USB Voltage Regulator Enable Write Enable 21623 * 0b0..CTRL[EN] can not be written. 21624 * 0b1..CTRL[EN] can be written. 21625 */ 21626 #define USBVREG_CFGCTRL_URWE(x) (((uint32_t)(((uint32_t)(x)) << USBVREG_CFGCTRL_URWE_SHIFT)) & USBVREG_CFGCTRL_URWE_MASK) 21627 #define USBVREG_CFGCTRL_UVSWE_MASK (0x2000000U) 21628 #define USBVREG_CFGCTRL_UVSWE_SHIFT (25U) 21629 /*! UVSWE - USB Voltage Regulator VLP Standby Write Enable 21630 * 0b0..CTRL[VSTBY] cannot be written. 21631 * 0b1..CTRL[VSTBY] can be written. 21632 */ 21633 #define USBVREG_CFGCTRL_UVSWE(x) (((uint32_t)(((uint32_t)(x)) << USBVREG_CFGCTRL_UVSWE_SHIFT)) & USBVREG_CFGCTRL_UVSWE_MASK) 21634 #define USBVREG_CFGCTRL_USSWE_MASK (0x4000000U) 21635 #define USBVREG_CFGCTRL_USSWE_SHIFT (26U) 21636 /*! USSWE - USB Voltage Rregulator Stop Standby Write Enable 21637 * 0b0..CTRL[SSTBY] field cannot be written. 21638 * 0b1..CTRL[SSTBY] can be written. 21639 */ 21640 #define USBVREG_CFGCTRL_USSWE(x) (((uint32_t)(((uint32_t)(x)) << USBVREG_CFGCTRL_USSWE_SHIFT)) & USBVREG_CFGCTRL_USSWE_MASK) 21641 /*! @} */ 21642 21643 21644 /*! 21645 * @} 21646 */ /* end of group USBVREG_Register_Masks */ 21647 21648 21649 /* USBVREG - Peripheral instance base addresses */ 21650 /** Peripheral USBVREG base address */ 21651 #define USBVREG_BASE (0x40027000u) 21652 /** Peripheral USBVREG base pointer */ 21653 #define USBVREG ((USBVREG_Type *)USBVREG_BASE) 21654 /** Array initializer of USBVREG peripheral base addresses */ 21655 #define USBVREG_BASE_ADDRS { USBVREG_BASE } 21656 /** Array initializer of USBVREG peripheral base pointers */ 21657 #define USBVREG_BASE_PTRS { USBVREG } 21658 21659 /*! 21660 * @} 21661 */ /* end of group USBVREG_Peripheral_Access_Layer */ 21662 21663 21664 /* ---------------------------------------------------------------------------- 21665 -- USDHC Peripheral Access Layer 21666 ---------------------------------------------------------------------------- */ 21667 21668 /*! 21669 * @addtogroup USDHC_Peripheral_Access_Layer USDHC Peripheral Access Layer 21670 * @{ 21671 */ 21672 21673 /** USDHC - Register Layout Typedef */ 21674 typedef struct { 21675 __IO uint32_t DS_ADDR; /**< DMA System Address, offset: 0x0 */ 21676 __IO uint32_t BLK_ATT; /**< Block Attributes, offset: 0x4 */ 21677 __IO uint32_t CMD_ARG; /**< Command Argument, offset: 0x8 */ 21678 __IO uint32_t CMD_XFR_TYP; /**< Command Transfer Type, offset: 0xC */ 21679 __I uint32_t CMD_RSP0; /**< Command Response0, offset: 0x10 */ 21680 __I uint32_t CMD_RSP1; /**< Command Response1, offset: 0x14 */ 21681 __I uint32_t CMD_RSP2; /**< Command Response2, offset: 0x18 */ 21682 __I uint32_t CMD_RSP3; /**< Command Response3, offset: 0x1C */ 21683 __IO uint32_t DATA_BUFF_ACC_PORT; /**< Data Buffer Access Port, offset: 0x20 */ 21684 __I uint32_t PRES_STATE; /**< Present State, offset: 0x24 */ 21685 __IO uint32_t PROT_CTRL; /**< Protocol Control, offset: 0x28 */ 21686 __IO uint32_t SYS_CTRL; /**< System Control, offset: 0x2C */ 21687 __IO uint32_t INT_STATUS; /**< Interrupt Status, offset: 0x30 */ 21688 __IO uint32_t INT_STATUS_EN; /**< Interrupt Status Enable, offset: 0x34 */ 21689 __IO uint32_t INT_SIGNAL_EN; /**< Interrupt Signal Enable, offset: 0x38 */ 21690 __I uint32_t AUTOCMD12_ERR_STATUS; /**< Auto CMD12 Error Status, offset: 0x3C */ 21691 __I uint32_t HOST_CTRL_CAP; /**< Host Controller Capabilities, offset: 0x40 */ 21692 __IO uint32_t WTMK_LVL; /**< Watermark Level, offset: 0x44 */ 21693 __IO uint32_t MIX_CTRL; /**< Mixer Control, offset: 0x48 */ 21694 uint8_t RESERVED_0[4]; 21695 __O uint32_t FORCE_EVENT; /**< Force Event, offset: 0x50 */ 21696 __I uint32_t ADMA_ERR_STATUS; /**< ADMA Error Status Register, offset: 0x54 */ 21697 __IO uint32_t ADMA_SYS_ADDR; /**< ADMA System Address, offset: 0x58 */ 21698 uint8_t RESERVED_1[100]; 21699 __IO uint32_t VEND_SPEC; /**< Vendor Specific Register, offset: 0xC0 */ 21700 __IO uint32_t MMC_BOOT; /**< MMC Boot Register, offset: 0xC4 */ 21701 __IO uint32_t VEND_SPEC2; /**< Vendor Specific 2 Register, offset: 0xC8 */ 21702 } USDHC_Type; 21703 21704 /* ---------------------------------------------------------------------------- 21705 -- USDHC Register Masks 21706 ---------------------------------------------------------------------------- */ 21707 21708 /*! 21709 * @addtogroup USDHC_Register_Masks USDHC Register Masks 21710 * @{ 21711 */ 21712 21713 /*! @name DS_ADDR - DMA System Address */ 21714 /*! @{ */ 21715 #define USDHC_DS_ADDR_DS_ADDR_MASK (0xFFFFFFFFU) 21716 #define USDHC_DS_ADDR_DS_ADDR_SHIFT (0U) 21717 #define USDHC_DS_ADDR_DS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DS_ADDR_DS_ADDR_SHIFT)) & USDHC_DS_ADDR_DS_ADDR_MASK) 21718 /*! @} */ 21719 21720 /*! @name BLK_ATT - Block Attributes */ 21721 /*! @{ */ 21722 #define USDHC_BLK_ATT_BLKSIZE_MASK (0x1FFFU) 21723 #define USDHC_BLK_ATT_BLKSIZE_SHIFT (0U) 21724 /*! BLKSIZE - Block Size 21725 * 0b1000000000000..4096 Bytes 21726 * 0b0100000000000..2048 Bytes 21727 * 0b0001000000000..512 Bytes 21728 * 0b0000111111111..511 Bytes 21729 * 0b0000000000100..4 Bytes 21730 * 0b0000000000011..3 Bytes 21731 * 0b0000000000010..2 Bytes 21732 * 0b0000000000001..1 Byte 21733 * 0b0000000000000..No data transfer 21734 */ 21735 #define USDHC_BLK_ATT_BLKSIZE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKSIZE_SHIFT)) & USDHC_BLK_ATT_BLKSIZE_MASK) 21736 #define USDHC_BLK_ATT_BLKCNT_MASK (0xFFFF0000U) 21737 #define USDHC_BLK_ATT_BLKCNT_SHIFT (16U) 21738 /*! BLKCNT - Block Count 21739 * 0b1111111111111111..65535 blocks 21740 * 0b0000000000000010..2 blocks 21741 * 0b0000000000000001..1 block 21742 * 0b0000000000000000..Stop Count 21743 */ 21744 #define USDHC_BLK_ATT_BLKCNT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKCNT_SHIFT)) & USDHC_BLK_ATT_BLKCNT_MASK) 21745 /*! @} */ 21746 21747 /*! @name CMD_ARG - Command Argument */ 21748 /*! @{ */ 21749 #define USDHC_CMD_ARG_CMDARG_MASK (0xFFFFFFFFU) 21750 #define USDHC_CMD_ARG_CMDARG_SHIFT (0U) 21751 #define USDHC_CMD_ARG_CMDARG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_ARG_CMDARG_SHIFT)) & USDHC_CMD_ARG_CMDARG_MASK) 21752 /*! @} */ 21753 21754 /*! @name CMD_XFR_TYP - Command Transfer Type */ 21755 /*! @{ */ 21756 #define USDHC_CMD_XFR_TYP_RSPTYP_MASK (0x30000U) 21757 #define USDHC_CMD_XFR_TYP_RSPTYP_SHIFT (16U) 21758 /*! RSPTYP - Response Type Select 21759 * 0b00..No Response 21760 * 0b01..Response Length 136 21761 * 0b10..Response Length 48 21762 * 0b11..Response Length 48, check Busy after response 21763 */ 21764 #define USDHC_CMD_XFR_TYP_RSPTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_RSPTYP_SHIFT)) & USDHC_CMD_XFR_TYP_RSPTYP_MASK) 21765 #define USDHC_CMD_XFR_TYP_CCCEN_MASK (0x80000U) 21766 #define USDHC_CMD_XFR_TYP_CCCEN_SHIFT (19U) 21767 /*! CCCEN - Command CRC Check Enable 21768 * 0b1..Enable 21769 * 0b0..Disable 21770 */ 21771 #define USDHC_CMD_XFR_TYP_CCCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CCCEN_SHIFT)) & USDHC_CMD_XFR_TYP_CCCEN_MASK) 21772 #define USDHC_CMD_XFR_TYP_CICEN_MASK (0x100000U) 21773 #define USDHC_CMD_XFR_TYP_CICEN_SHIFT (20U) 21774 /*! CICEN - Command Index Check Enable 21775 * 0b1..Enable 21776 * 0b0..Disable 21777 */ 21778 #define USDHC_CMD_XFR_TYP_CICEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CICEN_SHIFT)) & USDHC_CMD_XFR_TYP_CICEN_MASK) 21779 #define USDHC_CMD_XFR_TYP_DPSEL_MASK (0x200000U) 21780 #define USDHC_CMD_XFR_TYP_DPSEL_SHIFT (21U) 21781 /*! DPSEL - Data Present Select 21782 * 0b1..Data Present 21783 * 0b0..No Data Present 21784 */ 21785 #define USDHC_CMD_XFR_TYP_DPSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_DPSEL_SHIFT)) & USDHC_CMD_XFR_TYP_DPSEL_MASK) 21786 #define USDHC_CMD_XFR_TYP_CMDTYP_MASK (0xC00000U) 21787 #define USDHC_CMD_XFR_TYP_CMDTYP_SHIFT (22U) 21788 /*! CMDTYP - Command Type 21789 * 0b11..Abort CMD12, CMD52 for writing I/O Abort in CCCR 21790 * 0b10..Resume CMD52 for writing Function Select in CCCR 21791 * 0b01..Suspend CMD52 for writing Bus Suspend in CCCR 21792 * 0b00..Normal Other commands 21793 */ 21794 #define USDHC_CMD_XFR_TYP_CMDTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDTYP_SHIFT)) & USDHC_CMD_XFR_TYP_CMDTYP_MASK) 21795 #define USDHC_CMD_XFR_TYP_CMDINX_MASK (0x3F000000U) 21796 #define USDHC_CMD_XFR_TYP_CMDINX_SHIFT (24U) 21797 #define USDHC_CMD_XFR_TYP_CMDINX(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDINX_SHIFT)) & USDHC_CMD_XFR_TYP_CMDINX_MASK) 21798 /*! @} */ 21799 21800 /*! @name CMD_RSP0 - Command Response0 */ 21801 /*! @{ */ 21802 #define USDHC_CMD_RSP0_CMDRSP0_MASK (0xFFFFFFFFU) 21803 #define USDHC_CMD_RSP0_CMDRSP0_SHIFT (0U) 21804 #define USDHC_CMD_RSP0_CMDRSP0(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP0_CMDRSP0_SHIFT)) & USDHC_CMD_RSP0_CMDRSP0_MASK) 21805 /*! @} */ 21806 21807 /*! @name CMD_RSP1 - Command Response1 */ 21808 /*! @{ */ 21809 #define USDHC_CMD_RSP1_CMDRSP1_MASK (0xFFFFFFFFU) 21810 #define USDHC_CMD_RSP1_CMDRSP1_SHIFT (0U) 21811 #define USDHC_CMD_RSP1_CMDRSP1(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP1_CMDRSP1_SHIFT)) & USDHC_CMD_RSP1_CMDRSP1_MASK) 21812 /*! @} */ 21813 21814 /*! @name CMD_RSP2 - Command Response2 */ 21815 /*! @{ */ 21816 #define USDHC_CMD_RSP2_CMDRSP2_MASK (0xFFFFFFFFU) 21817 #define USDHC_CMD_RSP2_CMDRSP2_SHIFT (0U) 21818 #define USDHC_CMD_RSP2_CMDRSP2(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP2_CMDRSP2_SHIFT)) & USDHC_CMD_RSP2_CMDRSP2_MASK) 21819 /*! @} */ 21820 21821 /*! @name CMD_RSP3 - Command Response3 */ 21822 /*! @{ */ 21823 #define USDHC_CMD_RSP3_CMDRSP3_MASK (0xFFFFFFFFU) 21824 #define USDHC_CMD_RSP3_CMDRSP3_SHIFT (0U) 21825 #define USDHC_CMD_RSP3_CMDRSP3(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP3_CMDRSP3_SHIFT)) & USDHC_CMD_RSP3_CMDRSP3_MASK) 21826 /*! @} */ 21827 21828 /*! @name DATA_BUFF_ACC_PORT - Data Buffer Access Port */ 21829 /*! @{ */ 21830 #define USDHC_DATA_BUFF_ACC_PORT_DATCONT_MASK (0xFFFFFFFFU) 21831 #define USDHC_DATA_BUFF_ACC_PORT_DATCONT_SHIFT (0U) 21832 #define USDHC_DATA_BUFF_ACC_PORT_DATCONT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DATA_BUFF_ACC_PORT_DATCONT_SHIFT)) & USDHC_DATA_BUFF_ACC_PORT_DATCONT_MASK) 21833 /*! @} */ 21834 21835 /*! @name PRES_STATE - Present State */ 21836 /*! @{ */ 21837 #define USDHC_PRES_STATE_CIHB_MASK (0x1U) 21838 #define USDHC_PRES_STATE_CIHB_SHIFT (0U) 21839 /*! CIHB - Command Inhibit (CMD) 21840 * 0b1..Cannot issue command 21841 * 0b0..Can issue command using only CMD line 21842 */ 21843 #define USDHC_PRES_STATE_CIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CIHB_SHIFT)) & USDHC_PRES_STATE_CIHB_MASK) 21844 #define USDHC_PRES_STATE_CDIHB_MASK (0x2U) 21845 #define USDHC_PRES_STATE_CDIHB_SHIFT (1U) 21846 /*! CDIHB - Command Inhibit (DATA) 21847 * 0b1..Cannot issue command which uses the DATA line 21848 * 0b0..Can issue command which uses the DATA line 21849 */ 21850 #define USDHC_PRES_STATE_CDIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDIHB_SHIFT)) & USDHC_PRES_STATE_CDIHB_MASK) 21851 #define USDHC_PRES_STATE_DLA_MASK (0x4U) 21852 #define USDHC_PRES_STATE_DLA_SHIFT (2U) 21853 /*! DLA - Data Line Active 21854 * 0b1..DATA Line Active 21855 * 0b0..DATA Line Inactive 21856 */ 21857 #define USDHC_PRES_STATE_DLA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLA_SHIFT)) & USDHC_PRES_STATE_DLA_MASK) 21858 #define USDHC_PRES_STATE_SDSTB_MASK (0x8U) 21859 #define USDHC_PRES_STATE_SDSTB_SHIFT (3U) 21860 /*! SDSTB - SD Clock Stable 21861 * 0b1..Clock is stable. 21862 * 0b0..Clock is changing frequency and not stable. 21863 */ 21864 #define USDHC_PRES_STATE_SDSTB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDSTB_SHIFT)) & USDHC_PRES_STATE_SDSTB_MASK) 21865 #define USDHC_PRES_STATE_IPGOFF_MASK (0x10U) 21866 #define USDHC_PRES_STATE_IPGOFF_SHIFT (4U) 21867 /*! IPGOFF - IPG_CLK Gated Off Internally 21868 * 0b1..IPG_CLK is gated off. 21869 * 0b0..IPG_CLK is active. 21870 */ 21871 #define USDHC_PRES_STATE_IPGOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_IPGOFF_SHIFT)) & USDHC_PRES_STATE_IPGOFF_MASK) 21872 #define USDHC_PRES_STATE_HCKOFF_MASK (0x20U) 21873 #define USDHC_PRES_STATE_HCKOFF_SHIFT (5U) 21874 /*! HCKOFF - HCLK Gated Off Internally 21875 * 0b1..HCLK is gated off. 21876 * 0b0..HCLK is active. 21877 */ 21878 #define USDHC_PRES_STATE_HCKOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_HCKOFF_SHIFT)) & USDHC_PRES_STATE_HCKOFF_MASK) 21879 #define USDHC_PRES_STATE_PEROFF_MASK (0x40U) 21880 #define USDHC_PRES_STATE_PEROFF_SHIFT (6U) 21881 /*! PEROFF - IPG_PERCLK Gated Off Internally 21882 * 0b1..IPG_PERCLK is gated off. 21883 * 0b0..IPG_PERCLK is active. 21884 */ 21885 #define USDHC_PRES_STATE_PEROFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_PEROFF_SHIFT)) & USDHC_PRES_STATE_PEROFF_MASK) 21886 #define USDHC_PRES_STATE_SDOFF_MASK (0x80U) 21887 #define USDHC_PRES_STATE_SDOFF_SHIFT (7U) 21888 /*! SDOFF - SD Clock Gated Off Internally 21889 * 0b1..SD Clock is gated off. 21890 * 0b0..SD Clock is active. 21891 */ 21892 #define USDHC_PRES_STATE_SDOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDOFF_SHIFT)) & USDHC_PRES_STATE_SDOFF_MASK) 21893 #define USDHC_PRES_STATE_WTA_MASK (0x100U) 21894 #define USDHC_PRES_STATE_WTA_SHIFT (8U) 21895 /*! WTA - Write Transfer Active 21896 * 0b1..Transferring data 21897 * 0b0..No valid data 21898 */ 21899 #define USDHC_PRES_STATE_WTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WTA_SHIFT)) & USDHC_PRES_STATE_WTA_MASK) 21900 #define USDHC_PRES_STATE_RTA_MASK (0x200U) 21901 #define USDHC_PRES_STATE_RTA_SHIFT (9U) 21902 /*! RTA - Read Transfer Active 21903 * 0b1..Transferring data 21904 * 0b0..No valid data 21905 */ 21906 #define USDHC_PRES_STATE_RTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTA_SHIFT)) & USDHC_PRES_STATE_RTA_MASK) 21907 #define USDHC_PRES_STATE_BWEN_MASK (0x400U) 21908 #define USDHC_PRES_STATE_BWEN_SHIFT (10U) 21909 /*! BWEN - Buffer Write Enable 21910 * 0b1..Write enable 21911 * 0b0..Write disable 21912 */ 21913 #define USDHC_PRES_STATE_BWEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BWEN_SHIFT)) & USDHC_PRES_STATE_BWEN_MASK) 21914 #define USDHC_PRES_STATE_BREN_MASK (0x800U) 21915 #define USDHC_PRES_STATE_BREN_SHIFT (11U) 21916 /*! BREN - Buffer Read Enable 21917 * 0b1..Read enable 21918 * 0b0..Read disable 21919 */ 21920 #define USDHC_PRES_STATE_BREN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BREN_SHIFT)) & USDHC_PRES_STATE_BREN_MASK) 21921 #define USDHC_PRES_STATE_CINST_MASK (0x10000U) 21922 #define USDHC_PRES_STATE_CINST_SHIFT (16U) 21923 /*! CINST - Card Inserted 21924 * 0b1..Card Inserted 21925 * 0b0..Power on Reset or No Card 21926 */ 21927 #define USDHC_PRES_STATE_CINST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CINST_SHIFT)) & USDHC_PRES_STATE_CINST_MASK) 21928 #define USDHC_PRES_STATE_CDPL_MASK (0x40000U) 21929 #define USDHC_PRES_STATE_CDPL_SHIFT (18U) 21930 /*! CDPL - Card Detect Pin Level 21931 * 0b1..Card present (CD_B = 0) 21932 * 0b0..No card present (CD_B = 1) 21933 */ 21934 #define USDHC_PRES_STATE_CDPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDPL_SHIFT)) & USDHC_PRES_STATE_CDPL_MASK) 21935 #define USDHC_PRES_STATE_WPSPL_MASK (0x80000U) 21936 #define USDHC_PRES_STATE_WPSPL_SHIFT (19U) 21937 /*! WPSPL - Write Protect Switch Pin Level 21938 * 0b1..Write enabled (WP = 0) 21939 * 0b0..Write protected (WP = 1) 21940 */ 21941 #define USDHC_PRES_STATE_WPSPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WPSPL_SHIFT)) & USDHC_PRES_STATE_WPSPL_MASK) 21942 #define USDHC_PRES_STATE_CLSL_MASK (0x800000U) 21943 #define USDHC_PRES_STATE_CLSL_SHIFT (23U) 21944 #define USDHC_PRES_STATE_CLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CLSL_SHIFT)) & USDHC_PRES_STATE_CLSL_MASK) 21945 #define USDHC_PRES_STATE_DLSL_MASK (0xFF000000U) 21946 #define USDHC_PRES_STATE_DLSL_SHIFT (24U) 21947 /*! DLSL - DATA[7:0] Line Signal Level 21948 * 0b00000111..Data 7 line signal level 21949 * 0b00000110..Data 6 line signal level 21950 * 0b00000101..Data 5 line signal level 21951 * 0b00000100..Data 4 line signal level 21952 * 0b00000011..Data 3 line signal level 21953 * 0b00000010..Data 2 line signal level 21954 * 0b00000001..Data 1 line signal level 21955 * 0b00000000..Data 0 line signal level 21956 */ 21957 #define USDHC_PRES_STATE_DLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLSL_SHIFT)) & USDHC_PRES_STATE_DLSL_MASK) 21958 /*! @} */ 21959 21960 /*! @name PROT_CTRL - Protocol Control */ 21961 /*! @{ */ 21962 #define USDHC_PROT_CTRL_LCTL_MASK (0x1U) 21963 #define USDHC_PROT_CTRL_LCTL_SHIFT (0U) 21964 /*! LCTL - LED Control 21965 * 0b1..LED on 21966 * 0b0..LED off 21967 */ 21968 #define USDHC_PROT_CTRL_LCTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_LCTL_SHIFT)) & USDHC_PROT_CTRL_LCTL_MASK) 21969 #define USDHC_PROT_CTRL_DTW_MASK (0x6U) 21970 #define USDHC_PROT_CTRL_DTW_SHIFT (1U) 21971 /*! DTW - Data Transfer Width 21972 * 0b10..8-bit mode 21973 * 0b01..4-bit mode 21974 * 0b00..1-bit mode 21975 * 0b11..Reserved 21976 */ 21977 #define USDHC_PROT_CTRL_DTW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DTW_SHIFT)) & USDHC_PROT_CTRL_DTW_MASK) 21978 #define USDHC_PROT_CTRL_D3CD_MASK (0x8U) 21979 #define USDHC_PROT_CTRL_D3CD_SHIFT (3U) 21980 /*! D3CD - DATA3 as Card Detection Pin 21981 * 0b1..DATA3 as Card Detection Pin 21982 * 0b0..DATA3 does not monitor Card Insertion 21983 */ 21984 #define USDHC_PROT_CTRL_D3CD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_D3CD_SHIFT)) & USDHC_PROT_CTRL_D3CD_MASK) 21985 #define USDHC_PROT_CTRL_EMODE_MASK (0x30U) 21986 #define USDHC_PROT_CTRL_EMODE_SHIFT (4U) 21987 /*! EMODE - Endian Mode 21988 * 0b00..Big Endian Mode 21989 * 0b01..Half Word Big Endian Mode 21990 * 0b10..Little Endian Mode 21991 * 0b11..Reserved 21992 */ 21993 #define USDHC_PROT_CTRL_EMODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_EMODE_SHIFT)) & USDHC_PROT_CTRL_EMODE_MASK) 21994 #define USDHC_PROT_CTRL_CDTL_MASK (0x40U) 21995 #define USDHC_PROT_CTRL_CDTL_SHIFT (6U) 21996 /*! CDTL - Card Detect Test Level 21997 * 0b1..Card Detect Test Level is 1, card inserted 21998 * 0b0..Card Detect Test Level is 0, no card inserted 21999 */ 22000 #define USDHC_PROT_CTRL_CDTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CDTL_SHIFT)) & USDHC_PROT_CTRL_CDTL_MASK) 22001 #define USDHC_PROT_CTRL_CDSS_MASK (0x80U) 22002 #define USDHC_PROT_CTRL_CDSS_SHIFT (7U) 22003 /*! CDSS - Card Detect Signal Selection 22004 * 0b1..Card Detection Test Level is selected (for test purpose). 22005 * 0b0..Card Detection Level is selected (for normal purpose). 22006 */ 22007 #define USDHC_PROT_CTRL_CDSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CDSS_SHIFT)) & USDHC_PROT_CTRL_CDSS_MASK) 22008 #define USDHC_PROT_CTRL_DMASEL_MASK (0x300U) 22009 #define USDHC_PROT_CTRL_DMASEL_SHIFT (8U) 22010 /*! DMASEL - DMA Select 22011 * 0b00..No DMA or Simple DMA is selected 22012 * 0b01..ADMA1 is selected 22013 * 0b10..ADMA2 is selected 22014 * 0b11..reserved 22015 */ 22016 #define USDHC_PROT_CTRL_DMASEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DMASEL_SHIFT)) & USDHC_PROT_CTRL_DMASEL_MASK) 22017 #define USDHC_PROT_CTRL_SABGREQ_MASK (0x10000U) 22018 #define USDHC_PROT_CTRL_SABGREQ_SHIFT (16U) 22019 /*! SABGREQ - Stop At Block Gap Request 22020 * 0b1..Stop 22021 * 0b0..Transfer 22022 */ 22023 #define USDHC_PROT_CTRL_SABGREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_SABGREQ_SHIFT)) & USDHC_PROT_CTRL_SABGREQ_MASK) 22024 #define USDHC_PROT_CTRL_CREQ_MASK (0x20000U) 22025 #define USDHC_PROT_CTRL_CREQ_SHIFT (17U) 22026 /*! CREQ - Continue Request 22027 * 0b1..Restart 22028 * 0b0..No effect 22029 */ 22030 #define USDHC_PROT_CTRL_CREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CREQ_SHIFT)) & USDHC_PROT_CTRL_CREQ_MASK) 22031 #define USDHC_PROT_CTRL_RWCTL_MASK (0x40000U) 22032 #define USDHC_PROT_CTRL_RWCTL_SHIFT (18U) 22033 /*! RWCTL - Read Wait Control 22034 * 0b1..Enable Read Wait Control, and assert Read Wait without stopping SD Clock at block gap when SABGREQ bit is set 22035 * 0b0..Disable Read Wait Control, and stop SD Clock at block gap when SABGREQ bit is set 22036 */ 22037 #define USDHC_PROT_CTRL_RWCTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RWCTL_SHIFT)) & USDHC_PROT_CTRL_RWCTL_MASK) 22038 #define USDHC_PROT_CTRL_IABG_MASK (0x80000U) 22039 #define USDHC_PROT_CTRL_IABG_SHIFT (19U) 22040 /*! IABG - Interrupt At Block Gap 22041 * 0b1..Enabled 22042 * 0b0..Disabled 22043 */ 22044 #define USDHC_PROT_CTRL_IABG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_IABG_SHIFT)) & USDHC_PROT_CTRL_IABG_MASK) 22045 #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_MASK (0x100000U) 22046 #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_SHIFT (20U) 22047 #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RD_DONE_NO_8CLK_SHIFT)) & USDHC_PROT_CTRL_RD_DONE_NO_8CLK_MASK) 22048 #define USDHC_PROT_CTRL_WECINT_MASK (0x1000000U) 22049 #define USDHC_PROT_CTRL_WECINT_SHIFT (24U) 22050 /*! WECINT - Wakeup Event Enable On Card Interrupt 22051 * 0b1..Enable 22052 * 0b0..Disable 22053 */ 22054 #define USDHC_PROT_CTRL_WECINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINT_SHIFT)) & USDHC_PROT_CTRL_WECINT_MASK) 22055 #define USDHC_PROT_CTRL_WECINS_MASK (0x2000000U) 22056 #define USDHC_PROT_CTRL_WECINS_SHIFT (25U) 22057 /*! WECINS - Wakeup Event Enable On SD Card Insertion 22058 * 0b1..Enable 22059 * 0b0..Disable 22060 */ 22061 #define USDHC_PROT_CTRL_WECINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINS_SHIFT)) & USDHC_PROT_CTRL_WECINS_MASK) 22062 #define USDHC_PROT_CTRL_WECRM_MASK (0x4000000U) 22063 #define USDHC_PROT_CTRL_WECRM_SHIFT (26U) 22064 /*! WECRM - Wakeup Event Enable On SD Card Removal 22065 * 0b1..Enable 22066 * 0b0..Disable 22067 */ 22068 #define USDHC_PROT_CTRL_WECRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECRM_SHIFT)) & USDHC_PROT_CTRL_WECRM_MASK) 22069 #define USDHC_PROT_CTRL_BURST_LEN_EN_MASK (0x38000000U) 22070 #define USDHC_PROT_CTRL_BURST_LEN_EN_SHIFT (27U) 22071 /*! BURST_LEN_EN - BURST length enable for INCR, INCR4 / INCR8 / INCR16, INCR4-WRAP / INCR8-WRAP / INCR16-WRAP 22072 * 0bxx1..Burst length is enabled for INCR 22073 * 0bx1x..Burst length is enabled for INCR4 / INCR8 / INCR16 22074 * 0b1xx..Burst length is enabled for INCR4-WRAP / INCR8-WRAP / INCR16-WRAP 22075 */ 22076 #define USDHC_PROT_CTRL_BURST_LEN_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_BURST_LEN_EN_SHIFT)) & USDHC_PROT_CTRL_BURST_LEN_EN_MASK) 22077 #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_MASK (0x40000000U) 22078 #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_SHIFT (30U) 22079 /*! NON_EXACT_BLK_RD - NON_EXACT_BLK_RD 22080 * 0b1..The block read is non-exact block read. Host driver needs to issue abort command to terminate this multi-block read. 22081 * 0b0..The block read is exact block read. Host driver doesn't need to issue abort command to terminate this multi-block read. 22082 */ 22083 #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_NON_EXACT_BLK_RD_SHIFT)) & USDHC_PROT_CTRL_NON_EXACT_BLK_RD_MASK) 22084 /*! @} */ 22085 22086 /*! @name SYS_CTRL - System Control */ 22087 /*! @{ */ 22088 #define USDHC_SYS_CTRL_DVS_MASK (0xF0U) 22089 #define USDHC_SYS_CTRL_DVS_SHIFT (4U) 22090 /*! DVS - Divisor 22091 * 0b0000..Divide-by-1 22092 * 0b0001..Divide-by-2 22093 * 0b1110..Divide-by-15 22094 * 0b1111..Divide-by-16 22095 */ 22096 #define USDHC_SYS_CTRL_DVS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DVS_SHIFT)) & USDHC_SYS_CTRL_DVS_MASK) 22097 #define USDHC_SYS_CTRL_SDCLKFS_MASK (0xFF00U) 22098 #define USDHC_SYS_CTRL_SDCLKFS_SHIFT (8U) 22099 #define USDHC_SYS_CTRL_SDCLKFS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_SDCLKFS_SHIFT)) & USDHC_SYS_CTRL_SDCLKFS_MASK) 22100 #define USDHC_SYS_CTRL_DTOCV_MASK (0xF0000U) 22101 #define USDHC_SYS_CTRL_DTOCV_SHIFT (16U) 22102 /*! DTOCV - Data Timeout Counter Value 22103 * 0b1111..SDCLK x 2 29 22104 * 0b1110..SDCLK x 2 28 22105 * 0b1101..SDCLK x 2 27 22106 * 0b0001..SDCLK x 2 15 22107 * 0b0000..SDCLK x 2 14 22108 */ 22109 #define USDHC_SYS_CTRL_DTOCV(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DTOCV_SHIFT)) & USDHC_SYS_CTRL_DTOCV_MASK) 22110 #define USDHC_SYS_CTRL_IPP_RST_N_MASK (0x800000U) 22111 #define USDHC_SYS_CTRL_IPP_RST_N_SHIFT (23U) 22112 #define USDHC_SYS_CTRL_IPP_RST_N(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_IPP_RST_N_SHIFT)) & USDHC_SYS_CTRL_IPP_RST_N_MASK) 22113 #define USDHC_SYS_CTRL_RSTA_MASK (0x1000000U) 22114 #define USDHC_SYS_CTRL_RSTA_SHIFT (24U) 22115 /*! RSTA - Software Reset For ALL 22116 * 0b1..Reset 22117 * 0b0..No Reset 22118 */ 22119 #define USDHC_SYS_CTRL_RSTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTA_SHIFT)) & USDHC_SYS_CTRL_RSTA_MASK) 22120 #define USDHC_SYS_CTRL_RSTC_MASK (0x2000000U) 22121 #define USDHC_SYS_CTRL_RSTC_SHIFT (25U) 22122 /*! RSTC - Software Reset For CMD Line 22123 * 0b1..Reset 22124 * 0b0..No Reset 22125 */ 22126 #define USDHC_SYS_CTRL_RSTC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTC_SHIFT)) & USDHC_SYS_CTRL_RSTC_MASK) 22127 #define USDHC_SYS_CTRL_RSTD_MASK (0x4000000U) 22128 #define USDHC_SYS_CTRL_RSTD_SHIFT (26U) 22129 /*! RSTD - Software Reset For DATA Line 22130 * 0b1..Reset 22131 * 0b0..No Reset 22132 */ 22133 #define USDHC_SYS_CTRL_RSTD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTD_SHIFT)) & USDHC_SYS_CTRL_RSTD_MASK) 22134 #define USDHC_SYS_CTRL_INITA_MASK (0x8000000U) 22135 #define USDHC_SYS_CTRL_INITA_SHIFT (27U) 22136 #define USDHC_SYS_CTRL_INITA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_INITA_SHIFT)) & USDHC_SYS_CTRL_INITA_MASK) 22137 /*! @} */ 22138 22139 /*! @name INT_STATUS - Interrupt Status */ 22140 /*! @{ */ 22141 #define USDHC_INT_STATUS_CC_MASK (0x1U) 22142 #define USDHC_INT_STATUS_CC_SHIFT (0U) 22143 /*! CC - Command Complete 22144 * 0b1..Command complete 22145 * 0b0..Command not complete 22146 */ 22147 #define USDHC_INT_STATUS_CC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CC_SHIFT)) & USDHC_INT_STATUS_CC_MASK) 22148 #define USDHC_INT_STATUS_TC_MASK (0x2U) 22149 #define USDHC_INT_STATUS_TC_SHIFT (1U) 22150 /*! TC - Transfer Complete 22151 * 0b1..Transfer complete 22152 * 0b0..Transfer not complete 22153 */ 22154 #define USDHC_INT_STATUS_TC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TC_SHIFT)) & USDHC_INT_STATUS_TC_MASK) 22155 #define USDHC_INT_STATUS_BGE_MASK (0x4U) 22156 #define USDHC_INT_STATUS_BGE_SHIFT (2U) 22157 /*! BGE - Block Gap Event 22158 * 0b1..Transaction stopped at block gap 22159 * 0b0..No block gap event 22160 */ 22161 #define USDHC_INT_STATUS_BGE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BGE_SHIFT)) & USDHC_INT_STATUS_BGE_MASK) 22162 #define USDHC_INT_STATUS_DINT_MASK (0x8U) 22163 #define USDHC_INT_STATUS_DINT_SHIFT (3U) 22164 /*! DINT - DMA Interrupt 22165 * 0b1..DMA Interrupt is generated 22166 * 0b0..No DMA Interrupt 22167 */ 22168 #define USDHC_INT_STATUS_DINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DINT_SHIFT)) & USDHC_INT_STATUS_DINT_MASK) 22169 #define USDHC_INT_STATUS_BWR_MASK (0x10U) 22170 #define USDHC_INT_STATUS_BWR_SHIFT (4U) 22171 /*! BWR - Buffer Write Ready 22172 * 0b1..Ready to write buffer: 22173 * 0b0..Not ready to write buffer 22174 */ 22175 #define USDHC_INT_STATUS_BWR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BWR_SHIFT)) & USDHC_INT_STATUS_BWR_MASK) 22176 #define USDHC_INT_STATUS_BRR_MASK (0x20U) 22177 #define USDHC_INT_STATUS_BRR_SHIFT (5U) 22178 /*! BRR - Buffer Read Ready 22179 * 0b1..Ready to read buffer 22180 * 0b0..Not ready to read buffer 22181 */ 22182 #define USDHC_INT_STATUS_BRR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BRR_SHIFT)) & USDHC_INT_STATUS_BRR_MASK) 22183 #define USDHC_INT_STATUS_CINS_MASK (0x40U) 22184 #define USDHC_INT_STATUS_CINS_SHIFT (6U) 22185 /*! CINS - Card Insertion 22186 * 0b1..Card inserted 22187 * 0b0..Card state unstable or removed 22188 */ 22189 #define USDHC_INT_STATUS_CINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINS_SHIFT)) & USDHC_INT_STATUS_CINS_MASK) 22190 #define USDHC_INT_STATUS_CRM_MASK (0x80U) 22191 #define USDHC_INT_STATUS_CRM_SHIFT (7U) 22192 /*! CRM - Card Removal 22193 * 0b1..Card removed 22194 * 0b0..Card state unstable or inserted 22195 */ 22196 #define USDHC_INT_STATUS_CRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CRM_SHIFT)) & USDHC_INT_STATUS_CRM_MASK) 22197 #define USDHC_INT_STATUS_CINT_MASK (0x100U) 22198 #define USDHC_INT_STATUS_CINT_SHIFT (8U) 22199 /*! CINT - Card Interrupt 22200 * 0b1..Generate Card Interrupt 22201 * 0b0..No Card Interrupt 22202 */ 22203 #define USDHC_INT_STATUS_CINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINT_SHIFT)) & USDHC_INT_STATUS_CINT_MASK) 22204 #define USDHC_INT_STATUS_CTOE_MASK (0x10000U) 22205 #define USDHC_INT_STATUS_CTOE_SHIFT (16U) 22206 /*! CTOE - Command Timeout Error 22207 * 0b1..Time out 22208 * 0b0..No Error 22209 */ 22210 #define USDHC_INT_STATUS_CTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CTOE_SHIFT)) & USDHC_INT_STATUS_CTOE_MASK) 22211 #define USDHC_INT_STATUS_CCE_MASK (0x20000U) 22212 #define USDHC_INT_STATUS_CCE_SHIFT (17U) 22213 /*! CCE - Command CRC Error 22214 * 0b1..CRC Error Generated. 22215 * 0b0..No Error 22216 */ 22217 #define USDHC_INT_STATUS_CCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CCE_SHIFT)) & USDHC_INT_STATUS_CCE_MASK) 22218 #define USDHC_INT_STATUS_CEBE_MASK (0x40000U) 22219 #define USDHC_INT_STATUS_CEBE_SHIFT (18U) 22220 /*! CEBE - Command End Bit Error 22221 * 0b1..End Bit Error Generated 22222 * 0b0..No Error 22223 */ 22224 #define USDHC_INT_STATUS_CEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CEBE_SHIFT)) & USDHC_INT_STATUS_CEBE_MASK) 22225 #define USDHC_INT_STATUS_CIE_MASK (0x80000U) 22226 #define USDHC_INT_STATUS_CIE_SHIFT (19U) 22227 /*! CIE - Command Index Error 22228 * 0b1..Error 22229 * 0b0..No Error 22230 */ 22231 #define USDHC_INT_STATUS_CIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CIE_SHIFT)) & USDHC_INT_STATUS_CIE_MASK) 22232 #define USDHC_INT_STATUS_DTOE_MASK (0x100000U) 22233 #define USDHC_INT_STATUS_DTOE_SHIFT (20U) 22234 /*! DTOE - Data Timeout Error 22235 * 0b1..Time out 22236 * 0b0..No Error 22237 */ 22238 #define USDHC_INT_STATUS_DTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DTOE_SHIFT)) & USDHC_INT_STATUS_DTOE_MASK) 22239 #define USDHC_INT_STATUS_DCE_MASK (0x200000U) 22240 #define USDHC_INT_STATUS_DCE_SHIFT (21U) 22241 /*! DCE - Data CRC Error 22242 * 0b1..Error 22243 * 0b0..No Error 22244 */ 22245 #define USDHC_INT_STATUS_DCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DCE_SHIFT)) & USDHC_INT_STATUS_DCE_MASK) 22246 #define USDHC_INT_STATUS_DEBE_MASK (0x400000U) 22247 #define USDHC_INT_STATUS_DEBE_SHIFT (22U) 22248 /*! DEBE - Data End Bit Error 22249 * 0b1..Error 22250 * 0b0..No Error 22251 */ 22252 #define USDHC_INT_STATUS_DEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DEBE_SHIFT)) & USDHC_INT_STATUS_DEBE_MASK) 22253 #define USDHC_INT_STATUS_AC12E_MASK (0x1000000U) 22254 #define USDHC_INT_STATUS_AC12E_SHIFT (24U) 22255 /*! AC12E - Auto CMD12 Error 22256 * 0b1..Error 22257 * 0b0..No Error 22258 */ 22259 #define USDHC_INT_STATUS_AC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_AC12E_SHIFT)) & USDHC_INT_STATUS_AC12E_MASK) 22260 #define USDHC_INT_STATUS_DMAE_MASK (0x10000000U) 22261 #define USDHC_INT_STATUS_DMAE_SHIFT (28U) 22262 /*! DMAE - DMA Error 22263 * 0b1..Error 22264 * 0b0..No Error 22265 */ 22266 #define USDHC_INT_STATUS_DMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DMAE_SHIFT)) & USDHC_INT_STATUS_DMAE_MASK) 22267 /*! @} */ 22268 22269 /*! @name INT_STATUS_EN - Interrupt Status Enable */ 22270 /*! @{ */ 22271 #define USDHC_INT_STATUS_EN_CCSEN_MASK (0x1U) 22272 #define USDHC_INT_STATUS_EN_CCSEN_SHIFT (0U) 22273 /*! CCSEN - Command Complete Status Enable 22274 * 0b1..Enabled 22275 * 0b0..Masked 22276 */ 22277 #define USDHC_INT_STATUS_EN_CCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCSEN_SHIFT)) & USDHC_INT_STATUS_EN_CCSEN_MASK) 22278 #define USDHC_INT_STATUS_EN_TCSEN_MASK (0x2U) 22279 #define USDHC_INT_STATUS_EN_TCSEN_SHIFT (1U) 22280 /*! TCSEN - Transfer Complete Status Enable 22281 * 0b1..Enabled 22282 * 0b0..Masked 22283 */ 22284 #define USDHC_INT_STATUS_EN_TCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TCSEN_SHIFT)) & USDHC_INT_STATUS_EN_TCSEN_MASK) 22285 #define USDHC_INT_STATUS_EN_BGESEN_MASK (0x4U) 22286 #define USDHC_INT_STATUS_EN_BGESEN_SHIFT (2U) 22287 /*! BGESEN - Block Gap Event Status Enable 22288 * 0b1..Enabled 22289 * 0b0..Masked 22290 */ 22291 #define USDHC_INT_STATUS_EN_BGESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BGESEN_SHIFT)) & USDHC_INT_STATUS_EN_BGESEN_MASK) 22292 #define USDHC_INT_STATUS_EN_DINTSEN_MASK (0x8U) 22293 #define USDHC_INT_STATUS_EN_DINTSEN_SHIFT (3U) 22294 /*! DINTSEN - DMA Interrupt Status Enable 22295 * 0b1..Enabled 22296 * 0b0..Masked 22297 */ 22298 #define USDHC_INT_STATUS_EN_DINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_DINTSEN_MASK) 22299 #define USDHC_INT_STATUS_EN_BWRSEN_MASK (0x10U) 22300 #define USDHC_INT_STATUS_EN_BWRSEN_SHIFT (4U) 22301 /*! BWRSEN - Buffer Write Ready Status Enable 22302 * 0b1..Enabled 22303 * 0b0..Masked 22304 */ 22305 #define USDHC_INT_STATUS_EN_BWRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BWRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BWRSEN_MASK) 22306 #define USDHC_INT_STATUS_EN_BRRSEN_MASK (0x20U) 22307 #define USDHC_INT_STATUS_EN_BRRSEN_SHIFT (5U) 22308 /*! BRRSEN - Buffer Read Ready Status Enable 22309 * 0b1..Enabled 22310 * 0b0..Masked 22311 */ 22312 #define USDHC_INT_STATUS_EN_BRRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BRRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BRRSEN_MASK) 22313 #define USDHC_INT_STATUS_EN_CINSSEN_MASK (0x40U) 22314 #define USDHC_INT_STATUS_EN_CINSSEN_SHIFT (6U) 22315 /*! CINSSEN - Card Insertion Status Enable 22316 * 0b1..Enabled 22317 * 0b0..Masked 22318 */ 22319 #define USDHC_INT_STATUS_EN_CINSSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINSSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINSSEN_MASK) 22320 #define USDHC_INT_STATUS_EN_CRMSEN_MASK (0x80U) 22321 #define USDHC_INT_STATUS_EN_CRMSEN_SHIFT (7U) 22322 /*! CRMSEN - Card Removal Status Enable 22323 * 0b1..Enabled 22324 * 0b0..Masked 22325 */ 22326 #define USDHC_INT_STATUS_EN_CRMSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CRMSEN_SHIFT)) & USDHC_INT_STATUS_EN_CRMSEN_MASK) 22327 #define USDHC_INT_STATUS_EN_CINTSEN_MASK (0x100U) 22328 #define USDHC_INT_STATUS_EN_CINTSEN_SHIFT (8U) 22329 /*! CINTSEN - Card Interrupt Status Enable 22330 * 0b1..Enabled 22331 * 0b0..Masked 22332 */ 22333 #define USDHC_INT_STATUS_EN_CINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINTSEN_MASK) 22334 #define USDHC_INT_STATUS_EN_CTOESEN_MASK (0x10000U) 22335 #define USDHC_INT_STATUS_EN_CTOESEN_SHIFT (16U) 22336 /*! CTOESEN - Command Timeout Error Status Enable 22337 * 0b1..Enabled 22338 * 0b0..Masked 22339 */ 22340 #define USDHC_INT_STATUS_EN_CTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_CTOESEN_MASK) 22341 #define USDHC_INT_STATUS_EN_CCESEN_MASK (0x20000U) 22342 #define USDHC_INT_STATUS_EN_CCESEN_SHIFT (17U) 22343 /*! CCESEN - Command CRC Error Status Enable 22344 * 0b1..Enabled 22345 * 0b0..Masked 22346 */ 22347 #define USDHC_INT_STATUS_EN_CCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCESEN_SHIFT)) & USDHC_INT_STATUS_EN_CCESEN_MASK) 22348 #define USDHC_INT_STATUS_EN_CEBESEN_MASK (0x40000U) 22349 #define USDHC_INT_STATUS_EN_CEBESEN_SHIFT (18U) 22350 /*! CEBESEN - Command End Bit Error Status Enable 22351 * 0b1..Enabled 22352 * 0b0..Masked 22353 */ 22354 #define USDHC_INT_STATUS_EN_CEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_CEBESEN_MASK) 22355 #define USDHC_INT_STATUS_EN_CIESEN_MASK (0x80000U) 22356 #define USDHC_INT_STATUS_EN_CIESEN_SHIFT (19U) 22357 /*! CIESEN - Command Index Error Status Enable 22358 * 0b1..Enabled 22359 * 0b0..Masked 22360 */ 22361 #define USDHC_INT_STATUS_EN_CIESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CIESEN_SHIFT)) & USDHC_INT_STATUS_EN_CIESEN_MASK) 22362 #define USDHC_INT_STATUS_EN_DTOESEN_MASK (0x100000U) 22363 #define USDHC_INT_STATUS_EN_DTOESEN_SHIFT (20U) 22364 /*! DTOESEN - Data Timeout Error Status Enable 22365 * 0b1..Enabled 22366 * 0b0..Masked 22367 */ 22368 #define USDHC_INT_STATUS_EN_DTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_DTOESEN_MASK) 22369 #define USDHC_INT_STATUS_EN_DCESEN_MASK (0x200000U) 22370 #define USDHC_INT_STATUS_EN_DCESEN_SHIFT (21U) 22371 /*! DCESEN - Data CRC Error Status Enable 22372 * 0b1..Enabled 22373 * 0b0..Masked 22374 */ 22375 #define USDHC_INT_STATUS_EN_DCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DCESEN_SHIFT)) & USDHC_INT_STATUS_EN_DCESEN_MASK) 22376 #define USDHC_INT_STATUS_EN_DEBESEN_MASK (0x400000U) 22377 #define USDHC_INT_STATUS_EN_DEBESEN_SHIFT (22U) 22378 /*! DEBESEN - Data End Bit Error Status Enable 22379 * 0b1..Enabled 22380 * 0b0..Masked 22381 */ 22382 #define USDHC_INT_STATUS_EN_DEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_DEBESEN_MASK) 22383 #define USDHC_INT_STATUS_EN_AC12ESEN_MASK (0x1000000U) 22384 #define USDHC_INT_STATUS_EN_AC12ESEN_SHIFT (24U) 22385 /*! AC12ESEN - Auto CMD12 Error Status Enable 22386 * 0b1..Enabled 22387 * 0b0..Masked 22388 */ 22389 #define USDHC_INT_STATUS_EN_AC12ESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_AC12ESEN_SHIFT)) & USDHC_INT_STATUS_EN_AC12ESEN_MASK) 22390 #define USDHC_INT_STATUS_EN_DMAESEN_MASK (0x10000000U) 22391 #define USDHC_INT_STATUS_EN_DMAESEN_SHIFT (28U) 22392 /*! DMAESEN - DMA Error Status Enable 22393 * 0b1..Enabled 22394 * 0b0..Masked 22395 */ 22396 #define USDHC_INT_STATUS_EN_DMAESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DMAESEN_SHIFT)) & USDHC_INT_STATUS_EN_DMAESEN_MASK) 22397 /*! @} */ 22398 22399 /*! @name INT_SIGNAL_EN - Interrupt Signal Enable */ 22400 /*! @{ */ 22401 #define USDHC_INT_SIGNAL_EN_CCIEN_MASK (0x1U) 22402 #define USDHC_INT_SIGNAL_EN_CCIEN_SHIFT (0U) 22403 /*! CCIEN - Command Complete Interrupt Enable 22404 * 0b1..Enabled 22405 * 0b0..Masked 22406 */ 22407 #define USDHC_INT_SIGNAL_EN_CCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCIEN_MASK) 22408 #define USDHC_INT_SIGNAL_EN_TCIEN_MASK (0x2U) 22409 #define USDHC_INT_SIGNAL_EN_TCIEN_SHIFT (1U) 22410 /*! TCIEN - Transfer Complete Interrupt Enable 22411 * 0b1..Enabled 22412 * 0b0..Masked 22413 */ 22414 #define USDHC_INT_SIGNAL_EN_TCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TCIEN_MASK) 22415 #define USDHC_INT_SIGNAL_EN_BGEIEN_MASK (0x4U) 22416 #define USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT (2U) 22417 /*! BGEIEN - Block Gap Event Interrupt Enable 22418 * 0b1..Enabled 22419 * 0b0..Masked 22420 */ 22421 #define USDHC_INT_SIGNAL_EN_BGEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BGEIEN_MASK) 22422 #define USDHC_INT_SIGNAL_EN_DINTIEN_MASK (0x8U) 22423 #define USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT (3U) 22424 /*! DINTIEN - DMA Interrupt Enable 22425 * 0b1..Enabled 22426 * 0b0..Masked 22427 */ 22428 #define USDHC_INT_SIGNAL_EN_DINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DINTIEN_MASK) 22429 #define USDHC_INT_SIGNAL_EN_BWRIEN_MASK (0x10U) 22430 #define USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT (4U) 22431 /*! BWRIEN - Buffer Write Ready Interrupt Enable 22432 * 0b1..Enabled 22433 * 0b0..Masked 22434 */ 22435 #define USDHC_INT_SIGNAL_EN_BWRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BWRIEN_MASK) 22436 #define USDHC_INT_SIGNAL_EN_BRRIEN_MASK (0x20U) 22437 #define USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT (5U) 22438 /*! BRRIEN - Buffer Read Ready Interrupt Enable 22439 * 0b1..Enabled 22440 * 0b0..Masked 22441 */ 22442 #define USDHC_INT_SIGNAL_EN_BRRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BRRIEN_MASK) 22443 #define USDHC_INT_SIGNAL_EN_CINSIEN_MASK (0x40U) 22444 #define USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT (6U) 22445 /*! CINSIEN - Card Insertion Interrupt Enable 22446 * 0b1..Enabled 22447 * 0b0..Masked 22448 */ 22449 #define USDHC_INT_SIGNAL_EN_CINSIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINSIEN_MASK) 22450 #define USDHC_INT_SIGNAL_EN_CRMIEN_MASK (0x80U) 22451 #define USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT (7U) 22452 /*! CRMIEN - Card Removal Interrupt Enable 22453 * 0b1..Enabled 22454 * 0b0..Masked 22455 */ 22456 #define USDHC_INT_SIGNAL_EN_CRMIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CRMIEN_MASK) 22457 #define USDHC_INT_SIGNAL_EN_CINTIEN_MASK (0x100U) 22458 #define USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT (8U) 22459 /*! CINTIEN - Card Interrupt Interrupt Enable 22460 * 0b1..Enabled 22461 * 0b0..Masked 22462 */ 22463 #define USDHC_INT_SIGNAL_EN_CINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINTIEN_MASK) 22464 #define USDHC_INT_SIGNAL_EN_CTOEIEN_MASK (0x10000U) 22465 #define USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT (16U) 22466 /*! CTOEIEN - Command Timeout Error Interrupt Enable 22467 * 0b1..Enabled 22468 * 0b0..Masked 22469 */ 22470 #define USDHC_INT_SIGNAL_EN_CTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CTOEIEN_MASK) 22471 #define USDHC_INT_SIGNAL_EN_CCEIEN_MASK (0x20000U) 22472 #define USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT (17U) 22473 /*! CCEIEN - Command CRC Error Interrupt Enable 22474 * 0b1..Enabled 22475 * 0b0..Masked 22476 */ 22477 #define USDHC_INT_SIGNAL_EN_CCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCEIEN_MASK) 22478 #define USDHC_INT_SIGNAL_EN_CEBEIEN_MASK (0x40000U) 22479 #define USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT (18U) 22480 /*! CEBEIEN - Command End Bit Error Interrupt Enable 22481 * 0b1..Enabled 22482 * 0b0..Masked 22483 */ 22484 #define USDHC_INT_SIGNAL_EN_CEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CEBEIEN_MASK) 22485 #define USDHC_INT_SIGNAL_EN_CIEIEN_MASK (0x80000U) 22486 #define USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT (19U) 22487 /*! CIEIEN - Command Index Error Interrupt Enable 22488 * 0b1..Enabled 22489 * 0b0..Masked 22490 */ 22491 #define USDHC_INT_SIGNAL_EN_CIEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CIEIEN_MASK) 22492 #define USDHC_INT_SIGNAL_EN_DTOEIEN_MASK (0x100000U) 22493 #define USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT (20U) 22494 /*! DTOEIEN - Data Timeout Error Interrupt Enable 22495 * 0b1..Enabled 22496 * 0b0..Masked 22497 */ 22498 #define USDHC_INT_SIGNAL_EN_DTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DTOEIEN_MASK) 22499 #define USDHC_INT_SIGNAL_EN_DCEIEN_MASK (0x200000U) 22500 #define USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT (21U) 22501 /*! DCEIEN - Data CRC Error Interrupt Enable 22502 * 0b1..Enabled 22503 * 0b0..Masked 22504 */ 22505 #define USDHC_INT_SIGNAL_EN_DCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DCEIEN_MASK) 22506 #define USDHC_INT_SIGNAL_EN_DEBEIEN_MASK (0x400000U) 22507 #define USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT (22U) 22508 /*! DEBEIEN - Data End Bit Error Interrupt Enable 22509 * 0b1..Enabled 22510 * 0b0..Masked 22511 */ 22512 #define USDHC_INT_SIGNAL_EN_DEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DEBEIEN_MASK) 22513 #define USDHC_INT_SIGNAL_EN_AC12EIEN_MASK (0x1000000U) 22514 #define USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT (24U) 22515 /*! AC12EIEN - Auto CMD12 Error Interrupt Enable 22516 * 0b1..Enabled 22517 * 0b0..Masked 22518 */ 22519 #define USDHC_INT_SIGNAL_EN_AC12EIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_AC12EIEN_MASK) 22520 #define USDHC_INT_SIGNAL_EN_DMAEIEN_MASK (0x10000000U) 22521 #define USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT (28U) 22522 /*! DMAEIEN - DMA Error Interrupt Enable 22523 * 0b1..Enable 22524 * 0b0..Masked 22525 */ 22526 #define USDHC_INT_SIGNAL_EN_DMAEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DMAEIEN_MASK) 22527 /*! @} */ 22528 22529 /*! @name AUTOCMD12_ERR_STATUS - Auto CMD12 Error Status */ 22530 /*! @{ */ 22531 #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK (0x1U) 22532 #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT (0U) 22533 /*! AC12NE - Auto CMD12 Not Executed 22534 * 0b1..Not executed 22535 * 0b0..Executed 22536 */ 22537 #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK) 22538 #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK (0x2U) 22539 #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT (1U) 22540 /*! AC12TOE - Auto CMD12 / 23 Timeout Error 22541 * 0b1..Time out 22542 * 0b0..No error 22543 */ 22544 #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK) 22545 #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK (0x4U) 22546 #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT (2U) 22547 /*! AC12EBE - Auto CMD12 / 23 End Bit Error 22548 * 0b1..End Bit Error Generated 22549 * 0b0..No error 22550 */ 22551 #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK) 22552 #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK (0x8U) 22553 #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT (3U) 22554 /*! AC12CE - Auto CMD12 / 23 CRC Error 22555 * 0b1..CRC Error Met in Auto CMD12/23 Response 22556 * 0b0..No CRC error 22557 */ 22558 #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK) 22559 #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK (0x10U) 22560 #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT (4U) 22561 /*! AC12IE - Auto CMD12 / 23 Index Error 22562 * 0b1..Error, the CMD index in response is not CMD12/23 22563 * 0b0..No error 22564 */ 22565 #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK) 22566 #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK (0x80U) 22567 #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT (7U) 22568 /*! CNIBAC12E - Command Not Issued By Auto CMD12 Error 22569 * 0b1..Not Issued 22570 * 0b0..No error 22571 */ 22572 #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK) 22573 /*! @} */ 22574 22575 /*! @name HOST_CTRL_CAP - Host Controller Capabilities */ 22576 /*! @{ */ 22577 #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_MASK (0x4U) 22578 #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_SHIFT (2U) 22579 #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_SHIFT)) & USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_MASK) 22580 #define USDHC_HOST_CTRL_CAP_MBL_MASK (0x70000U) 22581 #define USDHC_HOST_CTRL_CAP_MBL_SHIFT (16U) 22582 /*! MBL - Max Block Length 22583 * 0b000..512 bytes 22584 * 0b001..1024 bytes 22585 * 0b010..2048 bytes 22586 * 0b011..4096 bytes 22587 */ 22588 #define USDHC_HOST_CTRL_CAP_MBL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_MBL_SHIFT)) & USDHC_HOST_CTRL_CAP_MBL_MASK) 22589 #define USDHC_HOST_CTRL_CAP_ADMAS_MASK (0x100000U) 22590 #define USDHC_HOST_CTRL_CAP_ADMAS_SHIFT (20U) 22591 /*! ADMAS - ADMA Support 22592 * 0b1..Advanced DMA Supported 22593 * 0b0..Advanced DMA Not supported 22594 */ 22595 #define USDHC_HOST_CTRL_CAP_ADMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_ADMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_ADMAS_MASK) 22596 #define USDHC_HOST_CTRL_CAP_HSS_MASK (0x200000U) 22597 #define USDHC_HOST_CTRL_CAP_HSS_SHIFT (21U) 22598 /*! HSS - High Speed Support 22599 * 0b1..High Speed Supported 22600 * 0b0..High Speed Not Supported 22601 */ 22602 #define USDHC_HOST_CTRL_CAP_HSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_HSS_SHIFT)) & USDHC_HOST_CTRL_CAP_HSS_MASK) 22603 #define USDHC_HOST_CTRL_CAP_DMAS_MASK (0x400000U) 22604 #define USDHC_HOST_CTRL_CAP_DMAS_SHIFT (22U) 22605 /*! DMAS - DMA Support 22606 * 0b1..DMA Supported 22607 * 0b0..DMA not supported 22608 */ 22609 #define USDHC_HOST_CTRL_CAP_DMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_DMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_DMAS_MASK) 22610 #define USDHC_HOST_CTRL_CAP_SRS_MASK (0x800000U) 22611 #define USDHC_HOST_CTRL_CAP_SRS_SHIFT (23U) 22612 /*! SRS - Suspend / Resume Support 22613 * 0b1..Supported 22614 * 0b0..Not supported 22615 */ 22616 #define USDHC_HOST_CTRL_CAP_SRS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SRS_SHIFT)) & USDHC_HOST_CTRL_CAP_SRS_MASK) 22617 #define USDHC_HOST_CTRL_CAP_VS33_MASK (0x1000000U) 22618 #define USDHC_HOST_CTRL_CAP_VS33_SHIFT (24U) 22619 /*! VS33 - Voltage Support 3.3V 22620 * 0b1..3.3V supported 22621 * 0b0..3.3V not supported 22622 */ 22623 #define USDHC_HOST_CTRL_CAP_VS33(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS33_SHIFT)) & USDHC_HOST_CTRL_CAP_VS33_MASK) 22624 #define USDHC_HOST_CTRL_CAP_VS30_MASK (0x2000000U) 22625 #define USDHC_HOST_CTRL_CAP_VS30_SHIFT (25U) 22626 /*! VS30 - Voltage Support 3.0 V 22627 * 0b1..3.0V supported 22628 * 0b0..3.0V not supported 22629 */ 22630 #define USDHC_HOST_CTRL_CAP_VS30(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS30_SHIFT)) & USDHC_HOST_CTRL_CAP_VS30_MASK) 22631 #define USDHC_HOST_CTRL_CAP_VS18_MASK (0x4000000U) 22632 #define USDHC_HOST_CTRL_CAP_VS18_SHIFT (26U) 22633 /*! VS18 - Voltage Support 1.8 V 22634 * 0b1..1.8V supported 22635 * 0b0..1.8V not supported 22636 */ 22637 #define USDHC_HOST_CTRL_CAP_VS18(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS18_SHIFT)) & USDHC_HOST_CTRL_CAP_VS18_MASK) 22638 /*! @} */ 22639 22640 /*! @name WTMK_LVL - Watermark Level */ 22641 /*! @{ */ 22642 #define USDHC_WTMK_LVL_RD_WML_MASK (0xFFU) 22643 #define USDHC_WTMK_LVL_RD_WML_SHIFT (0U) 22644 #define USDHC_WTMK_LVL_RD_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_RD_WML_SHIFT)) & USDHC_WTMK_LVL_RD_WML_MASK) 22645 #define USDHC_WTMK_LVL_RD_BRST_LEN_MASK (0x1F00U) 22646 #define USDHC_WTMK_LVL_RD_BRST_LEN_SHIFT (8U) 22647 #define USDHC_WTMK_LVL_RD_BRST_LEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_RD_BRST_LEN_SHIFT)) & USDHC_WTMK_LVL_RD_BRST_LEN_MASK) 22648 #define USDHC_WTMK_LVL_WR_WML_MASK (0xFF0000U) 22649 #define USDHC_WTMK_LVL_WR_WML_SHIFT (16U) 22650 #define USDHC_WTMK_LVL_WR_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_WR_WML_SHIFT)) & USDHC_WTMK_LVL_WR_WML_MASK) 22651 #define USDHC_WTMK_LVL_WR_BRST_LEN_MASK (0x1F000000U) 22652 #define USDHC_WTMK_LVL_WR_BRST_LEN_SHIFT (24U) 22653 #define USDHC_WTMK_LVL_WR_BRST_LEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_WR_BRST_LEN_SHIFT)) & USDHC_WTMK_LVL_WR_BRST_LEN_MASK) 22654 /*! @} */ 22655 22656 /*! @name MIX_CTRL - Mixer Control */ 22657 /*! @{ */ 22658 #define USDHC_MIX_CTRL_DMAEN_MASK (0x1U) 22659 #define USDHC_MIX_CTRL_DMAEN_SHIFT (0U) 22660 /*! DMAEN - DMA Enable 22661 * 0b1..Enable 22662 * 0b0..Disable 22663 */ 22664 #define USDHC_MIX_CTRL_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DMAEN_SHIFT)) & USDHC_MIX_CTRL_DMAEN_MASK) 22665 #define USDHC_MIX_CTRL_BCEN_MASK (0x2U) 22666 #define USDHC_MIX_CTRL_BCEN_SHIFT (1U) 22667 /*! BCEN - Block Count Enable 22668 * 0b1..Enable 22669 * 0b0..Disable 22670 */ 22671 #define USDHC_MIX_CTRL_BCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_BCEN_SHIFT)) & USDHC_MIX_CTRL_BCEN_MASK) 22672 #define USDHC_MIX_CTRL_AC12EN_MASK (0x4U) 22673 #define USDHC_MIX_CTRL_AC12EN_SHIFT (2U) 22674 /*! AC12EN - Auto CMD12 Enable 22675 * 0b1..Enable 22676 * 0b0..Disable 22677 */ 22678 #define USDHC_MIX_CTRL_AC12EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC12EN_SHIFT)) & USDHC_MIX_CTRL_AC12EN_MASK) 22679 #define USDHC_MIX_CTRL_DDR_EN_MASK (0x8U) 22680 #define USDHC_MIX_CTRL_DDR_EN_SHIFT (3U) 22681 #define USDHC_MIX_CTRL_DDR_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DDR_EN_SHIFT)) & USDHC_MIX_CTRL_DDR_EN_MASK) 22682 #define USDHC_MIX_CTRL_DTDSEL_MASK (0x10U) 22683 #define USDHC_MIX_CTRL_DTDSEL_SHIFT (4U) 22684 /*! DTDSEL - Data Transfer Direction Select 22685 * 0b1..Read (Card to Host) 22686 * 0b0..Write (Host to Card) 22687 */ 22688 #define USDHC_MIX_CTRL_DTDSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DTDSEL_SHIFT)) & USDHC_MIX_CTRL_DTDSEL_MASK) 22689 #define USDHC_MIX_CTRL_MSBSEL_MASK (0x20U) 22690 #define USDHC_MIX_CTRL_MSBSEL_SHIFT (5U) 22691 /*! MSBSEL - Multi / Single Block Select 22692 * 0b1..Multiple Blocks 22693 * 0b0..Single Block 22694 */ 22695 #define USDHC_MIX_CTRL_MSBSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_MSBSEL_SHIFT)) & USDHC_MIX_CTRL_MSBSEL_MASK) 22696 #define USDHC_MIX_CTRL_NIBBLE_POS_MASK (0x40U) 22697 #define USDHC_MIX_CTRL_NIBBLE_POS_SHIFT (6U) 22698 #define USDHC_MIX_CTRL_NIBBLE_POS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_NIBBLE_POS_SHIFT)) & USDHC_MIX_CTRL_NIBBLE_POS_MASK) 22699 #define USDHC_MIX_CTRL_AC23EN_MASK (0x80U) 22700 #define USDHC_MIX_CTRL_AC23EN_SHIFT (7U) 22701 #define USDHC_MIX_CTRL_AC23EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC23EN_SHIFT)) & USDHC_MIX_CTRL_AC23EN_MASK) 22702 /*! @} */ 22703 22704 /*! @name FORCE_EVENT - Force Event */ 22705 /*! @{ */ 22706 #define USDHC_FORCE_EVENT_FEVTAC12NE_MASK (0x1U) 22707 #define USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT (0U) 22708 #define USDHC_FORCE_EVENT_FEVTAC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12NE_MASK) 22709 #define USDHC_FORCE_EVENT_FEVTAC12TOE_MASK (0x2U) 22710 #define USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT (1U) 22711 #define USDHC_FORCE_EVENT_FEVTAC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12TOE_MASK) 22712 #define USDHC_FORCE_EVENT_FEVTAC12CE_MASK (0x4U) 22713 #define USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT (2U) 22714 #define USDHC_FORCE_EVENT_FEVTAC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12CE_MASK) 22715 #define USDHC_FORCE_EVENT_FEVTAC12EBE_MASK (0x8U) 22716 #define USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT (3U) 22717 #define USDHC_FORCE_EVENT_FEVTAC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12EBE_MASK) 22718 #define USDHC_FORCE_EVENT_FEVTAC12IE_MASK (0x10U) 22719 #define USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT (4U) 22720 #define USDHC_FORCE_EVENT_FEVTAC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12IE_MASK) 22721 #define USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK (0x80U) 22722 #define USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT (7U) 22723 #define USDHC_FORCE_EVENT_FEVTCNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK) 22724 #define USDHC_FORCE_EVENT_FEVTCTOE_MASK (0x10000U) 22725 #define USDHC_FORCE_EVENT_FEVTCTOE_SHIFT (16U) 22726 #define USDHC_FORCE_EVENT_FEVTCTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCTOE_MASK) 22727 #define USDHC_FORCE_EVENT_FEVTCCE_MASK (0x20000U) 22728 #define USDHC_FORCE_EVENT_FEVTCCE_SHIFT (17U) 22729 #define USDHC_FORCE_EVENT_FEVTCCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCCE_MASK) 22730 #define USDHC_FORCE_EVENT_FEVTCEBE_MASK (0x40000U) 22731 #define USDHC_FORCE_EVENT_FEVTCEBE_SHIFT (18U) 22732 #define USDHC_FORCE_EVENT_FEVTCEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCEBE_MASK) 22733 #define USDHC_FORCE_EVENT_FEVTCIE_MASK (0x80000U) 22734 #define USDHC_FORCE_EVENT_FEVTCIE_SHIFT (19U) 22735 #define USDHC_FORCE_EVENT_FEVTCIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCIE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCIE_MASK) 22736 #define USDHC_FORCE_EVENT_FEVTDTOE_MASK (0x100000U) 22737 #define USDHC_FORCE_EVENT_FEVTDTOE_SHIFT (20U) 22738 #define USDHC_FORCE_EVENT_FEVTDTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDTOE_MASK) 22739 #define USDHC_FORCE_EVENT_FEVTDCE_MASK (0x200000U) 22740 #define USDHC_FORCE_EVENT_FEVTDCE_SHIFT (21U) 22741 #define USDHC_FORCE_EVENT_FEVTDCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDCE_MASK) 22742 #define USDHC_FORCE_EVENT_FEVTDEBE_MASK (0x400000U) 22743 #define USDHC_FORCE_EVENT_FEVTDEBE_SHIFT (22U) 22744 #define USDHC_FORCE_EVENT_FEVTDEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDEBE_MASK) 22745 #define USDHC_FORCE_EVENT_FEVTAC12E_MASK (0x1000000U) 22746 #define USDHC_FORCE_EVENT_FEVTAC12E_SHIFT (24U) 22747 #define USDHC_FORCE_EVENT_FEVTAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12E_MASK) 22748 #define USDHC_FORCE_EVENT_FEVTDMAE_MASK (0x10000000U) 22749 #define USDHC_FORCE_EVENT_FEVTDMAE_SHIFT (28U) 22750 #define USDHC_FORCE_EVENT_FEVTDMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDMAE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDMAE_MASK) 22751 #define USDHC_FORCE_EVENT_FEVTCINT_MASK (0x80000000U) 22752 #define USDHC_FORCE_EVENT_FEVTCINT_SHIFT (31U) 22753 #define USDHC_FORCE_EVENT_FEVTCINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCINT_SHIFT)) & USDHC_FORCE_EVENT_FEVTCINT_MASK) 22754 /*! @} */ 22755 22756 /*! @name ADMA_ERR_STATUS - ADMA Error Status Register */ 22757 /*! @{ */ 22758 #define USDHC_ADMA_ERR_STATUS_ADMAES_MASK (0x3U) 22759 #define USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT (0U) 22760 #define USDHC_ADMA_ERR_STATUS_ADMAES(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMAES_MASK) 22761 #define USDHC_ADMA_ERR_STATUS_ADMALME_MASK (0x4U) 22762 #define USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT (2U) 22763 /*! ADMALME - ADMA Length Mismatch Error 22764 * 0b1..Error 22765 * 0b0..No Error 22766 */ 22767 #define USDHC_ADMA_ERR_STATUS_ADMALME(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMALME_MASK) 22768 #define USDHC_ADMA_ERR_STATUS_ADMADCE_MASK (0x8U) 22769 #define USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT (3U) 22770 /*! ADMADCE - ADMA Descriptor Error 22771 * 0b1..Error 22772 * 0b0..No Error 22773 */ 22774 #define USDHC_ADMA_ERR_STATUS_ADMADCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMADCE_MASK) 22775 /*! @} */ 22776 22777 /*! @name ADMA_SYS_ADDR - ADMA System Address */ 22778 /*! @{ */ 22779 #define USDHC_ADMA_SYS_ADDR_ADS_ADDR_MASK (0xFFFFFFFCU) 22780 #define USDHC_ADMA_SYS_ADDR_ADS_ADDR_SHIFT (2U) 22781 #define USDHC_ADMA_SYS_ADDR_ADS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_SYS_ADDR_ADS_ADDR_SHIFT)) & USDHC_ADMA_SYS_ADDR_ADS_ADDR_MASK) 22782 /*! @} */ 22783 22784 /*! @name VEND_SPEC - Vendor Specific Register */ 22785 /*! @{ */ 22786 #define USDHC_VEND_SPEC_VSELECT_MASK (0x2U) 22787 #define USDHC_VEND_SPEC_VSELECT_SHIFT (1U) 22788 /*! VSELECT - Voltage Selection 22789 * 0b1..Change the voltage to low voltage range, around 1.8 V 22790 * 0b0..Change the voltage to high voltage range, around 3.0 V 22791 */ 22792 #define USDHC_VEND_SPEC_VSELECT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_VSELECT_SHIFT)) & USDHC_VEND_SPEC_VSELECT_MASK) 22793 #define USDHC_VEND_SPEC_CONFLICT_CHK_EN_MASK (0x4U) 22794 #define USDHC_VEND_SPEC_CONFLICT_CHK_EN_SHIFT (2U) 22795 /*! CONFLICT_CHK_EN - Conflict check enable. 22796 * 0b0..Conflict check disable 22797 * 0b1..Conflict check enable 22798 */ 22799 #define USDHC_VEND_SPEC_CONFLICT_CHK_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_CONFLICT_CHK_EN_SHIFT)) & USDHC_VEND_SPEC_CONFLICT_CHK_EN_MASK) 22800 #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_MASK (0x8U) 22801 #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_SHIFT (3U) 22802 /*! AC12_WR_CHKBUSY_EN - AC12_WR_CHKBUSY_EN 22803 * 0b0..Do not check busy after auto CMD12 for write data packet 22804 * 0b1..Check busy after auto CMD12 for write data packet 22805 */ 22806 #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_SHIFT)) & USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_MASK) 22807 #define USDHC_VEND_SPEC_FRC_SDCLK_ON_MASK (0x100U) 22808 #define USDHC_VEND_SPEC_FRC_SDCLK_ON_SHIFT (8U) 22809 /*! FRC_SDCLK_ON - FRC_SDCLK_ON 22810 * 0b0..CLK active or inactive is fully controlled by the hardware. 22811 * 0b1..Force CLK active. 22812 */ 22813 #define USDHC_VEND_SPEC_FRC_SDCLK_ON(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_FRC_SDCLK_ON_SHIFT)) & USDHC_VEND_SPEC_FRC_SDCLK_ON_MASK) 22814 #define USDHC_VEND_SPEC_CRC_CHK_DIS_MASK (0x8000U) 22815 #define USDHC_VEND_SPEC_CRC_CHK_DIS_SHIFT (15U) 22816 /*! CRC_CHK_DIS - CRC Check Disable 22817 * 0b0..Check CRC16 for every read data packet and check CRC bits for every write data packet 22818 * 0b1..Ignore CRC16 check for every read data packet and ignore CRC bits check for every write data packet 22819 */ 22820 #define USDHC_VEND_SPEC_CRC_CHK_DIS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_CRC_CHK_DIS_SHIFT)) & USDHC_VEND_SPEC_CRC_CHK_DIS_MASK) 22821 #define USDHC_VEND_SPEC_CMD_BYTE_EN_MASK (0x80000000U) 22822 #define USDHC_VEND_SPEC_CMD_BYTE_EN_SHIFT (31U) 22823 /*! CMD_BYTE_EN - CMD_BYTE_EN 22824 * 0b0..Disable 22825 * 0b1..Enable 22826 */ 22827 #define USDHC_VEND_SPEC_CMD_BYTE_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_CMD_BYTE_EN_SHIFT)) & USDHC_VEND_SPEC_CMD_BYTE_EN_MASK) 22828 /*! @} */ 22829 22830 /*! @name MMC_BOOT - MMC Boot Register */ 22831 /*! @{ */ 22832 #define USDHC_MMC_BOOT_DTOCV_ACK_MASK (0xFU) 22833 #define USDHC_MMC_BOOT_DTOCV_ACK_SHIFT (0U) 22834 /*! DTOCV_ACK - DTOCV_ACK 22835 * 0b0000..SDCLK x 2^14 22836 * 0b0001..SDCLK x 2^15 22837 * 0b0010..SDCLK x 2^16 22838 * 0b0011..SDCLK x 2^17 22839 * 0b0100..SDCLK x 2^18 22840 * 0b0101..SDCLK x 2^19 22841 * 0b0110..SDCLK x 2^20 22842 * 0b0111..SDCLK x 2^21 22843 * 0b1110..SDCLK x 2^28 22844 * 0b1111..SDCLK x 2^29 22845 */ 22846 #define USDHC_MMC_BOOT_DTOCV_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_DTOCV_ACK_SHIFT)) & USDHC_MMC_BOOT_DTOCV_ACK_MASK) 22847 #define USDHC_MMC_BOOT_BOOT_ACK_MASK (0x10U) 22848 #define USDHC_MMC_BOOT_BOOT_ACK_SHIFT (4U) 22849 /*! BOOT_ACK - BOOT_ACK 22850 * 0b0..No ack 22851 * 0b1..Ack 22852 */ 22853 #define USDHC_MMC_BOOT_BOOT_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_ACK_SHIFT)) & USDHC_MMC_BOOT_BOOT_ACK_MASK) 22854 #define USDHC_MMC_BOOT_BOOT_MODE_MASK (0x20U) 22855 #define USDHC_MMC_BOOT_BOOT_MODE_SHIFT (5U) 22856 /*! BOOT_MODE - BOOT_MODE 22857 * 0b0..Normal boot 22858 * 0b1..Alternative boot 22859 */ 22860 #define USDHC_MMC_BOOT_BOOT_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_MODE_SHIFT)) & USDHC_MMC_BOOT_BOOT_MODE_MASK) 22861 #define USDHC_MMC_BOOT_BOOT_EN_MASK (0x40U) 22862 #define USDHC_MMC_BOOT_BOOT_EN_SHIFT (6U) 22863 /*! BOOT_EN - BOOT_EN 22864 * 0b0..Fast boot disable 22865 * 0b1..Fast boot enable 22866 */ 22867 #define USDHC_MMC_BOOT_BOOT_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_EN_SHIFT)) & USDHC_MMC_BOOT_BOOT_EN_MASK) 22868 #define USDHC_MMC_BOOT_AUTO_SABG_EN_MASK (0x80U) 22869 #define USDHC_MMC_BOOT_AUTO_SABG_EN_SHIFT (7U) 22870 #define USDHC_MMC_BOOT_AUTO_SABG_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_AUTO_SABG_EN_SHIFT)) & USDHC_MMC_BOOT_AUTO_SABG_EN_MASK) 22871 #define USDHC_MMC_BOOT_DISABLE_TIME_OUT_MASK (0x100U) 22872 #define USDHC_MMC_BOOT_DISABLE_TIME_OUT_SHIFT (8U) 22873 /*! DISABLE_TIME_OUT - Disable Time Out 22874 * 0b0..Enable time out 22875 * 0b1..Disable time out 22876 */ 22877 #define USDHC_MMC_BOOT_DISABLE_TIME_OUT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_DISABLE_TIME_OUT_SHIFT)) & USDHC_MMC_BOOT_DISABLE_TIME_OUT_MASK) 22878 #define USDHC_MMC_BOOT_BOOT_BLK_CNT_MASK (0xFFFF0000U) 22879 #define USDHC_MMC_BOOT_BOOT_BLK_CNT_SHIFT (16U) 22880 #define USDHC_MMC_BOOT_BOOT_BLK_CNT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_BLK_CNT_SHIFT)) & USDHC_MMC_BOOT_BOOT_BLK_CNT_MASK) 22881 /*! @} */ 22882 22883 /*! @name VEND_SPEC2 - Vendor Specific 2 Register */ 22884 /*! @{ */ 22885 #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_MASK (0x8U) 22886 #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_SHIFT (3U) 22887 /*! CARD_INT_D3_TEST - Card Interrupt Detection Test 22888 * 0b0..Check the card interrupt only when DATA3 is high. 22889 * 0b1..Check the card interrupt by ignoring the status of DATA3. 22890 */ 22891 #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_CARD_INT_D3_TEST_SHIFT)) & USDHC_VEND_SPEC2_CARD_INT_D3_TEST_MASK) 22892 #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_MASK (0x1000U) 22893 #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_SHIFT (12U) 22894 /*! ACMD23_ARGU2_EN - Argument2 register enable for ACMD23 22895 * 0b1..Argument2 register enable for ACMD23 sharing with SDMA system address register. Default is enable. 22896 * 0b0..Disable 22897 */ 22898 #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_SHIFT)) & USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_MASK) 22899 #define USDHC_VEND_SPEC2_AHB_RST_MASK (0x4000U) 22900 #define USDHC_VEND_SPEC2_AHB_RST_SHIFT (14U) 22901 #define USDHC_VEND_SPEC2_AHB_RST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_AHB_RST_SHIFT)) & USDHC_VEND_SPEC2_AHB_RST_MASK) 22902 /*! @} */ 22903 22904 22905 /*! 22906 * @} 22907 */ /* end of group USDHC_Register_Masks */ 22908 22909 22910 /* USDHC - Peripheral instance base addresses */ 22911 /** Peripheral USDHC0 base address */ 22912 #define USDHC0_BASE (0x4003E000u) 22913 /** Peripheral USDHC0 base pointer */ 22914 #define USDHC0 ((USDHC_Type *)USDHC0_BASE) 22915 /** Array initializer of USDHC peripheral base addresses */ 22916 #define USDHC_BASE_ADDRS { USDHC0_BASE } 22917 /** Array initializer of USDHC peripheral base pointers */ 22918 #define USDHC_BASE_PTRS { USDHC0 } 22919 /** Interrupt vectors for the USDHC peripheral type */ 22920 #define USDHC_IRQS { USDHC0_IRQn } 22921 22922 /*! 22923 * @} 22924 */ /* end of group USDHC_Peripheral_Access_Layer */ 22925 22926 22927 /* ---------------------------------------------------------------------------- 22928 -- VREF Peripheral Access Layer 22929 ---------------------------------------------------------------------------- */ 22930 22931 /*! 22932 * @addtogroup VREF_Peripheral_Access_Layer VREF Peripheral Access Layer 22933 * @{ 22934 */ 22935 22936 /** VREF - Register Layout Typedef */ 22937 typedef struct { 22938 __IO uint8_t TRM; /**< VREF Trim Register, offset: 0x0 */ 22939 __IO uint8_t SC; /**< VREF Status and Control Register, offset: 0x1 */ 22940 uint8_t RESERVED_0[3]; 22941 __IO uint8_t TRM4; /**< VREF Trim 2.1V Register, offset: 0x5 */ 22942 } VREF_Type; 22943 22944 /* ---------------------------------------------------------------------------- 22945 -- VREF Register Masks 22946 ---------------------------------------------------------------------------- */ 22947 22948 /*! 22949 * @addtogroup VREF_Register_Masks VREF Register Masks 22950 * @{ 22951 */ 22952 22953 /*! @name TRM - VREF Trim Register */ 22954 /*! @{ */ 22955 #define VREF_TRM_TRIM_MASK (0x3FU) 22956 #define VREF_TRM_TRIM_SHIFT (0U) 22957 /*! TRIM - Trim bits 22958 * 0b000000..Min 22959 * 0b111111..Max 22960 */ 22961 #define VREF_TRM_TRIM(x) (((uint8_t)(((uint8_t)(x)) << VREF_TRM_TRIM_SHIFT)) & VREF_TRM_TRIM_MASK) 22962 #define VREF_TRM_CHOPEN_MASK (0x40U) 22963 #define VREF_TRM_CHOPEN_SHIFT (6U) 22964 /*! CHOPEN - Chop oscillator enable. When set, the internal chopping operation is enabled and the internal analog offset will be minimized. 22965 * 0b0..Chop oscillator is disabled. 22966 * 0b1..Chop oscillator is enabled. 22967 */ 22968 #define VREF_TRM_CHOPEN(x) (((uint8_t)(((uint8_t)(x)) << VREF_TRM_CHOPEN_SHIFT)) & VREF_TRM_CHOPEN_MASK) 22969 /*! @} */ 22970 22971 /*! @name SC - VREF Status and Control Register */ 22972 /*! @{ */ 22973 #define VREF_SC_MODE_LV_MASK (0x3U) 22974 #define VREF_SC_MODE_LV_SHIFT (0U) 22975 /*! MODE_LV - Buffer Mode selection 22976 * 0b00..Bandgap on only, for stabilization and startup 22977 * 0b01..High power buffer mode enabled 22978 * 0b10..Low-power buffer mode enabled 22979 * 0b11..Reserved 22980 */ 22981 #define VREF_SC_MODE_LV(x) (((uint8_t)(((uint8_t)(x)) << VREF_SC_MODE_LV_SHIFT)) & VREF_SC_MODE_LV_MASK) 22982 #define VREF_SC_VREFST_MASK (0x4U) 22983 #define VREF_SC_VREFST_SHIFT (2U) 22984 /*! VREFST - Internal Voltage Reference stable 22985 * 0b0..The module is disabled or not stable. 22986 * 0b1..The module is stable. 22987 */ 22988 #define VREF_SC_VREFST(x) (((uint8_t)(((uint8_t)(x)) << VREF_SC_VREFST_SHIFT)) & VREF_SC_VREFST_MASK) 22989 #define VREF_SC_ICOMPEN_MASK (0x20U) 22990 #define VREF_SC_ICOMPEN_SHIFT (5U) 22991 /*! ICOMPEN - Second order curvature compensation enable 22992 * 0b0..Disabled 22993 * 0b1..Enabled 22994 */ 22995 #define VREF_SC_ICOMPEN(x) (((uint8_t)(((uint8_t)(x)) << VREF_SC_ICOMPEN_SHIFT)) & VREF_SC_ICOMPEN_MASK) 22996 #define VREF_SC_REGEN_MASK (0x40U) 22997 #define VREF_SC_REGEN_SHIFT (6U) 22998 /*! REGEN - Regulator enable 22999 * 0b0..Internal 1.75 V regulator is disabled. 23000 * 0b1..Internal 1.75 V regulator is enabled. 23001 */ 23002 #define VREF_SC_REGEN(x) (((uint8_t)(((uint8_t)(x)) << VREF_SC_REGEN_SHIFT)) & VREF_SC_REGEN_MASK) 23003 #define VREF_SC_VREFEN_MASK (0x80U) 23004 #define VREF_SC_VREFEN_SHIFT (7U) 23005 /*! VREFEN - Internal Voltage Reference enable 23006 * 0b0..The module is disabled. 23007 * 0b1..The module is enabled. 23008 */ 23009 #define VREF_SC_VREFEN(x) (((uint8_t)(((uint8_t)(x)) << VREF_SC_VREFEN_SHIFT)) & VREF_SC_VREFEN_MASK) 23010 /*! @} */ 23011 23012 /*! @name TRM4 - VREF Trim 2.1V Register */ 23013 /*! @{ */ 23014 #define VREF_TRM4_TRIM2V1_MASK (0x3FU) 23015 #define VREF_TRM4_TRIM2V1_SHIFT (0U) 23016 /*! TRIM2V1 - VREF 2.1V Trim Bits 23017 * 0b000000..Max 23018 * 0b111111..Min 23019 */ 23020 #define VREF_TRM4_TRIM2V1(x) (((uint8_t)(((uint8_t)(x)) << VREF_TRM4_TRIM2V1_SHIFT)) & VREF_TRM4_TRIM2V1_MASK) 23021 #define VREF_TRM4_VREF2V1_EN_MASK (0x80U) 23022 #define VREF_TRM4_VREF2V1_EN_SHIFT (7U) 23023 /*! VREF2V1_EN - Internal Voltage Reference (2.1V) Enable 23024 * 0b0..VREF 2.1V is enabled 23025 * 0b1..VREF 2.1V is disabled 23026 */ 23027 #define VREF_TRM4_VREF2V1_EN(x) (((uint8_t)(((uint8_t)(x)) << VREF_TRM4_VREF2V1_EN_SHIFT)) & VREF_TRM4_VREF2V1_EN_MASK) 23028 /*! @} */ 23029 23030 23031 /*! 23032 * @} 23033 */ /* end of group VREF_Register_Masks */ 23034 23035 23036 /* VREF - Peripheral instance base addresses */ 23037 /** Peripheral VREF base address */ 23038 #define VREF_BASE (0x4004D000u) 23039 /** Peripheral VREF base pointer */ 23040 #define VREF ((VREF_Type *)VREF_BASE) 23041 /** Array initializer of VREF peripheral base addresses */ 23042 #define VREF_BASE_ADDRS { VREF_BASE } 23043 /** Array initializer of VREF peripheral base pointers */ 23044 #define VREF_BASE_PTRS { VREF } 23045 23046 /*! 23047 * @} 23048 */ /* end of group VREF_Peripheral_Access_Layer */ 23049 23050 23051 /* ---------------------------------------------------------------------------- 23052 -- WDOG Peripheral Access Layer 23053 ---------------------------------------------------------------------------- */ 23054 23055 /*! 23056 * @addtogroup WDOG_Peripheral_Access_Layer WDOG Peripheral Access Layer 23057 * @{ 23058 */ 23059 23060 /** WDOG - Register Layout Typedef */ 23061 typedef struct { 23062 __IO uint32_t CS; /**< Watchdog Control and Status Register, offset: 0x0 */ 23063 __IO uint32_t CNT; /**< Watchdog Counter Register, offset: 0x4 */ 23064 __IO uint32_t TOVAL; /**< Watchdog Timeout Value Register, offset: 0x8 */ 23065 __IO uint32_t WIN; /**< Watchdog Window Register, offset: 0xC */ 23066 } WDOG_Type; 23067 23068 /* ---------------------------------------------------------------------------- 23069 -- WDOG Register Masks 23070 ---------------------------------------------------------------------------- */ 23071 23072 /*! 23073 * @addtogroup WDOG_Register_Masks WDOG Register Masks 23074 * @{ 23075 */ 23076 23077 /*! @name CS - Watchdog Control and Status Register */ 23078 /*! @{ */ 23079 #define WDOG_CS_STOP_MASK (0x1U) 23080 #define WDOG_CS_STOP_SHIFT (0U) 23081 /*! STOP - Stop Enable 23082 * 0b0..Watchdog disabled in chip stop mode. 23083 * 0b1..Watchdog enabled in chip stop mode. 23084 */ 23085 #define WDOG_CS_STOP(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_STOP_SHIFT)) & WDOG_CS_STOP_MASK) 23086 #define WDOG_CS_WAIT_MASK (0x2U) 23087 #define WDOG_CS_WAIT_SHIFT (1U) 23088 /*! WAIT - Wait Enable 23089 * 0b0..Watchdog disabled in chip wait mode. 23090 * 0b1..Watchdog enabled in chip wait mode. 23091 */ 23092 #define WDOG_CS_WAIT(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_WAIT_SHIFT)) & WDOG_CS_WAIT_MASK) 23093 #define WDOG_CS_DBG_MASK (0x4U) 23094 #define WDOG_CS_DBG_SHIFT (2U) 23095 /*! DBG - Debug Enable 23096 * 0b0..Watchdog disabled in chip debug mode. 23097 * 0b1..Watchdog enabled in chip debug mode. 23098 */ 23099 #define WDOG_CS_DBG(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_DBG_SHIFT)) & WDOG_CS_DBG_MASK) 23100 #define WDOG_CS_TST_MASK (0x18U) 23101 #define WDOG_CS_TST_SHIFT (3U) 23102 /*! TST - Watchdog Test 23103 * 0b00..Watchdog test mode disabled. 23104 * 0b01..Watchdog user mode enabled. (Watchdog test mode disabled.) After testing the watchdog, software should use this setting to indicate that the watchdog is functioning normally in user mode. 23105 * 0b10..Watchdog test mode enabled, only the low byte is used. CNT[CNTLOW] is compared with TOVAL[TOVALLOW]. 23106 * 0b11..Watchdog test mode enabled, only the high byte is used. CNT[CNTHIGH] is compared with TOVAL[TOVALHIGH]. 23107 */ 23108 #define WDOG_CS_TST(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_TST_SHIFT)) & WDOG_CS_TST_MASK) 23109 #define WDOG_CS_UPDATE_MASK (0x20U) 23110 #define WDOG_CS_UPDATE_SHIFT (5U) 23111 /*! UPDATE - Allow updates 23112 * 0b0..Updates not allowed. After the initial configuration, the watchdog cannot be later modified without forcing a reset. 23113 * 0b1..Updates allowed. Software can modify the watchdog configuration registers within 128 bus clocks after performing the unlock write sequence. 23114 */ 23115 #define WDOG_CS_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_UPDATE_SHIFT)) & WDOG_CS_UPDATE_MASK) 23116 #define WDOG_CS_INT_MASK (0x40U) 23117 #define WDOG_CS_INT_SHIFT (6U) 23118 /*! INT - Watchdog Interrupt 23119 * 0b0..Watchdog interrupts are disabled. Watchdog resets are not delayed. 23120 * 0b1..Watchdog interrupts are enabled. Watchdog resets are delayed by 128 bus clocks from the interrupt vector fetch. 23121 */ 23122 #define WDOG_CS_INT(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_INT_SHIFT)) & WDOG_CS_INT_MASK) 23123 #define WDOG_CS_EN_MASK (0x80U) 23124 #define WDOG_CS_EN_SHIFT (7U) 23125 /*! EN - Watchdog Enable 23126 * 0b0..Watchdog disabled. 23127 * 0b1..Watchdog enabled. 23128 */ 23129 #define WDOG_CS_EN(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_EN_SHIFT)) & WDOG_CS_EN_MASK) 23130 #define WDOG_CS_CLK_MASK (0x300U) 23131 #define WDOG_CS_CLK_SHIFT (8U) 23132 /*! CLK - Watchdog Clock 23133 * 0b00..Bus clock 23134 * 0b01..LPO clock 23135 * 0b10..INTCLK (internal clock) 23136 * 0b11..ERCLK (external reference clock) 23137 */ 23138 #define WDOG_CS_CLK(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_CLK_SHIFT)) & WDOG_CS_CLK_MASK) 23139 #define WDOG_CS_RCS_MASK (0x400U) 23140 #define WDOG_CS_RCS_SHIFT (10U) 23141 /*! RCS - Reconfiguration Success 23142 * 0b0..Reconfiguring WDOG. 23143 * 0b1..Reconfiguration is successful. 23144 */ 23145 #define WDOG_CS_RCS(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_RCS_SHIFT)) & WDOG_CS_RCS_MASK) 23146 #define WDOG_CS_ULK_MASK (0x800U) 23147 #define WDOG_CS_ULK_SHIFT (11U) 23148 /*! ULK - Unlock status 23149 * 0b0..WDOG is locked. 23150 * 0b1..WDOG is unlocked. 23151 */ 23152 #define WDOG_CS_ULK(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_ULK_SHIFT)) & WDOG_CS_ULK_MASK) 23153 #define WDOG_CS_PRES_MASK (0x1000U) 23154 #define WDOG_CS_PRES_SHIFT (12U) 23155 /*! PRES - Watchdog prescaler 23156 * 0b0..256 prescaler disabled. 23157 * 0b1..256 prescaler enabled. 23158 */ 23159 #define WDOG_CS_PRES(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_PRES_SHIFT)) & WDOG_CS_PRES_MASK) 23160 #define WDOG_CS_CMD32EN_MASK (0x2000U) 23161 #define WDOG_CS_CMD32EN_SHIFT (13U) 23162 /*! CMD32EN - Enables or disables WDOG support for 32-bit (otherwise 16-bit or 8-bit) refresh/unlock command write words 23163 * 0b0..Disables support for 32-bit refresh/unlock command write words. Only 16-bit or 8-bit is supported. 23164 * 0b1..Enables support for 32-bit refresh/unlock command write words. 16-bit or 8-bit is NOT supported. 23165 */ 23166 #define WDOG_CS_CMD32EN(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_CMD32EN_SHIFT)) & WDOG_CS_CMD32EN_MASK) 23167 #define WDOG_CS_FLG_MASK (0x4000U) 23168 #define WDOG_CS_FLG_SHIFT (14U) 23169 /*! FLG - Watchdog Interrupt Flag 23170 * 0b0..No interrupt occurred. 23171 * 0b1..An interrupt occurred. 23172 */ 23173 #define WDOG_CS_FLG(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_FLG_SHIFT)) & WDOG_CS_FLG_MASK) 23174 #define WDOG_CS_WIN_MASK (0x8000U) 23175 #define WDOG_CS_WIN_SHIFT (15U) 23176 /*! WIN - Watchdog Window 23177 * 0b0..Window mode disabled. 23178 * 0b1..Window mode enabled. 23179 */ 23180 #define WDOG_CS_WIN(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_WIN_SHIFT)) & WDOG_CS_WIN_MASK) 23181 /*! @} */ 23182 23183 /*! @name CNT - Watchdog Counter Register */ 23184 /*! @{ */ 23185 #define WDOG_CNT_CNTLOW_MASK (0xFFU) 23186 #define WDOG_CNT_CNTLOW_SHIFT (0U) 23187 #define WDOG_CNT_CNTLOW(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CNT_CNTLOW_SHIFT)) & WDOG_CNT_CNTLOW_MASK) 23188 #define WDOG_CNT_CNTHIGH_MASK (0xFF00U) 23189 #define WDOG_CNT_CNTHIGH_SHIFT (8U) 23190 #define WDOG_CNT_CNTHIGH(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CNT_CNTHIGH_SHIFT)) & WDOG_CNT_CNTHIGH_MASK) 23191 /*! @} */ 23192 23193 /*! @name TOVAL - Watchdog Timeout Value Register */ 23194 /*! @{ */ 23195 #define WDOG_TOVAL_TOVALLOW_MASK (0xFFU) 23196 #define WDOG_TOVAL_TOVALLOW_SHIFT (0U) 23197 #define WDOG_TOVAL_TOVALLOW(x) (((uint32_t)(((uint32_t)(x)) << WDOG_TOVAL_TOVALLOW_SHIFT)) & WDOG_TOVAL_TOVALLOW_MASK) 23198 #define WDOG_TOVAL_TOVALHIGH_MASK (0xFF00U) 23199 #define WDOG_TOVAL_TOVALHIGH_SHIFT (8U) 23200 #define WDOG_TOVAL_TOVALHIGH(x) (((uint32_t)(((uint32_t)(x)) << WDOG_TOVAL_TOVALHIGH_SHIFT)) & WDOG_TOVAL_TOVALHIGH_MASK) 23201 /*! @} */ 23202 23203 /*! @name WIN - Watchdog Window Register */ 23204 /*! @{ */ 23205 #define WDOG_WIN_WINLOW_MASK (0xFFU) 23206 #define WDOG_WIN_WINLOW_SHIFT (0U) 23207 #define WDOG_WIN_WINLOW(x) (((uint32_t)(((uint32_t)(x)) << WDOG_WIN_WINLOW_SHIFT)) & WDOG_WIN_WINLOW_MASK) 23208 #define WDOG_WIN_WINHIGH_MASK (0xFF00U) 23209 #define WDOG_WIN_WINHIGH_SHIFT (8U) 23210 #define WDOG_WIN_WINHIGH(x) (((uint32_t)(((uint32_t)(x)) << WDOG_WIN_WINHIGH_SHIFT)) & WDOG_WIN_WINHIGH_MASK) 23211 /*! @} */ 23212 23213 23214 /*! 23215 * @} 23216 */ /* end of group WDOG_Register_Masks */ 23217 23218 23219 /* WDOG - Peripheral instance base addresses */ 23220 /** Peripheral WDOG0 base address */ 23221 #define WDOG0_BASE (0x4002A000u) 23222 /** Peripheral WDOG0 base pointer */ 23223 #define WDOG0 ((WDOG_Type *)WDOG0_BASE) 23224 /** Peripheral WDOG1 base address */ 23225 #define WDOG1_BASE (0x41026000u) 23226 /** Peripheral WDOG1 base pointer */ 23227 #define WDOG1 ((WDOG_Type *)WDOG1_BASE) 23228 /** Array initializer of WDOG peripheral base addresses */ 23229 #define WDOG_BASE_ADDRS { WDOG0_BASE, WDOG1_BASE } 23230 /** Array initializer of WDOG peripheral base pointers */ 23231 #define WDOG_BASE_PTRS { WDOG0, WDOG1 } 23232 /** Interrupt vectors for the WDOG peripheral type */ 23233 #define WDOG_IRQS { WDOG0_IRQn, NotAvail_IRQn } 23234 /* Extra definition */ 23235 #define WDOG_UPDATE_KEY (0xD928C520U) 23236 #define WDOG_REFRESH_KEY (0xB480A602U) 23237 23238 23239 /*! 23240 * @} 23241 */ /* end of group WDOG_Peripheral_Access_Layer */ 23242 23243 23244 /* ---------------------------------------------------------------------------- 23245 -- XRDC Peripheral Access Layer 23246 ---------------------------------------------------------------------------- */ 23247 23248 /*! 23249 * @addtogroup XRDC_Peripheral_Access_Layer XRDC Peripheral Access Layer 23250 * @{ 23251 */ 23252 23253 /** XRDC - Register Layout Typedef */ 23254 typedef struct { 23255 __IO uint32_t CR; /**< Control Register, offset: 0x0 */ 23256 uint8_t RESERVED_0[236]; 23257 __I uint32_t HWCFG0; /**< Hardware Configuration Register 0, offset: 0xF0 */ 23258 __I uint32_t HWCFG1; /**< Hardware Configuration Register 1, offset: 0xF4 */ 23259 __I uint32_t HWCFG2; /**< Hardware Configuration Register 2, offset: 0xF8 */ 23260 __I uint32_t HWCFG3; /**< Hardware Configuration Register 3, offset: 0xFC */ 23261 __I uint8_t MDACFG[37]; /**< Master Domain Assignment Configuration Register, array offset: 0x100, array step: 0x1 */ 23262 uint8_t RESERVED_1[27]; 23263 __I uint8_t MRCFG[2]; /**< Memory Region Configuration Register, array offset: 0x140, array step: 0x1 */ 23264 uint8_t RESERVED_2[186]; 23265 __IO uint32_t FDID; /**< Fault Domain ID, offset: 0x1FC */ 23266 __I uint32_t DERRLOC[3]; /**< Domain Error Location Register, array offset: 0x200, array step: 0x4 */ 23267 uint8_t RESERVED_3[500]; 23268 __IO uint32_t DERR_W[19][4]; /**< Domain Error Word0 Register..Domain Error Word3 Register, array offset: 0x400, array step: index*0x10, index2*0x4 */ 23269 uint8_t RESERVED_4[464]; 23270 __IO uint32_t PID[37]; /**< Process Identifier, array offset: 0x700, array step: 0x4 */ 23271 uint8_t RESERVED_5[108]; 23272 struct { /* offset: 0x800, array step: 0x20 */ 23273 __IO uint32_t MDA_W[2]; /**< Master Domain Assignment, array offset: 0x800, array step: index*0x20, index2*0x4 */ 23274 uint8_t RESERVED_0[24]; 23275 } MDA[37]; 23276 uint8_t RESERVED_6[864]; 23277 __IO uint32_t PDAC_W[289][2]; /**< Peripheral Domain Access Control, array offset: 0x1000, array step: index*0x8, index2*0x4 */ 23278 uint8_t RESERVED_7[1784]; 23279 struct { /* offset: 0x2000, array step: 0x20 */ 23280 __IO uint32_t MRGD_W[5]; /**< Memory Region Descriptor, array offset: 0x2000, array step: index*0x20, index2*0x4 */ 23281 uint8_t RESERVED_0[12]; 23282 } MRGD[24]; 23283 } XRDC_Type; 23284 23285 /* ---------------------------------------------------------------------------- 23286 -- XRDC Register Masks 23287 ---------------------------------------------------------------------------- */ 23288 23289 /*! 23290 * @addtogroup XRDC_Register_Masks XRDC Register Masks 23291 * @{ 23292 */ 23293 23294 /*! @name CR - Control Register */ 23295 /*! @{ */ 23296 #define XRDC_CR_GVLDM_MASK (0x1U) 23297 #define XRDC_CR_GVLDM_SHIFT (0U) 23298 /*! GVLDM - Global Valid MDACs(XRDC global enable/disable). 23299 * 0b0..XRDC MDACs are disabled. 23300 * 0b1..XRDC MDACs are enabled. 23301 */ 23302 #define XRDC_CR_GVLDM(x) (((uint32_t)(((uint32_t)(x)) << XRDC_CR_GVLDM_SHIFT)) & XRDC_CR_GVLDM_MASK) 23303 #define XRDC_CR_HRL_MASK (0x1EU) 23304 #define XRDC_CR_HRL_SHIFT (1U) 23305 #define XRDC_CR_HRL(x) (((uint32_t)(((uint32_t)(x)) << XRDC_CR_HRL_SHIFT)) & XRDC_CR_HRL_MASK) 23306 #define XRDC_CR_VAW_MASK (0x100U) 23307 #define XRDC_CR_VAW_SHIFT (8U) 23308 /*! VAW - Virtualization aware 23309 * 0b0..Implementation is not virtualization aware. 23310 * 0b1..Implementation is virtualization aware. 23311 */ 23312 #define XRDC_CR_VAW(x) (((uint32_t)(((uint32_t)(x)) << XRDC_CR_VAW_SHIFT)) & XRDC_CR_VAW_MASK) 23313 #define XRDC_CR_GVLDP_MASK (0x4000U) 23314 #define XRDC_CR_GVLDP_SHIFT (14U) 23315 /*! GVLDP - Global Valid for PACs/MSCs 23316 * 0b0..XRDC PACs/MSCs are disabled. 23317 * 0b1..XRDC PACs/MSCs are enabled. 23318 */ 23319 #define XRDC_CR_GVLDP(x) (((uint32_t)(((uint32_t)(x)) << XRDC_CR_GVLDP_SHIFT)) & XRDC_CR_GVLDP_MASK) 23320 #define XRDC_CR_GVLDC_MASK (0x8000U) 23321 #define XRDC_CR_GVLDC_SHIFT (15U) 23322 /*! GVLDC - Global Valid for MRCs 23323 * 0b0..XRDC MRCs are disabled. 23324 * 0b1..XRDC MRCs are enabled. 23325 */ 23326 #define XRDC_CR_GVLDC(x) (((uint32_t)(((uint32_t)(x)) << XRDC_CR_GVLDC_SHIFT)) & XRDC_CR_GVLDC_MASK) 23327 #define XRDC_CR_LK1_MASK (0x40000000U) 23328 #define XRDC_CR_LK1_SHIFT (30U) 23329 /*! LK1 - 1-bit Lock 23330 * 0b0..Register can be written by any secure privileged write. 23331 * 0b1..Register is locked (read-only) until the next reset. 23332 */ 23333 #define XRDC_CR_LK1(x) (((uint32_t)(((uint32_t)(x)) << XRDC_CR_LK1_SHIFT)) & XRDC_CR_LK1_MASK) 23334 /*! @} */ 23335 23336 /*! @name HWCFG0 - Hardware Configuration Register 0 */ 23337 /*! @{ */ 23338 #define XRDC_HWCFG0_NDID_MASK (0xFFU) 23339 #define XRDC_HWCFG0_NDID_SHIFT (0U) 23340 #define XRDC_HWCFG0_NDID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG0_NDID_SHIFT)) & XRDC_HWCFG0_NDID_MASK) 23341 #define XRDC_HWCFG0_NMSTR_MASK (0xFF00U) 23342 #define XRDC_HWCFG0_NMSTR_SHIFT (8U) 23343 #define XRDC_HWCFG0_NMSTR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG0_NMSTR_SHIFT)) & XRDC_HWCFG0_NMSTR_MASK) 23344 #define XRDC_HWCFG0_NMRC_MASK (0xFF0000U) 23345 #define XRDC_HWCFG0_NMRC_SHIFT (16U) 23346 #define XRDC_HWCFG0_NMRC(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG0_NMRC_SHIFT)) & XRDC_HWCFG0_NMRC_MASK) 23347 #define XRDC_HWCFG0_NPAC_MASK (0xF000000U) 23348 #define XRDC_HWCFG0_NPAC_SHIFT (24U) 23349 #define XRDC_HWCFG0_NPAC(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG0_NPAC_SHIFT)) & XRDC_HWCFG0_NPAC_MASK) 23350 #define XRDC_HWCFG0_MID_MASK (0xF0000000U) 23351 #define XRDC_HWCFG0_MID_SHIFT (28U) 23352 #define XRDC_HWCFG0_MID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG0_MID_SHIFT)) & XRDC_HWCFG0_MID_MASK) 23353 /*! @} */ 23354 23355 /*! @name HWCFG1 - Hardware Configuration Register 1 */ 23356 /*! @{ */ 23357 #define XRDC_HWCFG1_DID_MASK (0xFU) 23358 #define XRDC_HWCFG1_DID_SHIFT (0U) 23359 #define XRDC_HWCFG1_DID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG1_DID_SHIFT)) & XRDC_HWCFG1_DID_MASK) 23360 /*! @} */ 23361 23362 /*! @name HWCFG2 - Hardware Configuration Register 2 */ 23363 /*! @{ */ 23364 #define XRDC_HWCFG2_PIDP0_MASK (0x1U) 23365 #define XRDC_HWCFG2_PIDP0_SHIFT (0U) 23366 /*! PIDP0 - Process identifier 23367 * 0b0..Bus master 0 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23368 * 0b1..Bus master 0 sources a process identifier register to the XRDC_MDAC logic. 23369 */ 23370 #define XRDC_HWCFG2_PIDP0(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP0_SHIFT)) & XRDC_HWCFG2_PIDP0_MASK) 23371 #define XRDC_HWCFG2_PIDP1_MASK (0x2U) 23372 #define XRDC_HWCFG2_PIDP1_SHIFT (1U) 23373 /*! PIDP1 - Process identifier 23374 * 0b0..Bus master 1 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23375 * 0b1..Bus master 1 sources a process identifier register to the XRDC_MDAC logic. 23376 */ 23377 #define XRDC_HWCFG2_PIDP1(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP1_SHIFT)) & XRDC_HWCFG2_PIDP1_MASK) 23378 #define XRDC_HWCFG2_PIDP2_MASK (0x4U) 23379 #define XRDC_HWCFG2_PIDP2_SHIFT (2U) 23380 /*! PIDP2 - Process identifier 23381 * 0b0..Bus master 2 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23382 * 0b1..Bus master 2 sources a process identifier register to the XRDC_MDAC logic. 23383 */ 23384 #define XRDC_HWCFG2_PIDP2(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP2_SHIFT)) & XRDC_HWCFG2_PIDP2_MASK) 23385 #define XRDC_HWCFG2_PIDP3_MASK (0x8U) 23386 #define XRDC_HWCFG2_PIDP3_SHIFT (3U) 23387 /*! PIDP3 - Process identifier 23388 * 0b0..Bus master 3 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23389 * 0b1..Bus master 3 sources a process identifier register to the XRDC_MDAC logic. 23390 */ 23391 #define XRDC_HWCFG2_PIDP3(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP3_SHIFT)) & XRDC_HWCFG2_PIDP3_MASK) 23392 #define XRDC_HWCFG2_PIDP4_MASK (0x10U) 23393 #define XRDC_HWCFG2_PIDP4_SHIFT (4U) 23394 /*! PIDP4 - Process identifier 23395 * 0b0..Bus master 4 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23396 * 0b1..Bus master 4 sources a process identifier register to the XRDC_MDAC logic. 23397 */ 23398 #define XRDC_HWCFG2_PIDP4(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP4_SHIFT)) & XRDC_HWCFG2_PIDP4_MASK) 23399 #define XRDC_HWCFG2_PIDP5_MASK (0x20U) 23400 #define XRDC_HWCFG2_PIDP5_SHIFT (5U) 23401 /*! PIDP5 - Process identifier 23402 * 0b0..Bus master 5 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23403 * 0b1..Bus master 5 sources a process identifier register to the XRDC_MDAC logic. 23404 */ 23405 #define XRDC_HWCFG2_PIDP5(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP5_SHIFT)) & XRDC_HWCFG2_PIDP5_MASK) 23406 #define XRDC_HWCFG2_PIDP6_MASK (0x40U) 23407 #define XRDC_HWCFG2_PIDP6_SHIFT (6U) 23408 /*! PIDP6 - Process identifier 23409 * 0b0..Bus master 6 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23410 * 0b1..Bus master 6 sources a process identifier register to the XRDC_MDAC logic. 23411 */ 23412 #define XRDC_HWCFG2_PIDP6(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP6_SHIFT)) & XRDC_HWCFG2_PIDP6_MASK) 23413 #define XRDC_HWCFG2_PIDP7_MASK (0x80U) 23414 #define XRDC_HWCFG2_PIDP7_SHIFT (7U) 23415 /*! PIDP7 - Process identifier 23416 * 0b0..Bus master 7 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23417 * 0b1..Bus master 7 sources a process identifier register to the XRDC_MDAC logic. 23418 */ 23419 #define XRDC_HWCFG2_PIDP7(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP7_SHIFT)) & XRDC_HWCFG2_PIDP7_MASK) 23420 #define XRDC_HWCFG2_PIDP8_MASK (0x100U) 23421 #define XRDC_HWCFG2_PIDP8_SHIFT (8U) 23422 /*! PIDP8 - Process identifier 23423 * 0b0..Bus master 8 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23424 * 0b1..Bus master 8 sources a process identifier register to the XRDC_MDAC logic. 23425 */ 23426 #define XRDC_HWCFG2_PIDP8(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP8_SHIFT)) & XRDC_HWCFG2_PIDP8_MASK) 23427 #define XRDC_HWCFG2_PIDP9_MASK (0x200U) 23428 #define XRDC_HWCFG2_PIDP9_SHIFT (9U) 23429 /*! PIDP9 - Process identifier 23430 * 0b0..Bus master 9 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23431 * 0b1..Bus master 9 sources a process identifier register to the XRDC_MDAC logic. 23432 */ 23433 #define XRDC_HWCFG2_PIDP9(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP9_SHIFT)) & XRDC_HWCFG2_PIDP9_MASK) 23434 #define XRDC_HWCFG2_PIDP10_MASK (0x400U) 23435 #define XRDC_HWCFG2_PIDP10_SHIFT (10U) 23436 /*! PIDP10 - Process identifier 23437 * 0b0..Bus master 10 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23438 * 0b1..Bus master 10 sources a process identifier register to the XRDC_MDAC logic. 23439 */ 23440 #define XRDC_HWCFG2_PIDP10(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP10_SHIFT)) & XRDC_HWCFG2_PIDP10_MASK) 23441 #define XRDC_HWCFG2_PIDP11_MASK (0x800U) 23442 #define XRDC_HWCFG2_PIDP11_SHIFT (11U) 23443 /*! PIDP11 - Process identifier 23444 * 0b0..Bus master 11 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23445 * 0b1..Bus master 11 sources a process identifier register to the XRDC_MDAC logic. 23446 */ 23447 #define XRDC_HWCFG2_PIDP11(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP11_SHIFT)) & XRDC_HWCFG2_PIDP11_MASK) 23448 #define XRDC_HWCFG2_PIDP12_MASK (0x1000U) 23449 #define XRDC_HWCFG2_PIDP12_SHIFT (12U) 23450 /*! PIDP12 - Process identifier 23451 * 0b0..Bus master 12 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23452 * 0b1..Bus master 12 sources a process identifier register to the XRDC_MDAC logic. 23453 */ 23454 #define XRDC_HWCFG2_PIDP12(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP12_SHIFT)) & XRDC_HWCFG2_PIDP12_MASK) 23455 #define XRDC_HWCFG2_PIDP13_MASK (0x2000U) 23456 #define XRDC_HWCFG2_PIDP13_SHIFT (13U) 23457 /*! PIDP13 - Process identifier 23458 * 0b0..Bus master 13 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23459 * 0b1..Bus master 13 sources a process identifier register to the XRDC_MDAC logic. 23460 */ 23461 #define XRDC_HWCFG2_PIDP13(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP13_SHIFT)) & XRDC_HWCFG2_PIDP13_MASK) 23462 #define XRDC_HWCFG2_PIDP14_MASK (0x4000U) 23463 #define XRDC_HWCFG2_PIDP14_SHIFT (14U) 23464 /*! PIDP14 - Process identifier 23465 * 0b0..Bus master 14 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23466 * 0b1..Bus master 14 sources a process identifier register to the XRDC_MDAC logic. 23467 */ 23468 #define XRDC_HWCFG2_PIDP14(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP14_SHIFT)) & XRDC_HWCFG2_PIDP14_MASK) 23469 #define XRDC_HWCFG2_PIDP15_MASK (0x8000U) 23470 #define XRDC_HWCFG2_PIDP15_SHIFT (15U) 23471 /*! PIDP15 - Process identifier 23472 * 0b0..Bus master 15 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23473 * 0b1..Bus master 15 sources a process identifier register to the XRDC_MDAC logic. 23474 */ 23475 #define XRDC_HWCFG2_PIDP15(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP15_SHIFT)) & XRDC_HWCFG2_PIDP15_MASK) 23476 #define XRDC_HWCFG2_PIDP16_MASK (0x10000U) 23477 #define XRDC_HWCFG2_PIDP16_SHIFT (16U) 23478 /*! PIDP16 - Process identifier 23479 * 0b0..Bus master 16 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23480 * 0b1..Bus master 16 sources a process identifier register to the XRDC_MDAC logic. 23481 */ 23482 #define XRDC_HWCFG2_PIDP16(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP16_SHIFT)) & XRDC_HWCFG2_PIDP16_MASK) 23483 #define XRDC_HWCFG2_PIDP17_MASK (0x20000U) 23484 #define XRDC_HWCFG2_PIDP17_SHIFT (17U) 23485 /*! PIDP17 - Process identifier 23486 * 0b0..Bus master 17 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23487 * 0b1..Bus master 17 sources a process identifier register to the XRDC_MDAC logic. 23488 */ 23489 #define XRDC_HWCFG2_PIDP17(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP17_SHIFT)) & XRDC_HWCFG2_PIDP17_MASK) 23490 #define XRDC_HWCFG2_PIDP18_MASK (0x40000U) 23491 #define XRDC_HWCFG2_PIDP18_SHIFT (18U) 23492 /*! PIDP18 - Process identifier 23493 * 0b0..Bus master 18 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23494 * 0b1..Bus master 18 sources a process identifier register to the XRDC_MDAC logic. 23495 */ 23496 #define XRDC_HWCFG2_PIDP18(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP18_SHIFT)) & XRDC_HWCFG2_PIDP18_MASK) 23497 #define XRDC_HWCFG2_PIDP19_MASK (0x80000U) 23498 #define XRDC_HWCFG2_PIDP19_SHIFT (19U) 23499 /*! PIDP19 - Process identifier 23500 * 0b0..Bus master 19 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23501 * 0b1..Bus master 19 sources a process identifier register to the XRDC_MDAC logic. 23502 */ 23503 #define XRDC_HWCFG2_PIDP19(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP19_SHIFT)) & XRDC_HWCFG2_PIDP19_MASK) 23504 #define XRDC_HWCFG2_PIDP20_MASK (0x100000U) 23505 #define XRDC_HWCFG2_PIDP20_SHIFT (20U) 23506 /*! PIDP20 - Process identifier 23507 * 0b0..Bus master 20 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23508 * 0b1..Bus master 20 sources a process identifier register to the XRDC_MDAC logic. 23509 */ 23510 #define XRDC_HWCFG2_PIDP20(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP20_SHIFT)) & XRDC_HWCFG2_PIDP20_MASK) 23511 #define XRDC_HWCFG2_PIDP21_MASK (0x200000U) 23512 #define XRDC_HWCFG2_PIDP21_SHIFT (21U) 23513 /*! PIDP21 - Process identifier 23514 * 0b0..Bus master 21 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23515 * 0b1..Bus master 21 sources a process identifier register to the XRDC_MDAC logic. 23516 */ 23517 #define XRDC_HWCFG2_PIDP21(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP21_SHIFT)) & XRDC_HWCFG2_PIDP21_MASK) 23518 #define XRDC_HWCFG2_PIDP22_MASK (0x400000U) 23519 #define XRDC_HWCFG2_PIDP22_SHIFT (22U) 23520 /*! PIDP22 - Process identifier 23521 * 0b0..Bus master 22 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23522 * 0b1..Bus master 22 sources a process identifier register to the XRDC_MDAC logic. 23523 */ 23524 #define XRDC_HWCFG2_PIDP22(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP22_SHIFT)) & XRDC_HWCFG2_PIDP22_MASK) 23525 #define XRDC_HWCFG2_PIDP23_MASK (0x800000U) 23526 #define XRDC_HWCFG2_PIDP23_SHIFT (23U) 23527 /*! PIDP23 - Process identifier 23528 * 0b0..Bus master 23 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23529 * 0b1..Bus master 23 sources a process identifier register to the XRDC_MDAC logic. 23530 */ 23531 #define XRDC_HWCFG2_PIDP23(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP23_SHIFT)) & XRDC_HWCFG2_PIDP23_MASK) 23532 #define XRDC_HWCFG2_PIDP24_MASK (0x1000000U) 23533 #define XRDC_HWCFG2_PIDP24_SHIFT (24U) 23534 /*! PIDP24 - Process identifier 23535 * 0b0..Bus master 24 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23536 * 0b1..Bus master 24 sources a process identifier register to the XRDC_MDAC logic. 23537 */ 23538 #define XRDC_HWCFG2_PIDP24(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP24_SHIFT)) & XRDC_HWCFG2_PIDP24_MASK) 23539 #define XRDC_HWCFG2_PIDP25_MASK (0x2000000U) 23540 #define XRDC_HWCFG2_PIDP25_SHIFT (25U) 23541 /*! PIDP25 - Process identifier 23542 * 0b0..Bus master 25 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23543 * 0b1..Bus master 25 sources a process identifier register to the XRDC_MDAC logic. 23544 */ 23545 #define XRDC_HWCFG2_PIDP25(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP25_SHIFT)) & XRDC_HWCFG2_PIDP25_MASK) 23546 #define XRDC_HWCFG2_PIDP26_MASK (0x4000000U) 23547 #define XRDC_HWCFG2_PIDP26_SHIFT (26U) 23548 /*! PIDP26 - Process identifier 23549 * 0b0..Bus master 26 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23550 * 0b1..Bus master 26 sources a process identifier register to the XRDC_MDAC logic. 23551 */ 23552 #define XRDC_HWCFG2_PIDP26(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP26_SHIFT)) & XRDC_HWCFG2_PIDP26_MASK) 23553 #define XRDC_HWCFG2_PIDP27_MASK (0x8000000U) 23554 #define XRDC_HWCFG2_PIDP27_SHIFT (27U) 23555 /*! PIDP27 - Process identifier 23556 * 0b0..Bus master 27 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23557 * 0b1..Bus master 27 sources a process identifier register to the XRDC_MDAC logic. 23558 */ 23559 #define XRDC_HWCFG2_PIDP27(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP27_SHIFT)) & XRDC_HWCFG2_PIDP27_MASK) 23560 #define XRDC_HWCFG2_PIDP28_MASK (0x10000000U) 23561 #define XRDC_HWCFG2_PIDP28_SHIFT (28U) 23562 /*! PIDP28 - Process identifier 23563 * 0b0..Bus master 28 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23564 * 0b1..Bus master 28 sources a process identifier register to the XRDC_MDAC logic. 23565 */ 23566 #define XRDC_HWCFG2_PIDP28(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP28_SHIFT)) & XRDC_HWCFG2_PIDP28_MASK) 23567 #define XRDC_HWCFG2_PIDP29_MASK (0x20000000U) 23568 #define XRDC_HWCFG2_PIDP29_SHIFT (29U) 23569 /*! PIDP29 - Process identifier 23570 * 0b0..Bus master 29 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23571 * 0b1..Bus master 29 sources a process identifier register to the XRDC_MDAC logic. 23572 */ 23573 #define XRDC_HWCFG2_PIDP29(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP29_SHIFT)) & XRDC_HWCFG2_PIDP29_MASK) 23574 #define XRDC_HWCFG2_PIDP30_MASK (0x40000000U) 23575 #define XRDC_HWCFG2_PIDP30_SHIFT (30U) 23576 /*! PIDP30 - Process identifier 23577 * 0b0..Bus master 30 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23578 * 0b1..Bus master 30 sources a process identifier register to the XRDC_MDAC logic. 23579 */ 23580 #define XRDC_HWCFG2_PIDP30(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP30_SHIFT)) & XRDC_HWCFG2_PIDP30_MASK) 23581 #define XRDC_HWCFG2_PIDP31_MASK (0x80000000U) 23582 #define XRDC_HWCFG2_PIDP31_SHIFT (31U) 23583 /*! PIDP31 - Process identifier 23584 * 0b0..Bus master 31 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 23585 * 0b1..Bus master 31 sources a process identifier register to the XRDC_MDAC logic. 23586 */ 23587 #define XRDC_HWCFG2_PIDP31(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP31_SHIFT)) & XRDC_HWCFG2_PIDP31_MASK) 23588 /*! @} */ 23589 23590 /*! @name HWCFG3 - Hardware Configuration Register 3 */ 23591 /*! @{ */ 23592 #define XRDC_HWCFG3_PIDPn_MASK (0xFFFFFFFFU) 23593 #define XRDC_HWCFG3_PIDPn_SHIFT (0U) 23594 #define XRDC_HWCFG3_PIDPn(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG3_PIDPn_SHIFT)) & XRDC_HWCFG3_PIDPn_MASK) 23595 /*! @} */ 23596 23597 /*! @name MDACFG - Master Domain Assignment Configuration Register */ 23598 /*! @{ */ 23599 #define XRDC_MDACFG_NMDAR_MASK (0xFU) 23600 #define XRDC_MDACFG_NMDAR_SHIFT (0U) 23601 #define XRDC_MDACFG_NMDAR(x) (((uint8_t)(((uint8_t)(x)) << XRDC_MDACFG_NMDAR_SHIFT)) & XRDC_MDACFG_NMDAR_MASK) 23602 #define XRDC_MDACFG_NCM_MASK (0x80U) 23603 #define XRDC_MDACFG_NCM_SHIFT (7U) 23604 /*! NCM - Non-CPU Master 23605 * 0b0..Bus master is a processor. 23606 * 0b1..Bus master is a non-processor. 23607 */ 23608 #define XRDC_MDACFG_NCM(x) (((uint8_t)(((uint8_t)(x)) << XRDC_MDACFG_NCM_SHIFT)) & XRDC_MDACFG_NCM_MASK) 23609 /*! @} */ 23610 23611 /* The count of XRDC_MDACFG */ 23612 #define XRDC_MDACFG_COUNT (37U) 23613 23614 /*! @name MRCFG - Memory Region Configuration Register */ 23615 /*! @{ */ 23616 #define XRDC_MRCFG_NMRGD_MASK (0x1FU) 23617 #define XRDC_MRCFG_NMRGD_SHIFT (0U) 23618 #define XRDC_MRCFG_NMRGD(x) (((uint8_t)(((uint8_t)(x)) << XRDC_MRCFG_NMRGD_SHIFT)) & XRDC_MRCFG_NMRGD_MASK) 23619 /*! @} */ 23620 23621 /* The count of XRDC_MRCFG */ 23622 #define XRDC_MRCFG_COUNT (2U) 23623 23624 /*! @name FDID - Fault Domain ID */ 23625 /*! @{ */ 23626 #define XRDC_FDID_FDID_MASK (0xFU) 23627 #define XRDC_FDID_FDID_SHIFT (0U) 23628 #define XRDC_FDID_FDID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_FDID_FDID_SHIFT)) & XRDC_FDID_FDID_MASK) 23629 /*! @} */ 23630 23631 /*! @name DERRLOC - Domain Error Location Register */ 23632 /*! @{ */ 23633 #define XRDC_DERRLOC_MRCINST_MASK (0xFFFFU) 23634 #define XRDC_DERRLOC_MRCINST_SHIFT (0U) 23635 #define XRDC_DERRLOC_MRCINST(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERRLOC_MRCINST_SHIFT)) & XRDC_DERRLOC_MRCINST_MASK) 23636 #define XRDC_DERRLOC_PACINST_MASK (0xF0000U) 23637 #define XRDC_DERRLOC_PACINST_SHIFT (16U) 23638 #define XRDC_DERRLOC_PACINST(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERRLOC_PACINST_SHIFT)) & XRDC_DERRLOC_PACINST_MASK) 23639 /*! @} */ 23640 23641 /* The count of XRDC_DERRLOC */ 23642 #define XRDC_DERRLOC_COUNT (3U) 23643 23644 /*! @name DERR_W - Domain Error Word0 Register..Domain Error Word3 Register */ 23645 /*! @{ */ 23646 #define XRDC_DERR_W_EADDR_MASK (0xFFFFFFFFU) 23647 #define XRDC_DERR_W_EADDR_SHIFT (0U) 23648 #define XRDC_DERR_W_EADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_EADDR_SHIFT)) & XRDC_DERR_W_EADDR_MASK) 23649 #define XRDC_DERR_W_EDID_MASK (0xFU) 23650 #define XRDC_DERR_W_EDID_SHIFT (0U) 23651 #define XRDC_DERR_W_EDID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_EDID_SHIFT)) & XRDC_DERR_W_EDID_MASK) 23652 #define XRDC_DERR_W_EATR_MASK (0x700U) 23653 #define XRDC_DERR_W_EATR_SHIFT (8U) 23654 /*! EATR - Error attributes 23655 * 0b000..Secure user mode, instruction fetch access. 23656 * 0b001..Secure user mode, data access. 23657 * 0b010..Secure privileged mode, instruction fetch access. 23658 * 0b011..Secure privileged mode, data access. 23659 * 0b100..Nonsecure user mode, instruction fetch access. 23660 * 0b101..Nonsecure user mode, data access. 23661 * 0b110..Nonsecure privileged mode, instruction fetch access. 23662 * 0b111..Nonsecure privileged mode, data access. 23663 */ 23664 #define XRDC_DERR_W_EATR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_EATR_SHIFT)) & XRDC_DERR_W_EATR_MASK) 23665 #define XRDC_DERR_W_ERW_MASK (0x800U) 23666 #define XRDC_DERR_W_ERW_SHIFT (11U) 23667 /*! ERW - Error read/write 23668 * 0b0..Read access 23669 * 0b1..Write access 23670 */ 23671 #define XRDC_DERR_W_ERW(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_ERW_SHIFT)) & XRDC_DERR_W_ERW_MASK) 23672 #define XRDC_DERR_W_EPORT_MASK (0x7000000U) 23673 #define XRDC_DERR_W_EPORT_SHIFT (24U) 23674 #define XRDC_DERR_W_EPORT(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_EPORT_SHIFT)) & XRDC_DERR_W_EPORT_MASK) 23675 #define XRDC_DERR_W_EST_MASK (0xC0000000U) 23676 #define XRDC_DERR_W_EST_SHIFT (30U) 23677 /*! EST - Error state 23678 * 0b00..No access violation has been detected. 23679 * 0b01..No access violation has been detected. 23680 * 0b10..A single access violation has been detected. 23681 * 0b11..Multiple access violations for this domain have been detected by this submodule instance. Only the address and attribute information for the first error have been captured in DERR_W0_i and DERR_W1_i. 23682 */ 23683 #define XRDC_DERR_W_EST(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_EST_SHIFT)) & XRDC_DERR_W_EST_MASK) 23684 #define XRDC_DERR_W_RECR_MASK (0xC0000000U) 23685 #define XRDC_DERR_W_RECR_SHIFT (30U) 23686 #define XRDC_DERR_W_RECR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_RECR_SHIFT)) & XRDC_DERR_W_RECR_MASK) 23687 /*! @} */ 23688 23689 /* The count of XRDC_DERR_W */ 23690 #define XRDC_DERR_W_COUNT (19U) 23691 23692 /* The count of XRDC_DERR_W */ 23693 #define XRDC_DERR_W_COUNT2 (4U) 23694 23695 /*! @name PID - Process Identifier */ 23696 /*! @{ */ 23697 #define XRDC_PID_PID_MASK (0x3FU) 23698 #define XRDC_PID_PID_SHIFT (0U) 23699 #define XRDC_PID_PID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PID_PID_SHIFT)) & XRDC_PID_PID_MASK) 23700 #define XRDC_PID_SP4SM_MASK (0x8000000U) 23701 #define XRDC_PID_SP4SM_SHIFT (27U) 23702 #define XRDC_PID_SP4SM(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PID_SP4SM_SHIFT)) & XRDC_PID_SP4SM_MASK) 23703 #define XRDC_PID_TSM_MASK (0x10000000U) 23704 #define XRDC_PID_TSM_SHIFT (28U) 23705 #define XRDC_PID_TSM(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PID_TSM_SHIFT)) & XRDC_PID_TSM_MASK) 23706 #define XRDC_PID_LK2_MASK (0x60000000U) 23707 #define XRDC_PID_LK2_SHIFT (29U) 23708 /*! LK2 - Lock 23709 * 0b00..Register can be written by any secure privileged write. 23710 * 0b01..Register can be written by any secure privileged write. 23711 * 0b10..Register can only be written by a secure privileged write from bus master m. 23712 * 0b11..Register is locked (read-only) until the next reset. 23713 */ 23714 #define XRDC_PID_LK2(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PID_LK2_SHIFT)) & XRDC_PID_LK2_MASK) 23715 /*! @} */ 23716 23717 /* The count of XRDC_PID */ 23718 #define XRDC_PID_COUNT (37U) 23719 23720 /*! @name MDA_W - Master Domain Assignment */ 23721 /*! @{ */ 23722 #define XRDC_MDA_W_DID_MASK (0xFU) 23723 #define XRDC_MDA_W_DID_SHIFT (0U) 23724 #define XRDC_MDA_W_DID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_DID_SHIFT)) & XRDC_MDA_W_DID_MASK) 23725 #define XRDC_MDA_W_DIDS_MASK (0x30U) 23726 #define XRDC_MDA_W_DIDS_SHIFT (4U) 23727 /*! DIDS - DID Select 23728 * 0b00..Use MDAm[3:0] as the domain identifier. 23729 * 0b01..Use the input DID as the domain identifier. 23730 * 0b10..Use MDAm[3:2] concatenated with the low-order 2 bits of the input DID (DID_in[1:0]) as the domain identifier. 23731 * 0b11..Reserved for future use. 23732 */ 23733 #define XRDC_MDA_W_DIDS(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_DIDS_SHIFT)) & XRDC_MDA_W_DIDS_MASK) 23734 #define XRDC_MDA_W_PA_MASK (0x30U) 23735 #define XRDC_MDA_W_PA_SHIFT (4U) 23736 /*! PA - Privileged attribute 23737 * 0b00..Force the bus attribute for this master to user. 23738 * 0b01..Force the bus attribute for this master to privileged. 23739 * 0b10..Use the bus master's privileged/user attribute directly. 23740 * 0b11..Use the bus master's privileged/user attribute directly. 23741 */ 23742 #define XRDC_MDA_W_PA(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_PA_SHIFT)) & XRDC_MDA_W_PA_MASK) 23743 #define XRDC_MDA_W_PE_MASK (0xC0U) 23744 #define XRDC_MDA_W_PE_SHIFT (6U) 23745 /*! PE - Process identifier enable 23746 * 0b00..No process identifier is included in the domain hit evaluation. 23747 * 0b01..No process identifier is included in the domain hit evaluation. 23748 * 0b10..The process identifier is included in the domain hit evaluation as defined by the expression: partial_domain_hit = (PE == 2) && ((PID & ~PIDM) == (XRDC_PIDn[PID] & ~PIDM)) 23749 * 0b11..The process identifier is included in the domain hit evaluation as defined by the expression: partial_domain_hit = (PE == 3) && ~((PID & ~PIDM) == (XRDC_PIDn[PID] & ~PIDM)) 23750 */ 23751 #define XRDC_MDA_W_PE(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_PE_SHIFT)) & XRDC_MDA_W_PE_MASK) 23752 #define XRDC_MDA_W_SA_MASK (0xC0U) 23753 #define XRDC_MDA_W_SA_SHIFT (6U) 23754 /*! SA - Secure attribute 23755 * 0b00..Force the bus attribute for this master to secure. 23756 * 0b01..Force the bus attribute for this master to nonsecure. 23757 * 0b10..Use the bus master's secure/nonsecure attribute directly. 23758 * 0b11..Use the bus master's secure/nonsecure attribute directly. 23759 */ 23760 #define XRDC_MDA_W_SA(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_SA_SHIFT)) & XRDC_MDA_W_SA_MASK) 23761 #define XRDC_MDA_W_DIDB_MASK (0x100U) 23762 #define XRDC_MDA_W_DIDB_SHIFT (8U) 23763 /*! DIDB - DID Bypass 23764 * 0b0..Use MDAn[3:0] as the domain identifier. 23765 * 0b1..Use the DID input as the domain identifier. 23766 */ 23767 #define XRDC_MDA_W_DIDB(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_DIDB_SHIFT)) & XRDC_MDA_W_DIDB_MASK) 23768 #define XRDC_MDA_W_PIDM_MASK (0x3F00U) 23769 #define XRDC_MDA_W_PIDM_SHIFT (8U) 23770 #define XRDC_MDA_W_PIDM(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_PIDM_SHIFT)) & XRDC_MDA_W_PIDM_MASK) 23771 #define XRDC_MDA_W_PID_MASK (0x3F0000U) 23772 #define XRDC_MDA_W_PID_SHIFT (16U) 23773 #define XRDC_MDA_W_PID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_PID_SHIFT)) & XRDC_MDA_W_PID_MASK) 23774 #define XRDC_MDA_W_DFMT_MASK (0x20000000U) 23775 #define XRDC_MDA_W_DFMT_SHIFT (29U) 23776 /*! DFMT - Domain format 23777 * 0b0..Processor-core domain assignment 23778 * 0b1..Non-processor domain assignment 23779 */ 23780 #define XRDC_MDA_W_DFMT(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_DFMT_SHIFT)) & XRDC_MDA_W_DFMT_MASK) 23781 #define XRDC_MDA_W_LK1_MASK (0x40000000U) 23782 #define XRDC_MDA_W_LK1_SHIFT (30U) 23783 /*! LK1 - 1-bit Lock 23784 * 0b0..Register can be written by any secure privileged write. 23785 * 0b1..Register is locked (read-only) until the next reset. 23786 */ 23787 #define XRDC_MDA_W_LK1(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_LK1_SHIFT)) & XRDC_MDA_W_LK1_MASK) 23788 #define XRDC_MDA_W_VLD_MASK (0x80000000U) 23789 #define XRDC_MDA_W_VLD_SHIFT (31U) 23790 /*! VLD - Valid 23791 * 0b0..The Wr domain assignment is invalid. 23792 * 0b1..The Wr domain assignment is valid. 23793 */ 23794 #define XRDC_MDA_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_VLD_SHIFT)) & XRDC_MDA_W_VLD_MASK) 23795 /*! @} */ 23796 23797 /* The count of XRDC_MDA_W */ 23798 #define XRDC_MDA_W_COUNT (37U) 23799 23800 /* The count of XRDC_MDA_W */ 23801 #define XRDC_MDA_W_COUNT2 (2U) 23802 23803 /*! @name PDAC_W - Peripheral Domain Access Control */ 23804 /*! @{ */ 23805 #define XRDC_PDAC_W_D0ACP_MASK (0x7U) 23806 #define XRDC_PDAC_W_D0ACP_SHIFT (0U) 23807 #define XRDC_PDAC_W_D0ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_D0ACP_SHIFT)) & XRDC_PDAC_W_D0ACP_MASK) 23808 #define XRDC_PDAC_W_D1ACP_MASK (0x38U) 23809 #define XRDC_PDAC_W_D1ACP_SHIFT (3U) 23810 #define XRDC_PDAC_W_D1ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_D1ACP_SHIFT)) & XRDC_PDAC_W_D1ACP_MASK) 23811 #define XRDC_PDAC_W_D2ACP_MASK (0x1C0U) 23812 #define XRDC_PDAC_W_D2ACP_SHIFT (6U) 23813 #define XRDC_PDAC_W_D2ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_D2ACP_SHIFT)) & XRDC_PDAC_W_D2ACP_MASK) 23814 #define XRDC_PDAC_W_EAL_MASK (0x3000000U) 23815 #define XRDC_PDAC_W_EAL_SHIFT (24U) 23816 /*! EAL - Exclusive Access Lock 23817 * 0b00..Lock disabled 23818 * 0b01..Lock disabled until next reset 23819 * 0b10..Lock enabled, lock state = available 23820 * 0b11..Lock enabled, lock state = not available 23821 */ 23822 #define XRDC_PDAC_W_EAL(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_EAL_SHIFT)) & XRDC_PDAC_W_EAL_MASK) 23823 #define XRDC_PDAC_W_EALO_MASK (0xF000000U) 23824 #define XRDC_PDAC_W_EALO_SHIFT (24U) 23825 #define XRDC_PDAC_W_EALO(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_EALO_SHIFT)) & XRDC_PDAC_W_EALO_MASK) 23826 #define XRDC_PDAC_W_LK2_MASK (0x60000000U) 23827 #define XRDC_PDAC_W_LK2_SHIFT (29U) 23828 /*! LK2 - Lock 23829 * 0b00..Entire PDACs can be written. 23830 * 0b01..Entire PDACs can be written. 23831 * 0b10..Domain x can only update the DxACP field and the LK2 field; no other PDACs fields can be written. 23832 * 0b11..PDACs is locked (read-only) until the next reset. 23833 */ 23834 #define XRDC_PDAC_W_LK2(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_LK2_SHIFT)) & XRDC_PDAC_W_LK2_MASK) 23835 #define XRDC_PDAC_W_VLD_MASK (0x80000000U) 23836 #define XRDC_PDAC_W_VLD_SHIFT (31U) 23837 /*! VLD - Valid 23838 * 0b0..The PDACs assignment is invalid. 23839 * 0b1..The PDACs assignment is valid. 23840 */ 23841 #define XRDC_PDAC_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_VLD_SHIFT)) & XRDC_PDAC_W_VLD_MASK) 23842 /*! @} */ 23843 23844 /* The count of XRDC_PDAC_W */ 23845 #define XRDC_PDAC_W_COUNT (289U) 23846 23847 /* The count of XRDC_PDAC_W */ 23848 #define XRDC_PDAC_W_COUNT2 (2U) 23849 23850 /*! @name MRGD_W - Memory Region Descriptor */ 23851 /*! @{ */ 23852 #define XRDC_MRGD_W_ACCSET1_MASK (0xFFFU) 23853 #define XRDC_MRGD_W_ACCSET1_SHIFT (0U) 23854 #define XRDC_MRGD_W_ACCSET1(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_ACCSET1_SHIFT)) & XRDC_MRGD_W_ACCSET1_MASK) 23855 #define XRDC_MRGD_W_D0SEL_MASK (0x7U) 23856 #define XRDC_MRGD_W_D0SEL_SHIFT (0U) 23857 #define XRDC_MRGD_W_D0SEL(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_D0SEL_SHIFT)) & XRDC_MRGD_W_D0SEL_MASK) 23858 #define XRDC_MRGD_W_D1SEL_MASK (0x38U) 23859 #define XRDC_MRGD_W_D1SEL_SHIFT (3U) 23860 #define XRDC_MRGD_W_D1SEL(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_D1SEL_SHIFT)) & XRDC_MRGD_W_D1SEL_MASK) 23861 #define XRDC_MRGD_W_ENDADDR_MASK (0xFFFFFFE0U) 23862 #define XRDC_MRGD_W_ENDADDR_SHIFT (5U) 23863 #define XRDC_MRGD_W_ENDADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_ENDADDR_SHIFT)) & XRDC_MRGD_W_ENDADDR_MASK) 23864 #define XRDC_MRGD_W_SRTADDR_MASK (0xFFFFFFE0U) 23865 #define XRDC_MRGD_W_SRTADDR_SHIFT (5U) 23866 #define XRDC_MRGD_W_SRTADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_SRTADDR_SHIFT)) & XRDC_MRGD_W_SRTADDR_MASK) 23867 #define XRDC_MRGD_W_D2SEL_MASK (0x1C0U) 23868 #define XRDC_MRGD_W_D2SEL_SHIFT (6U) 23869 #define XRDC_MRGD_W_D2SEL(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_D2SEL_SHIFT)) & XRDC_MRGD_W_D2SEL_MASK) 23870 #define XRDC_MRGD_W_LKAS1_MASK (0x1000U) 23871 #define XRDC_MRGD_W_LKAS1_SHIFT (12U) 23872 /*! LKAS1 - Lock ACCSET1 23873 * 0b0..Writes to ACCSET1 affect lesser modes 23874 * 0b1..ACCSET1 cannot be modified 23875 */ 23876 #define XRDC_MRGD_W_LKAS1(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_LKAS1_SHIFT)) & XRDC_MRGD_W_LKAS1_MASK) 23877 #define XRDC_MRGD_W_ACCSET2_MASK (0xFFF0000U) 23878 #define XRDC_MRGD_W_ACCSET2_SHIFT (16U) 23879 #define XRDC_MRGD_W_ACCSET2(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_ACCSET2_SHIFT)) & XRDC_MRGD_W_ACCSET2_MASK) 23880 #define XRDC_MRGD_W_EAL_MASK (0x3000000U) 23881 #define XRDC_MRGD_W_EAL_SHIFT (24U) 23882 /*! EAL - Exclusive Access Lock 23883 * 0b00..Lock disabled 23884 * 0b01..Lock disabled until next reset 23885 * 0b10..Lock enabled, lock state = available 23886 * 0b11..Lock enabled, lock state = not available 23887 */ 23888 #define XRDC_MRGD_W_EAL(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_EAL_SHIFT)) & XRDC_MRGD_W_EAL_MASK) 23889 #define XRDC_MRGD_W_EALO_MASK (0xF000000U) 23890 #define XRDC_MRGD_W_EALO_SHIFT (24U) 23891 #define XRDC_MRGD_W_EALO(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_EALO_SHIFT)) & XRDC_MRGD_W_EALO_MASK) 23892 #define XRDC_MRGD_W_LKAS2_MASK (0x10000000U) 23893 #define XRDC_MRGD_W_LKAS2_SHIFT (28U) 23894 /*! LKAS2 - Lock ACCSET2 23895 * 0b0..Writes to ACCSET2 affect lesser modes 23896 * 0b1..ACCSET2 cannot be modified 23897 */ 23898 #define XRDC_MRGD_W_LKAS2(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_LKAS2_SHIFT)) & XRDC_MRGD_W_LKAS2_MASK) 23899 #define XRDC_MRGD_W_LK2_MASK (0x60000000U) 23900 #define XRDC_MRGD_W_LK2_SHIFT (29U) 23901 /*! LK2 - Lock 23902 * 0b00..Entire MRGDn can be written. 23903 * 0b01..Entire MRGDn can be written. 23904 * 0b10..Domain x can only update the DxACP field and the LK2 field; no other MRGDn fields can be written. 23905 * 0b11..MRGDn is locked (read-only) until the next reset. 23906 */ 23907 #define XRDC_MRGD_W_LK2(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_LK2_SHIFT)) & XRDC_MRGD_W_LK2_MASK) 23908 #define XRDC_MRGD_W_CR_MASK (0x80000000U) 23909 #define XRDC_MRGD_W_CR_SHIFT (31U) 23910 #define XRDC_MRGD_W_CR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_CR_SHIFT)) & XRDC_MRGD_W_CR_MASK) 23911 #define XRDC_MRGD_W_VLD_MASK (0x80000000U) 23912 #define XRDC_MRGD_W_VLD_SHIFT (31U) 23913 /*! VLD - Valid 23914 * 0b0..The MRGDn assignment is invalid. 23915 * 0b1..The MRGDn assignment is valid. 23916 */ 23917 #define XRDC_MRGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_VLD_SHIFT)) & XRDC_MRGD_W_VLD_MASK) 23918 /*! @} */ 23919 23920 /* The count of XRDC_MRGD_W */ 23921 #define XRDC_MRGD_W_COUNT (24U) 23922 23923 /* The count of XRDC_MRGD_W */ 23924 #define XRDC_MRGD_W_COUNT2 (5U) 23925 23926 23927 /*! 23928 * @} 23929 */ /* end of group XRDC_Register_Masks */ 23930 23931 23932 /* XRDC - Peripheral instance base addresses */ 23933 /** Peripheral XRDC base address */ 23934 #define XRDC_BASE (0x40014000u) 23935 /** Peripheral XRDC base pointer */ 23936 #define XRDC ((XRDC_Type *)XRDC_BASE) 23937 /** Array initializer of XRDC peripheral base addresses */ 23938 #define XRDC_BASE_ADDRS { XRDC_BASE } 23939 /** Array initializer of XRDC peripheral base pointers */ 23940 #define XRDC_BASE_PTRS { XRDC } 23941 23942 /*! 23943 * @} 23944 */ /* end of group XRDC_Peripheral_Access_Layer */ 23945 23946 23947 /* 23948 ** End of section using anonymous unions 23949 */ 23950 23951 #if defined(__ARMCC_VERSION) 23952 #if (__ARMCC_VERSION >= 6010050) 23953 #pragma clang diagnostic pop 23954 #else 23955 #pragma pop 23956 #endif 23957 #elif defined(__GNUC__) 23958 /* leave anonymous unions enabled */ 23959 #elif defined(__IAR_SYSTEMS_ICC__) 23960 #pragma language=default 23961 #else 23962 #error Not supported compiler type 23963 #endif 23964 23965 /*! 23966 * @} 23967 */ /* end of group Peripheral_access_layer */ 23968 23969 23970 /* ---------------------------------------------------------------------------- 23971 -- Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK). 23972 ---------------------------------------------------------------------------- */ 23973 23974 /*! 23975 * @addtogroup Bit_Field_Generic_Macros Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK). 23976 * @{ 23977 */ 23978 23979 #if defined(__ARMCC_VERSION) 23980 #if (__ARMCC_VERSION >= 6010050) 23981 #pragma clang system_header 23982 #endif 23983 #elif defined(__IAR_SYSTEMS_ICC__) 23984 #pragma system_include 23985 #endif 23986 23987 /** 23988 * @brief Mask and left-shift a bit field value for use in a register bit range. 23989 * @param field Name of the register bit field. 23990 * @param value Value of the bit field. 23991 * @return Masked and shifted value. 23992 */ 23993 #define NXP_VAL2FLD(field, value) (((value) << (field ## _SHIFT)) & (field ## _MASK)) 23994 /** 23995 * @brief Mask and right-shift a register value to extract a bit field value. 23996 * @param field Name of the register bit field. 23997 * @param value Value of the register. 23998 * @return Masked and shifted bit field value. 23999 */ 24000 #define NXP_FLD2VAL(field, value) (((value) & (field ## _MASK)) >> (field ## _SHIFT)) 24001 24002 /*! 24003 * @} 24004 */ /* end of group Bit_Field_Generic_Macros */ 24005 24006 24007 /* ---------------------------------------------------------------------------- 24008 -- SDK Compatibility 24009 ---------------------------------------------------------------------------- */ 24010 24011 /*! 24012 * @addtogroup SDK_Compatibility_Symbols SDK Compatibility 24013 * @{ 24014 */ 24015 24016 #define EVENT_UNIT EVENT0 24017 #define INTMUX INTMUX0 24018 24019 /*! 24020 * @} 24021 */ /* end of group SDK_Compatibility_Symbols */ 24022 24023 /* ---------------------------------------------------------------------------- 24024 -- BTLE_RF Peripheral Access Layer 24025 ---------------------------------------------------------------------------- */ 24026 /* ---------------------------------------------------------------------------- 24027 -- GENFSK Peripheral Access Layer 24028 ---------------------------------------------------------------------------- */ 24029 24030 /*! 24031 * @addtogroup GENFSK_Peripheral_Access_Layer GENFSK Peripheral Access Layer 24032 * @{ 24033 */ 24034 24035 /** GENFSK - Register Layout Typedef */ 24036 typedef struct { 24037 __IO uint32_t IRQ_CTRL; /**< IRQ CONTROL, offset: 0x0 */ 24038 __IO uint32_t EVENT_TMR; /**< EVENT TIMER, offset: 0x4 */ 24039 __IO uint32_t T1_CMP; /**< T1 COMPARE, offset: 0x8 */ 24040 __IO uint32_t T2_CMP; /**< T2 COMPARE, offset: 0xC */ 24041 __I uint32_t TIMESTAMP; /**< TIMESTAMP, offset: 0x10 */ 24042 __IO uint32_t XCVR_CTRL; /**< TRANSCEIVER CONTROL, offset: 0x14 */ 24043 __I uint32_t XCVR_STS; /**< TRANSCEIVER STATUS, offset: 0x18 */ 24044 __IO uint32_t XCVR_CFG; /**< TRANSCEIVER CONFIGURATION, offset: 0x1C */ 24045 __IO uint32_t CHANNEL_NUM; /**< CHANNEL NUMBER, offset: 0x20 */ 24046 __IO uint32_t TX_POWER; /**< TRANSMIT POWER, offset: 0x24 */ 24047 __IO uint32_t NTW_ADR_CTRL; /**< NETWORK ADDRESS CONTROL, offset: 0x28 */ 24048 __IO uint32_t NTW_ADR_0; /**< NETWORK ADDRESS 0, offset: 0x2C */ 24049 __IO uint32_t NTW_ADR_1; /**< NETWORK ADDRESS 1, offset: 0x30 */ 24050 __IO uint32_t NTW_ADR_2; /**< NETWORK ADDRESS 2, offset: 0x34 */ 24051 __IO uint32_t NTW_ADR_3; /**< NETWORK ADDRESS 3, offset: 0x38 */ 24052 __IO uint32_t RX_WATERMARK; /**< RECEIVE WATERMARK, offset: 0x3C */ 24053 __IO uint32_t DSM_CTRL; /**< DSM CONTROL, offset: 0x40 */ 24054 __I uint32_t PART_ID; /**< PART ID, offset: 0x44 */ 24055 uint8_t RESERVED_0[24]; 24056 __IO uint32_t PACKET_CFG; /**< PACKET CONFIGURATION, offset: 0x60 */ 24057 __IO uint32_t H0_CFG; /**< H0 CONFIGURATION, offset: 0x64 */ 24058 __IO uint32_t H1_CFG; /**< H1 CONFIGURATION, offset: 0x68 */ 24059 __IO uint32_t CRC_CFG; /**< CRC CONFIGURATION, offset: 0x6C */ 24060 __IO uint32_t CRC_INIT; /**< CRC INITIALIZATION, offset: 0x70 */ 24061 __IO uint32_t CRC_POLY; /**< CRC POLYNOMIAL, offset: 0x74 */ 24062 __IO uint32_t CRC_XOR_OUT; /**< CRC XOR OUT, offset: 0x78 */ 24063 __IO uint32_t WHITEN_CFG; /**< WHITENER CONFIGURATION, offset: 0x7C */ 24064 __IO uint32_t WHITEN_POLY; /**< WHITENER POLYNOMIAL, offset: 0x80 */ 24065 __IO uint32_t WHITEN_SZ_THR; /**< WHITENER SIZE THRESHOLD, offset: 0x84 */ 24066 __IO uint32_t BITRATE; /**< BIT RATE, offset: 0x88 */ 24067 __IO uint32_t PB_PARTITION; /**< PACKET BUFFER PARTITION POINT, offset: 0x8C */ 24068 uint8_t RESERVED_1[1648]; 24069 __IO uint16_t PACKET_BUFFER[1088]; /**< PACKET BUFFER, array offset: 0x700, array step: 0x2 */ 24070 } GENFSK_Type; 24071 24072 /* ---------------------------------------------------------------------------- 24073 -- GENFSK Register Masks 24074 ---------------------------------------------------------------------------- */ 24075 24076 /*! 24077 * @addtogroup GENFSK_Register_Masks GENFSK Register Masks 24078 * @{ 24079 */ 24080 24081 /*! @name IRQ_CTRL - IRQ CONTROL */ 24082 /*! @{ */ 24083 #define GENFSK_IRQ_CTRL_SEQ_END_IRQ_MASK (0x1U) 24084 #define GENFSK_IRQ_CTRL_SEQ_END_IRQ_SHIFT (0U) 24085 /*! SEQ_END_IRQ - Sequence End Interrupt 24086 * 0b0..Sequence End Interrupt is not asserted. 24087 * 0b1..Sequence End Interrupt is asserted. 24088 */ 24089 #define GENFSK_IRQ_CTRL_SEQ_END_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_SEQ_END_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_SEQ_END_IRQ_MASK) 24090 #define GENFSK_IRQ_CTRL_TX_IRQ_MASK (0x2U) 24091 #define GENFSK_IRQ_CTRL_TX_IRQ_SHIFT (1U) 24092 /*! TX_IRQ - TX Interrupt 24093 * 0b0..TX Interrupt is not asserted. 24094 * 0b1..TX Interrupt is asserted. 24095 */ 24096 #define GENFSK_IRQ_CTRL_TX_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_TX_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_TX_IRQ_MASK) 24097 #define GENFSK_IRQ_CTRL_RX_IRQ_MASK (0x4U) 24098 #define GENFSK_IRQ_CTRL_RX_IRQ_SHIFT (2U) 24099 /*! RX_IRQ - RX Interrupt 24100 * 0b0..RX Interrupt is not asserted. 24101 * 0b1..RX Interrupt is asserted. 24102 */ 24103 #define GENFSK_IRQ_CTRL_RX_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_RX_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_RX_IRQ_MASK) 24104 #define GENFSK_IRQ_CTRL_NTW_ADR_IRQ_MASK (0x8U) 24105 #define GENFSK_IRQ_CTRL_NTW_ADR_IRQ_SHIFT (3U) 24106 /*! NTW_ADR_IRQ - Network Address Match Interrupt 24107 * 0b0..Network Address Match Interrupt is not asserted. 24108 * 0b1..Network Address Match Interrupt is asserted. 24109 */ 24110 #define GENFSK_IRQ_CTRL_NTW_ADR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_NTW_ADR_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_NTW_ADR_IRQ_MASK) 24111 #define GENFSK_IRQ_CTRL_T1_IRQ_MASK (0x10U) 24112 #define GENFSK_IRQ_CTRL_T1_IRQ_SHIFT (4U) 24113 /*! T1_IRQ - Timer1 (T1) Compare Interrupt 24114 * 0b0..Timer1 (T1) Compare Interrupt is not asserted. 24115 * 0b1..Timer1 (T1) Compare Interrupt is asserted. 24116 */ 24117 #define GENFSK_IRQ_CTRL_T1_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_T1_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_T1_IRQ_MASK) 24118 #define GENFSK_IRQ_CTRL_T2_IRQ_MASK (0x20U) 24119 #define GENFSK_IRQ_CTRL_T2_IRQ_SHIFT (5U) 24120 /*! T2_IRQ - Timer2 (T2) Compare Interrupt 24121 * 0b0..Timer2 (T2) Compare Interrupt is not asserted. 24122 * 0b1..Timer2 (T2) Compare Interrupt is asserted. 24123 */ 24124 #define GENFSK_IRQ_CTRL_T2_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_T2_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_T2_IRQ_MASK) 24125 #define GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ_MASK (0x40U) 24126 #define GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ_SHIFT (6U) 24127 /*! PLL_UNLOCK_IRQ - PLL Unlock Interrupt 24128 * 0b0..PLL Unlock Interrupt is not asserted. 24129 * 0b1..PLL Unlock Interrupt is asserted. 24130 */ 24131 #define GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ_MASK) 24132 #define GENFSK_IRQ_CTRL_WAKE_IRQ_MASK (0x80U) 24133 #define GENFSK_IRQ_CTRL_WAKE_IRQ_SHIFT (7U) 24134 /*! WAKE_IRQ - Wake Interrrupt 24135 * 0b0..Wake Interrupt is not asserted. 24136 * 0b1..Wake Interrupt is asserted. 24137 */ 24138 #define GENFSK_IRQ_CTRL_WAKE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_WAKE_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_WAKE_IRQ_MASK) 24139 #define GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ_MASK (0x100U) 24140 #define GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ_SHIFT (8U) 24141 /*! RX_WATERMARK_IRQ - RX Watermark Interrupt 24142 * 0b0..RX Watermark Interrupt is not asserted. 24143 * 0b1..RX Watermark Interrupt is asserted. 24144 */ 24145 #define GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ_MASK) 24146 #define GENFSK_IRQ_CTRL_TSM_IRQ_MASK (0x200U) 24147 #define GENFSK_IRQ_CTRL_TSM_IRQ_SHIFT (9U) 24148 /*! TSM_IRQ - TSM Interrupt 24149 * 0b0..TSM0_IRQ and TSM1_IRQ are both clear. 24150 * 0b1..Indicates TSM0_IRQ or TSM1_IRQ is set in XCVR_STATUS. 24151 */ 24152 #define GENFSK_IRQ_CTRL_TSM_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_TSM_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_TSM_IRQ_MASK) 24153 #define GENFSK_IRQ_CTRL_SEQ_END_IRQ_EN_MASK (0x10000U) 24154 #define GENFSK_IRQ_CTRL_SEQ_END_IRQ_EN_SHIFT (16U) 24155 /*! SEQ_END_IRQ_EN - SEQ_END_IRQ Enable 24156 * 0b0..Sequence End Interrupt is not enabled. 24157 * 0b1..Sequence End Interrupt is enabled. 24158 */ 24159 #define GENFSK_IRQ_CTRL_SEQ_END_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_SEQ_END_IRQ_EN_SHIFT)) & GENFSK_IRQ_CTRL_SEQ_END_IRQ_EN_MASK) 24160 #define GENFSK_IRQ_CTRL_TX_IRQ_EN_MASK (0x20000U) 24161 #define GENFSK_IRQ_CTRL_TX_IRQ_EN_SHIFT (17U) 24162 /*! TX_IRQ_EN - TX_IRQ Enable 24163 * 0b0..TX Interrupt is not enabled. 24164 * 0b1..TX Interrupt is enabled. 24165 */ 24166 #define GENFSK_IRQ_CTRL_TX_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_TX_IRQ_EN_SHIFT)) & GENFSK_IRQ_CTRL_TX_IRQ_EN_MASK) 24167 #define GENFSK_IRQ_CTRL_RX_IRQ_EN_MASK (0x40000U) 24168 #define GENFSK_IRQ_CTRL_RX_IRQ_EN_SHIFT (18U) 24169 /*! RX_IRQ_EN - RX_IRQ Enable 24170 * 0b0..RX Interrupt is not enabled. 24171 * 0b1..RX Interrupt is enabled. 24172 */ 24173 #define GENFSK_IRQ_CTRL_RX_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_RX_IRQ_EN_SHIFT)) & GENFSK_IRQ_CTRL_RX_IRQ_EN_MASK) 24174 #define GENFSK_IRQ_CTRL_NTW_ADR_IRQ_EN_MASK (0x80000U) 24175 #define GENFSK_IRQ_CTRL_NTW_ADR_IRQ_EN_SHIFT (19U) 24176 /*! NTW_ADR_IRQ_EN - NTW_ADR_IRQ Enable 24177 * 0b0..Network Address Match Interrupt is not enabled. 24178 * 0b1..Network Address Match Interrupt is enabled. 24179 */ 24180 #define GENFSK_IRQ_CTRL_NTW_ADR_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_NTW_ADR_IRQ_EN_SHIFT)) & GENFSK_IRQ_CTRL_NTW_ADR_IRQ_EN_MASK) 24181 #define GENFSK_IRQ_CTRL_T1_IRQ_EN_MASK (0x100000U) 24182 #define GENFSK_IRQ_CTRL_T1_IRQ_EN_SHIFT (20U) 24183 /*! T1_IRQ_EN - T1_IRQ Enable 24184 * 0b0..Timer1 (T1) Compare Interrupt is not enabled. 24185 * 0b1..Timer1 (T1) Compare Interrupt is enabled. 24186 */ 24187 #define GENFSK_IRQ_CTRL_T1_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_T1_IRQ_EN_SHIFT)) & GENFSK_IRQ_CTRL_T1_IRQ_EN_MASK) 24188 #define GENFSK_IRQ_CTRL_T2_IRQ_EN_MASK (0x200000U) 24189 #define GENFSK_IRQ_CTRL_T2_IRQ_EN_SHIFT (21U) 24190 /*! T2_IRQ_EN - T2_IRQ Enable 24191 * 0b0..Timer1 (T2) Compare Interrupt is not enabled. 24192 * 0b1..Timer1 (T2) Compare Interrupt is enabled. 24193 */ 24194 #define GENFSK_IRQ_CTRL_T2_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_T2_IRQ_EN_SHIFT)) & GENFSK_IRQ_CTRL_T2_IRQ_EN_MASK) 24195 #define GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ_EN_MASK (0x400000U) 24196 #define GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ_EN_SHIFT (22U) 24197 /*! PLL_UNLOCK_IRQ_EN - PLL_UNLOCK_IRQ Enable 24198 * 0b0..PLL Unlock Interrupt is not enabled. 24199 * 0b1..PLL Unlock Interrupt is enabled. 24200 */ 24201 #define GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ_EN_SHIFT)) & GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ_EN_MASK) 24202 #define GENFSK_IRQ_CTRL_WAKE_IRQ_EN_MASK (0x800000U) 24203 #define GENFSK_IRQ_CTRL_WAKE_IRQ_EN_SHIFT (23U) 24204 /*! WAKE_IRQ_EN - WAKE_IRQ Enable 24205 * 0b0..Wake Interrupt is not enabled. 24206 * 0b1..Wake Interrupt is enabled. 24207 */ 24208 #define GENFSK_IRQ_CTRL_WAKE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_WAKE_IRQ_EN_SHIFT)) & GENFSK_IRQ_CTRL_WAKE_IRQ_EN_MASK) 24209 #define GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ_EN_MASK (0x1000000U) 24210 #define GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ_EN_SHIFT (24U) 24211 /*! RX_WATERMARK_IRQ_EN - RX_WATERMARK_IRQ Enable 24212 * 0b0..RX Watermark Interrupt is not enabled. 24213 * 0b1..RX Watermark Interrupt is enabled. 24214 */ 24215 #define GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ_EN_SHIFT)) & GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ_EN_MASK) 24216 #define GENFSK_IRQ_CTRL_TSM_IRQ_EN_MASK (0x2000000U) 24217 #define GENFSK_IRQ_CTRL_TSM_IRQ_EN_SHIFT (25U) 24218 /*! TSM_IRQ_EN - TSM_IRQ Enable 24219 * 0b0..TSM Interrupt is not enabled. 24220 * 0b1..TSM Interrupt is enabled. 24221 */ 24222 #define GENFSK_IRQ_CTRL_TSM_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_TSM_IRQ_EN_SHIFT)) & GENFSK_IRQ_CTRL_TSM_IRQ_EN_MASK) 24223 #define GENFSK_IRQ_CTRL_GENERIC_FSK_IRQ_EN_MASK (0x4000000U) 24224 #define GENFSK_IRQ_CTRL_GENERIC_FSK_IRQ_EN_SHIFT (26U) 24225 /*! GENERIC_FSK_IRQ_EN - GENERIC_FSK_IRQ Master Enable 24226 * 0b0..All GENERIC_FSK Interrupts are disabled. 24227 * 0b1..All GENERIC_FSK Interrupts can be enabled. 24228 */ 24229 #define GENFSK_IRQ_CTRL_GENERIC_FSK_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_GENERIC_FSK_IRQ_EN_SHIFT)) & GENFSK_IRQ_CTRL_GENERIC_FSK_IRQ_EN_MASK) 24230 #define GENFSK_IRQ_CTRL_CRC_IGNORE_MASK (0x8000000U) 24231 #define GENFSK_IRQ_CTRL_CRC_IGNORE_SHIFT (27U) 24232 /*! CRC_IGNORE - CRC Ignore 24233 * 0b0..RX_IRQ will not be asserted for a received packet which fails CRC verification. 24234 * 0b1..RX_IRQ will be asserted even for a received packet which fails CRC verification. 24235 */ 24236 #define GENFSK_IRQ_CTRL_CRC_IGNORE(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_CRC_IGNORE_SHIFT)) & GENFSK_IRQ_CTRL_CRC_IGNORE_MASK) 24237 #define GENFSK_IRQ_CTRL_CRC_VALID_MASK (0x80000000U) 24238 #define GENFSK_IRQ_CTRL_CRC_VALID_SHIFT (31U) 24239 /*! CRC_VALID - CRC Valid 24240 * 0b0..CRC of RX packet is not valid. 24241 * 0b1..CRC of RX packet is valid. 24242 */ 24243 #define GENFSK_IRQ_CTRL_CRC_VALID(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_CRC_VALID_SHIFT)) & GENFSK_IRQ_CTRL_CRC_VALID_MASK) 24244 /*! @} */ 24245 24246 /*! @name EVENT_TMR - EVENT TIMER */ 24247 /*! @{ */ 24248 #define GENFSK_EVENT_TMR_EVENT_TMR_MASK (0xFFFFFFU) 24249 #define GENFSK_EVENT_TMR_EVENT_TMR_SHIFT (0U) 24250 #define GENFSK_EVENT_TMR_EVENT_TMR(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_EVENT_TMR_EVENT_TMR_SHIFT)) & GENFSK_EVENT_TMR_EVENT_TMR_MASK) 24251 #define GENFSK_EVENT_TMR_EVENT_TMR_LD_MASK (0x1000000U) 24252 #define GENFSK_EVENT_TMR_EVENT_TMR_LD_SHIFT (24U) 24253 #define GENFSK_EVENT_TMR_EVENT_TMR_LD(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_EVENT_TMR_EVENT_TMR_LD_SHIFT)) & GENFSK_EVENT_TMR_EVENT_TMR_LD_MASK) 24254 #define GENFSK_EVENT_TMR_EVENT_TMR_ADD_MASK (0x2000000U) 24255 #define GENFSK_EVENT_TMR_EVENT_TMR_ADD_SHIFT (25U) 24256 #define GENFSK_EVENT_TMR_EVENT_TMR_ADD(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_EVENT_TMR_EVENT_TMR_ADD_SHIFT)) & GENFSK_EVENT_TMR_EVENT_TMR_ADD_MASK) 24257 /*! @} */ 24258 24259 /*! @name T1_CMP - T1 COMPARE */ 24260 /*! @{ */ 24261 #define GENFSK_T1_CMP_T1_CMP_MASK (0xFFFFFFU) 24262 #define GENFSK_T1_CMP_T1_CMP_SHIFT (0U) 24263 #define GENFSK_T1_CMP_T1_CMP(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_T1_CMP_T1_CMP_SHIFT)) & GENFSK_T1_CMP_T1_CMP_MASK) 24264 #define GENFSK_T1_CMP_T1_CMP_EN_MASK (0x1000000U) 24265 #define GENFSK_T1_CMP_T1_CMP_EN_SHIFT (24U) 24266 #define GENFSK_T1_CMP_T1_CMP_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_T1_CMP_T1_CMP_EN_SHIFT)) & GENFSK_T1_CMP_T1_CMP_EN_MASK) 24267 /*! @} */ 24268 24269 /*! @name T2_CMP - T2 COMPARE */ 24270 /*! @{ */ 24271 #define GENFSK_T2_CMP_T2_CMP_MASK (0xFFFFFFU) 24272 #define GENFSK_T2_CMP_T2_CMP_SHIFT (0U) 24273 #define GENFSK_T2_CMP_T2_CMP(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_T2_CMP_T2_CMP_SHIFT)) & GENFSK_T2_CMP_T2_CMP_MASK) 24274 #define GENFSK_T2_CMP_T2_CMP_EN_MASK (0x1000000U) 24275 #define GENFSK_T2_CMP_T2_CMP_EN_SHIFT (24U) 24276 #define GENFSK_T2_CMP_T2_CMP_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_T2_CMP_T2_CMP_EN_SHIFT)) & GENFSK_T2_CMP_T2_CMP_EN_MASK) 24277 /*! @} */ 24278 24279 /*! @name TIMESTAMP - TIMESTAMP */ 24280 /*! @{ */ 24281 #define GENFSK_TIMESTAMP_TIMESTAMP_MASK (0xFFFFFFU) 24282 #define GENFSK_TIMESTAMP_TIMESTAMP_SHIFT (0U) 24283 #define GENFSK_TIMESTAMP_TIMESTAMP(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_TIMESTAMP_TIMESTAMP_SHIFT)) & GENFSK_TIMESTAMP_TIMESTAMP_MASK) 24284 /*! @} */ 24285 24286 /*! @name XCVR_CTRL - TRANSCEIVER CONTROL */ 24287 /*! @{ */ 24288 #define GENFSK_XCVR_CTRL_SEQCMD_MASK (0xFU) 24289 #define GENFSK_XCVR_CTRL_SEQCMD_SHIFT (0U) 24290 /*! SEQCMD - Sequence Commands 24291 * 0b0000..No Action 24292 * 0b0001..TX Start Now 24293 * 0b0010..TX Start @ T1 Timer Compare Match (EVENT_TMR = T1_CMP) 24294 * 0b0011..TX Start @ T2 Timer Compare Match (EVENT_TMR = T2_CMP) 24295 * 0b0100..TX Cancel -- Cancels pending TX events but do not abort a TX-in-progress 24296 * 0b0101..RX Start Now 24297 * 0b0110..RX Start @ T1 Timer Compare Match (EVENT_TMR = T1_CMP) 24298 * 0b0111..RX Start @ T2 Timer Compare Match (EVENT_TMR = T2_CMP) 24299 * 0b1000..RX Stop @ T1 Timer Compare Match (EVENT_TMR = T1_CMP) 24300 * 0b1001..RX Stop @ T2 Timer Compare Match (EVENT_TMR = T2_CMP) 24301 * 0b1010..RX Cancel -- Cancels pending RX events but do not abort a RX-in-progress 24302 * 0b1011..Abort All - Cancels all pending events and abort any sequence-in-progress 24303 * 0b1100..Reserved 24304 * 0b1101..Reserved 24305 * 0b1110..Reserved 24306 * 0b1111..Reserved 24307 */ 24308 #define GENFSK_XCVR_CTRL_SEQCMD(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CTRL_SEQCMD_SHIFT)) & GENFSK_XCVR_CTRL_SEQCMD_MASK) 24309 #define GENFSK_XCVR_CTRL_LENGTH_EXT_MASK (0x7FF00U) 24310 #define GENFSK_XCVR_CTRL_LENGTH_EXT_SHIFT (8U) 24311 #define GENFSK_XCVR_CTRL_LENGTH_EXT(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CTRL_LENGTH_EXT_SHIFT)) & GENFSK_XCVR_CTRL_LENGTH_EXT_MASK) 24312 #define GENFSK_XCVR_CTRL_CMDDEC_CS_MASK (0x7000000U) 24313 #define GENFSK_XCVR_CTRL_CMDDEC_CS_SHIFT (24U) 24314 #define GENFSK_XCVR_CTRL_CMDDEC_CS(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CTRL_CMDDEC_CS_SHIFT)) & GENFSK_XCVR_CTRL_CMDDEC_CS_MASK) 24315 #define GENFSK_XCVR_CTRL_XCVR_BUSY_MASK (0x80000000U) 24316 #define GENFSK_XCVR_CTRL_XCVR_BUSY_SHIFT (31U) 24317 /*! XCVR_BUSY - Transceiver Busy 24318 * 0b0..IDLE 24319 * 0b1..BUSY 24320 */ 24321 #define GENFSK_XCVR_CTRL_XCVR_BUSY(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CTRL_XCVR_BUSY_SHIFT)) & GENFSK_XCVR_CTRL_XCVR_BUSY_MASK) 24322 /*! @} */ 24323 24324 /*! @name XCVR_STS - TRANSCEIVER STATUS */ 24325 /*! @{ */ 24326 #define GENFSK_XCVR_STS_TX_START_T1_PEND_MASK (0x1U) 24327 #define GENFSK_XCVR_STS_TX_START_T1_PEND_SHIFT (0U) 24328 #define GENFSK_XCVR_STS_TX_START_T1_PEND(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_TX_START_T1_PEND_SHIFT)) & GENFSK_XCVR_STS_TX_START_T1_PEND_MASK) 24329 #define GENFSK_XCVR_STS_TX_START_T2_PEND_MASK (0x2U) 24330 #define GENFSK_XCVR_STS_TX_START_T2_PEND_SHIFT (1U) 24331 #define GENFSK_XCVR_STS_TX_START_T2_PEND(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_TX_START_T2_PEND_SHIFT)) & GENFSK_XCVR_STS_TX_START_T2_PEND_MASK) 24332 #define GENFSK_XCVR_STS_TX_IN_WARMUP_MASK (0x4U) 24333 #define GENFSK_XCVR_STS_TX_IN_WARMUP_SHIFT (2U) 24334 #define GENFSK_XCVR_STS_TX_IN_WARMUP(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_TX_IN_WARMUP_SHIFT)) & GENFSK_XCVR_STS_TX_IN_WARMUP_MASK) 24335 #define GENFSK_XCVR_STS_TX_IN_PROGRESS_MASK (0x8U) 24336 #define GENFSK_XCVR_STS_TX_IN_PROGRESS_SHIFT (3U) 24337 #define GENFSK_XCVR_STS_TX_IN_PROGRESS(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_TX_IN_PROGRESS_SHIFT)) & GENFSK_XCVR_STS_TX_IN_PROGRESS_MASK) 24338 #define GENFSK_XCVR_STS_TX_IN_WARMDN_MASK (0x10U) 24339 #define GENFSK_XCVR_STS_TX_IN_WARMDN_SHIFT (4U) 24340 #define GENFSK_XCVR_STS_TX_IN_WARMDN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_TX_IN_WARMDN_SHIFT)) & GENFSK_XCVR_STS_TX_IN_WARMDN_MASK) 24341 #define GENFSK_XCVR_STS_RX_START_T1_PEND_MASK (0x20U) 24342 #define GENFSK_XCVR_STS_RX_START_T1_PEND_SHIFT (5U) 24343 #define GENFSK_XCVR_STS_RX_START_T1_PEND(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_RX_START_T1_PEND_SHIFT)) & GENFSK_XCVR_STS_RX_START_T1_PEND_MASK) 24344 #define GENFSK_XCVR_STS_RX_START_T2_PEND_MASK (0x40U) 24345 #define GENFSK_XCVR_STS_RX_START_T2_PEND_SHIFT (6U) 24346 #define GENFSK_XCVR_STS_RX_START_T2_PEND(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_RX_START_T2_PEND_SHIFT)) & GENFSK_XCVR_STS_RX_START_T2_PEND_MASK) 24347 #define GENFSK_XCVR_STS_RX_STOP_T1_PEND_MASK (0x80U) 24348 #define GENFSK_XCVR_STS_RX_STOP_T1_PEND_SHIFT (7U) 24349 #define GENFSK_XCVR_STS_RX_STOP_T1_PEND(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_RX_STOP_T1_PEND_SHIFT)) & GENFSK_XCVR_STS_RX_STOP_T1_PEND_MASK) 24350 #define GENFSK_XCVR_STS_RX_STOP_T2_PEND_MASK (0x100U) 24351 #define GENFSK_XCVR_STS_RX_STOP_T2_PEND_SHIFT (8U) 24352 #define GENFSK_XCVR_STS_RX_STOP_T2_PEND(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_RX_STOP_T2_PEND_SHIFT)) & GENFSK_XCVR_STS_RX_STOP_T2_PEND_MASK) 24353 #define GENFSK_XCVR_STS_RX_IN_WARMUP_MASK (0x200U) 24354 #define GENFSK_XCVR_STS_RX_IN_WARMUP_SHIFT (9U) 24355 #define GENFSK_XCVR_STS_RX_IN_WARMUP(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_RX_IN_WARMUP_SHIFT)) & GENFSK_XCVR_STS_RX_IN_WARMUP_MASK) 24356 #define GENFSK_XCVR_STS_RX_IN_SEARCH_MASK (0x400U) 24357 #define GENFSK_XCVR_STS_RX_IN_SEARCH_SHIFT (10U) 24358 #define GENFSK_XCVR_STS_RX_IN_SEARCH(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_RX_IN_SEARCH_SHIFT)) & GENFSK_XCVR_STS_RX_IN_SEARCH_MASK) 24359 #define GENFSK_XCVR_STS_RX_IN_PROGRESS_MASK (0x800U) 24360 #define GENFSK_XCVR_STS_RX_IN_PROGRESS_SHIFT (11U) 24361 #define GENFSK_XCVR_STS_RX_IN_PROGRESS(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_RX_IN_PROGRESS_SHIFT)) & GENFSK_XCVR_STS_RX_IN_PROGRESS_MASK) 24362 #define GENFSK_XCVR_STS_RX_IN_WARMDN_MASK (0x1000U) 24363 #define GENFSK_XCVR_STS_RX_IN_WARMDN_SHIFT (12U) 24364 #define GENFSK_XCVR_STS_RX_IN_WARMDN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_RX_IN_WARMDN_SHIFT)) & GENFSK_XCVR_STS_RX_IN_WARMDN_MASK) 24365 #define GENFSK_XCVR_STS_LQI_VALID_MASK (0x4000U) 24366 #define GENFSK_XCVR_STS_LQI_VALID_SHIFT (14U) 24367 /*! LQI_VALID - LQI Valid Indicator 24368 * 0b0..LQI is not yet valid for RX packet. 24369 * 0b1..LQI is valid for RX packet. 24370 */ 24371 #define GENFSK_XCVR_STS_LQI_VALID(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_LQI_VALID_SHIFT)) & GENFSK_XCVR_STS_LQI_VALID_MASK) 24372 #define GENFSK_XCVR_STS_CRC_VALID_MASK (0x8000U) 24373 #define GENFSK_XCVR_STS_CRC_VALID_SHIFT (15U) 24374 /*! CRC_VALID - CRC Valid Indicator 24375 * 0b0..CRC is not valid for RX packet. 24376 * 0b1..CRC is valid for RX packet. 24377 */ 24378 #define GENFSK_XCVR_STS_CRC_VALID(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_CRC_VALID_SHIFT)) & GENFSK_XCVR_STS_CRC_VALID_MASK) 24379 #define GENFSK_XCVR_STS_RSSI_MASK (0xFF0000U) 24380 #define GENFSK_XCVR_STS_RSSI_SHIFT (16U) 24381 #define GENFSK_XCVR_STS_RSSI(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_RSSI_SHIFT)) & GENFSK_XCVR_STS_RSSI_MASK) 24382 #define GENFSK_XCVR_STS_LQI_MASK (0xFF000000U) 24383 #define GENFSK_XCVR_STS_LQI_SHIFT (24U) 24384 #define GENFSK_XCVR_STS_LQI(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_LQI_SHIFT)) & GENFSK_XCVR_STS_LQI_MASK) 24385 /*! @} */ 24386 24387 /*! @name XCVR_CFG - TRANSCEIVER CONFIGURATION */ 24388 /*! @{ */ 24389 #define GENFSK_XCVR_CFG_TX_WHITEN_DIS_MASK (0x1U) 24390 #define GENFSK_XCVR_CFG_TX_WHITEN_DIS_SHIFT (0U) 24391 #define GENFSK_XCVR_CFG_TX_WHITEN_DIS(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CFG_TX_WHITEN_DIS_SHIFT)) & GENFSK_XCVR_CFG_TX_WHITEN_DIS_MASK) 24392 #define GENFSK_XCVR_CFG_RX_DEWHITEN_DIS_MASK (0x2U) 24393 #define GENFSK_XCVR_CFG_RX_DEWHITEN_DIS_SHIFT (1U) 24394 #define GENFSK_XCVR_CFG_RX_DEWHITEN_DIS(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CFG_RX_DEWHITEN_DIS_SHIFT)) & GENFSK_XCVR_CFG_RX_DEWHITEN_DIS_MASK) 24395 #define GENFSK_XCVR_CFG_SW_CRC_EN_MASK (0x4U) 24396 #define GENFSK_XCVR_CFG_SW_CRC_EN_SHIFT (2U) 24397 #define GENFSK_XCVR_CFG_SW_CRC_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CFG_SW_CRC_EN_SHIFT)) & GENFSK_XCVR_CFG_SW_CRC_EN_MASK) 24398 #define GENFSK_XCVR_CFG_STOP_POSTPONE_ON_AA_MASK (0x8U) 24399 #define GENFSK_XCVR_CFG_STOP_POSTPONE_ON_AA_SHIFT (3U) 24400 /*! STOP_POSTPONE_ON_AA - Postpone Stop Command Timeout On Access Address Match Enable 24401 * 0b0..STOP Abort will occur on RX_STOP_T1 or RX_STOP_T1 Event Timer match, regardless of ntw_adr_matched 24402 * 0b1..STOP Abort will be deferred on RX_STOP_T1 or RX_STOP_T1 Event Timer match, if ntw_adr_matched is asserted; otherwise the RX_STOP Abort will occur immediately 24403 */ 24404 #define GENFSK_XCVR_CFG_STOP_POSTPONE_ON_AA(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CFG_STOP_POSTPONE_ON_AA_SHIFT)) & GENFSK_XCVR_CFG_STOP_POSTPONE_ON_AA_MASK) 24405 #define GENFSK_XCVR_CFG_PREAMBLE_SZ_MASK (0x70U) 24406 #define GENFSK_XCVR_CFG_PREAMBLE_SZ_SHIFT (4U) 24407 #define GENFSK_XCVR_CFG_PREAMBLE_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CFG_PREAMBLE_SZ_SHIFT)) & GENFSK_XCVR_CFG_PREAMBLE_SZ_MASK) 24408 #define GENFSK_XCVR_CFG_TX_WARMUP_MASK (0xFF00U) 24409 #define GENFSK_XCVR_CFG_TX_WARMUP_SHIFT (8U) 24410 #define GENFSK_XCVR_CFG_TX_WARMUP(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CFG_TX_WARMUP_SHIFT)) & GENFSK_XCVR_CFG_TX_WARMUP_MASK) 24411 #define GENFSK_XCVR_CFG_RX_WARMUP_MASK (0xFF0000U) 24412 #define GENFSK_XCVR_CFG_RX_WARMUP_SHIFT (16U) 24413 #define GENFSK_XCVR_CFG_RX_WARMUP(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CFG_RX_WARMUP_SHIFT)) & GENFSK_XCVR_CFG_RX_WARMUP_MASK) 24414 /*! @} */ 24415 24416 /*! @name CHANNEL_NUM - CHANNEL NUMBER */ 24417 /*! @{ */ 24418 #define GENFSK_CHANNEL_NUM_CHANNEL_NUM_MASK (0x7FU) 24419 #define GENFSK_CHANNEL_NUM_CHANNEL_NUM_SHIFT (0U) 24420 #define GENFSK_CHANNEL_NUM_CHANNEL_NUM(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_CHANNEL_NUM_CHANNEL_NUM_SHIFT)) & GENFSK_CHANNEL_NUM_CHANNEL_NUM_MASK) 24421 /*! @} */ 24422 24423 /*! @name TX_POWER - TRANSMIT POWER */ 24424 /*! @{ */ 24425 #define GENFSK_TX_POWER_TX_POWER_MASK (0x3FU) 24426 #define GENFSK_TX_POWER_TX_POWER_SHIFT (0U) 24427 #define GENFSK_TX_POWER_TX_POWER(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_TX_POWER_TX_POWER_SHIFT)) & GENFSK_TX_POWER_TX_POWER_MASK) 24428 /*! @} */ 24429 24430 /*! @name NTW_ADR_CTRL - NETWORK ADDRESS CONTROL */ 24431 /*! @{ */ 24432 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_EN_MASK (0xFU) 24433 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_EN_SHIFT (0U) 24434 /*! NTW_ADR_EN - Network Address Enable 24435 * 0b0001..Enable Network Address 0 for correlation 24436 * 0b0010..Enable Network Address 1 for correlation 24437 * 0b0100..Enable Network Address 2 for correlation 24438 * 0b1000..Enable Network Address 3 for correlation 24439 */ 24440 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_CTRL_NTW_ADR_EN_SHIFT)) & GENFSK_NTW_ADR_CTRL_NTW_ADR_EN_MASK) 24441 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_MCH_MASK (0xF0U) 24442 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_MCH_SHIFT (4U) 24443 /*! NTW_ADR_MCH - Network Address Match 24444 * 0b0001..Network Address 0 has matched 24445 * 0b0010..Network Address 1 has matched 24446 * 0b0100..Network Address 2 has matched 24447 * 0b1000..Network Address 3 has matched 24448 */ 24449 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_MCH(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_CTRL_NTW_ADR_MCH_SHIFT)) & GENFSK_NTW_ADR_CTRL_NTW_ADR_MCH_MASK) 24450 #define GENFSK_NTW_ADR_CTRL_NTW_ADR0_SZ_MASK (0x300U) 24451 #define GENFSK_NTW_ADR_CTRL_NTW_ADR0_SZ_SHIFT (8U) 24452 /*! NTW_ADR0_SZ - Network Address 0 Size 24453 * 0b00..Network Address 0 requires a 8-bit correlation 24454 * 0b01..Network Address 0 requires a 16-bit correlation 24455 * 0b10..Network Address 0 requires a 24-bit correlation 24456 * 0b11..Network Address 0 requires a 32-bit correlation 24457 */ 24458 #define GENFSK_NTW_ADR_CTRL_NTW_ADR0_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_CTRL_NTW_ADR0_SZ_SHIFT)) & GENFSK_NTW_ADR_CTRL_NTW_ADR0_SZ_MASK) 24459 #define GENFSK_NTW_ADR_CTRL_NTW_ADR1_SZ_MASK (0xC00U) 24460 #define GENFSK_NTW_ADR_CTRL_NTW_ADR1_SZ_SHIFT (10U) 24461 /*! NTW_ADR1_SZ - Network Address 1 Size 24462 * 0b00..Network Address 1 requires a 8-bit correlation 24463 * 0b01..Network Address 1 requires a 16-bit correlation 24464 * 0b10..Network Address 1 requires a 24-bit correlation 24465 * 0b11..Network Address 1 requires a 32-bit correlation 24466 */ 24467 #define GENFSK_NTW_ADR_CTRL_NTW_ADR1_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_CTRL_NTW_ADR1_SZ_SHIFT)) & GENFSK_NTW_ADR_CTRL_NTW_ADR1_SZ_MASK) 24468 #define GENFSK_NTW_ADR_CTRL_NTW_ADR2_SZ_MASK (0x3000U) 24469 #define GENFSK_NTW_ADR_CTRL_NTW_ADR2_SZ_SHIFT (12U) 24470 /*! NTW_ADR2_SZ - Network Address 2 Size 24471 * 0b00..Network Address 2 requires a 8-bit correlation 24472 * 0b01..Network Address 2 requires a 16-bit correlation 24473 * 0b10..Network Address 2 requires a 24-bit correlation 24474 * 0b11..Network Address 2 requires a 32-bit correlation 24475 */ 24476 #define GENFSK_NTW_ADR_CTRL_NTW_ADR2_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_CTRL_NTW_ADR2_SZ_SHIFT)) & GENFSK_NTW_ADR_CTRL_NTW_ADR2_SZ_MASK) 24477 #define GENFSK_NTW_ADR_CTRL_NTW_ADR3_SZ_MASK (0xC000U) 24478 #define GENFSK_NTW_ADR_CTRL_NTW_ADR3_SZ_SHIFT (14U) 24479 /*! NTW_ADR3_SZ - Network Address 3 Size 24480 * 0b00..Network Address 3 requires a 8-bit correlation 24481 * 0b01..Network Address 3 requires a 16-bit correlation 24482 * 0b10..Network Address 3 requires a 24-bit correlation 24483 * 0b11..Network Address 3 requires a 32-bit correlation 24484 */ 24485 #define GENFSK_NTW_ADR_CTRL_NTW_ADR3_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_CTRL_NTW_ADR3_SZ_SHIFT)) & GENFSK_NTW_ADR_CTRL_NTW_ADR3_SZ_MASK) 24486 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR0_MASK (0x70000U) 24487 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR0_SHIFT (16U) 24488 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR0(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_CTRL_NTW_ADR_THR0_SHIFT)) & GENFSK_NTW_ADR_CTRL_NTW_ADR_THR0_MASK) 24489 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR1_MASK (0x700000U) 24490 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR1_SHIFT (20U) 24491 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR1(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_CTRL_NTW_ADR_THR1_SHIFT)) & GENFSK_NTW_ADR_CTRL_NTW_ADR_THR1_MASK) 24492 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR2_MASK (0x7000000U) 24493 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR2_SHIFT (24U) 24494 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR2(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_CTRL_NTW_ADR_THR2_SHIFT)) & GENFSK_NTW_ADR_CTRL_NTW_ADR_THR2_MASK) 24495 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR3_MASK (0x70000000U) 24496 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR3_SHIFT (28U) 24497 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR3(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_CTRL_NTW_ADR_THR3_SHIFT)) & GENFSK_NTW_ADR_CTRL_NTW_ADR_THR3_MASK) 24498 /*! @} */ 24499 24500 /*! @name NTW_ADR_0 - NETWORK ADDRESS 0 */ 24501 /*! @{ */ 24502 #define GENFSK_NTW_ADR_0_NTW_ADR_0_MASK (0xFFFFFFFFU) 24503 #define GENFSK_NTW_ADR_0_NTW_ADR_0_SHIFT (0U) 24504 #define GENFSK_NTW_ADR_0_NTW_ADR_0(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_0_NTW_ADR_0_SHIFT)) & GENFSK_NTW_ADR_0_NTW_ADR_0_MASK) 24505 /*! @} */ 24506 24507 /*! @name NTW_ADR_1 - NETWORK ADDRESS 1 */ 24508 /*! @{ */ 24509 #define GENFSK_NTW_ADR_1_NTW_ADR_1_MASK (0xFFFFFFFFU) 24510 #define GENFSK_NTW_ADR_1_NTW_ADR_1_SHIFT (0U) 24511 #define GENFSK_NTW_ADR_1_NTW_ADR_1(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_1_NTW_ADR_1_SHIFT)) & GENFSK_NTW_ADR_1_NTW_ADR_1_MASK) 24512 /*! @} */ 24513 24514 /*! @name NTW_ADR_2 - NETWORK ADDRESS 2 */ 24515 /*! @{ */ 24516 #define GENFSK_NTW_ADR_2_NTW_ADR_2_MASK (0xFFFFFFFFU) 24517 #define GENFSK_NTW_ADR_2_NTW_ADR_2_SHIFT (0U) 24518 #define GENFSK_NTW_ADR_2_NTW_ADR_2(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_2_NTW_ADR_2_SHIFT)) & GENFSK_NTW_ADR_2_NTW_ADR_2_MASK) 24519 /*! @} */ 24520 24521 /*! @name NTW_ADR_3 - NETWORK ADDRESS 3 */ 24522 /*! @{ */ 24523 #define GENFSK_NTW_ADR_3_NTW_ADR_3_MASK (0xFFFFFFFFU) 24524 #define GENFSK_NTW_ADR_3_NTW_ADR_3_SHIFT (0U) 24525 #define GENFSK_NTW_ADR_3_NTW_ADR_3(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_NTW_ADR_3_NTW_ADR_3_SHIFT)) & GENFSK_NTW_ADR_3_NTW_ADR_3_MASK) 24526 /*! @} */ 24527 24528 /*! @name RX_WATERMARK - RECEIVE WATERMARK */ 24529 /*! @{ */ 24530 #define GENFSK_RX_WATERMARK_RX_WATERMARK_MASK (0x1FFFU) 24531 #define GENFSK_RX_WATERMARK_RX_WATERMARK_SHIFT (0U) 24532 #define GENFSK_RX_WATERMARK_RX_WATERMARK(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_RX_WATERMARK_RX_WATERMARK_SHIFT)) & GENFSK_RX_WATERMARK_RX_WATERMARK_MASK) 24533 #define GENFSK_RX_WATERMARK_BYTE_COUNTER_MASK (0x1FFF0000U) 24534 #define GENFSK_RX_WATERMARK_BYTE_COUNTER_SHIFT (16U) 24535 #define GENFSK_RX_WATERMARK_BYTE_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_RX_WATERMARK_BYTE_COUNTER_SHIFT)) & GENFSK_RX_WATERMARK_BYTE_COUNTER_MASK) 24536 /*! @} */ 24537 24538 /*! @name DSM_CTRL - DSM CONTROL */ 24539 /*! @{ */ 24540 #define GENFSK_DSM_CTRL_GEN_SLEEP_REQUEST_MASK (0x1U) 24541 #define GENFSK_DSM_CTRL_GEN_SLEEP_REQUEST_SHIFT (0U) 24542 #define GENFSK_DSM_CTRL_GEN_SLEEP_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_DSM_CTRL_GEN_SLEEP_REQUEST_SHIFT)) & GENFSK_DSM_CTRL_GEN_SLEEP_REQUEST_MASK) 24543 /*! @} */ 24544 24545 /*! @name PART_ID - PART ID */ 24546 /*! @{ */ 24547 #define GENFSK_PART_ID_PART_ID_MASK (0xFFU) 24548 #define GENFSK_PART_ID_PART_ID_SHIFT (0U) 24549 #define GENFSK_PART_ID_PART_ID(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PART_ID_PART_ID_SHIFT)) & GENFSK_PART_ID_PART_ID_MASK) 24550 /*! @} */ 24551 24552 /*! @name PACKET_CFG - PACKET CONFIGURATION */ 24553 /*! @{ */ 24554 #define GENFSK_PACKET_CFG_LENGTH_SZ_MASK (0x1FU) 24555 #define GENFSK_PACKET_CFG_LENGTH_SZ_SHIFT (0U) 24556 #define GENFSK_PACKET_CFG_LENGTH_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_LENGTH_SZ_SHIFT)) & GENFSK_PACKET_CFG_LENGTH_SZ_MASK) 24557 #define GENFSK_PACKET_CFG_LENGTH_BIT_ORD_MASK (0x20U) 24558 #define GENFSK_PACKET_CFG_LENGTH_BIT_ORD_SHIFT (5U) 24559 /*! LENGTH_BIT_ORD - LENGTH Bit Order 24560 * 0b0..LS Bit First 24561 * 0b1..MS Bit First 24562 */ 24563 #define GENFSK_PACKET_CFG_LENGTH_BIT_ORD(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_LENGTH_BIT_ORD_SHIFT)) & GENFSK_PACKET_CFG_LENGTH_BIT_ORD_MASK) 24564 #define GENFSK_PACKET_CFG_SYNC_ADDR_SZ_MASK (0xC0U) 24565 #define GENFSK_PACKET_CFG_SYNC_ADDR_SZ_SHIFT (6U) 24566 #define GENFSK_PACKET_CFG_SYNC_ADDR_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_SYNC_ADDR_SZ_SHIFT)) & GENFSK_PACKET_CFG_SYNC_ADDR_SZ_MASK) 24567 #define GENFSK_PACKET_CFG_LENGTH_ADJ_MASK (0xFF00U) 24568 #define GENFSK_PACKET_CFG_LENGTH_ADJ_SHIFT (8U) 24569 #define GENFSK_PACKET_CFG_LENGTH_ADJ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_LENGTH_ADJ_SHIFT)) & GENFSK_PACKET_CFG_LENGTH_ADJ_MASK) 24570 #define GENFSK_PACKET_CFG_H0_SZ_MASK (0x1F0000U) 24571 #define GENFSK_PACKET_CFG_H0_SZ_SHIFT (16U) 24572 #define GENFSK_PACKET_CFG_H0_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_H0_SZ_SHIFT)) & GENFSK_PACKET_CFG_H0_SZ_MASK) 24573 #define GENFSK_PACKET_CFG_LENGTH_ADJ_UNSIGNED_MASK (0x200000U) 24574 #define GENFSK_PACKET_CFG_LENGTH_ADJ_UNSIGNED_SHIFT (21U) 24575 /*! LENGTH_ADJ_UNSIGNED - Length Adjustment Unsigned Enabled 24576 * 0b0..Hardware interprets LENGTH_ADJ as a signed integer (default) 24577 * 0b1..Hardware interprets LENGTH_ADJ as a unsigned integer 24578 */ 24579 #define GENFSK_PACKET_CFG_LENGTH_ADJ_UNSIGNED(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_LENGTH_ADJ_UNSIGNED_SHIFT)) & GENFSK_PACKET_CFG_LENGTH_ADJ_UNSIGNED_MASK) 24580 #define GENFSK_PACKET_CFG_H1_SZ_MASK (0x1F000000U) 24581 #define GENFSK_PACKET_CFG_H1_SZ_SHIFT (24U) 24582 #define GENFSK_PACKET_CFG_H1_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_H1_SZ_SHIFT)) & GENFSK_PACKET_CFG_H1_SZ_MASK) 24583 #define GENFSK_PACKET_CFG_H1_FAIL_MASK (0x20000000U) 24584 #define GENFSK_PACKET_CFG_H1_FAIL_SHIFT (29U) 24585 #define GENFSK_PACKET_CFG_H1_FAIL(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_H1_FAIL_SHIFT)) & GENFSK_PACKET_CFG_H1_FAIL_MASK) 24586 #define GENFSK_PACKET_CFG_H0_FAIL_MASK (0x40000000U) 24587 #define GENFSK_PACKET_CFG_H0_FAIL_SHIFT (30U) 24588 #define GENFSK_PACKET_CFG_H0_FAIL(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_H0_FAIL_SHIFT)) & GENFSK_PACKET_CFG_H0_FAIL_MASK) 24589 #define GENFSK_PACKET_CFG_LENGTH_FAIL_MASK (0x80000000U) 24590 #define GENFSK_PACKET_CFG_LENGTH_FAIL_SHIFT (31U) 24591 #define GENFSK_PACKET_CFG_LENGTH_FAIL(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_LENGTH_FAIL_SHIFT)) & GENFSK_PACKET_CFG_LENGTH_FAIL_MASK) 24592 /*! @} */ 24593 24594 /*! @name H0_CFG - H0 CONFIGURATION */ 24595 /*! @{ */ 24596 #define GENFSK_H0_CFG_H0_MATCH_MASK (0xFFFFU) 24597 #define GENFSK_H0_CFG_H0_MATCH_SHIFT (0U) 24598 #define GENFSK_H0_CFG_H0_MATCH(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_H0_CFG_H0_MATCH_SHIFT)) & GENFSK_H0_CFG_H0_MATCH_MASK) 24599 #define GENFSK_H0_CFG_H0_MASK_MASK (0xFFFF0000U) 24600 #define GENFSK_H0_CFG_H0_MASK_SHIFT (16U) 24601 #define GENFSK_H0_CFG_H0_MASK(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_H0_CFG_H0_MASK_SHIFT)) & GENFSK_H0_CFG_H0_MASK_MASK) 24602 /*! @} */ 24603 24604 /*! @name H1_CFG - H1 CONFIGURATION */ 24605 /*! @{ */ 24606 #define GENFSK_H1_CFG_H1_MATCH_MASK (0xFFFFU) 24607 #define GENFSK_H1_CFG_H1_MATCH_SHIFT (0U) 24608 #define GENFSK_H1_CFG_H1_MATCH(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_H1_CFG_H1_MATCH_SHIFT)) & GENFSK_H1_CFG_H1_MATCH_MASK) 24609 #define GENFSK_H1_CFG_H1_MASK_MASK (0xFFFF0000U) 24610 #define GENFSK_H1_CFG_H1_MASK_SHIFT (16U) 24611 #define GENFSK_H1_CFG_H1_MASK(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_H1_CFG_H1_MASK_SHIFT)) & GENFSK_H1_CFG_H1_MASK_MASK) 24612 /*! @} */ 24613 24614 /*! @name CRC_CFG - CRC CONFIGURATION */ 24615 /*! @{ */ 24616 #define GENFSK_CRC_CFG_CRC_SZ_MASK (0x7U) 24617 #define GENFSK_CRC_CFG_CRC_SZ_SHIFT (0U) 24618 #define GENFSK_CRC_CFG_CRC_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_CRC_CFG_CRC_SZ_SHIFT)) & GENFSK_CRC_CFG_CRC_SZ_MASK) 24619 #define GENFSK_CRC_CFG_CRC_START_BYTE_MASK (0xF00U) 24620 #define GENFSK_CRC_CFG_CRC_START_BYTE_SHIFT (8U) 24621 #define GENFSK_CRC_CFG_CRC_START_BYTE(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_CRC_CFG_CRC_START_BYTE_SHIFT)) & GENFSK_CRC_CFG_CRC_START_BYTE_MASK) 24622 #define GENFSK_CRC_CFG_CRC_REF_IN_MASK (0x10000U) 24623 #define GENFSK_CRC_CFG_CRC_REF_IN_SHIFT (16U) 24624 /*! CRC_REF_IN - CRC Reflect In 24625 * 0b0..do not manipulate input data stream 24626 * 0b1..reflect each byte in the input stream bitwise 24627 */ 24628 #define GENFSK_CRC_CFG_CRC_REF_IN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_CRC_CFG_CRC_REF_IN_SHIFT)) & GENFSK_CRC_CFG_CRC_REF_IN_MASK) 24629 #define GENFSK_CRC_CFG_CRC_REF_OUT_MASK (0x20000U) 24630 #define GENFSK_CRC_CFG_CRC_REF_OUT_SHIFT (17U) 24631 /*! CRC_REF_OUT - CRC Reflect Out 24632 * 0b0..do not manipulate CRC result 24633 * 0b1..CRC result is to be reflected bitwise (operated on entire word) 24634 */ 24635 #define GENFSK_CRC_CFG_CRC_REF_OUT(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_CRC_CFG_CRC_REF_OUT_SHIFT)) & GENFSK_CRC_CFG_CRC_REF_OUT_MASK) 24636 #define GENFSK_CRC_CFG_CRC_BYTE_ORD_MASK (0x40000U) 24637 #define GENFSK_CRC_CFG_CRC_BYTE_ORD_SHIFT (18U) 24638 /*! CRC_BYTE_ORD - CRC Byte Order 24639 * 0b0..LS Byte First 24640 * 0b1..MS Byte First 24641 */ 24642 #define GENFSK_CRC_CFG_CRC_BYTE_ORD(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_CRC_CFG_CRC_BYTE_ORD_SHIFT)) & GENFSK_CRC_CFG_CRC_BYTE_ORD_MASK) 24643 /*! @} */ 24644 24645 /*! @name CRC_INIT - CRC INITIALIZATION */ 24646 /*! @{ */ 24647 #define GENFSK_CRC_INIT_CRC_SEED_MASK (0xFFFFFFFFU) 24648 #define GENFSK_CRC_INIT_CRC_SEED_SHIFT (0U) 24649 #define GENFSK_CRC_INIT_CRC_SEED(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_CRC_INIT_CRC_SEED_SHIFT)) & GENFSK_CRC_INIT_CRC_SEED_MASK) 24650 /*! @} */ 24651 24652 /*! @name CRC_POLY - CRC POLYNOMIAL */ 24653 /*! @{ */ 24654 #define GENFSK_CRC_POLY_CRC_POLY_MASK (0xFFFFFFFFU) 24655 #define GENFSK_CRC_POLY_CRC_POLY_SHIFT (0U) 24656 #define GENFSK_CRC_POLY_CRC_POLY(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_CRC_POLY_CRC_POLY_SHIFT)) & GENFSK_CRC_POLY_CRC_POLY_MASK) 24657 /*! @} */ 24658 24659 /*! @name CRC_XOR_OUT - CRC XOR OUT */ 24660 /*! @{ */ 24661 #define GENFSK_CRC_XOR_OUT_CRC_XOR_OUT_MASK (0xFFFFFFFFU) 24662 #define GENFSK_CRC_XOR_OUT_CRC_XOR_OUT_SHIFT (0U) 24663 #define GENFSK_CRC_XOR_OUT_CRC_XOR_OUT(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_CRC_XOR_OUT_CRC_XOR_OUT_SHIFT)) & GENFSK_CRC_XOR_OUT_CRC_XOR_OUT_MASK) 24664 /*! @} */ 24665 24666 /*! @name WHITEN_CFG - WHITENER CONFIGURATION */ 24667 /*! @{ */ 24668 #define GENFSK_WHITEN_CFG_WHITEN_START_MASK (0x3U) 24669 #define GENFSK_WHITEN_CFG_WHITEN_START_SHIFT (0U) 24670 /*! WHITEN_START - Configure Whitener Start Point 24671 * 0b00..no whitening 24672 * 0b01..start whitening at start-of-H0 24673 * 0b10..start whitening at start-of-H1 but only if LENGTH > WHITEN_SZ_THR 24674 * 0b11..start whitening at start-of-payload but only if LENGTH > WHITEN_SZ_THR 24675 */ 24676 #define GENFSK_WHITEN_CFG_WHITEN_START(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_WHITEN_START_SHIFT)) & GENFSK_WHITEN_CFG_WHITEN_START_MASK) 24677 #define GENFSK_WHITEN_CFG_WHITEN_END_MASK (0x4U) 24678 #define GENFSK_WHITEN_CFG_WHITEN_END_SHIFT (2U) 24679 /*! WHITEN_END - Configure end-of-whitening 24680 * 0b0..end whiten at end-of-payload 24681 * 0b1..end whiten at end-of-crc 24682 */ 24683 #define GENFSK_WHITEN_CFG_WHITEN_END(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_WHITEN_END_SHIFT)) & GENFSK_WHITEN_CFG_WHITEN_END_MASK) 24684 #define GENFSK_WHITEN_CFG_WHITEN_B4_CRC_MASK (0x8U) 24685 #define GENFSK_WHITEN_CFG_WHITEN_B4_CRC_SHIFT (3U) 24686 /*! WHITEN_B4_CRC - Congifure for Whitening-before-CRC 24687 * 0b0..CRC before whiten/de-whiten 24688 * 0b1..Whiten/de-whiten before CRC 24689 */ 24690 #define GENFSK_WHITEN_CFG_WHITEN_B4_CRC(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_WHITEN_B4_CRC_SHIFT)) & GENFSK_WHITEN_CFG_WHITEN_B4_CRC_MASK) 24691 #define GENFSK_WHITEN_CFG_WHITEN_POLY_TYPE_MASK (0x10U) 24692 #define GENFSK_WHITEN_CFG_WHITEN_POLY_TYPE_SHIFT (4U) 24693 #define GENFSK_WHITEN_CFG_WHITEN_POLY_TYPE(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_WHITEN_POLY_TYPE_SHIFT)) & GENFSK_WHITEN_CFG_WHITEN_POLY_TYPE_MASK) 24694 #define GENFSK_WHITEN_CFG_WHITEN_REF_IN_MASK (0x20U) 24695 #define GENFSK_WHITEN_CFG_WHITEN_REF_IN_SHIFT (5U) 24696 #define GENFSK_WHITEN_CFG_WHITEN_REF_IN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_WHITEN_REF_IN_SHIFT)) & GENFSK_WHITEN_CFG_WHITEN_REF_IN_MASK) 24697 #define GENFSK_WHITEN_CFG_WHITEN_PAYLOAD_REINIT_MASK (0x40U) 24698 #define GENFSK_WHITEN_CFG_WHITEN_PAYLOAD_REINIT_SHIFT (6U) 24699 /*! WHITEN_PAYLOAD_REINIT - Configure for Whitener re-initialization 24700 * 0b0..Don't re-initialize Whitener LFSR at start-of-payload 24701 * 0b1..Re-initialize Whitener LFSR at start-of-payload 24702 */ 24703 #define GENFSK_WHITEN_CFG_WHITEN_PAYLOAD_REINIT(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_WHITEN_PAYLOAD_REINIT_SHIFT)) & GENFSK_WHITEN_CFG_WHITEN_PAYLOAD_REINIT_MASK) 24704 #define GENFSK_WHITEN_CFG_WHITEN_SIZE_MASK (0xF00U) 24705 #define GENFSK_WHITEN_CFG_WHITEN_SIZE_SHIFT (8U) 24706 #define GENFSK_WHITEN_CFG_WHITEN_SIZE(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_WHITEN_SIZE_SHIFT)) & GENFSK_WHITEN_CFG_WHITEN_SIZE_MASK) 24707 #define GENFSK_WHITEN_CFG_MANCHESTER_EN_MASK (0x1000U) 24708 #define GENFSK_WHITEN_CFG_MANCHESTER_EN_SHIFT (12U) 24709 /*! MANCHESTER_EN - Configure for Manchester Encoding/Decoding 24710 * 0b0..Disable Manchester encoding (TX) and decoding (RX) 24711 * 0b1..Enable Manchester encoding (TX) and decoding (RX) 24712 */ 24713 #define GENFSK_WHITEN_CFG_MANCHESTER_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_MANCHESTER_EN_SHIFT)) & GENFSK_WHITEN_CFG_MANCHESTER_EN_MASK) 24714 #define GENFSK_WHITEN_CFG_MANCHESTER_INV_MASK (0x2000U) 24715 #define GENFSK_WHITEN_CFG_MANCHESTER_INV_SHIFT (13U) 24716 /*! MANCHESTER_INV - Configure for Inverted Manchester Encoding 24717 * 0b0..Manchester coding as per 802.3 24718 * 0b1..Manchester coding as per 802.3 but with the encoding signal inverted 24719 */ 24720 #define GENFSK_WHITEN_CFG_MANCHESTER_INV(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_MANCHESTER_INV_SHIFT)) & GENFSK_WHITEN_CFG_MANCHESTER_INV_MASK) 24721 #define GENFSK_WHITEN_CFG_MANCHESTER_START_MASK (0x4000U) 24722 #define GENFSK_WHITEN_CFG_MANCHESTER_START_SHIFT (14U) 24723 /*! MANCHESTER_START - Configure Manchester Encoding Start Point 24724 * 0b0..Start Manchester coding at start-of-payload 24725 * 0b1..Start Manchester coding at start-of-header 24726 */ 24727 #define GENFSK_WHITEN_CFG_MANCHESTER_START(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_MANCHESTER_START_SHIFT)) & GENFSK_WHITEN_CFG_MANCHESTER_START_MASK) 24728 #define GENFSK_WHITEN_CFG_WHITEN_INIT_MASK (0x1FF0000U) 24729 #define GENFSK_WHITEN_CFG_WHITEN_INIT_SHIFT (16U) 24730 #define GENFSK_WHITEN_CFG_WHITEN_INIT(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_WHITEN_INIT_SHIFT)) & GENFSK_WHITEN_CFG_WHITEN_INIT_MASK) 24731 /*! @} */ 24732 24733 /*! @name WHITEN_POLY - WHITENER POLYNOMIAL */ 24734 /*! @{ */ 24735 #define GENFSK_WHITEN_POLY_WHITEN_POLY_MASK (0x1FFU) 24736 #define GENFSK_WHITEN_POLY_WHITEN_POLY_SHIFT (0U) 24737 #define GENFSK_WHITEN_POLY_WHITEN_POLY(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_POLY_WHITEN_POLY_SHIFT)) & GENFSK_WHITEN_POLY_WHITEN_POLY_MASK) 24738 /*! @} */ 24739 24740 /*! @name WHITEN_SZ_THR - WHITENER SIZE THRESHOLD */ 24741 /*! @{ */ 24742 #define GENFSK_WHITEN_SZ_THR_WHITEN_SZ_THR_MASK (0xFFFU) 24743 #define GENFSK_WHITEN_SZ_THR_WHITEN_SZ_THR_SHIFT (0U) 24744 #define GENFSK_WHITEN_SZ_THR_WHITEN_SZ_THR(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_SZ_THR_WHITEN_SZ_THR_SHIFT)) & GENFSK_WHITEN_SZ_THR_WHITEN_SZ_THR_MASK) 24745 #define GENFSK_WHITEN_SZ_THR_LENGTH_MAX_MASK (0x7F0000U) 24746 #define GENFSK_WHITEN_SZ_THR_LENGTH_MAX_SHIFT (16U) 24747 #define GENFSK_WHITEN_SZ_THR_LENGTH_MAX(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_SZ_THR_LENGTH_MAX_SHIFT)) & GENFSK_WHITEN_SZ_THR_LENGTH_MAX_MASK) 24748 #define GENFSK_WHITEN_SZ_THR_REC_BAD_PKT_MASK (0x800000U) 24749 #define GENFSK_WHITEN_SZ_THR_REC_BAD_PKT_SHIFT (23U) 24750 /*! REC_BAD_PKT - Receive Bad Packets 24751 * 0b0..packets which fail H0, H1, or LENGTH_MAX result in an automatic recycle after the header is received and parsed 24752 * 0b1..packets which fail H0, H1, or LENGTH_MAX are received in their entirety 24753 */ 24754 #define GENFSK_WHITEN_SZ_THR_REC_BAD_PKT(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_SZ_THR_REC_BAD_PKT_SHIFT)) & GENFSK_WHITEN_SZ_THR_REC_BAD_PKT_MASK) 24755 /*! @} */ 24756 24757 /*! @name BITRATE - BIT RATE */ 24758 /*! @{ */ 24759 #define GENFSK_BITRATE_BITRATE_MASK (0x3U) 24760 #define GENFSK_BITRATE_BITRATE_SHIFT (0U) 24761 /*! BITRATE - Bit Rate 24762 * 0b00..1Mbit/sec 24763 * 0b01..500Kbit/sec 24764 * 0b10..250Kbit/sec (not supported if WHITEN_CFG[MANCHESTER_EN]=1) 24765 * 0b11..2Mbit/sec (not supported if WHITEN_CFG[MANCHESTER_EN]=1) 24766 */ 24767 #define GENFSK_BITRATE_BITRATE(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_BITRATE_BITRATE_SHIFT)) & GENFSK_BITRATE_BITRATE_MASK) 24768 /*! @} */ 24769 24770 /*! @name PB_PARTITION - PACKET BUFFER PARTITION POINT */ 24771 /*! @{ */ 24772 #define GENFSK_PB_PARTITION_PB_PARTITION_MASK (0x7FFU) 24773 #define GENFSK_PB_PARTITION_PB_PARTITION_SHIFT (0U) 24774 #define GENFSK_PB_PARTITION_PB_PARTITION(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PB_PARTITION_PB_PARTITION_SHIFT)) & GENFSK_PB_PARTITION_PB_PARTITION_MASK) 24775 /*! @} */ 24776 24777 /*! @name PACKET_BUFFER - PACKET BUFFER */ 24778 /*! @{ */ 24779 #define GENFSK_PACKET_BUFFER_PACKET_BUFFER_MASK (0xFFFFU) 24780 #define GENFSK_PACKET_BUFFER_PACKET_BUFFER_SHIFT (0U) 24781 #define GENFSK_PACKET_BUFFER_PACKET_BUFFER(x) (((uint16_t)(((uint16_t)(x)) << GENFSK_PACKET_BUFFER_PACKET_BUFFER_SHIFT)) & GENFSK_PACKET_BUFFER_PACKET_BUFFER_MASK) 24782 /*! @} */ 24783 24784 /* The count of GENFSK_PACKET_BUFFER */ 24785 #define GENFSK_PACKET_BUFFER_COUNT (1088U) 24786 24787 24788 /*! 24789 * @} 24790 */ /* end of group GENFSK_Register_Masks */ 24791 24792 24793 /* GENFSK - Peripheral instance base addresses */ 24794 /** Peripheral GENFSK base address */ 24795 #define GENFSK_BASE (0x41033000u) 24796 /** Peripheral GENFSK base pointer */ 24797 #define GENFSK ((GENFSK_Type *)GENFSK_BASE) 24798 /** Array initializer of GENFSK peripheral base addresses */ 24799 #define GENFSK_BASE_ADDRS { GENFSK_BASE } 24800 /** Array initializer of GENFSK peripheral base pointers */ 24801 #define GENFSK_BASE_PTRS { GENFSK } 24802 24803 /*! 24804 * @} 24805 */ /* end of group GENFSK_Peripheral_Access_Layer */ 24806 24807 24808 /*! 24809 * @addtogroup BTLE_RF_Peripheral_Access_Layer BTLE_RF Peripheral Access Layer 24810 * @{ 24811 */ 24812 24813 /** BTLE_RF - Register Layout Typedef */ 24814 typedef struct { 24815 uint8_t RESERVED_0[1536]; 24816 __I uint16_t BLE_PART_ID; /**< BLUETOOTH LOW ENERGY PART ID, offset: 0x600 */ 24817 uint8_t RESERVED_1[2]; 24818 __I uint16_t DSM_STATUS; /**< BLE DSM STATUS, offset: 0x604 */ 24819 uint8_t RESERVED_2[2]; 24820 __IO uint16_t MISC_CTRL; /**< BLE MISCELLANEOUS CONTROL, offset: 0x608 */ 24821 uint8_t RESERVED_3[2]; 24822 __I uint16_t BLE_FSM; /**< BLE STATE MACHINE STATUS, offset: 0x60C */ 24823 } BTLE_RF_Type; 24824 24825 /* ---------------------------------------------------------------------------- 24826 -- BTLE_RF Register Masks 24827 ---------------------------------------------------------------------------- */ 24828 24829 /*! 24830 * @addtogroup BTLE_RF_Register_Masks BTLE_RF Register Masks 24831 * @{ 24832 */ 24833 24834 /*! @name BLE_PART_ID - BLUETOOTH LOW ENERGY PART ID */ 24835 /*! @{ */ 24836 #define BTLE_RF_BLE_PART_ID_BLE_PART_ID_MASK (0xFFFFU) 24837 #define BTLE_RF_BLE_PART_ID_BLE_PART_ID_SHIFT (0U) 24838 /*! BLE_PART_ID - BLE Part ID 24839 * 0b0000000000000000..Pre-production 24840 * 0b0000000000000001..Pre-production 24841 * 0b0000000000000010..KW40 24842 * 0b0000000000000011..KW41 24843 * 0b0000000000000100..RV32M1 24844 * 0b0000000000000101..KW35/KW36 24845 */ 24846 #define BTLE_RF_BLE_PART_ID_BLE_PART_ID(x) (((uint16_t)(((uint16_t)(x)) << BTLE_RF_BLE_PART_ID_BLE_PART_ID_SHIFT)) & BTLE_RF_BLE_PART_ID_BLE_PART_ID_MASK) 24847 /*! @} */ 24848 24849 /*! @name DSM_STATUS - BLE DSM STATUS */ 24850 /*! @{ */ 24851 #define BTLE_RF_DSM_STATUS_ORF_SYSCLK_REQ_MASK (0x1U) 24852 #define BTLE_RF_DSM_STATUS_ORF_SYSCLK_REQ_SHIFT (0U) 24853 #define BTLE_RF_DSM_STATUS_ORF_SYSCLK_REQ(x) (((uint16_t)(((uint16_t)(x)) << BTLE_RF_DSM_STATUS_ORF_SYSCLK_REQ_SHIFT)) & BTLE_RF_DSM_STATUS_ORF_SYSCLK_REQ_MASK) 24854 #define BTLE_RF_DSM_STATUS_RIF_LL_ACTIVE_MASK (0x2U) 24855 #define BTLE_RF_DSM_STATUS_RIF_LL_ACTIVE_SHIFT (1U) 24856 #define BTLE_RF_DSM_STATUS_RIF_LL_ACTIVE(x) (((uint16_t)(((uint16_t)(x)) << BTLE_RF_DSM_STATUS_RIF_LL_ACTIVE_SHIFT)) & BTLE_RF_DSM_STATUS_RIF_LL_ACTIVE_MASK) 24857 #define BTLE_RF_DSM_STATUS_XCVR_BUSY_MASK (0x4U) 24858 #define BTLE_RF_DSM_STATUS_XCVR_BUSY_SHIFT (2U) 24859 /*! XCVR_BUSY - Transceiver Busy Status Bit 24860 * 0b0..RF Channel in available (TSM is idle) 24861 * 0b1..RF Channel in use (TSM is busy) 24862 */ 24863 #define BTLE_RF_DSM_STATUS_XCVR_BUSY(x) (((uint16_t)(((uint16_t)(x)) << BTLE_RF_DSM_STATUS_XCVR_BUSY_SHIFT)) & BTLE_RF_DSM_STATUS_XCVR_BUSY_MASK) 24864 /*! @} */ 24865 24866 /*! @name MISC_CTRL - BLE MISCELLANEOUS CONTROL */ 24867 /*! @{ */ 24868 #define BTLE_RF_MISC_CTRL_TSM_INTR_EN_MASK (0x2U) 24869 #define BTLE_RF_MISC_CTRL_TSM_INTR_EN_SHIFT (1U) 24870 #define BTLE_RF_MISC_CTRL_TSM_INTR_EN(x) (((uint16_t)(((uint16_t)(x)) << BTLE_RF_MISC_CTRL_TSM_INTR_EN_SHIFT)) & BTLE_RF_MISC_CTRL_TSM_INTR_EN_MASK) 24871 #define BTLE_RF_MISC_CTRL_BLE_FSM_SEL_MASK (0x1CU) 24872 #define BTLE_RF_MISC_CTRL_BLE_FSM_SEL_SHIFT (2U) 24873 #define BTLE_RF_MISC_CTRL_BLE_FSM_SEL(x) (((uint16_t)(((uint16_t)(x)) << BTLE_RF_MISC_CTRL_BLE_FSM_SEL_SHIFT)) & BTLE_RF_MISC_CTRL_BLE_FSM_SEL_MASK) 24874 /*! @} */ 24875 24876 /*! @name BLE_FSM - BLE STATE MACHINE STATUS */ 24877 /*! @{ */ 24878 #define BTLE_RF_BLE_FSM_VAR_CS_MASK (0x1FU) 24879 #define BTLE_RF_BLE_FSM_VAR_CS_SHIFT (0U) 24880 #define BTLE_RF_BLE_FSM_VAR_CS(x) (((uint16_t)(((uint16_t)(x)) << BTLE_RF_BLE_FSM_VAR_CS_SHIFT)) & BTLE_RF_BLE_FSM_VAR_CS_MASK) 24881 #define BTLE_RF_BLE_FSM_BTLE_TX_EN_MASK (0x20U) 24882 #define BTLE_RF_BLE_FSM_BTLE_TX_EN_SHIFT (5U) 24883 #define BTLE_RF_BLE_FSM_BTLE_TX_EN(x) (((uint16_t)(((uint16_t)(x)) << BTLE_RF_BLE_FSM_BTLE_TX_EN_SHIFT)) & BTLE_RF_BLE_FSM_BTLE_TX_EN_MASK) 24884 #define BTLE_RF_BLE_FSM_BTLE_RX_EN_MASK (0x40U) 24885 #define BTLE_RF_BLE_FSM_BTLE_RX_EN_SHIFT (6U) 24886 #define BTLE_RF_BLE_FSM_BTLE_RX_EN(x) (((uint16_t)(((uint16_t)(x)) << BTLE_RF_BLE_FSM_BTLE_RX_EN_SHIFT)) & BTLE_RF_BLE_FSM_BTLE_RX_EN_MASK) 24887 #define BTLE_RF_BLE_FSM_TX_CS_MASK (0xF80U) 24888 #define BTLE_RF_BLE_FSM_TX_CS_SHIFT (7U) 24889 #define BTLE_RF_BLE_FSM_TX_CS(x) (((uint16_t)(((uint16_t)(x)) << BTLE_RF_BLE_FSM_TX_CS_SHIFT)) & BTLE_RF_BLE_FSM_TX_CS_MASK) 24890 #define BTLE_RF_BLE_FSM_RX_CS_MASK (0xF000U) 24891 #define BTLE_RF_BLE_FSM_RX_CS_SHIFT (12U) 24892 #define BTLE_RF_BLE_FSM_RX_CS(x) (((uint16_t)(((uint16_t)(x)) << BTLE_RF_BLE_FSM_RX_CS_SHIFT)) & BTLE_RF_BLE_FSM_RX_CS_MASK) 24893 /*! @} */ 24894 24895 24896 /*! 24897 * @} 24898 */ /* end of group BTLE_RF_Register_Masks */ 24899 24900 24901 /* BTLE_RF - Peripheral instance base addresses */ 24902 /** Peripheral BTLE_RF base address */ 24903 #define BTLE_RF_BASE (0x41032000u) 24904 /** Peripheral BTLE_RF base pointer */ 24905 #define BTLE_RF ((BTLE_RF_Type *)BTLE_RF_BASE) 24906 /** Array initializer of BTLE_RF peripheral base addresses */ 24907 #define BTLE_RF_BASE_ADDRS { BTLE_RF_BASE } 24908 /** Array initializer of BTLE_RF peripheral base pointers */ 24909 #define BTLE_RF_BASE_PTRS { BTLE_RF } 24910 24911 /*! 24912 * @} 24913 */ /* end of group BTLE_RF_Peripheral_Access_Layer */ 24914 24915 24916 /* ---------------------------------------------------------------------------- 24917 -- XCVR_ANALOG Peripheral Access Layer 24918 ---------------------------------------------------------------------------- */ 24919 24920 /*! 24921 * @addtogroup XCVR_ANALOG_Peripheral_Access_Layer XCVR_ANALOG Peripheral Access Layer 24922 * @{ 24923 */ 24924 24925 /** XCVR_ANALOG - Register Layout Typedef */ 24926 typedef struct { 24927 __IO uint32_t BB_LDO_1; /**< RF Analog Baseband LDO Control 1, offset: 0x0 */ 24928 __IO uint32_t BB_LDO_2; /**< RF Analog Baseband LDO Control 2, offset: 0x4 */ 24929 __IO uint32_t RX_ADC; /**< RF Analog ADC Control, offset: 0x8 */ 24930 __IO uint32_t RX_BBA; /**< RF Analog BBA Control, offset: 0xC */ 24931 __IO uint32_t RX_LNA; /**< RF Analog LNA Control, offset: 0x10 */ 24932 __IO uint32_t RX_TZA; /**< RF Analog TZA Control, offset: 0x14 */ 24933 __IO uint32_t RX_AUXPLL; /**< RF Analog Aux PLL Control, offset: 0x18 */ 24934 __IO uint32_t SY_CTRL_1; /**< RF Analog Synthesizer Control 1, offset: 0x1C */ 24935 __IO uint32_t SY_CTRL_2; /**< RF Analog Synthesizer Control 2, offset: 0x20 */ 24936 __IO uint32_t TX_DAC_PA; /**< RF Analog TX HPM DAC and PA Control, offset: 0x24 */ 24937 __IO uint32_t BALUN_TX; /**< RF Analog Balun TX Mode Control, offset: 0x28 */ 24938 __IO uint32_t BALUN_RX; /**< RF Analog Balun RX Mode Control, offset: 0x2C */ 24939 __I uint32_t DFT_OBSV_1; /**< RF Analog DFT Observation Register 1, offset: 0x30 */ 24940 __IO uint32_t DFT_OBSV_2; /**< RF Analog DFT Observation Register 2, offset: 0x34 */ 24941 __IO uint32_t DFT_OBSV_3; /**< RF Analog DFT Observation Register 3, offset: 0x38 */ 24942 } XCVR_ANALOG_Type; 24943 24944 /* ---------------------------------------------------------------------------- 24945 -- XCVR_ANALOG Register Masks 24946 ---------------------------------------------------------------------------- */ 24947 24948 /*! 24949 * @addtogroup XCVR_ANALOG_Register_Masks XCVR_ANALOG Register Masks 24950 * @{ 24951 */ 24952 24953 /*! @name BB_LDO_1 - RF Analog Baseband LDO Control 1 */ 24954 /*! @{ */ 24955 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_BYP_MASK (0x1U) 24956 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_BYP_SHIFT (0U) 24957 /*! BB_LDO_ADCDAC_BYP - rmap_bb_ldo_adcdac_byp 24958 * 0b0..Bypass disabled. 24959 * 0b1..Bypass enabled 24960 */ 24961 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_BYP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_BYP_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_BYP_MASK) 24962 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_DIAGSEL_MASK (0x2U) 24963 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_DIAGSEL_SHIFT (1U) 24964 /*! BB_LDO_ADCDAC_DIAGSEL - rmap_bb_ldo_adcdac_diagsel 24965 * 0b0..Diag disable 24966 * 0b1..Diag enable 24967 */ 24968 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_DIAGSEL_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_DIAGSEL_MASK) 24969 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_SPARE_MASK (0xCU) 24970 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_SPARE_SHIFT (2U) 24971 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_SPARE_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_SPARE_MASK) 24972 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_TRIM_MASK (0x70U) 24973 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_TRIM_SHIFT (4U) 24974 /*! BB_LDO_ADCDAC_TRIM - rmap_bb_ldo_adcdac_trim[2:0] 24975 * 0b000..1.20 V ( Default ) 24976 * 0b001..1.25 V 24977 * 0b010..1.28 V 24978 * 0b011..1.33 V 24979 * 0b100..1.40 V 24980 * 0b101..1.44 V 24981 * 0b110..1.50 V 24982 * 0b111..1.66 V 24983 */ 24984 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_TRIM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_TRIM_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_TRIM_MASK) 24985 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_BYP_MASK (0x100U) 24986 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_BYP_SHIFT (8U) 24987 /*! BB_LDO_BBA_BYP - rmap_bb_ldo_bba_byp 24988 * 0b0..Bypass disabled. 24989 * 0b1..Bypass enabled 24990 */ 24991 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_BYP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_BYP_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_BYP_MASK) 24992 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_DIAGSEL_MASK (0x200U) 24993 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_DIAGSEL_SHIFT (9U) 24994 /*! BB_LDO_BBA_DIAGSEL - rmap_bb_ldo_bba_diagsel 24995 * 0b0..Diag disable 24996 * 0b1..Diag enable 24997 */ 24998 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_DIAGSEL_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_DIAGSEL_MASK) 24999 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_SPARE_MASK (0xC00U) 25000 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_SPARE_SHIFT (10U) 25001 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_SPARE_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_SPARE_MASK) 25002 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_TRIM_MASK (0x7000U) 25003 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_TRIM_SHIFT (12U) 25004 /*! BB_LDO_BBA_TRIM - rmap_bb_ldo_bba_trim[2:0] 25005 * 0b000..1.20 V ( Default ) 25006 * 0b001..1.25 V 25007 * 0b010..1.28 V 25008 * 0b011..1.33 V 25009 * 0b100..1.40 V 25010 * 0b101..1.44 V 25011 * 0b110..1.50 V 25012 * 0b111..1.66 V 25013 */ 25014 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_TRIM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_TRIM_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_TRIM_MASK) 25015 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_BYP_MASK (0x10000U) 25016 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_BYP_SHIFT (16U) 25017 /*! BB_LDO_FDBK_BYP - rmap_bb_ldo_fdbk_byp 25018 * 0b0..Bypass disabled. 25019 * 0b1..Bypass enabled 25020 */ 25021 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_BYP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_BYP_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_BYP_MASK) 25022 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_DIAGSEL_MASK (0x20000U) 25023 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_DIAGSEL_SHIFT (17U) 25024 /*! BB_LDO_FDBK_DIAGSEL - rmap_bb_ldo_fdbk_diagsel 25025 * 0b0..Diag disable 25026 * 0b1..Diag enable 25027 */ 25028 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_DIAGSEL_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_DIAGSEL_MASK) 25029 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_SPARE_MASK (0xC0000U) 25030 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_SPARE_SHIFT (18U) 25031 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_SPARE_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_SPARE_MASK) 25032 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_TRIM_MASK (0x700000U) 25033 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_TRIM_SHIFT (20U) 25034 /*! BB_LDO_FDBK_TRIM - rmap_bb_ldo_fdbk_trim[2:0] 25035 * 0b000..1.2/1.176 V ( Default ) 25036 * 0b001..1.138/1.115 V 25037 * 0b010..1.085/1.066 V 25038 * 0b011..1.04/1.025 V 25039 * 0b100..1.28/1.25 V 25040 * 0b101..1.4/1.35 V 25041 * 0b110..1.55/1.4 V 25042 * 0b111..1.78/1.4 V 25043 */ 25044 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_TRIM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_TRIM_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_TRIM_MASK) 25045 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_BYP_MASK (0x1000000U) 25046 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_BYP_SHIFT (24U) 25047 /*! BB_LDO_HF_BYP - rmap_bb_ldo_hf_byp 25048 * 0b0..Bypass disabled. 25049 * 0b1..Bypass enabled 25050 */ 25051 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_BYP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_BYP_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_BYP_MASK) 25052 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_DIAGSEL_MASK (0x2000000U) 25053 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_DIAGSEL_SHIFT (25U) 25054 /*! BB_LDO_HF_DIAGSEL - rmap_bb_ldo_hf_diagsel 25055 * 0b0..Diag disable 25056 * 0b1..Diag enable 25057 */ 25058 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_DIAGSEL_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_DIAGSEL_MASK) 25059 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_SPARE_MASK (0xC000000U) 25060 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_SPARE_SHIFT (26U) 25061 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_SPARE_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_SPARE_MASK) 25062 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_TRIM_MASK (0x70000000U) 25063 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_TRIM_SHIFT (28U) 25064 /*! BB_LDO_HF_TRIM - rmap_bb_ldo_hf_trim[2:0] 25065 * 0b000..1.20 V ( Default ) 25066 * 0b001..1.25 V 25067 * 0b010..1.28 V 25068 * 0b011..1.33 V 25069 * 0b100..1.40 V 25070 * 0b101..1.44 V 25071 * 0b110..1.50 V 25072 * 0b111..1.66 V 25073 */ 25074 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_TRIM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_TRIM_SHIFT)) & XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_TRIM_MASK) 25075 /*! @} */ 25076 25077 /*! @name BB_LDO_2 - RF Analog Baseband LDO Control 2 */ 25078 /*! @{ */ 25079 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_BYP_MASK (0x1U) 25080 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_BYP_SHIFT (0U) 25081 /*! BB_LDO_PD_BYP - rmap_bb_ldo_pd_byp 25082 * 0b0..Bypass disabled. 25083 * 0b1..Bypass enabled 25084 */ 25085 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_BYP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_BYP_SHIFT)) & XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_BYP_MASK) 25086 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_DIAGSEL_MASK (0x2U) 25087 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_DIAGSEL_SHIFT (1U) 25088 /*! BB_LDO_PD_DIAGSEL - rmap_bb_ldo_pd_diagsel 25089 * 0b0..Diag disable 25090 * 0b1..Diag enable 25091 */ 25092 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_DIAGSEL_SHIFT)) & XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_DIAGSEL_MASK) 25093 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_SPARE_MASK (0xCU) 25094 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_SPARE_SHIFT (2U) 25095 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_SPARE_SHIFT)) & XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_SPARE_MASK) 25096 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_TRIM_MASK (0x70U) 25097 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_TRIM_SHIFT (4U) 25098 /*! BB_LDO_PD_TRIM - rmap_bb_ldo_pd_trim[2:0] 25099 * 0b000..1.20 V ( Default ) 25100 * 0b001..1.25 V 25101 * 0b010..1.28 V 25102 * 0b011..1.33 V 25103 * 0b100..1.40 V 25104 * 0b101..1.44 V 25105 * 0b110..1.50 V 25106 * 0b111..1.66 V 25107 */ 25108 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_TRIM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_TRIM_SHIFT)) & XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_TRIM_MASK) 25109 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCO_SPARE_MASK (0x300U) 25110 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCO_SPARE_SHIFT (8U) 25111 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCO_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_2_BB_LDO_VCO_SPARE_SHIFT)) & XCVR_ANALOG_BB_LDO_2_BB_LDO_VCO_SPARE_MASK) 25112 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_BYP_MASK (0x400U) 25113 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_BYP_SHIFT (10U) 25114 /*! BB_LDO_VCOLO_BYP - rmap_bb_ldo_vcolo_byp 25115 * 0b0..Bypass disabled. 25116 * 0b1..Bypass enabled 25117 */ 25118 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_BYP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_BYP_SHIFT)) & XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_BYP_MASK) 25119 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_DIAGSEL_MASK (0x800U) 25120 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_DIAGSEL_SHIFT (11U) 25121 /*! BB_LDO_VCOLO_DIAGSEL - rmap_bb_ldo_vcolo_diagsel 25122 * 0b0..Diag disable 25123 * 0b1..Diag enable 25124 */ 25125 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_DIAGSEL_SHIFT)) & XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_DIAGSEL_MASK) 25126 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_TRIM_MASK (0x7000U) 25127 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_TRIM_SHIFT (12U) 25128 /*! BB_LDO_VCOLO_TRIM - rmap_bb_ldo_vcolo_trim[2:0] 25129 * 0b000..1.138/1.117 V ( Default ) 25130 * 0b001..1.076/1.058 V 25131 * 0b010..1.027/1.012 V 25132 * 0b011..0.98/0.97 V 25133 * 0b100..1.22/1.19 V 25134 * 0b101..1.33/1.3 V 25135 * 0b110..1.5/1.4 V 25136 * 0b111..1.82/1.4 V 25137 */ 25138 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_TRIM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_TRIM_SHIFT)) & XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_TRIM_MASK) 25139 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_DIAGSEL_MASK (0x10000U) 25140 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_DIAGSEL_SHIFT (16U) 25141 /*! BB_LDO_VTREF_DIAGSEL - rmap_bb_ldo_vtref_diagsel 25142 * 0b0..Diag disable 25143 * 0b1..Diag enable 25144 */ 25145 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_DIAGSEL_SHIFT)) & XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_DIAGSEL_MASK) 25146 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_TC_MASK (0x60000U) 25147 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_TC_SHIFT (17U) 25148 /*! BB_LDO_VTREF_TC - rmap_bb_ldo_vtref_tc[1:0] 25149 * 0b00..1.117/1.176 V 25150 * 0b01..1.134/1.188 V 25151 * 0b10..1.10/1.162 V 25152 * 0b11..1.09/1.152 V 25153 */ 25154 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_TC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_TC_SHIFT)) & XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_TC_MASK) 25155 /*! @} */ 25156 25157 /*! @name RX_ADC - RF Analog ADC Control */ 25158 /*! @{ */ 25159 #define XCVR_ANALOG_RX_ADC_RX_ADC_BUMP_MASK (0xFFU) 25160 #define XCVR_ANALOG_RX_ADC_RX_ADC_BUMP_SHIFT (0U) 25161 #define XCVR_ANALOG_RX_ADC_RX_ADC_BUMP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_ADC_RX_ADC_BUMP_SHIFT)) & XCVR_ANALOG_RX_ADC_RX_ADC_BUMP_MASK) 25162 #define XCVR_ANALOG_RX_ADC_RX_ADC_FS_SEL_MASK (0x300U) 25163 #define XCVR_ANALOG_RX_ADC_RX_ADC_FS_SEL_SHIFT (8U) 25164 /*! RX_ADC_FS_SEL - rmap_rx_adc_fs_sel[1:0] 25165 * 0b00..52MHz (2x26MHz) 25166 * 0b01..64MHz (2x32MHz) 25167 * 0b10..+13% of 64MHz 25168 * 0b11..- 11% of 64MHz 25169 */ 25170 #define XCVR_ANALOG_RX_ADC_RX_ADC_FS_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_ADC_RX_ADC_FS_SEL_SHIFT)) & XCVR_ANALOG_RX_ADC_RX_ADC_FS_SEL_MASK) 25171 #define XCVR_ANALOG_RX_ADC_RX_ADC_I_DIAGSEL_MASK (0x400U) 25172 #define XCVR_ANALOG_RX_ADC_RX_ADC_I_DIAGSEL_SHIFT (10U) 25173 #define XCVR_ANALOG_RX_ADC_RX_ADC_I_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_ADC_RX_ADC_I_DIAGSEL_SHIFT)) & XCVR_ANALOG_RX_ADC_RX_ADC_I_DIAGSEL_MASK) 25174 #define XCVR_ANALOG_RX_ADC_RX_ADC_Q_DIAGSEL_MASK (0x800U) 25175 #define XCVR_ANALOG_RX_ADC_RX_ADC_Q_DIAGSEL_SHIFT (11U) 25176 #define XCVR_ANALOG_RX_ADC_RX_ADC_Q_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_ADC_RX_ADC_Q_DIAGSEL_SHIFT)) & XCVR_ANALOG_RX_ADC_RX_ADC_Q_DIAGSEL_MASK) 25177 #define XCVR_ANALOG_RX_ADC_RX_ADC_SPARE_MASK (0xF000U) 25178 #define XCVR_ANALOG_RX_ADC_RX_ADC_SPARE_SHIFT (12U) 25179 #define XCVR_ANALOG_RX_ADC_RX_ADC_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_ADC_RX_ADC_SPARE_SHIFT)) & XCVR_ANALOG_RX_ADC_RX_ADC_SPARE_MASK) 25180 /*! @} */ 25181 25182 /*! @name RX_BBA - RF Analog BBA Control */ 25183 /*! @{ */ 25184 #define XCVR_ANALOG_RX_BBA_RX_BBA_BW_SEL_MASK (0x7U) 25185 #define XCVR_ANALOG_RX_BBA_RX_BBA_BW_SEL_SHIFT (0U) 25186 /*! RX_BBA_BW_SEL - rmap_rx_bba_bw_sel[2:0] 25187 * 0b000..1000K 25188 * 0b001..900K 25189 * 0b010..800K 25190 * 0b011..700K Default 25191 * 0b100..600K 25192 * 0b101..500K 25193 */ 25194 #define XCVR_ANALOG_RX_BBA_RX_BBA_BW_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_BBA_RX_BBA_BW_SEL_SHIFT)) & XCVR_ANALOG_RX_BBA_RX_BBA_BW_SEL_MASK) 25195 #define XCVR_ANALOG_RX_BBA_RX_BBA_CUR_BUMP_MASK (0x8U) 25196 #define XCVR_ANALOG_RX_BBA_RX_BBA_CUR_BUMP_SHIFT (3U) 25197 #define XCVR_ANALOG_RX_BBA_RX_BBA_CUR_BUMP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_BBA_RX_BBA_CUR_BUMP_SHIFT)) & XCVR_ANALOG_RX_BBA_RX_BBA_CUR_BUMP_MASK) 25198 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL1_MASK (0x10U) 25199 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL1_SHIFT (4U) 25200 /*! RX_BBA_DIAGSEL1 - rmap_rx_bba_diagsel1 25201 * 0b0..Diag disable 25202 * 0b1..Diag enable 25203 */ 25204 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL1_SHIFT)) & XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL1_MASK) 25205 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL2_MASK (0x20U) 25206 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL2_SHIFT (5U) 25207 /*! RX_BBA_DIAGSEL2 - rmap_rx_bba_diagsel2 25208 * 0b0..Diag disable 25209 * 0b1..Diag enable 25210 */ 25211 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL2_SHIFT)) & XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL2_MASK) 25212 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL3_MASK (0x40U) 25213 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL3_SHIFT (6U) 25214 /*! RX_BBA_DIAGSEL3 - rmap_rx_bba_diagsel3 25215 * 0b0..Diag disable 25216 * 0b1..Diag enable 25217 */ 25218 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL3_SHIFT)) & XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL3_MASK) 25219 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL4_MASK (0x80U) 25220 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL4_SHIFT (7U) 25221 /*! RX_BBA_DIAGSEL4 - rmap_rx_bba_diagsel4 25222 * 0b0..Diag disable 25223 * 0b1..Diag enable 25224 */ 25225 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL4(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL4_SHIFT)) & XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL4_MASK) 25226 #define XCVR_ANALOG_RX_BBA_RX_BBA_SPARE_MASK (0x3F0000U) 25227 #define XCVR_ANALOG_RX_BBA_RX_BBA_SPARE_SHIFT (16U) 25228 /*! RX_BBA_SPARE - rmap_rx_bba_spare[5:0] 25229 * 0b000000..600mV (Default) 25230 * 0b000001..675mV 25231 * 0b000010..450mV 25232 * 0b000011..525mV 25233 */ 25234 #define XCVR_ANALOG_RX_BBA_RX_BBA_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_BBA_RX_BBA_SPARE_SHIFT)) & XCVR_ANALOG_RX_BBA_RX_BBA_SPARE_MASK) 25235 #define XCVR_ANALOG_RX_BBA_RX_BBA2_BW_SEL_MASK (0x7000000U) 25236 #define XCVR_ANALOG_RX_BBA_RX_BBA2_BW_SEL_SHIFT (24U) 25237 /*! RX_BBA2_BW_SEL - rmap_bba2_bw_sel[2:0] 25238 * 0b000..1000K 25239 * 0b001..900K 25240 * 0b010..800K 25241 * 0b011..700K Default 25242 * 0b100..600K 25243 * 0b101..500K 25244 */ 25245 #define XCVR_ANALOG_RX_BBA_RX_BBA2_BW_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_BBA_RX_BBA2_BW_SEL_SHIFT)) & XCVR_ANALOG_RX_BBA_RX_BBA2_BW_SEL_MASK) 25246 #define XCVR_ANALOG_RX_BBA_RX_BBA2_SPARE_MASK (0x70000000U) 25247 #define XCVR_ANALOG_RX_BBA_RX_BBA2_SPARE_SHIFT (28U) 25248 #define XCVR_ANALOG_RX_BBA_RX_BBA2_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_BBA_RX_BBA2_SPARE_SHIFT)) & XCVR_ANALOG_RX_BBA_RX_BBA2_SPARE_MASK) 25249 /*! @} */ 25250 25251 /*! @name RX_LNA - RF Analog LNA Control */ 25252 /*! @{ */ 25253 #define XCVR_ANALOG_RX_LNA_RX_LNA_BUMP_MASK (0xFU) 25254 #define XCVR_ANALOG_RX_LNA_RX_LNA_BUMP_SHIFT (0U) 25255 /*! RX_LNA_BUMP - rmap_rx_lna_bump[3:0] 25256 * 0b0000..Default 25257 * 0b0001..-25% 25258 * 0b0010..+50% 25259 * 0b0011..+25% 25260 * 0b0100..CM 480mV 25261 * 0b1000..CM 600mV 25262 * 0b1100..CM 660mV 25263 */ 25264 #define XCVR_ANALOG_RX_LNA_RX_LNA_BUMP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_LNA_RX_LNA_BUMP_SHIFT)) & XCVR_ANALOG_RX_LNA_RX_LNA_BUMP_MASK) 25265 #define XCVR_ANALOG_RX_LNA_RX_LNA_HG_DIAGSEL_MASK (0x10U) 25266 #define XCVR_ANALOG_RX_LNA_RX_LNA_HG_DIAGSEL_SHIFT (4U) 25267 #define XCVR_ANALOG_RX_LNA_RX_LNA_HG_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_LNA_RX_LNA_HG_DIAGSEL_SHIFT)) & XCVR_ANALOG_RX_LNA_RX_LNA_HG_DIAGSEL_MASK) 25268 #define XCVR_ANALOG_RX_LNA_RX_LNA_HIZ_ENABLE_MASK (0x20U) 25269 #define XCVR_ANALOG_RX_LNA_RX_LNA_HIZ_ENABLE_SHIFT (5U) 25270 #define XCVR_ANALOG_RX_LNA_RX_LNA_HIZ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_LNA_RX_LNA_HIZ_ENABLE_SHIFT)) & XCVR_ANALOG_RX_LNA_RX_LNA_HIZ_ENABLE_MASK) 25271 #define XCVR_ANALOG_RX_LNA_RX_LNA_LG_DIAGSEL_MASK (0x40U) 25272 #define XCVR_ANALOG_RX_LNA_RX_LNA_LG_DIAGSEL_SHIFT (6U) 25273 #define XCVR_ANALOG_RX_LNA_RX_LNA_LG_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_LNA_RX_LNA_LG_DIAGSEL_SHIFT)) & XCVR_ANALOG_RX_LNA_RX_LNA_LG_DIAGSEL_MASK) 25274 #define XCVR_ANALOG_RX_LNA_RX_LNA_SPARE_MASK (0x300U) 25275 #define XCVR_ANALOG_RX_LNA_RX_LNA_SPARE_SHIFT (8U) 25276 #define XCVR_ANALOG_RX_LNA_RX_LNA_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_LNA_RX_LNA_SPARE_SHIFT)) & XCVR_ANALOG_RX_LNA_RX_LNA_SPARE_MASK) 25277 #define XCVR_ANALOG_RX_LNA_RX_MIXER_BUMP_MASK (0xF0000U) 25278 #define XCVR_ANALOG_RX_LNA_RX_MIXER_BUMP_SHIFT (16U) 25279 /*! RX_MIXER_BUMP - rmap_rx_mixer_bump[3:0] 25280 * 0b0000..825mV (Default) 25281 * 0b0001..750mV 25282 * 0b0010..900mV 25283 * 0b0011..975mV 25284 */ 25285 #define XCVR_ANALOG_RX_LNA_RX_MIXER_BUMP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_LNA_RX_MIXER_BUMP_SHIFT)) & XCVR_ANALOG_RX_LNA_RX_MIXER_BUMP_MASK) 25286 #define XCVR_ANALOG_RX_LNA_RX_MIXER_SPARE_MASK (0x100000U) 25287 #define XCVR_ANALOG_RX_LNA_RX_MIXER_SPARE_SHIFT (20U) 25288 #define XCVR_ANALOG_RX_LNA_RX_MIXER_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_LNA_RX_MIXER_SPARE_SHIFT)) & XCVR_ANALOG_RX_LNA_RX_MIXER_SPARE_MASK) 25289 /*! @} */ 25290 25291 /*! @name RX_TZA - RF Analog TZA Control */ 25292 /*! @{ */ 25293 #define XCVR_ANALOG_RX_TZA_RX_TZA_BW_SEL_MASK (0x7U) 25294 #define XCVR_ANALOG_RX_TZA_RX_TZA_BW_SEL_SHIFT (0U) 25295 /*! RX_TZA_BW_SEL - rmap_rx_tza_bw_sel[2:0] 25296 * 0b000..1000K 25297 * 0b001..900K 25298 * 0b010..800K 25299 * 0b011..700K Default 25300 * 0b100..600K 25301 * 0b101..500K 25302 */ 25303 #define XCVR_ANALOG_RX_TZA_RX_TZA_BW_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_TZA_RX_TZA_BW_SEL_SHIFT)) & XCVR_ANALOG_RX_TZA_RX_TZA_BW_SEL_MASK) 25304 #define XCVR_ANALOG_RX_TZA_RX_TZA_CUR_BUMP_MASK (0x8U) 25305 #define XCVR_ANALOG_RX_TZA_RX_TZA_CUR_BUMP_SHIFT (3U) 25306 #define XCVR_ANALOG_RX_TZA_RX_TZA_CUR_BUMP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_TZA_RX_TZA_CUR_BUMP_SHIFT)) & XCVR_ANALOG_RX_TZA_RX_TZA_CUR_BUMP_MASK) 25307 #define XCVR_ANALOG_RX_TZA_RX_TZA_GAIN_BUMP_MASK (0x10U) 25308 #define XCVR_ANALOG_RX_TZA_RX_TZA_GAIN_BUMP_SHIFT (4U) 25309 #define XCVR_ANALOG_RX_TZA_RX_TZA_GAIN_BUMP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_TZA_RX_TZA_GAIN_BUMP_SHIFT)) & XCVR_ANALOG_RX_TZA_RX_TZA_GAIN_BUMP_MASK) 25310 #define XCVR_ANALOG_RX_TZA_RX_TZA_SPARE_MASK (0x3F0000U) 25311 #define XCVR_ANALOG_RX_TZA_RX_TZA_SPARE_SHIFT (16U) 25312 /*! RX_TZA_SPARE - rmap_rx_tza_spare[5:0] 25313 * 0b000000..600mV (Default) 25314 * 0b000001..675mV 25315 * 0b000010..450mV 25316 * 0b000011..525mV 25317 */ 25318 #define XCVR_ANALOG_RX_TZA_RX_TZA_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_TZA_RX_TZA_SPARE_SHIFT)) & XCVR_ANALOG_RX_TZA_RX_TZA_SPARE_MASK) 25319 #define XCVR_ANALOG_RX_TZA_RX_TZA1_DIAGSEL_MASK (0x1000000U) 25320 #define XCVR_ANALOG_RX_TZA_RX_TZA1_DIAGSEL_SHIFT (24U) 25321 /*! RX_TZA1_DIAGSEL - rmap_rx_tza1_diagsel 25322 * 0b0..Diag disable 25323 * 0b1..Diag enable 25324 */ 25325 #define XCVR_ANALOG_RX_TZA_RX_TZA1_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_TZA_RX_TZA1_DIAGSEL_SHIFT)) & XCVR_ANALOG_RX_TZA_RX_TZA1_DIAGSEL_MASK) 25326 #define XCVR_ANALOG_RX_TZA_RX_TZA2_DIAGSEL_MASK (0x2000000U) 25327 #define XCVR_ANALOG_RX_TZA_RX_TZA2_DIAGSEL_SHIFT (25U) 25328 /*! RX_TZA2_DIAGSEL - rmap_rx_tza2_diagsel 25329 * 0b0..Diag disable 25330 * 0b1..Diag enable 25331 */ 25332 #define XCVR_ANALOG_RX_TZA_RX_TZA2_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_TZA_RX_TZA2_DIAGSEL_SHIFT)) & XCVR_ANALOG_RX_TZA_RX_TZA2_DIAGSEL_MASK) 25333 #define XCVR_ANALOG_RX_TZA_RX_TZA3_DIAGSEL_MASK (0x4000000U) 25334 #define XCVR_ANALOG_RX_TZA_RX_TZA3_DIAGSEL_SHIFT (26U) 25335 /*! RX_TZA3_DIAGSEL - rmap_rx_tza3_diagsel 25336 * 0b0..Diag disable 25337 * 0b1..Diag enable 25338 */ 25339 #define XCVR_ANALOG_RX_TZA_RX_TZA3_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_TZA_RX_TZA3_DIAGSEL_SHIFT)) & XCVR_ANALOG_RX_TZA_RX_TZA3_DIAGSEL_MASK) 25340 #define XCVR_ANALOG_RX_TZA_RX_TZA4_DIAGSEL_MASK (0x8000000U) 25341 #define XCVR_ANALOG_RX_TZA_RX_TZA4_DIAGSEL_SHIFT (27U) 25342 /*! RX_TZA4_DIAGSEL - rmap_rx_tza4_diagsel 25343 * 0b0..Diag disable 25344 * 0b1..Diag enable 25345 */ 25346 #define XCVR_ANALOG_RX_TZA_RX_TZA4_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_TZA_RX_TZA4_DIAGSEL_SHIFT)) & XCVR_ANALOG_RX_TZA_RX_TZA4_DIAGSEL_MASK) 25347 /*! @} */ 25348 25349 /*! @name RX_AUXPLL - RF Analog Aux PLL Control */ 25350 /*! @{ */ 25351 #define XCVR_ANALOG_RX_AUXPLL_BIAS_TRIM_MASK (0x7U) 25352 #define XCVR_ANALOG_RX_AUXPLL_BIAS_TRIM_SHIFT (0U) 25353 #define XCVR_ANALOG_RX_AUXPLL_BIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_AUXPLL_BIAS_TRIM_SHIFT)) & XCVR_ANALOG_RX_AUXPLL_BIAS_TRIM_MASK) 25354 #define XCVR_ANALOG_RX_AUXPLL_DIAGSEL1_MASK (0x8U) 25355 #define XCVR_ANALOG_RX_AUXPLL_DIAGSEL1_SHIFT (3U) 25356 #define XCVR_ANALOG_RX_AUXPLL_DIAGSEL1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_AUXPLL_DIAGSEL1_SHIFT)) & XCVR_ANALOG_RX_AUXPLL_DIAGSEL1_MASK) 25357 #define XCVR_ANALOG_RX_AUXPLL_DIAGSEL2_MASK (0x10U) 25358 #define XCVR_ANALOG_RX_AUXPLL_DIAGSEL2_SHIFT (4U) 25359 #define XCVR_ANALOG_RX_AUXPLL_DIAGSEL2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_AUXPLL_DIAGSEL2_SHIFT)) & XCVR_ANALOG_RX_AUXPLL_DIAGSEL2_MASK) 25360 #define XCVR_ANALOG_RX_AUXPLL_LF_CNTL_MASK (0xE0U) 25361 #define XCVR_ANALOG_RX_AUXPLL_LF_CNTL_SHIFT (5U) 25362 #define XCVR_ANALOG_RX_AUXPLL_LF_CNTL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_AUXPLL_LF_CNTL_SHIFT)) & XCVR_ANALOG_RX_AUXPLL_LF_CNTL_MASK) 25363 #define XCVR_ANALOG_RX_AUXPLL_SPARE_MASK (0xF00U) 25364 #define XCVR_ANALOG_RX_AUXPLL_SPARE_SHIFT (8U) 25365 #define XCVR_ANALOG_RX_AUXPLL_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_AUXPLL_SPARE_SHIFT)) & XCVR_ANALOG_RX_AUXPLL_SPARE_MASK) 25366 #define XCVR_ANALOG_RX_AUXPLL_VCO_DAC_REF_ADJUST_MASK (0xF000U) 25367 #define XCVR_ANALOG_RX_AUXPLL_VCO_DAC_REF_ADJUST_SHIFT (12U) 25368 #define XCVR_ANALOG_RX_AUXPLL_VCO_DAC_REF_ADJUST(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_AUXPLL_VCO_DAC_REF_ADJUST_SHIFT)) & XCVR_ANALOG_RX_AUXPLL_VCO_DAC_REF_ADJUST_MASK) 25369 #define XCVR_ANALOG_RX_AUXPLL_VTUNE_TESTMODE_MASK (0x10000U) 25370 #define XCVR_ANALOG_RX_AUXPLL_VTUNE_TESTMODE_SHIFT (16U) 25371 #define XCVR_ANALOG_RX_AUXPLL_VTUNE_TESTMODE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_AUXPLL_VTUNE_TESTMODE_SHIFT)) & XCVR_ANALOG_RX_AUXPLL_VTUNE_TESTMODE_MASK) 25372 #define XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_BIAST_MASK (0x300000U) 25373 #define XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_BIAST_SHIFT (20U) 25374 /*! RXTX_BAL_BIAST - rmap_rxtx_bal_biast[1:0] 25375 * 0b00..0.6 25376 * 0b01..0.4 25377 * 0b10..0.9 25378 * 0b11..1.2 25379 */ 25380 #define XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_BIAST(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_BIAST_SHIFT)) & XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_BIAST_MASK) 25381 #define XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_SPARE_MASK (0x7000000U) 25382 #define XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_SPARE_SHIFT (24U) 25383 #define XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_SPARE_SHIFT)) & XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_SPARE_MASK) 25384 #define XCVR_ANALOG_RX_AUXPLL_RXTX_RCCAL_DIAGSEL_MASK (0x10000000U) 25385 #define XCVR_ANALOG_RX_AUXPLL_RXTX_RCCAL_DIAGSEL_SHIFT (28U) 25386 #define XCVR_ANALOG_RX_AUXPLL_RXTX_RCCAL_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_AUXPLL_RXTX_RCCAL_DIAGSEL_SHIFT)) & XCVR_ANALOG_RX_AUXPLL_RXTX_RCCAL_DIAGSEL_MASK) 25387 /*! @} */ 25388 25389 /*! @name SY_CTRL_1 - RF Analog Synthesizer Control 1 */ 25390 /*! @{ */ 25391 #define XCVR_ANALOG_SY_CTRL_1_SY_DIVN_SPARE_MASK (0x1U) 25392 #define XCVR_ANALOG_SY_CTRL_1_SY_DIVN_SPARE_SHIFT (0U) 25393 #define XCVR_ANALOG_SY_CTRL_1_SY_DIVN_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_1_SY_DIVN_SPARE_SHIFT)) & XCVR_ANALOG_SY_CTRL_1_SY_DIVN_SPARE_MASK) 25394 #define XCVR_ANALOG_SY_CTRL_1_SY_FCAL_SPARE_MASK (0x2U) 25395 #define XCVR_ANALOG_SY_CTRL_1_SY_FCAL_SPARE_SHIFT (1U) 25396 #define XCVR_ANALOG_SY_CTRL_1_SY_FCAL_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_1_SY_FCAL_SPARE_SHIFT)) & XCVR_ANALOG_SY_CTRL_1_SY_FCAL_SPARE_MASK) 25397 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_FDBK_MASK (0x30U) 25398 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_FDBK_SHIFT (4U) 25399 /*! SY_LO_BUMP_RTLO_FDBK - rmap_sy_lo_bump_rtlo_fdbk[1:0] 25400 * 0b00..1.045 V 25401 * 0b01..1.084 V 25402 * 0b10..1.097 V 25403 * 0b11..1.10 V 25404 */ 25405 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_FDBK(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_FDBK_SHIFT)) & XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_FDBK_MASK) 25406 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_RX_MASK (0xC0U) 25407 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_RX_SHIFT (6U) 25408 /*! SY_LO_BUMP_RTLO_RX - rmap_sy_lo_bump_rtlo_rx[1:0] 25409 * 0b00..1.051/1.037 V 25410 * 0b01..1.082/1.075 V 25411 * 0b10..1.092/1.088 V 25412 * 0b11..1.098/1.094 V 25413 */ 25414 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_RX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_RX_SHIFT)) & XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_RX_MASK) 25415 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_TX_MASK (0x300U) 25416 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_TX_SHIFT (8U) 25417 /*! SY_LO_BUMP_RTLO_TX - rmap_sy_lo_bump_rtlo_tx[1:0] 25418 * 0b00..1.071/1.065 V 25419 * 0b01..1.092/1.090 V 25420 * 0b10..1.099/1.098 V 25421 * 0b11..1.10/1.1 V 25422 */ 25423 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_TX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_TX_SHIFT)) & XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_TX_MASK) 25424 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_DIAGSEL_MASK (0x400U) 25425 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_DIAGSEL_SHIFT (10U) 25426 /*! SY_LO_DIAGSEL - rmap_sy_lo_diagsel 25427 * 0b0..Diag disable 25428 * 0b1..Diag enable 25429 */ 25430 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_1_SY_LO_DIAGSEL_SHIFT)) & XCVR_ANALOG_SY_CTRL_1_SY_LO_DIAGSEL_MASK) 25431 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_SPARE_MASK (0x7000U) 25432 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_SPARE_SHIFT (12U) 25433 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_1_SY_LO_SPARE_SHIFT)) & XCVR_ANALOG_SY_CTRL_1_SY_LO_SPARE_MASK) 25434 #define XCVR_ANALOG_SY_CTRL_1_SY_LPF_FILT_CTRL_MASK (0x70000U) 25435 #define XCVR_ANALOG_SY_CTRL_1_SY_LPF_FILT_CTRL_SHIFT (16U) 25436 #define XCVR_ANALOG_SY_CTRL_1_SY_LPF_FILT_CTRL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_1_SY_LPF_FILT_CTRL_SHIFT)) & XCVR_ANALOG_SY_CTRL_1_SY_LPF_FILT_CTRL_MASK) 25437 #define XCVR_ANALOG_SY_CTRL_1_SY_LPF_SPARE_MASK (0x80000U) 25438 #define XCVR_ANALOG_SY_CTRL_1_SY_LPF_SPARE_SHIFT (19U) 25439 #define XCVR_ANALOG_SY_CTRL_1_SY_LPF_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_1_SY_LPF_SPARE_SHIFT)) & XCVR_ANALOG_SY_CTRL_1_SY_LPF_SPARE_MASK) 25440 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_DIAGSEL_MASK (0x100000U) 25441 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_DIAGSEL_SHIFT (20U) 25442 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_1_SY_PD_DIAGSEL_SHIFT)) & XCVR_ANALOG_SY_CTRL_1_SY_PD_DIAGSEL_MASK) 25443 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_TUNE_MASK (0x600000U) 25444 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_TUNE_SHIFT (21U) 25445 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_TUNE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_TUNE_SHIFT)) & XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_TUNE_MASK) 25446 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_SEL_MASK (0x800000U) 25447 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_SEL_SHIFT (23U) 25448 /*! SY_PD_PCH_SEL - rmap_sy_pd_pch_sel 25449 * 0b0..inverter based precharge 25450 * 0b1..resistor divider based precharge 25451 */ 25452 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_SEL_SHIFT)) & XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_SEL_MASK) 25453 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_SPARE_MASK (0x3000000U) 25454 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_SPARE_SHIFT (24U) 25455 /*! SY_PD_SPARE - rmap_sy_pd_spare[1:0] 25456 * 0b00..Default ; 25457 * 0b01..PD output is pulled down. 25458 */ 25459 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_1_SY_PD_SPARE_SHIFT)) & XCVR_ANALOG_SY_CTRL_1_SY_PD_SPARE_MASK) 25460 /*! @} */ 25461 25462 /*! @name SY_CTRL_2 - RF Analog Synthesizer Control 2 */ 25463 /*! @{ */ 25464 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_BIAS_MASK (0x7U) 25465 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_BIAS_SHIFT (0U) 25466 /*! SY_VCO_BIAS - rmap_sy_vco_bias[2:0] 25467 * 0b000..0.97V 25468 * 0b001..1.033V 25469 * 0b010..1.06V 25470 * 0b011..1.07V 25471 * 0b100..1.08V 25472 * 0b101..1.085V 25473 * 0b110..1.090V 25474 * 0b111..1.095V 25475 */ 25476 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_BIAS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_2_SY_VCO_BIAS_SHIFT)) & XCVR_ANALOG_SY_CTRL_2_SY_VCO_BIAS_MASK) 25477 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_DIAGSEL_MASK (0x8U) 25478 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_DIAGSEL_SHIFT (3U) 25479 /*! SY_VCO_DIAGSEL - rmap_sy_vco_diagsel 25480 * 0b1..Diag enable 25481 * 0b0..Diag disable 25482 */ 25483 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_2_SY_VCO_DIAGSEL_SHIFT)) & XCVR_ANALOG_SY_CTRL_2_SY_VCO_DIAGSEL_MASK) 25484 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_KV_MASK (0x70U) 25485 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_KV_SHIFT (4U) 25486 /*! SY_VCO_KV - rmap_sy_vco_kv[2:0] 25487 * 0b000..50MHz/V 25488 * 0b001..60MHz/V 25489 * 0b010..70MHz/V 25490 * 0b011..80MHz/V 25491 * 0b100..80MHz/V 25492 * 0b101..80MHz/V 25493 * 0b110..80MHz/V 25494 * 0b111..80MHz/V 25495 */ 25496 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_KV(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_2_SY_VCO_KV_SHIFT)) & XCVR_ANALOG_SY_CTRL_2_SY_VCO_KV_MASK) 25497 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_KVM_MASK (0x700U) 25498 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_KVM_SHIFT (8U) 25499 /*! SY_VCO_KVM - rmap_sy_vco_kvm[2:0] 25500 * 0b000..10MHz/V 25501 * 0b001..20MHz/V 25502 * 0b010..30MHz/V 25503 * 0b011..40MHz/V 25504 * 0b100..40MHz/V 25505 * 0b101..40MHz/V 25506 * 0b110..40MHz/V 25507 * 0b111..40MHz/V 25508 */ 25509 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_KVM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_2_SY_VCO_KVM_SHIFT)) & XCVR_ANALOG_SY_CTRL_2_SY_VCO_KVM_MASK) 25510 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_PK_DET_ON_MASK (0x1000U) 25511 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_PK_DET_ON_SHIFT (12U) 25512 /*! SY_VCO_PK_DET_ON - rmap_sy_vco_pk_det_on 25513 * 0b1..Enable 25514 * 0b0..Disable 25515 */ 25516 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_PK_DET_ON(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_2_SY_VCO_PK_DET_ON_SHIFT)) & XCVR_ANALOG_SY_CTRL_2_SY_VCO_PK_DET_ON_MASK) 25517 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_SPARE_MASK (0x1C000U) 25518 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_SPARE_SHIFT (14U) 25519 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_SY_CTRL_2_SY_VCO_SPARE_SHIFT)) & XCVR_ANALOG_SY_CTRL_2_SY_VCO_SPARE_MASK) 25520 /*! @} */ 25521 25522 /*! @name TX_DAC_PA - RF Analog TX HPM DAC and PA Control */ 25523 /*! @{ */ 25524 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_CAP_MASK (0x3U) 25525 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_CAP_SHIFT (0U) 25526 /*! TX_DAC_BUMP_CAP - rmap_tx_dac_bump_cap[1:0] 25527 * 0b00..1pF(default) 25528 * 0b01..1.5pF 25529 * 0b10..1.5pF 25530 * 0b11..2pF 25531 */ 25532 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_CAP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_CAP_SHIFT)) & XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_CAP_MASK) 25533 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_IDAC_MASK (0x18U) 25534 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_IDAC_SHIFT (3U) 25535 /*! TX_DAC_BUMP_IDAC - rmap_tx_dac_bump_idac[1:0] 25536 * 0b00..250nA(default) 25537 * 0b01..207nA 25538 * 0b10..312nA 25539 * 0b11..415nA 25540 */ 25541 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_IDAC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_IDAC_SHIFT)) & XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_IDAC_MASK) 25542 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_RLOAD_MASK (0xC0U) 25543 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_RLOAD_SHIFT (6U) 25544 /*! TX_DAC_BUMP_RLOAD - rmap_tx_dac_bump_rload[1:0] 25545 * 0b00..3.12 kohms(default) 25546 * 0b01..2.34 kohms 25547 * 0b10..3.9 kohms 25548 * 0b11..4.6 kohms 25549 */ 25550 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_RLOAD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_RLOAD_SHIFT)) & XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_RLOAD_MASK) 25551 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_DIAGSEL_MASK (0x200U) 25552 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_DIAGSEL_SHIFT (9U) 25553 /*! TX_DAC_DIAGSEL - rmap_tx_dac_diagsel 25554 * 0b0..Disable Diag 25555 * 0b1..Enable Diag 25556 */ 25557 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_TX_DAC_PA_TX_DAC_DIAGSEL_SHIFT)) & XCVR_ANALOG_TX_DAC_PA_TX_DAC_DIAGSEL_MASK) 25558 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_INVERT_CLK_MASK (0x400U) 25559 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_INVERT_CLK_SHIFT (10U) 25560 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_INVERT_CLK(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_TX_DAC_PA_TX_DAC_INVERT_CLK_SHIFT)) & XCVR_ANALOG_TX_DAC_PA_TX_DAC_INVERT_CLK_MASK) 25561 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_OPAMP_DIAGSEL_MASK (0x800U) 25562 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_OPAMP_DIAGSEL_SHIFT (11U) 25563 /*! TX_DAC_OPAMP_DIAGSEL - rmap_tx_dac_opamp_diagsel 25564 * 0b0..Disable Diag 25565 * 0b1..Enable Diag 25566 */ 25567 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_OPAMP_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_TX_DAC_PA_TX_DAC_OPAMP_DIAGSEL_SHIFT)) & XCVR_ANALOG_TX_DAC_PA_TX_DAC_OPAMP_DIAGSEL_MASK) 25568 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_SPARE_MASK (0xE000U) 25569 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_SPARE_SHIFT (13U) 25570 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_TX_DAC_PA_TX_DAC_SPARE_SHIFT)) & XCVR_ANALOG_TX_DAC_PA_TX_DAC_SPARE_MASK) 25571 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_BUMP_VBIAS_MASK (0xE0000U) 25572 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_BUMP_VBIAS_SHIFT (17U) 25573 /*! TX_PA_BUMP_VBIAS - rmap_tx_pa_bump_vbias[2:0] 25574 * 0b000..0.557 25575 * 0b001..0.651 25576 * 0b010..0.741 25577 * 0b011..0.822 25578 * 0b100..0.590 25579 * 0b101..0.683 25580 * 0b110..0.771 25581 * 0b111..0.850 25582 */ 25583 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_BUMP_VBIAS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_TX_DAC_PA_TX_PA_BUMP_VBIAS_SHIFT)) & XCVR_ANALOG_TX_DAC_PA_TX_PA_BUMP_VBIAS_MASK) 25584 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_DIAGSEL_MASK (0x200000U) 25585 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_DIAGSEL_SHIFT (21U) 25586 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_DIAGSEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_TX_DAC_PA_TX_PA_DIAGSEL_SHIFT)) & XCVR_ANALOG_TX_DAC_PA_TX_PA_DIAGSEL_MASK) 25587 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_SPARE_MASK (0x3800000U) 25588 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_SPARE_SHIFT (23U) 25589 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_TX_DAC_PA_TX_PA_SPARE_SHIFT)) & XCVR_ANALOG_TX_DAC_PA_TX_PA_SPARE_MASK) 25590 /*! @} */ 25591 25592 /*! @name BALUN_TX - RF Analog Balun TX Mode Control */ 25593 /*! @{ */ 25594 #define XCVR_ANALOG_BALUN_TX_RXTX_BAL_TX_CODE_MASK (0xFFFFFFU) 25595 #define XCVR_ANALOG_BALUN_TX_RXTX_BAL_TX_CODE_SHIFT (0U) 25596 #define XCVR_ANALOG_BALUN_TX_RXTX_BAL_TX_CODE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BALUN_TX_RXTX_BAL_TX_CODE_SHIFT)) & XCVR_ANALOG_BALUN_TX_RXTX_BAL_TX_CODE_MASK) 25597 /*! @} */ 25598 25599 /*! @name BALUN_RX - RF Analog Balun RX Mode Control */ 25600 /*! @{ */ 25601 #define XCVR_ANALOG_BALUN_RX_RXTX_BAL_RX_CODE_MASK (0xFFFFFFU) 25602 #define XCVR_ANALOG_BALUN_RX_RXTX_BAL_RX_CODE_SHIFT (0U) 25603 #define XCVR_ANALOG_BALUN_RX_RXTX_BAL_RX_CODE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_BALUN_RX_RXTX_BAL_RX_CODE_SHIFT)) & XCVR_ANALOG_BALUN_RX_RXTX_BAL_RX_CODE_MASK) 25604 /*! @} */ 25605 25606 /*! @name DFT_OBSV_1 - RF Analog DFT Observation Register 1 */ 25607 /*! @{ */ 25608 #define XCVR_ANALOG_DFT_OBSV_1_DFT_FREQ_COUNTER_MASK (0x7FFFFU) 25609 #define XCVR_ANALOG_DFT_OBSV_1_DFT_FREQ_COUNTER_SHIFT (0U) 25610 #define XCVR_ANALOG_DFT_OBSV_1_DFT_FREQ_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_DFT_OBSV_1_DFT_FREQ_COUNTER_SHIFT)) & XCVR_ANALOG_DFT_OBSV_1_DFT_FREQ_COUNTER_MASK) 25611 #define XCVR_ANALOG_DFT_OBSV_1_CTUNE_MAX_DIFF_MASK (0xFFF00000U) 25612 #define XCVR_ANALOG_DFT_OBSV_1_CTUNE_MAX_DIFF_SHIFT (20U) 25613 #define XCVR_ANALOG_DFT_OBSV_1_CTUNE_MAX_DIFF(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_DFT_OBSV_1_CTUNE_MAX_DIFF_SHIFT)) & XCVR_ANALOG_DFT_OBSV_1_CTUNE_MAX_DIFF_MASK) 25614 /*! @} */ 25615 25616 /*! @name DFT_OBSV_2 - RF Analog DFT Observation Register 2 */ 25617 /*! @{ */ 25618 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF_MASK (0x1FFFFU) 25619 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF_SHIFT (0U) 25620 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF_SHIFT)) & XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF_MASK) 25621 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF_CH_MASK (0x7F000000U) 25622 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF_CH_SHIFT (24U) 25623 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF_CH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF_CH_SHIFT)) & XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF_CH_MASK) 25624 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_IGNORE_FAILS_MASK (0x80000000U) 25625 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_IGNORE_FAILS_SHIFT (31U) 25626 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_IGNORE_FAILS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_IGNORE_FAILS_SHIFT)) & XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_IGNORE_FAILS_MASK) 25627 /*! @} */ 25628 25629 /*! @name DFT_OBSV_3 - RF Analog DFT Observation Register 3 */ 25630 /*! @{ */ 25631 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_INCREMENT_MASK (0x7U) 25632 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_INCREMENT_SHIFT (0U) 25633 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_INCREMENT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_INCREMENT_SHIFT)) & XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_INCREMENT_MASK) 25634 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_STOP_MASK (0xFF00U) 25635 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_STOP_SHIFT (8U) 25636 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_STOP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_STOP_SHIFT)) & XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_STOP_MASK) 25637 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_START_MASK (0xFF0000U) 25638 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_START_SHIFT (16U) 25639 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_START(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_START_SHIFT)) & XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_START_MASK) 25640 /*! @} */ 25641 25642 25643 /*! 25644 * @} 25645 */ /* end of group XCVR_ANALOG_Register_Masks */ 25646 25647 25648 /* XCVR_ANALOG - Peripheral instance base addresses */ 25649 /** Peripheral XCVR_ANA base address */ 25650 #define XCVR_ANA_BASE (0x41030500u) 25651 /** Peripheral XCVR_ANA base pointer */ 25652 #define XCVR_ANA ((XCVR_ANALOG_Type *)XCVR_ANA_BASE) 25653 /** Array initializer of XCVR_ANALOG peripheral base addresses */ 25654 #define XCVR_ANALOG_BASE_ADDRS { XCVR_ANA_BASE } 25655 /** Array initializer of XCVR_ANALOG peripheral base pointers */ 25656 #define XCVR_ANALOG_BASE_PTRS { XCVR_ANA } 25657 25658 /*! 25659 * @} 25660 */ /* end of group XCVR_ANALOG_Peripheral_Access_Layer */ 25661 25662 25663 /* ---------------------------------------------------------------------------- 25664 -- XCVR_CTRL Peripheral Access Layer 25665 ---------------------------------------------------------------------------- */ 25666 25667 /*! 25668 * @addtogroup XCVR_CTRL_Peripheral_Access_Layer XCVR_CTRL Peripheral Access Layer 25669 * @{ 25670 */ 25671 25672 /** XCVR_CTRL - Register Layout Typedef */ 25673 typedef struct { 25674 __IO uint32_t XCVR_CTRL; /**< TRANSCEIVER CONTROL, offset: 0x0 */ 25675 __IO uint32_t XCVR_STATUS; /**< TRANSCEIVER STATUS, offset: 0x4 */ 25676 __IO uint32_t BLE_ARB_CTRL; /**< BLE ARBITRATION CONTROL, offset: 0x8 */ 25677 __IO uint32_t OVERWRITE_VER; /**< OVERWRITE VERSION, offset: 0xC */ 25678 __IO uint32_t DTEST_CTRL; /**< DIGITAL TEST MUX CONTROL, offset: 0x10 */ 25679 __IO uint32_t DMA_CTRL; /**< TRANSCEIVER DMA CONTROL, offset: 0x14 */ 25680 __I uint32_t DMA_DATA; /**< TRANSCEIVER DMA DATA, offset: 0x18 */ 25681 __IO uint32_t PACKET_RAM_CTRL; /**< PACKET RAM CONTROL, offset: 0x1C */ 25682 __I uint32_t RAM_STOP_ADDR; /**< PACKET RAM DEBUG RAM STOP ADDRESS, offset: 0x20 */ 25683 __IO uint32_t FAD_CTRL; /**< FAD CONTROL, offset: 0x24 */ 25684 __IO uint32_t LPPS_CTRL; /**< LOW POWER PREAMBLE SEARCH CONTROL, offset: 0x28 */ 25685 __IO uint32_t COEX_CTRL; /**< COEXISTENCE CONTROL, offset: 0x2C */ 25686 __IO uint32_t CRCW_CFG; /**< CRC/WHITENER CONFIG REGISTER, offset: 0x30 */ 25687 __I uint32_t CRC_EC_MASK; /**< CRC ERROR CORRECTION MASK, offset: 0x34 */ 25688 __I uint32_t CRC_RES_OUT; /**< CRC RESULT, offset: 0x38 */ 25689 __IO uint32_t CRCW_CFG2; /**< CRC/WHITENER CONFIG 2 REGISTER, offset: 0x3C */ 25690 } XCVR_CTRL_Type; 25691 25692 /* ---------------------------------------------------------------------------- 25693 -- XCVR_CTRL Register Masks 25694 ---------------------------------------------------------------------------- */ 25695 25696 /*! 25697 * @addtogroup XCVR_CTRL_Register_Masks XCVR_CTRL Register Masks 25698 * @{ 25699 */ 25700 25701 /*! @name XCVR_CTRL - TRANSCEIVER CONTROL */ 25702 /*! @{ */ 25703 #define XCVR_CTRL_XCVR_CTRL_PROTOCOL_MASK (0xFU) 25704 #define XCVR_CTRL_XCVR_CTRL_PROTOCOL_SHIFT (0U) 25705 /*! PROTOCOL - Radio Protocol Selection 25706 * 0b0000..BLE 25707 * 0b0001..BLE in MBAN 25708 * 0b0010..BLE overlap MBAN 25709 * 0b0011..Reserved 25710 * 0b0100..802.15.4 25711 * 0b0101..802.15.4j 25712 * 0b0110..Radio Channels 0-127 selectable, FSK 25713 * 0b0111..Radio Channels 0-127 selectable, GFSK 25714 * 0b1000..Generic GFSK, with Gaussian Filter 25715 * 0b1001..Generic MSK, O-QPSK encoding 25716 * 0b1010..Generic FSK, direct +/- Fdev FSK 25717 */ 25718 #define XCVR_CTRL_XCVR_CTRL_PROTOCOL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_CTRL_PROTOCOL_SHIFT)) & XCVR_CTRL_XCVR_CTRL_PROTOCOL_MASK) 25719 #define XCVR_CTRL_XCVR_CTRL_TGT_PWR_SRC_MASK (0x70U) 25720 #define XCVR_CTRL_XCVR_CTRL_TGT_PWR_SRC_SHIFT (4U) 25721 #define XCVR_CTRL_XCVR_CTRL_TGT_PWR_SRC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_CTRL_TGT_PWR_SRC_SHIFT)) & XCVR_CTRL_XCVR_CTRL_TGT_PWR_SRC_MASK) 25722 #define XCVR_CTRL_XCVR_CTRL_REF_CLK_FREQ_MASK (0x300U) 25723 #define XCVR_CTRL_XCVR_CTRL_REF_CLK_FREQ_SHIFT (8U) 25724 /*! REF_CLK_FREQ - Radio Reference Clock Frequency 25725 * 0b00..32 MHz 25726 * 0b01..26 MHz 25727 * 0b10..Reserved 25728 * 0b11..Reserved 25729 */ 25730 #define XCVR_CTRL_XCVR_CTRL_REF_CLK_FREQ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_CTRL_REF_CLK_FREQ_SHIFT)) & XCVR_CTRL_XCVR_CTRL_REF_CLK_FREQ_MASK) 25731 #define XCVR_CTRL_XCVR_CTRL_SOC_RF_OSC_CLK_GATE_EN_MASK (0x800U) 25732 #define XCVR_CTRL_XCVR_CTRL_SOC_RF_OSC_CLK_GATE_EN_SHIFT (11U) 25733 #define XCVR_CTRL_XCVR_CTRL_SOC_RF_OSC_CLK_GATE_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_CTRL_SOC_RF_OSC_CLK_GATE_EN_SHIFT)) & XCVR_CTRL_XCVR_CTRL_SOC_RF_OSC_CLK_GATE_EN_MASK) 25734 #define XCVR_CTRL_XCVR_CTRL_DEMOD_SEL_MASK (0x3000U) 25735 #define XCVR_CTRL_XCVR_CTRL_DEMOD_SEL_SHIFT (12U) 25736 /*! DEMOD_SEL - Demodulator Selector 25737 * 0b00..No demodulator selected 25738 * 0b01..Use NXP Multi-standard PHY demodulator 25739 * 0b10..Use Legacy 802.15.4 demodulator 25740 * 0b11..Reserved 25741 */ 25742 #define XCVR_CTRL_XCVR_CTRL_DEMOD_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_CTRL_DEMOD_SEL_SHIFT)) & XCVR_CTRL_XCVR_CTRL_DEMOD_SEL_MASK) 25743 #define XCVR_CTRL_XCVR_CTRL_MAN_DSM_SEL_MASK (0xC000U) 25744 #define XCVR_CTRL_XCVR_CTRL_MAN_DSM_SEL_SHIFT (14U) 25745 #define XCVR_CTRL_XCVR_CTRL_MAN_DSM_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_CTRL_MAN_DSM_SEL_SHIFT)) & XCVR_CTRL_XCVR_CTRL_MAN_DSM_SEL_MASK) 25746 #define XCVR_CTRL_XCVR_CTRL_RADIO0_IRQ_SEL_MASK (0x70000U) 25747 #define XCVR_CTRL_XCVR_CTRL_RADIO0_IRQ_SEL_SHIFT (16U) 25748 /*! RADIO0_IRQ_SEL - RADIO0_IRQ_SEL 25749 * 0b000..Assign Radio #0 Interrupt to BLE 25750 * 0b001..Assign Radio #0 Interrupt to 802.15.4 25751 * 0b010..Radio #0 Interrupt unassigned 25752 * 0b011..Assign Radio #0 Interrupt to GENERIC_FSK 25753 * 0b100..Radio #0 Interrupt unassigned 25754 * 0b101..Radio #0 Interrupt unassigned 25755 * 0b110..Radio #0 Interrupt unassigned 25756 * 0b111..Radio #0 Interrupt unassigned 25757 */ 25758 #define XCVR_CTRL_XCVR_CTRL_RADIO0_IRQ_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_CTRL_RADIO0_IRQ_SEL_SHIFT)) & XCVR_CTRL_XCVR_CTRL_RADIO0_IRQ_SEL_MASK) 25759 #define XCVR_CTRL_XCVR_CTRL_RADIO1_IRQ_SEL_MASK (0x700000U) 25760 #define XCVR_CTRL_XCVR_CTRL_RADIO1_IRQ_SEL_SHIFT (20U) 25761 /*! RADIO1_IRQ_SEL - RADIO1_IRQ_SEL 25762 * 0b000..Assign Radio #1 Interrupt to BLE 25763 * 0b001..Assign Radio #1 Interrupt to 802.15.4 25764 * 0b010..Radio #1 Interrupt unassigned 25765 * 0b011..Assign Radio #1 Interrupt to GENERIC_FSK 25766 * 0b100..Radio #1 Interrupt unassigned 25767 * 0b101..Radio #1 Interrupt unassigned 25768 * 0b110..Radio #1 Interrupt unassigned 25769 * 0b111..Radio #1 Interrupt unassigned 25770 */ 25771 #define XCVR_CTRL_XCVR_CTRL_RADIO1_IRQ_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_CTRL_RADIO1_IRQ_SEL_SHIFT)) & XCVR_CTRL_XCVR_CTRL_RADIO1_IRQ_SEL_MASK) 25772 #define XCVR_CTRL_XCVR_CTRL_TSM_LL_INHIBIT_MASK (0xF000000U) 25773 #define XCVR_CTRL_XCVR_CTRL_TSM_LL_INHIBIT_SHIFT (24U) 25774 #define XCVR_CTRL_XCVR_CTRL_TSM_LL_INHIBIT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_CTRL_TSM_LL_INHIBIT_SHIFT)) & XCVR_CTRL_XCVR_CTRL_TSM_LL_INHIBIT_MASK) 25775 /*! @} */ 25776 25777 /*! @name XCVR_STATUS - TRANSCEIVER STATUS */ 25778 /*! @{ */ 25779 #define XCVR_CTRL_XCVR_STATUS_TSM_COUNT_MASK (0xFFU) 25780 #define XCVR_CTRL_XCVR_STATUS_TSM_COUNT_SHIFT (0U) 25781 #define XCVR_CTRL_XCVR_STATUS_TSM_COUNT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_STATUS_TSM_COUNT_SHIFT)) & XCVR_CTRL_XCVR_STATUS_TSM_COUNT_MASK) 25782 #define XCVR_CTRL_XCVR_STATUS_PLL_SEQ_STATE_MASK (0xF00U) 25783 #define XCVR_CTRL_XCVR_STATUS_PLL_SEQ_STATE_SHIFT (8U) 25784 /*! PLL_SEQ_STATE - PLL Sequence State 25785 * 0b0000..PLL OFF 25786 * 0b0010..CTUNE 25787 * 0b0011..CTUNE_SETTLE 25788 * 0b0110..HPMCAL1 25789 * 0b1000..HPMCAL1_SETTLE 25790 * 0b1010..HPMCAL2 25791 * 0b1100..HPMCAL2_SETTLE 25792 * 0b1111..PLLREADY 25793 */ 25794 #define XCVR_CTRL_XCVR_STATUS_PLL_SEQ_STATE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_STATUS_PLL_SEQ_STATE_SHIFT)) & XCVR_CTRL_XCVR_STATUS_PLL_SEQ_STATE_MASK) 25795 #define XCVR_CTRL_XCVR_STATUS_RX_MODE_MASK (0x1000U) 25796 #define XCVR_CTRL_XCVR_STATUS_RX_MODE_SHIFT (12U) 25797 #define XCVR_CTRL_XCVR_STATUS_RX_MODE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_STATUS_RX_MODE_SHIFT)) & XCVR_CTRL_XCVR_STATUS_RX_MODE_MASK) 25798 #define XCVR_CTRL_XCVR_STATUS_TX_MODE_MASK (0x2000U) 25799 #define XCVR_CTRL_XCVR_STATUS_TX_MODE_SHIFT (13U) 25800 #define XCVR_CTRL_XCVR_STATUS_TX_MODE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_STATUS_TX_MODE_SHIFT)) & XCVR_CTRL_XCVR_STATUS_TX_MODE_MASK) 25801 #define XCVR_CTRL_XCVR_STATUS_BTLE_SYSCLK_REQ_MASK (0x10000U) 25802 #define XCVR_CTRL_XCVR_STATUS_BTLE_SYSCLK_REQ_SHIFT (16U) 25803 #define XCVR_CTRL_XCVR_STATUS_BTLE_SYSCLK_REQ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_STATUS_BTLE_SYSCLK_REQ_SHIFT)) & XCVR_CTRL_XCVR_STATUS_BTLE_SYSCLK_REQ_MASK) 25804 #define XCVR_CTRL_XCVR_STATUS_RIF_LL_ACTIVE_MASK (0x20000U) 25805 #define XCVR_CTRL_XCVR_STATUS_RIF_LL_ACTIVE_SHIFT (17U) 25806 #define XCVR_CTRL_XCVR_STATUS_RIF_LL_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_STATUS_RIF_LL_ACTIVE_SHIFT)) & XCVR_CTRL_XCVR_STATUS_RIF_LL_ACTIVE_MASK) 25807 #define XCVR_CTRL_XCVR_STATUS_XTAL_READY_MASK (0x40000U) 25808 #define XCVR_CTRL_XCVR_STATUS_XTAL_READY_SHIFT (18U) 25809 /*! XTAL_READY - RF Osciallator Xtal Ready 25810 * 0b0..Indicates that the RF Oscillator is disabled or has not completed its warmup. 25811 * 0b1..Indicates that the RF Oscillator has completed its warmup count and is ready for use. 25812 */ 25813 #define XCVR_CTRL_XCVR_STATUS_XTAL_READY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_STATUS_XTAL_READY_SHIFT)) & XCVR_CTRL_XCVR_STATUS_XTAL_READY_MASK) 25814 #define XCVR_CTRL_XCVR_STATUS_TSM_IRQ0_MASK (0x1000000U) 25815 #define XCVR_CTRL_XCVR_STATUS_TSM_IRQ0_SHIFT (24U) 25816 /*! TSM_IRQ0 - TSM Interrupt #0 25817 * 0b0..TSM Interrupt #0 is not asserted. 25818 * 0b1..TSM Interrupt #0 is asserted. Write '1' to this bit to clear it. 25819 */ 25820 #define XCVR_CTRL_XCVR_STATUS_TSM_IRQ0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_STATUS_TSM_IRQ0_SHIFT)) & XCVR_CTRL_XCVR_STATUS_TSM_IRQ0_MASK) 25821 #define XCVR_CTRL_XCVR_STATUS_TSM_IRQ1_MASK (0x2000000U) 25822 #define XCVR_CTRL_XCVR_STATUS_TSM_IRQ1_SHIFT (25U) 25823 /*! TSM_IRQ1 - TSM Interrupt #1 25824 * 0b0..TSM Interrupt #1 is not asserted. 25825 * 0b1..TSM Interrupt #1 is asserted. Write '1' to this bit to clear it. 25826 */ 25827 #define XCVR_CTRL_XCVR_STATUS_TSM_IRQ1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_STATUS_TSM_IRQ1_SHIFT)) & XCVR_CTRL_XCVR_STATUS_TSM_IRQ1_MASK) 25828 /*! @} */ 25829 25830 /*! @name BLE_ARB_CTRL - BLE ARBITRATION CONTROL */ 25831 /*! @{ */ 25832 #define XCVR_CTRL_BLE_ARB_CTRL_BLE_RELINQUISH_MASK (0x1U) 25833 #define XCVR_CTRL_BLE_ARB_CTRL_BLE_RELINQUISH_SHIFT (0U) 25834 #define XCVR_CTRL_BLE_ARB_CTRL_BLE_RELINQUISH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_BLE_ARB_CTRL_BLE_RELINQUISH_SHIFT)) & XCVR_CTRL_BLE_ARB_CTRL_BLE_RELINQUISH_MASK) 25835 #define XCVR_CTRL_BLE_ARB_CTRL_XCVR_BUSY_MASK (0x2U) 25836 #define XCVR_CTRL_BLE_ARB_CTRL_XCVR_BUSY_SHIFT (1U) 25837 /*! XCVR_BUSY - Transceiver Busy Status Bit 25838 * 0b0..RF Channel in available (TSM is idle) 25839 * 0b1..RF Channel in use (TSM is busy) 25840 */ 25841 #define XCVR_CTRL_BLE_ARB_CTRL_XCVR_BUSY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_BLE_ARB_CTRL_XCVR_BUSY_SHIFT)) & XCVR_CTRL_BLE_ARB_CTRL_XCVR_BUSY_MASK) 25842 /*! @} */ 25843 25844 /*! @name OVERWRITE_VER - OVERWRITE VERSION */ 25845 /*! @{ */ 25846 #define XCVR_CTRL_OVERWRITE_VER_OVERWRITE_VER_MASK (0xFFU) 25847 #define XCVR_CTRL_OVERWRITE_VER_OVERWRITE_VER_SHIFT (0U) 25848 #define XCVR_CTRL_OVERWRITE_VER_OVERWRITE_VER(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_OVERWRITE_VER_OVERWRITE_VER_SHIFT)) & XCVR_CTRL_OVERWRITE_VER_OVERWRITE_VER_MASK) 25849 /*! @} */ 25850 25851 /*! @name DTEST_CTRL - DIGITAL TEST MUX CONTROL */ 25852 /*! @{ */ 25853 #define XCVR_CTRL_DTEST_CTRL_DTEST_PAGE_MASK (0x3FU) 25854 #define XCVR_CTRL_DTEST_CTRL_DTEST_PAGE_SHIFT (0U) 25855 /*! DTEST_PAGE - DTEST Page Selector 25856 * 0b000000..PLLFREQCAL 25857 * 0b000001..PLLBESTDIFF 25858 * 0b000010..PLLRIPPLE 25859 * 0b000011..PLLHPMCAL 25860 * 0b000100..PLLVCOMOD 25861 * 0b000101..PLLUNLOCK 25862 * 0b000110..PLLCYCSLIP 25863 * 0b000111..PLLCHAN 25864 * 0b001000..TXWARMUP 25865 * 0b001001..TXPOWER 25866 * 0b001010..TXFREQWORD 25867 * 0b001011..RXWARMUP 25868 * 0b001100..RXADC 25869 * 0b001101..RXDMA 25870 * 0b001110..RXDIGIQ 25871 * 0b001111..RXDMA2 25872 * 0b010000..RXINPH 25873 * 0b010001..RSSI0 25874 * 0b010010..RSSI1 25875 * 0b010011..AGC0 25876 * 0b010100..AGC1 25877 * 0b010101..DCOC0 25878 * 0b010110..DCOC1 25879 * 0b010111..DCOC2 25880 * 0b011000..DCOC3 25881 * 0b011001..TSM 25882 * 0b011010..MTTSMCAL 25883 * 0b011011..MTADV 25884 * 0b011100..MTINIT 25885 * 0b011101..MTSCAN 25886 * 0b011110..MTCONN 25887 * 0b011111..MTDTM 25888 * 0b100000..MTADVXCV 25889 * 0b100001..MTCONXCV 25890 * 0b100010..MTDTM2 25891 * 0b100011..DSM 25892 * 0b100100..PHY_FSK_STATE 25893 * 0b100101..PHY_CFO_EST_PD 25894 * 0b100110..PHY_CFO_EST_PD2 25895 * 0b100111..PHY_EARLY_LATE 25896 * 0b101000..PHY_FSK_DEMOD 25897 * 0b101001..PHY_AA_SEARCH 25898 * 0b101010..PHY_DATA_OUT 25899 * 0b101011..PHY_SAMP_TIME 25900 * 0b101100..CCA_ED_LQI 25901 * 0b101101..CCA_ED_LQI2 25902 * 0b101110..Reserved 25903 * 0b101111..Reserved 25904 * 0b110000..Reserved 25905 * 0b110001..Reserved 25906 * 0b110010..Reserved 25907 * 0b110011..Reserved 25908 * 0b110100..Reserved 25909 * 0b110101..Reserved 25910 * 0b110110..Reserved 25911 * 0b110111..Reserved 25912 * 0b111000..Reserved 25913 * 0b111001..Reserved 25914 * 0b111010..RCCAL 25915 * 0b111011..AUXPLLFCAL 25916 * 0b111100..GENFSKTX 25917 * 0b111101..GENFSKRX 25918 * 0b111110..GENFSKSTATE 25919 * 0b111111..GENFILTER 25920 */ 25921 #define XCVR_CTRL_DTEST_CTRL_DTEST_PAGE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DTEST_CTRL_DTEST_PAGE_SHIFT)) & XCVR_CTRL_DTEST_CTRL_DTEST_PAGE_MASK) 25922 #define XCVR_CTRL_DTEST_CTRL_DTEST_EN_MASK (0x80U) 25923 #define XCVR_CTRL_DTEST_CTRL_DTEST_EN_SHIFT (7U) 25924 /*! DTEST_EN - DTEST Enable 25925 * 0b0..Disables DTEST. The DTEST pins assume their mission function. 25926 * 0b1..Enables DTEST. The contents of the selected page (DTEST_PAGE) will appear on the DTEST output pins. 25927 */ 25928 #define XCVR_CTRL_DTEST_CTRL_DTEST_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DTEST_CTRL_DTEST_EN_SHIFT)) & XCVR_CTRL_DTEST_CTRL_DTEST_EN_MASK) 25929 #define XCVR_CTRL_DTEST_CTRL_GPIO0_OVLAY_PIN_MASK (0xF00U) 25930 #define XCVR_CTRL_DTEST_CTRL_GPIO0_OVLAY_PIN_SHIFT (8U) 25931 #define XCVR_CTRL_DTEST_CTRL_GPIO0_OVLAY_PIN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DTEST_CTRL_GPIO0_OVLAY_PIN_SHIFT)) & XCVR_CTRL_DTEST_CTRL_GPIO0_OVLAY_PIN_MASK) 25932 #define XCVR_CTRL_DTEST_CTRL_GPIO1_OVLAY_PIN_MASK (0xF000U) 25933 #define XCVR_CTRL_DTEST_CTRL_GPIO1_OVLAY_PIN_SHIFT (12U) 25934 #define XCVR_CTRL_DTEST_CTRL_GPIO1_OVLAY_PIN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DTEST_CTRL_GPIO1_OVLAY_PIN_SHIFT)) & XCVR_CTRL_DTEST_CTRL_GPIO1_OVLAY_PIN_MASK) 25935 #define XCVR_CTRL_DTEST_CTRL_TSM_GPIO_OVLAY_MASK (0x30000U) 25936 #define XCVR_CTRL_DTEST_CTRL_TSM_GPIO_OVLAY_SHIFT (16U) 25937 /*! TSM_GPIO_OVLAY - TSM GPIO Overlay Pin Control 25938 * 0b00..there is no overlay, and the DTEST Page Table dictates the node that appears on each DTEST pin. 25939 * 0b01..the register GPIO0_OVLAY_PIN[3:0] selects the DTEST pin on which GPIO0_TRIG_EN will appear. 25940 * 0b10..the register GPIO1_OVLAY_PIN[3:0] selects the DTEST pin on which GPIO1_TRIG_EN will appear. 25941 * 0b11..the register GPIO0_OVLAY_PIN[3:0] selects the DTEST pin on which GPIO0_TRIG_EN will appear, and the register GPIO1_OVLAY_PIN[3:0] selects the DTEST pin on which GPIO1_TRIG_EN will appear. 25942 */ 25943 #define XCVR_CTRL_DTEST_CTRL_TSM_GPIO_OVLAY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DTEST_CTRL_TSM_GPIO_OVLAY_SHIFT)) & XCVR_CTRL_DTEST_CTRL_TSM_GPIO_OVLAY_MASK) 25944 #define XCVR_CTRL_DTEST_CTRL_DTEST_SHFT_MASK (0x7000000U) 25945 #define XCVR_CTRL_DTEST_CTRL_DTEST_SHFT_SHIFT (24U) 25946 #define XCVR_CTRL_DTEST_CTRL_DTEST_SHFT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DTEST_CTRL_DTEST_SHFT_SHIFT)) & XCVR_CTRL_DTEST_CTRL_DTEST_SHFT_MASK) 25947 #define XCVR_CTRL_DTEST_CTRL_DTEST_CCA2_SEL_MASK (0x8000000U) 25948 #define XCVR_CTRL_DTEST_CTRL_DTEST_CCA2_SEL_SHIFT (27U) 25949 /*! DTEST_CCA2_SEL - DTEST CCA Mode 2 Selector 25950 * 0b0..cca2_max_or_sym[7:0] = cca2_cnt_sym[7:0] 25951 * 0b1..cca2_max_or_sym[7:0] = cca2_cnt_max[7:0] 25952 */ 25953 #define XCVR_CTRL_DTEST_CTRL_DTEST_CCA2_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DTEST_CTRL_DTEST_CCA2_SEL_SHIFT)) & XCVR_CTRL_DTEST_CTRL_DTEST_CCA2_SEL_MASK) 25954 #define XCVR_CTRL_DTEST_CTRL_RAW_MODE_I_MASK (0x10000000U) 25955 #define XCVR_CTRL_DTEST_CTRL_RAW_MODE_I_SHIFT (28U) 25956 #define XCVR_CTRL_DTEST_CTRL_RAW_MODE_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DTEST_CTRL_RAW_MODE_I_SHIFT)) & XCVR_CTRL_DTEST_CTRL_RAW_MODE_I_MASK) 25957 #define XCVR_CTRL_DTEST_CTRL_RAW_MODE_Q_MASK (0x20000000U) 25958 #define XCVR_CTRL_DTEST_CTRL_RAW_MODE_Q_SHIFT (29U) 25959 #define XCVR_CTRL_DTEST_CTRL_RAW_MODE_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DTEST_CTRL_RAW_MODE_Q_SHIFT)) & XCVR_CTRL_DTEST_CTRL_RAW_MODE_Q_MASK) 25960 /*! @} */ 25961 25962 /*! @name DMA_CTRL - TRANSCEIVER DMA CONTROL */ 25963 /*! @{ */ 25964 #define XCVR_CTRL_DMA_CTRL_DMA_PAGE_MASK (0xFU) 25965 #define XCVR_CTRL_DMA_CTRL_DMA_PAGE_SHIFT (0U) 25966 /*! DMA_PAGE - Transceiver DMA Page Selector 25967 * 0b0000..DMA Idle 25968 * 0b0001..RX_DIG I and Q 25969 * 0b0010..RX_DIG I Only 25970 * 0b0011..RX_DIG Q Only 25971 * 0b0100..RAW ADC I and Q 25972 * 0b0101..RAW ADC I Only 25973 * 0b0110..RAW ADC Q only 25974 * 0b0111..DC Estimator I and Q 25975 * 0b1000..DC Estimator I Only 25976 * 0b1001..DC Estimator Q only 25977 * 0b1010..RX_DIG Phase Output 25978 * 0b1011..Reserved 25979 * 0b1100..Demodulator Soft Decision 25980 * 0b1101..Demodulator Data Output 25981 * 0b1110..Demodulator CFO Phase Output 25982 * 0b1111..Reserved 25983 */ 25984 #define XCVR_CTRL_DMA_CTRL_DMA_PAGE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DMA_CTRL_DMA_PAGE_SHIFT)) & XCVR_CTRL_DMA_CTRL_DMA_PAGE_MASK) 25985 #define XCVR_CTRL_DMA_CTRL_DMA_EN_MASK (0x10U) 25986 #define XCVR_CTRL_DMA_CTRL_DMA_EN_SHIFT (4U) 25987 #define XCVR_CTRL_DMA_CTRL_DMA_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DMA_CTRL_DMA_EN_SHIFT)) & XCVR_CTRL_DMA_CTRL_DMA_EN_MASK) 25988 #define XCVR_CTRL_DMA_CTRL_BYPASS_DMA_SYNC_MASK (0x20U) 25989 #define XCVR_CTRL_DMA_CTRL_BYPASS_DMA_SYNC_SHIFT (5U) 25990 /*! BYPASS_DMA_SYNC - Bypass External DMA Synchronization 25991 * 0b0..Don't Bypass External Synchronization. Use this setting if SINGLE_REQ_MODE=1. 25992 * 0b1..Bypass External Synchronization. This setting is mandatory if SINGLE_REQ_MODE=0. 25993 */ 25994 #define XCVR_CTRL_DMA_CTRL_BYPASS_DMA_SYNC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DMA_CTRL_BYPASS_DMA_SYNC_SHIFT)) & XCVR_CTRL_DMA_CTRL_BYPASS_DMA_SYNC_MASK) 25995 #define XCVR_CTRL_DMA_CTRL_DMA_AA_TRIGGERED_MASK (0x40U) 25996 #define XCVR_CTRL_DMA_CTRL_DMA_AA_TRIGGERED_SHIFT (6U) 25997 #define XCVR_CTRL_DMA_CTRL_DMA_AA_TRIGGERED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DMA_CTRL_DMA_AA_TRIGGERED_SHIFT)) & XCVR_CTRL_DMA_CTRL_DMA_AA_TRIGGERED_MASK) 25998 #define XCVR_CTRL_DMA_CTRL_DMA_TIMED_OUT_MASK (0x80U) 25999 #define XCVR_CTRL_DMA_CTRL_DMA_TIMED_OUT_SHIFT (7U) 26000 /*! DMA_TIMED_OUT - DMA Transfer Timed Out 26001 * 0b0..A DMA timeout has not occurred 26002 * 0b1..A DMA timeout has occurred in Single Request Mode since the last time this bit was cleared 26003 */ 26004 #define XCVR_CTRL_DMA_CTRL_DMA_TIMED_OUT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DMA_CTRL_DMA_TIMED_OUT_SHIFT)) & XCVR_CTRL_DMA_CTRL_DMA_TIMED_OUT_MASK) 26005 #define XCVR_CTRL_DMA_CTRL_DMA_TIMEOUT_MASK (0xF00U) 26006 #define XCVR_CTRL_DMA_CTRL_DMA_TIMEOUT_SHIFT (8U) 26007 #define XCVR_CTRL_DMA_CTRL_DMA_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DMA_CTRL_DMA_TIMEOUT_SHIFT)) & XCVR_CTRL_DMA_CTRL_DMA_TIMEOUT_MASK) 26008 #define XCVR_CTRL_DMA_CTRL_DMA_START_TRG_MASK (0x7000U) 26009 #define XCVR_CTRL_DMA_CTRL_DMA_START_TRG_SHIFT (12U) 26010 #define XCVR_CTRL_DMA_CTRL_DMA_START_TRG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DMA_CTRL_DMA_START_TRG_SHIFT)) & XCVR_CTRL_DMA_CTRL_DMA_START_TRG_MASK) 26011 #define XCVR_CTRL_DMA_CTRL_DMA_START_EDGE_MASK (0x8000U) 26012 #define XCVR_CTRL_DMA_CTRL_DMA_START_EDGE_SHIFT (15U) 26013 /*! DMA_START_EDGE - DMA Start Trigger Edge Selector 26014 * 0b0..Trigger fires on a rising edge of the selected trigger source 26015 * 0b1..Trigger fires on a falling edge of the selected trigger source 26016 */ 26017 #define XCVR_CTRL_DMA_CTRL_DMA_START_EDGE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DMA_CTRL_DMA_START_EDGE_SHIFT)) & XCVR_CTRL_DMA_CTRL_DMA_START_EDGE_MASK) 26018 #define XCVR_CTRL_DMA_CTRL_DMA_START_TRIGGERED_MASK (0x10000U) 26019 #define XCVR_CTRL_DMA_CTRL_DMA_START_TRIGGERED_SHIFT (16U) 26020 #define XCVR_CTRL_DMA_CTRL_DMA_START_TRIGGERED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DMA_CTRL_DMA_START_TRIGGERED_SHIFT)) & XCVR_CTRL_DMA_CTRL_DMA_START_TRIGGERED_MASK) 26021 #define XCVR_CTRL_DMA_CTRL_SINGLE_REQ_MODE_MASK (0x20000U) 26022 #define XCVR_CTRL_DMA_CTRL_SINGLE_REQ_MODE_SHIFT (17U) 26023 /*! SINGLE_REQ_MODE - DMA Single Request Mode 26024 * 0b0..Disable Single Request Mode. The transceiver will assert ipd_req_radio_rx whenever it has a new sample ready for transfer. 26025 * 0b1..Enable Single Request Mode. A single initial request by the transceiver will transfer the entire DMA block of data 26026 */ 26027 #define XCVR_CTRL_DMA_CTRL_SINGLE_REQ_MODE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DMA_CTRL_SINGLE_REQ_MODE_SHIFT)) & XCVR_CTRL_DMA_CTRL_SINGLE_REQ_MODE_MASK) 26028 /*! @} */ 26029 26030 /*! @name DMA_DATA - TRANSCEIVER DMA DATA */ 26031 /*! @{ */ 26032 #define XCVR_CTRL_DMA_DATA_DMA_DATA_MASK (0xFFFFFFFFU) 26033 #define XCVR_CTRL_DMA_DATA_DMA_DATA_SHIFT (0U) 26034 #define XCVR_CTRL_DMA_DATA_DMA_DATA(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_DMA_DATA_DMA_DATA_SHIFT)) & XCVR_CTRL_DMA_DATA_DMA_DATA_MASK) 26035 /*! @} */ 26036 26037 /*! @name PACKET_RAM_CTRL - PACKET RAM CONTROL */ 26038 /*! @{ */ 26039 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_PAGE_MASK (0xFU) 26040 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_PAGE_SHIFT (0U) 26041 /*! DBG_PAGE - Packet RAM Debug Page Selector 26042 * 0b0000..Packet RAM Debug Mode Idle 26043 * 0b0001..RX_DIG I and Q 26044 * 0b0010..Reserved 26045 * 0b0011..Reserved 26046 * 0b0100..RAW ADC I and Q 26047 * 0b0101..Reserved 26048 * 0b0110..Reserved 26049 * 0b0111..DC Estimator I and Q 26050 * 0b1000..Reserved 26051 * 0b1001..Reserved 26052 * 0b1010..RX_DIG Phase Output 26053 * 0b1011..Reserved 26054 * 0b1100..Demodulator Soft Decision 26055 * 0b1101..Demodulator Data Output 26056 * 0b1110..Demodulator CFO Phase Output 26057 * 0b1111..Reserved 26058 */ 26059 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_PAGE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_DBG_PAGE_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_DBG_PAGE_MASK) 26060 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_EN_MASK (0x10U) 26061 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_EN_SHIFT (4U) 26062 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_DBG_EN_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_DBG_EN_MASK) 26063 #define XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_PAGE_MASK (0x20U) 26064 #define XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_PAGE_SHIFT (5U) 26065 /*! XCVR_RAM_PAGE - RAM Page Selector for XCVR Access 26066 * 0b0..RAM0 is mapped into XCVR address space, between XCVR_BASE + 0x700, and XCVR_BASE + 0xFFF 26067 * 0b1..RAM1 is mapped into XCVR address space, between XCVR_BASE + 0x700, and XCVR_BASE + 0xFFF 26068 */ 26069 #define XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_PAGE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_PAGE_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_PAGE_MASK) 26070 #define XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_ALLOW_MASK (0x40U) 26071 #define XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_ALLOW_SHIFT (6U) 26072 /*! XCVR_RAM_ALLOW - Allow Packet RAM Transceiver Access 26073 * 0b0..Protocol Engines, and associated IPS busses, have exclusive access to Packet RAM (mission mode) 26074 * 0b1..Transceiver-space access to Packet RAM, including Packet RAM debug mode, are allowed 26075 */ 26076 #define XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_ALLOW(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_ALLOW_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_ALLOW_MASK) 26077 #define XCVR_CTRL_PACKET_RAM_CTRL_ALL_PROTOCOLS_ALLOW_MASK (0x80U) 26078 #define XCVR_CTRL_PACKET_RAM_CTRL_ALL_PROTOCOLS_ALLOW_SHIFT (7U) 26079 /*! ALL_PROTOCOLS_ALLOW - Allow IPS bus access to Packet RAM for any protocol at any time. 26080 * 0b0..IPS bus access to Packet RAM is restricted to the protocol engine currently selected by XCVR_CTRL[PROTOCOL]. 26081 * 0b1..All IPS bus access to Packet RAM permitted, regardless of XCVR_CTRL[PROTOCOL] setting 26082 */ 26083 #define XCVR_CTRL_PACKET_RAM_CTRL_ALL_PROTOCOLS_ALLOW(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_ALL_PROTOCOLS_ALLOW_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_ALL_PROTOCOLS_ALLOW_MASK) 26084 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_RAM_FULL_MASK (0x300U) 26085 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_RAM_FULL_SHIFT (8U) 26086 /*! DBG_RAM_FULL - DBG_RAM_FULL[1:0] 26087 * 0b00..Neither Packet RAM0 nor RAM1 is full 26088 * 0bx1..Packet RAM0 has been filled to capacity. 26089 * 0b1x..Packet RAM1 has been filled to capacity. 26090 */ 26091 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_RAM_FULL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_DBG_RAM_FULL_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_DBG_RAM_FULL_MASK) 26092 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_AA_TRIGGERED_MASK (0x400U) 26093 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_AA_TRIGGERED_SHIFT (10U) 26094 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_AA_TRIGGERED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_DBG_AA_TRIGGERED_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_DBG_AA_TRIGGERED_MASK) 26095 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_SOFT_INFO_SEL_MASK (0x800U) 26096 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_SOFT_INFO_SEL_SHIFT (11U) 26097 /*! DBG_SOFT_INFO_SEL - Packet RAM Debug PHY Soft Info Output Selector 26098 * 0b0..PHY output bit_valid_int is used to capture soft decision data 26099 * 0b1..PHY output demod_vout is used to capture soft decision data 26100 */ 26101 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_SOFT_INFO_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_DBG_SOFT_INFO_SEL_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_DBG_SOFT_INFO_SEL_MASK) 26102 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRG_MASK (0x7000U) 26103 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRG_SHIFT (12U) 26104 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRG_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRG_MASK) 26105 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_EDGE_MASK (0x8000U) 26106 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_EDGE_SHIFT (15U) 26107 /*! DBG_START_EDGE - Packet RAM Debug Start Trigger Edge Selector 26108 * 0b0..Trigger fires on a rising edge of the selected trigger source 26109 * 0b1..Trigger fires on a falling edge of the selected trigger source 26110 */ 26111 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_EDGE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_EDGE_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_EDGE_MASK) 26112 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRG_MASK (0xF0000U) 26113 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRG_SHIFT (16U) 26114 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRG_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRG_MASK) 26115 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_EDGE_MASK (0x100000U) 26116 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_EDGE_SHIFT (20U) 26117 /*! DBG_STOP_EDGE - Packet RAM Debug Stop Trigger Edge Selector 26118 * 0b0..Trigger fires on a rising edge of the selected trigger source 26119 * 0b1..Trigger fires on a falling edge of the selected trigger source 26120 */ 26121 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_EDGE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_EDGE_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_EDGE_MASK) 26122 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRIGGERED_MASK (0x200000U) 26123 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRIGGERED_SHIFT (21U) 26124 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRIGGERED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRIGGERED_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRIGGERED_MASK) 26125 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRIGGERED_MASK (0x400000U) 26126 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRIGGERED_SHIFT (22U) 26127 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRIGGERED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRIGGERED_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRIGGERED_MASK) 26128 #define XCVR_CTRL_PACKET_RAM_CTRL_PB_PROTECT_MASK (0x800000U) 26129 #define XCVR_CTRL_PACKET_RAM_CTRL_PB_PROTECT_SHIFT (23U) 26130 /*! PB_PROTECT - Packet Buffer Protect 26131 * 0b0..Incoming received packets overwrite Packet Buffer RX contents (default) 26132 * 0b1..Incoming received packets are blocked from overwriting Packet Buffer RX contents 26133 */ 26134 #define XCVR_CTRL_PACKET_RAM_CTRL_PB_PROTECT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_PB_PROTECT_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_PB_PROTECT_MASK) 26135 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD_EN_MASK (0x1000000U) 26136 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD_EN_SHIFT (24U) 26137 /*! RAM0_CLK_ON_OVRD_EN - Override control for RAM0 Clock Gate Enable 26138 * 0b0..Normal operation. 26139 * 0b1..Use the state of RAM0_CLK_ON_OVRD to override the RAM0 Clock Gate Enable. 26140 */ 26141 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD_EN_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD_EN_MASK) 26142 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD_MASK (0x2000000U) 26143 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD_SHIFT (25U) 26144 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD_MASK) 26145 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD_EN_MASK (0x4000000U) 26146 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD_EN_SHIFT (26U) 26147 /*! RAM1_CLK_ON_OVRD_EN - Override control for RAM1 Clock Gate Enable 26148 * 0b0..Normal operation. 26149 * 0b1..Use the state of RAM1_CLK_ON_OVRD to override the RAM1 Clock Gate Enable. 26150 */ 26151 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD_EN_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD_EN_MASK) 26152 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD_MASK (0x8000000U) 26153 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD_SHIFT (27U) 26154 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD_MASK) 26155 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD_EN_MASK (0x10000000U) 26156 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD_EN_SHIFT (28U) 26157 /*! RAM0_CE_ON_OVRD_EN - Override control for RAM0 CE (Chip Enable) 26158 * 0b0..Normal operation. 26159 * 0b1..Use the state of RAM0_CE_ON_OVRD to override the RAM0 CE. 26160 */ 26161 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD_EN_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD_EN_MASK) 26162 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD_MASK (0x20000000U) 26163 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD_SHIFT (29U) 26164 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD_MASK) 26165 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD_EN_MASK (0x40000000U) 26166 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD_EN_SHIFT (30U) 26167 /*! RAM1_CE_ON_OVRD_EN - Override control for RAM1 CE (Chip Enable) 26168 * 0b0..Normal operation. 26169 * 0b1..Use the state of RAM1_CE_ON_OVRD to override the RAM1 CE. 26170 */ 26171 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD_EN_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD_EN_MASK) 26172 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD_MASK (0x80000000U) 26173 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD_SHIFT (31U) 26174 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD_SHIFT)) & XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD_MASK) 26175 /*! @} */ 26176 26177 /*! @name RAM_STOP_ADDR - PACKET RAM DEBUG RAM STOP ADDRESS */ 26178 /*! @{ */ 26179 #define XCVR_CTRL_RAM_STOP_ADDR_RAM0_STOP_ADDR_MASK (0x7FFU) 26180 #define XCVR_CTRL_RAM_STOP_ADDR_RAM0_STOP_ADDR_SHIFT (0U) 26181 #define XCVR_CTRL_RAM_STOP_ADDR_RAM0_STOP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_RAM_STOP_ADDR_RAM0_STOP_ADDR_SHIFT)) & XCVR_CTRL_RAM_STOP_ADDR_RAM0_STOP_ADDR_MASK) 26182 #define XCVR_CTRL_RAM_STOP_ADDR_RAM1_STOP_ADDR_MASK (0x7FF0000U) 26183 #define XCVR_CTRL_RAM_STOP_ADDR_RAM1_STOP_ADDR_SHIFT (16U) 26184 #define XCVR_CTRL_RAM_STOP_ADDR_RAM1_STOP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_RAM_STOP_ADDR_RAM1_STOP_ADDR_SHIFT)) & XCVR_CTRL_RAM_STOP_ADDR_RAM1_STOP_ADDR_MASK) 26185 /*! @} */ 26186 26187 /*! @name FAD_CTRL - FAD CONTROL */ 26188 /*! @{ */ 26189 #define XCVR_CTRL_FAD_CTRL_FAD_EN_MASK (0x1U) 26190 #define XCVR_CTRL_FAD_CTRL_FAD_EN_SHIFT (0U) 26191 /*! FAD_EN - Fast Antenna Diversity Enable 26192 * 0b0..Fast Antenna Diversity disabled 26193 * 0b1..Fast Antenna Diversity enabled 26194 */ 26195 #define XCVR_CTRL_FAD_CTRL_FAD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_FAD_CTRL_FAD_EN_SHIFT)) & XCVR_CTRL_FAD_CTRL_FAD_EN_MASK) 26196 #define XCVR_CTRL_FAD_CTRL_ANTX_MASK (0x2U) 26197 #define XCVR_CTRL_FAD_CTRL_ANTX_SHIFT (1U) 26198 #define XCVR_CTRL_FAD_CTRL_ANTX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_FAD_CTRL_ANTX_SHIFT)) & XCVR_CTRL_FAD_CTRL_ANTX_MASK) 26199 #define XCVR_CTRL_FAD_CTRL_ANTX_OVRD_EN_MASK (0x4U) 26200 #define XCVR_CTRL_FAD_CTRL_ANTX_OVRD_EN_SHIFT (2U) 26201 #define XCVR_CTRL_FAD_CTRL_ANTX_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_FAD_CTRL_ANTX_OVRD_EN_SHIFT)) & XCVR_CTRL_FAD_CTRL_ANTX_OVRD_EN_MASK) 26202 #define XCVR_CTRL_FAD_CTRL_ANTX_OVRD_MASK (0x8U) 26203 #define XCVR_CTRL_FAD_CTRL_ANTX_OVRD_SHIFT (3U) 26204 #define XCVR_CTRL_FAD_CTRL_ANTX_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_FAD_CTRL_ANTX_OVRD_SHIFT)) & XCVR_CTRL_FAD_CTRL_ANTX_OVRD_MASK) 26205 #define XCVR_CTRL_FAD_CTRL_ANTX_EN_MASK (0x30U) 26206 #define XCVR_CTRL_FAD_CTRL_ANTX_EN_SHIFT (4U) 26207 /*! ANTX_EN - FAD Antenna Controls Enable 26208 * 0b00..all disabled (held low) 26209 * 0b01..only RX/TX_SWITCH enabled 26210 * 0b10..only ANT_A/B enabled 26211 * 0b11..all enabled 26212 */ 26213 #define XCVR_CTRL_FAD_CTRL_ANTX_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_FAD_CTRL_ANTX_EN_SHIFT)) & XCVR_CTRL_FAD_CTRL_ANTX_EN_MASK) 26214 #define XCVR_CTRL_FAD_CTRL_ANTX_HZ_MASK (0x40U) 26215 #define XCVR_CTRL_FAD_CTRL_ANTX_HZ_SHIFT (6U) 26216 /*! ANTX_HZ - FAD PAD Tristate Control 26217 * 0b0..ANT_A, ANT_B, RX_SWITCH and TX_SWITCH are actively driven outputs. 26218 * 0b1..Antenna controls high impedance- Set ANT_A, ANT_B, RX_SWITCH and TX_SWITCH in high impedance. 26219 */ 26220 #define XCVR_CTRL_FAD_CTRL_ANTX_HZ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_FAD_CTRL_ANTX_HZ_SHIFT)) & XCVR_CTRL_FAD_CTRL_ANTX_HZ_MASK) 26221 #define XCVR_CTRL_FAD_CTRL_ANTX_CTRLMODE_MASK (0x80U) 26222 #define XCVR_CTRL_FAD_CTRL_ANTX_CTRLMODE_SHIFT (7U) 26223 #define XCVR_CTRL_FAD_CTRL_ANTX_CTRLMODE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_FAD_CTRL_ANTX_CTRLMODE_SHIFT)) & XCVR_CTRL_FAD_CTRL_ANTX_CTRLMODE_MASK) 26224 #define XCVR_CTRL_FAD_CTRL_ANTX_POL_MASK (0xF00U) 26225 #define XCVR_CTRL_FAD_CTRL_ANTX_POL_SHIFT (8U) 26226 #define XCVR_CTRL_FAD_CTRL_ANTX_POL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_FAD_CTRL_ANTX_POL_SHIFT)) & XCVR_CTRL_FAD_CTRL_ANTX_POL_MASK) 26227 #define XCVR_CTRL_FAD_CTRL_FAD_NOT_GPIO_MASK (0xF000U) 26228 #define XCVR_CTRL_FAD_CTRL_FAD_NOT_GPIO_SHIFT (12U) 26229 #define XCVR_CTRL_FAD_CTRL_FAD_NOT_GPIO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_FAD_CTRL_FAD_NOT_GPIO_SHIFT)) & XCVR_CTRL_FAD_CTRL_FAD_NOT_GPIO_MASK) 26230 /*! @} */ 26231 26232 /*! @name LPPS_CTRL - LOW POWER PREAMBLE SEARCH CONTROL */ 26233 /*! @{ */ 26234 #define XCVR_CTRL_LPPS_CTRL_LPPS_ENABLE_MASK (0x1U) 26235 #define XCVR_CTRL_LPPS_CTRL_LPPS_ENABLE_SHIFT (0U) 26236 #define XCVR_CTRL_LPPS_CTRL_LPPS_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_LPPS_CTRL_LPPS_ENABLE_SHIFT)) & XCVR_CTRL_LPPS_CTRL_LPPS_ENABLE_MASK) 26237 #define XCVR_CTRL_LPPS_CTRL_LPPS_TZA_ALLOW_MASK (0x2U) 26238 #define XCVR_CTRL_LPPS_CTRL_LPPS_TZA_ALLOW_SHIFT (1U) 26239 #define XCVR_CTRL_LPPS_CTRL_LPPS_TZA_ALLOW(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_LPPS_CTRL_LPPS_TZA_ALLOW_SHIFT)) & XCVR_CTRL_LPPS_CTRL_LPPS_TZA_ALLOW_MASK) 26240 #define XCVR_CTRL_LPPS_CTRL_LPPS_BBA_ALLOW_MASK (0x4U) 26241 #define XCVR_CTRL_LPPS_CTRL_LPPS_BBA_ALLOW_SHIFT (2U) 26242 #define XCVR_CTRL_LPPS_CTRL_LPPS_BBA_ALLOW(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_LPPS_CTRL_LPPS_BBA_ALLOW_SHIFT)) & XCVR_CTRL_LPPS_CTRL_LPPS_BBA_ALLOW_MASK) 26243 #define XCVR_CTRL_LPPS_CTRL_LPPS_ADC_ALLOW_MASK (0x8U) 26244 #define XCVR_CTRL_LPPS_CTRL_LPPS_ADC_ALLOW_SHIFT (3U) 26245 #define XCVR_CTRL_LPPS_CTRL_LPPS_ADC_ALLOW(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_LPPS_CTRL_LPPS_ADC_ALLOW_SHIFT)) & XCVR_CTRL_LPPS_CTRL_LPPS_ADC_ALLOW_MASK) 26246 #define XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_ALLOW_MASK (0x10U) 26247 #define XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_ALLOW_SHIFT (4U) 26248 #define XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_ALLOW(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_ALLOW_SHIFT)) & XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_ALLOW_MASK) 26249 #define XCVR_CTRL_LPPS_CTRL_LPPS_PDET_ALLOW_MASK (0x20U) 26250 #define XCVR_CTRL_LPPS_CTRL_LPPS_PDET_ALLOW_SHIFT (5U) 26251 #define XCVR_CTRL_LPPS_CTRL_LPPS_PDET_ALLOW(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_LPPS_CTRL_LPPS_PDET_ALLOW_SHIFT)) & XCVR_CTRL_LPPS_CTRL_LPPS_PDET_ALLOW_MASK) 26252 #define XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_ALLOW_MASK (0x40U) 26253 #define XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_ALLOW_SHIFT (6U) 26254 #define XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_ALLOW(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_ALLOW_SHIFT)) & XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_ALLOW_MASK) 26255 #define XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_BUF_ALLOW_MASK (0x80U) 26256 #define XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_BUF_ALLOW_SHIFT (7U) 26257 #define XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_BUF_ALLOW(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_BUF_ALLOW_SHIFT)) & XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_BUF_ALLOW_MASK) 26258 #define XCVR_CTRL_LPPS_CTRL_LPPS_RX_DIG_ALLOW_MASK (0x100U) 26259 #define XCVR_CTRL_LPPS_CTRL_LPPS_RX_DIG_ALLOW_SHIFT (8U) 26260 #define XCVR_CTRL_LPPS_CTRL_LPPS_RX_DIG_ALLOW(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_LPPS_CTRL_LPPS_RX_DIG_ALLOW_SHIFT)) & XCVR_CTRL_LPPS_CTRL_LPPS_RX_DIG_ALLOW_MASK) 26261 #define XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_DIG_ALLOW_MASK (0x200U) 26262 #define XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_DIG_ALLOW_SHIFT (9U) 26263 #define XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_DIG_ALLOW(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_DIG_ALLOW_SHIFT)) & XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_DIG_ALLOW_MASK) 26264 #define XCVR_CTRL_LPPS_CTRL_LPPS_START_RX_MASK (0xFF0000U) 26265 #define XCVR_CTRL_LPPS_CTRL_LPPS_START_RX_SHIFT (16U) 26266 #define XCVR_CTRL_LPPS_CTRL_LPPS_START_RX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_LPPS_CTRL_LPPS_START_RX_SHIFT)) & XCVR_CTRL_LPPS_CTRL_LPPS_START_RX_MASK) 26267 #define XCVR_CTRL_LPPS_CTRL_LPPS_DEST_RX_MASK (0xFF000000U) 26268 #define XCVR_CTRL_LPPS_CTRL_LPPS_DEST_RX_SHIFT (24U) 26269 #define XCVR_CTRL_LPPS_CTRL_LPPS_DEST_RX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_LPPS_CTRL_LPPS_DEST_RX_SHIFT)) & XCVR_CTRL_LPPS_CTRL_LPPS_DEST_RX_MASK) 26270 /*! @} */ 26271 26272 /*! @name COEX_CTRL - COEXISTENCE CONTROL */ 26273 /*! @{ */ 26274 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_EN_MASK (0xFU) 26275 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_EN_SHIFT (0U) 26276 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_EN_SHIFT)) & XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_EN_MASK) 26277 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_TX_MASK (0x10U) 26278 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_TX_SHIFT (4U) 26279 /*! RF_NOT_ALLOWED_NO_TX - RF_NOT_ALLOWED_NO_TX 26280 * 0b0..Assertion on RF_NOT_ALLOWED has no effect on TX 26281 * 0b1..Assertion on RF_NOT_ALLOWED can abort TX 26282 */ 26283 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_TX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_TX_SHIFT)) & XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_TX_MASK) 26284 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_RX_MASK (0x20U) 26285 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_RX_SHIFT (5U) 26286 /*! RF_NOT_ALLOWED_NO_RX - RF_NOT_ALLOWED_NO_RX 26287 * 0b0..Assertion on RF_NOT_ALLOWED has no effect on RX 26288 * 0b1..Assertion on RF_NOT_ALLOWED can abort RX 26289 */ 26290 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_RX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_RX_SHIFT)) & XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_RX_MASK) 26291 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_ASSERTED_MASK (0x40U) 26292 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_ASSERTED_SHIFT (6U) 26293 /*! RF_NOT_ALLOWED_ASSERTED - RF_NOT_ALLOWED_ASSERTED 26294 * 0b0..Assertion on RF_NOT_ALLOWED has not occurred 26295 * 0b1..Assertion on RF_NOT_ALLOWED has occurred since the last time this bit was cleared 26296 */ 26297 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_ASSERTED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_ASSERTED_SHIFT)) & XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_ASSERTED_MASK) 26298 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_TX_ABORT_MASK (0x80U) 26299 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_TX_ABORT_SHIFT (7U) 26300 /*! RF_NOT_ALLOWED_TX_ABORT - RF_NOT_ALLOWED_TX_ABORT 26301 * 0b0..A TX abort due to assertion on RF_NOT_ALLOWED has not occurred 26302 * 0b1..A TX abort due to assertion on RF_NOT_ALLOWED has occurred since the last time this bit was cleared 26303 */ 26304 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_TX_ABORT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_TX_ABORT_SHIFT)) & XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_TX_ABORT_MASK) 26305 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_RX_ABORT_MASK (0x100U) 26306 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_RX_ABORT_SHIFT (8U) 26307 /*! RF_NOT_ALLOWED_RX_ABORT - RF_NOT_ALLOWED_RX_ABORT 26308 * 0b0..A RX abort due to assertion on RF_NOT_ALLOWED has not occurred 26309 * 0b1..A RX abort due to assertion on RF_NOT_ALLOWED has occurred since the last time this bit was cleared 26310 */ 26311 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_RX_ABORT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_RX_ABORT_SHIFT)) & XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_RX_ABORT_MASK) 26312 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_MASK (0x200U) 26313 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_SHIFT (9U) 26314 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_SHIFT)) & XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_MASK) 26315 #define XCVR_CTRL_COEX_CTRL_TSM_SPARE1_EXTEND_MASK (0xFF0000U) 26316 #define XCVR_CTRL_COEX_CTRL_TSM_SPARE1_EXTEND_SHIFT (16U) 26317 #define XCVR_CTRL_COEX_CTRL_TSM_SPARE1_EXTEND(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_COEX_CTRL_TSM_SPARE1_EXTEND_SHIFT)) & XCVR_CTRL_COEX_CTRL_TSM_SPARE1_EXTEND_MASK) 26318 /*! @} */ 26319 26320 /*! @name CRCW_CFG - CRC/WHITENER CONFIG REGISTER */ 26321 /*! @{ */ 26322 #define XCVR_CTRL_CRCW_CFG_CRCW_EN_MASK (0x1U) 26323 #define XCVR_CTRL_CRCW_CFG_CRCW_EN_SHIFT (0U) 26324 #define XCVR_CTRL_CRCW_CFG_CRCW_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_CRCW_CFG_CRCW_EN_SHIFT)) & XCVR_CTRL_CRCW_CFG_CRCW_EN_MASK) 26325 #define XCVR_CTRL_CRCW_CFG_CRCW_EC_EN_MASK (0x2U) 26326 #define XCVR_CTRL_CRCW_CFG_CRCW_EC_EN_SHIFT (1U) 26327 #define XCVR_CTRL_CRCW_CFG_CRCW_EC_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_CRCW_CFG_CRCW_EC_EN_SHIFT)) & XCVR_CTRL_CRCW_CFG_CRCW_EC_EN_MASK) 26328 #define XCVR_CTRL_CRCW_CFG_CRC_ZERO_MASK (0x4U) 26329 #define XCVR_CTRL_CRCW_CFG_CRC_ZERO_SHIFT (2U) 26330 #define XCVR_CTRL_CRCW_CFG_CRC_ZERO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_CRCW_CFG_CRC_ZERO_SHIFT)) & XCVR_CTRL_CRCW_CFG_CRC_ZERO_MASK) 26331 #define XCVR_CTRL_CRCW_CFG_CRC_EARLY_FAIL_MASK (0x8U) 26332 #define XCVR_CTRL_CRCW_CFG_CRC_EARLY_FAIL_SHIFT (3U) 26333 #define XCVR_CTRL_CRCW_CFG_CRC_EARLY_FAIL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_CRCW_CFG_CRC_EARLY_FAIL_SHIFT)) & XCVR_CTRL_CRCW_CFG_CRC_EARLY_FAIL_MASK) 26334 #define XCVR_CTRL_CRCW_CFG_CRC_RES_OUT_VLD_MASK (0x10U) 26335 #define XCVR_CTRL_CRCW_CFG_CRC_RES_OUT_VLD_SHIFT (4U) 26336 #define XCVR_CTRL_CRCW_CFG_CRC_RES_OUT_VLD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_CRCW_CFG_CRC_RES_OUT_VLD_SHIFT)) & XCVR_CTRL_CRCW_CFG_CRC_RES_OUT_VLD_MASK) 26337 #define XCVR_CTRL_CRCW_CFG_CRC_EC_OFFSET_MASK (0x7FF0000U) 26338 #define XCVR_CTRL_CRCW_CFG_CRC_EC_OFFSET_SHIFT (16U) 26339 #define XCVR_CTRL_CRCW_CFG_CRC_EC_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_CRCW_CFG_CRC_EC_OFFSET_SHIFT)) & XCVR_CTRL_CRCW_CFG_CRC_EC_OFFSET_MASK) 26340 #define XCVR_CTRL_CRCW_CFG_CRC_EC_DONE_MASK (0x10000000U) 26341 #define XCVR_CTRL_CRCW_CFG_CRC_EC_DONE_SHIFT (28U) 26342 #define XCVR_CTRL_CRCW_CFG_CRC_EC_DONE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_CRCW_CFG_CRC_EC_DONE_SHIFT)) & XCVR_CTRL_CRCW_CFG_CRC_EC_DONE_MASK) 26343 #define XCVR_CTRL_CRCW_CFG_CRC_EC_FAIL_MASK (0x20000000U) 26344 #define XCVR_CTRL_CRCW_CFG_CRC_EC_FAIL_SHIFT (29U) 26345 #define XCVR_CTRL_CRCW_CFG_CRC_EC_FAIL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_CRCW_CFG_CRC_EC_FAIL_SHIFT)) & XCVR_CTRL_CRCW_CFG_CRC_EC_FAIL_MASK) 26346 /*! @} */ 26347 26348 /*! @name CRC_EC_MASK - CRC ERROR CORRECTION MASK */ 26349 /*! @{ */ 26350 #define XCVR_CTRL_CRC_EC_MASK_CRC_EC_MASK_MASK (0xFFFFFFFFU) 26351 #define XCVR_CTRL_CRC_EC_MASK_CRC_EC_MASK_SHIFT (0U) 26352 #define XCVR_CTRL_CRC_EC_MASK_CRC_EC_MASK(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_CRC_EC_MASK_CRC_EC_MASK_SHIFT)) & XCVR_CTRL_CRC_EC_MASK_CRC_EC_MASK_MASK) 26353 /*! @} */ 26354 26355 /*! @name CRC_RES_OUT - CRC RESULT */ 26356 /*! @{ */ 26357 #define XCVR_CTRL_CRC_RES_OUT_CRC_RES_OUT_MASK (0xFFFFFFFFU) 26358 #define XCVR_CTRL_CRC_RES_OUT_CRC_RES_OUT_SHIFT (0U) 26359 #define XCVR_CTRL_CRC_RES_OUT_CRC_RES_OUT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_CRC_RES_OUT_CRC_RES_OUT_SHIFT)) & XCVR_CTRL_CRC_RES_OUT_CRC_RES_OUT_MASK) 26360 /*! @} */ 26361 26362 /*! @name CRCW_CFG2 - CRC/WHITENER CONFIG 2 REGISTER */ 26363 /*! @{ */ 26364 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_BYTES_MASK (0xFFU) 26365 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_BYTES_SHIFT (0U) 26366 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_BYTES(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_BYTES_SHIFT)) & XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_BYTES_MASK) 26367 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_WND_MASK (0xF00U) 26368 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_WND_SHIFT (8U) 26369 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_WND(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_WND_SHIFT)) & XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_WND_MASK) 26370 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_LPKT_WND_MASK (0xF000U) 26371 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_LPKT_WND_SHIFT (12U) 26372 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_LPKT_WND(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_CRCW_CFG2_CRC_EC_LPKT_WND_SHIFT)) & XCVR_CTRL_CRCW_CFG2_CRC_EC_LPKT_WND_MASK) 26373 /*! @} */ 26374 26375 26376 /*! 26377 * @} 26378 */ /* end of group XCVR_CTRL_Register_Masks */ 26379 26380 26381 /* XCVR_CTRL - Peripheral instance base addresses */ 26382 /** Peripheral XCVR_MISC base address */ 26383 #define XCVR_MISC_BASE (0x41030280u) 26384 /** Peripheral XCVR_MISC base pointer */ 26385 #define XCVR_MISC ((XCVR_CTRL_Type *)XCVR_MISC_BASE) 26386 /** Array initializer of XCVR_CTRL peripheral base addresses */ 26387 #define XCVR_CTRL_BASE_ADDRS { XCVR_MISC_BASE } 26388 /** Array initializer of XCVR_CTRL peripheral base pointers */ 26389 #define XCVR_CTRL_BASE_PTRS { XCVR_MISC } 26390 26391 /*! 26392 * @} 26393 */ /* end of group XCVR_CTRL_Peripheral_Access_Layer */ 26394 26395 26396 /* ---------------------------------------------------------------------------- 26397 -- XCVR_PHY Peripheral Access Layer 26398 ---------------------------------------------------------------------------- */ 26399 26400 /*! 26401 * @addtogroup XCVR_PHY_Peripheral_Access_Layer XCVR_PHY Peripheral Access Layer 26402 * @{ 26403 */ 26404 26405 /** XCVR_PHY - Register Layout Typedef */ 26406 typedef struct { 26407 __IO uint32_t PHY_FSK_PD_CFG0; /**< Preamble Detect Config 0, offset: 0x0 */ 26408 __IO uint32_t PHY_FSK_PD_CFG1; /**< Preamble Detect Config 1, offset: 0x4 */ 26409 __IO uint32_t PHY_FSK_CFG; /**< PHY Configuration, offset: 0x8 */ 26410 __IO uint32_t PHY_FSK_MISC; /**< PHY Misc. Configuration, offset: 0xC */ 26411 __IO uint32_t NTW_ADR_BSM; /**< PHY BSM Network Address, offset: 0x10 */ 26412 __I uint32_t FSK_STAT; /**< PHY Status, offset: 0x14 */ 26413 __IO uint32_t FSK_FAD_CTRL; /**< PHY FAD control, offset: 0x18 */ 26414 } XCVR_PHY_Type; 26415 26416 /* ---------------------------------------------------------------------------- 26417 -- XCVR_PHY Register Masks 26418 ---------------------------------------------------------------------------- */ 26419 26420 /*! 26421 * @addtogroup XCVR_PHY_Register_Masks XCVR_PHY Register Masks 26422 * @{ 26423 */ 26424 26425 /*! @name PHY_FSK_PD_CFG0 - Preamble Detect Config 0 */ 26426 /*! @{ */ 26427 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF0_MASK (0x1FU) 26428 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF0_SHIFT (0U) 26429 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF0_SHIFT)) & XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF0_MASK) 26430 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF1_MASK (0x3E0U) 26431 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF1_SHIFT (5U) 26432 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF1_SHIFT)) & XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF1_MASK) 26433 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF2_MASK (0x7C00U) 26434 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF2_SHIFT (10U) 26435 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF2_SHIFT)) & XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF2_MASK) 26436 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF3_MASK (0xF8000U) 26437 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF3_SHIFT (15U) 26438 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF3_SHIFT)) & XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF3_MASK) 26439 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF4_MASK (0x1F00000U) 26440 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF4_SHIFT (20U) 26441 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF4(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF4_SHIFT)) & XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF4_MASK) 26442 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF5_MASK (0x3E000000U) 26443 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF5_SHIFT (25U) 26444 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF5(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF5_SHIFT)) & XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF5_MASK) 26445 #define XCVR_PHY_PHY_FSK_PD_CFG0_PHY_CLK_ON_MASK (0x80000000U) 26446 #define XCVR_PHY_PHY_FSK_PD_CFG0_PHY_CLK_ON_SHIFT (31U) 26447 #define XCVR_PHY_PHY_FSK_PD_CFG0_PHY_CLK_ON(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_PD_CFG0_PHY_CLK_ON_SHIFT)) & XCVR_PHY_PHY_FSK_PD_CFG0_PHY_CLK_ON_MASK) 26448 /*! @} */ 26449 26450 /*! @name PHY_FSK_PD_CFG1 - Preamble Detect Config 1 */ 26451 /*! @{ */ 26452 #define XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF6_MASK (0x1FU) 26453 #define XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF6_SHIFT (0U) 26454 #define XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF6(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF6_SHIFT)) & XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF6_MASK) 26455 #define XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF7_MASK (0x3E0U) 26456 #define XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF7_SHIFT (5U) 26457 #define XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF7(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF7_SHIFT)) & XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF7_MASK) 26458 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_TIMEOUT_MASK (0x7C00U) 26459 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_TIMEOUT_SHIFT (10U) 26460 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_PD_CFG1_PD_TIMEOUT_SHIFT)) & XCVR_PHY_PHY_FSK_PD_CFG1_PD_TIMEOUT_MASK) 26461 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_THRESH_MASK (0xFF0000U) 26462 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_THRESH_SHIFT (16U) 26463 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_THRESH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_PD_CFG1_PD_THRESH_SHIFT)) & XCVR_PHY_PHY_FSK_PD_CFG1_PD_THRESH_MASK) 26464 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_FREQ_THRESH_MASK (0xFE000000U) 26465 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_FREQ_THRESH_SHIFT (25U) 26466 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_FREQ_THRESH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_PD_CFG1_PD_FREQ_THRESH_SHIFT)) & XCVR_PHY_PHY_FSK_PD_CFG1_PD_FREQ_THRESH_MASK) 26467 /*! @} */ 26468 26469 /*! @name PHY_FSK_CFG - PHY Configuration */ 26470 /*! @{ */ 26471 #define XCVR_PHY_PHY_FSK_CFG_AA_PLAYBACK_MASK (0x1U) 26472 #define XCVR_PHY_PHY_FSK_CFG_AA_PLAYBACK_SHIFT (0U) 26473 /*! AA_PLAYBACK 26474 * 0b0..PHY will only output bits after the AA. 26475 * 0b1..PHY will output the AA, followed by the rest of the packet bits. 26476 */ 26477 #define XCVR_PHY_PHY_FSK_CFG_AA_PLAYBACK(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_AA_PLAYBACK_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_AA_PLAYBACK_MASK) 26478 #define XCVR_PHY_PHY_FSK_CFG_AA_OUT_SEL_MASK (0x2U) 26479 #define XCVR_PHY_PHY_FSK_CFG_AA_OUT_SEL_SHIFT (1U) 26480 /*! AA_OUT_SEL 26481 * 0b0..When AA playback is enabled, play back desired AA. 26482 * 0b1..When AA playback is enabled, play back received AA. 26483 */ 26484 #define XCVR_PHY_PHY_FSK_CFG_AA_OUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_AA_OUT_SEL_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_AA_OUT_SEL_MASK) 26485 #define XCVR_PHY_PHY_FSK_CFG_FSK_BIT_INVERT_MASK (0x4U) 26486 #define XCVR_PHY_PHY_FSK_CFG_FSK_BIT_INVERT_SHIFT (2U) 26487 /*! FSK_BIT_INVERT 26488 * 0b0..Normal demodulation. 26489 * 0b1..Invert demodulated bits. This applies at the demodulator, so it affects both AA and the data portions of the packet. 26490 */ 26491 #define XCVR_PHY_PHY_FSK_CFG_FSK_BIT_INVERT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_FSK_BIT_INVERT_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_FSK_BIT_INVERT_MASK) 26492 #define XCVR_PHY_PHY_FSK_CFG_BSM_EN_BLE_MASK (0x8U) 26493 #define XCVR_PHY_PHY_FSK_CFG_BSM_EN_BLE_SHIFT (3U) 26494 #define XCVR_PHY_PHY_FSK_CFG_BSM_EN_BLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_BSM_EN_BLE_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_BSM_EN_BLE_MASK) 26495 #define XCVR_PHY_PHY_FSK_CFG_AA_CORR_GAIN_MASK (0x3F0U) 26496 #define XCVR_PHY_PHY_FSK_CFG_AA_CORR_GAIN_SHIFT (4U) 26497 #define XCVR_PHY_PHY_FSK_CFG_AA_CORR_GAIN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_AA_CORR_GAIN_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_AA_CORR_GAIN_MASK) 26498 #define XCVR_PHY_PHY_FSK_CFG_PDB_CONF_EN_MASK (0x400U) 26499 #define XCVR_PHY_PHY_FSK_CFG_PDB_CONF_EN_SHIFT (10U) 26500 #define XCVR_PHY_PHY_FSK_CFG_PDB_CONF_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_PDB_CONF_EN_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_PDB_CONF_EN_MASK) 26501 #define XCVR_PHY_PHY_FSK_CFG_PDA_CONF_EN_MASK (0x800U) 26502 #define XCVR_PHY_PHY_FSK_CFG_PDA_CONF_EN_SHIFT (11U) 26503 #define XCVR_PHY_PHY_FSK_CFG_PDA_CONF_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_PDA_CONF_EN_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_PDA_CONF_EN_MASK) 26504 #define XCVR_PHY_PHY_FSK_CFG_DEMOD_TIMEOUT_MASK (0x3F000U) 26505 #define XCVR_PHY_PHY_FSK_CFG_DEMOD_TIMEOUT_SHIFT (12U) 26506 #define XCVR_PHY_PHY_FSK_CFG_DEMOD_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_DEMOD_TIMEOUT_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_DEMOD_TIMEOUT_MASK) 26507 #define XCVR_PHY_PHY_FSK_CFG_PDB_COMP_EN_MASK (0x40000U) 26508 #define XCVR_PHY_PHY_FSK_CFG_PDB_COMP_EN_SHIFT (18U) 26509 #define XCVR_PHY_PHY_FSK_CFG_PDB_COMP_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_PDB_COMP_EN_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_PDB_COMP_EN_MASK) 26510 #define XCVR_PHY_PHY_FSK_CFG_PDA_COMP_EN_MASK (0x80000U) 26511 #define XCVR_PHY_PHY_FSK_CFG_PDA_COMP_EN_SHIFT (19U) 26512 #define XCVR_PHY_PHY_FSK_CFG_PDA_COMP_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_PDA_COMP_EN_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_PDA_COMP_EN_MASK) 26513 #define XCVR_PHY_PHY_FSK_CFG_BLE_NTW_ADR_THR_MASK (0x700000U) 26514 #define XCVR_PHY_PHY_FSK_CFG_BLE_NTW_ADR_THR_SHIFT (20U) 26515 #define XCVR_PHY_PHY_FSK_CFG_BLE_NTW_ADR_THR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_BLE_NTW_ADR_THR_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_BLE_NTW_ADR_THR_MASK) 26516 #define XCVR_PHY_PHY_FSK_CFG_PD_LAT_BASE_MASK (0x7800000U) 26517 #define XCVR_PHY_PHY_FSK_CFG_PD_LAT_BASE_SHIFT (23U) 26518 #define XCVR_PHY_PHY_FSK_CFG_PD_LAT_BASE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_PD_LAT_BASE_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_PD_LAT_BASE_MASK) 26519 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_SW_EN_MASK (0x8000000U) 26520 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_SW_EN_SHIFT (27U) 26521 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_SW_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_PD_MODE_SW_EN_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_PD_MODE_SW_EN_MASK) 26522 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_A_MASK (0x30000000U) 26523 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_A_SHIFT (28U) 26524 /*! PD_MODE_A 26525 * 0b10..PD mode 2, pattern based preamble detection. 26526 * 0b11..PD mode 3, peak based preamble detection. 26527 */ 26528 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_A(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_PD_MODE_A_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_PD_MODE_A_MASK) 26529 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_B_MASK (0xC0000000U) 26530 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_B_SHIFT (30U) 26531 /*! PD_MODE_B 26532 * 0b10..PD mode 2, pattern based preamble detection. 26533 * 0b11..PD mode 3, peak based preamble detection. 26534 */ 26535 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_B(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_CFG_PD_MODE_B_SHIFT)) & XCVR_PHY_PHY_FSK_CFG_PD_MODE_B_MASK) 26536 /*! @} */ 26537 26538 /*! @name PHY_FSK_MISC - PHY Misc. Configuration */ 26539 /*! @{ */ 26540 #define XCVR_PHY_PHY_FSK_MISC_FORCE_AA_MASK (0x1U) 26541 #define XCVR_PHY_PHY_FSK_MISC_FORCE_AA_SHIFT (0U) 26542 #define XCVR_PHY_PHY_FSK_MISC_FORCE_AA(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_MISC_FORCE_AA_SHIFT)) & XCVR_PHY_PHY_FSK_MISC_FORCE_AA_MASK) 26543 #define XCVR_PHY_PHY_FSK_MISC_EL_EN_MASK (0x2U) 26544 #define XCVR_PHY_PHY_FSK_MISC_EL_EN_SHIFT (1U) 26545 #define XCVR_PHY_PHY_FSK_MISC_EL_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_MISC_EL_EN_SHIFT)) & XCVR_PHY_PHY_FSK_MISC_EL_EN_MASK) 26546 #define XCVR_PHY_PHY_FSK_MISC_EL_WIN_SZ_MASK (0xF0U) 26547 #define XCVR_PHY_PHY_FSK_MISC_EL_WIN_SZ_SHIFT (4U) 26548 #define XCVR_PHY_PHY_FSK_MISC_EL_WIN_SZ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_MISC_EL_WIN_SZ_SHIFT)) & XCVR_PHY_PHY_FSK_MISC_EL_WIN_SZ_MASK) 26549 #define XCVR_PHY_PHY_FSK_MISC_EL_INTERVAL_MASK (0x3F00U) 26550 #define XCVR_PHY_PHY_FSK_MISC_EL_INTERVAL_SHIFT (8U) 26551 #define XCVR_PHY_PHY_FSK_MISC_EL_INTERVAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_MISC_EL_INTERVAL_SHIFT)) & XCVR_PHY_PHY_FSK_MISC_EL_INTERVAL_MASK) 26552 #define XCVR_PHY_PHY_FSK_MISC_MSK_EN_MASK (0x4000U) 26553 #define XCVR_PHY_PHY_FSK_MISC_MSK_EN_SHIFT (14U) 26554 #define XCVR_PHY_PHY_FSK_MISC_MSK_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_MISC_MSK_EN_SHIFT)) & XCVR_PHY_PHY_FSK_MISC_MSK_EN_MASK) 26555 #define XCVR_PHY_PHY_FSK_MISC_PD_THRESH_B_MASK (0xFF0000U) 26556 #define XCVR_PHY_PHY_FSK_MISC_PD_THRESH_B_SHIFT (16U) 26557 #define XCVR_PHY_PHY_FSK_MISC_PD_THRESH_B(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_MISC_PD_THRESH_B_SHIFT)) & XCVR_PHY_PHY_FSK_MISC_PD_THRESH_B_MASK) 26558 #define XCVR_PHY_PHY_FSK_MISC_FIFO_PRE_CHARGE_MASK (0xF000000U) 26559 #define XCVR_PHY_PHY_FSK_MISC_FIFO_PRE_CHARGE_SHIFT (24U) 26560 #define XCVR_PHY_PHY_FSK_MISC_FIFO_PRE_CHARGE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_MISC_FIFO_PRE_CHARGE_SHIFT)) & XCVR_PHY_PHY_FSK_MISC_FIFO_PRE_CHARGE_MASK) 26561 #define XCVR_PHY_PHY_FSK_MISC_CLK_CTRL_MASK (0xF0000000U) 26562 #define XCVR_PHY_PHY_FSK_MISC_CLK_CTRL_SHIFT (28U) 26563 /*! CLK_CTRL 26564 * 0b0001..Gate off PHY clock when phy_en is not asserted. 26565 * 0b0010..Gate off preamble detect clock when pd_enable is not asserted (internal signal). 26566 * 0b0100..Gate off AA synchronizer clock when synchronizer is not in use. 26567 * 0b1000..Gate off demodulator clock when demodulator is not in use. 26568 */ 26569 #define XCVR_PHY_PHY_FSK_MISC_CLK_CTRL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_PHY_FSK_MISC_CLK_CTRL_SHIFT)) & XCVR_PHY_PHY_FSK_MISC_CLK_CTRL_MASK) 26570 /*! @} */ 26571 26572 /*! @name NTW_ADR_BSM - PHY BSM Network Address */ 26573 /*! @{ */ 26574 #define XCVR_PHY_NTW_ADR_BSM_NTW_ADR_BSM_MASK (0xFFFFFFFFU) 26575 #define XCVR_PHY_NTW_ADR_BSM_NTW_ADR_BSM_SHIFT (0U) 26576 #define XCVR_PHY_NTW_ADR_BSM_NTW_ADR_BSM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_NTW_ADR_BSM_NTW_ADR_BSM_SHIFT)) & XCVR_PHY_NTW_ADR_BSM_NTW_ADR_BSM_MASK) 26577 /*! @} */ 26578 26579 /*! @name FSK_STAT - PHY Status */ 26580 /*! @{ */ 26581 #define XCVR_PHY_FSK_STAT_PREAMBLE_FOUND_MASK (0x1U) 26582 #define XCVR_PHY_FSK_STAT_PREAMBLE_FOUND_SHIFT (0U) 26583 #define XCVR_PHY_FSK_STAT_PREAMBLE_FOUND(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_FSK_STAT_PREAMBLE_FOUND_SHIFT)) & XCVR_PHY_FSK_STAT_PREAMBLE_FOUND_MASK) 26584 #define XCVR_PHY_FSK_STAT_AA_MATCHED_MASK (0x2U) 26585 #define XCVR_PHY_FSK_STAT_AA_MATCHED_SHIFT (1U) 26586 #define XCVR_PHY_FSK_STAT_AA_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_FSK_STAT_AA_MATCHED_SHIFT)) & XCVR_PHY_FSK_STAT_AA_MATCHED_MASK) 26587 #define XCVR_PHY_FSK_STAT_AA_MATCH_MASK (0xF0U) 26588 #define XCVR_PHY_FSK_STAT_AA_MATCH_SHIFT (4U) 26589 #define XCVR_PHY_FSK_STAT_AA_MATCH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_FSK_STAT_AA_MATCH_SHIFT)) & XCVR_PHY_FSK_STAT_AA_MATCH_MASK) 26590 #define XCVR_PHY_FSK_STAT_HAMM_DIST_MASK (0xF00U) 26591 #define XCVR_PHY_FSK_STAT_HAMM_DIST_SHIFT (8U) 26592 #define XCVR_PHY_FSK_STAT_HAMM_DIST(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_FSK_STAT_HAMM_DIST_SHIFT)) & XCVR_PHY_FSK_STAT_HAMM_DIST_MASK) 26593 #define XCVR_PHY_FSK_STAT_CFO_EST_MASK (0xFF0000U) 26594 #define XCVR_PHY_FSK_STAT_CFO_EST_SHIFT (16U) 26595 #define XCVR_PHY_FSK_STAT_CFO_EST(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_FSK_STAT_CFO_EST_SHIFT)) & XCVR_PHY_FSK_STAT_CFO_EST_MASK) 26596 #define XCVR_PHY_FSK_STAT_TOF_OFF_MASK (0xF000000U) 26597 #define XCVR_PHY_FSK_STAT_TOF_OFF_SHIFT (24U) 26598 #define XCVR_PHY_FSK_STAT_TOF_OFF(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_FSK_STAT_TOF_OFF_SHIFT)) & XCVR_PHY_FSK_STAT_TOF_OFF_MASK) 26599 /*! @} */ 26600 26601 /*! @name FSK_FAD_CTRL - PHY FAD control */ 26602 /*! @{ */ 26603 #define XCVR_PHY_FSK_FAD_CTRL_FAD_EN_MASK (0x1U) 26604 #define XCVR_PHY_FSK_FAD_CTRL_FAD_EN_SHIFT (0U) 26605 #define XCVR_PHY_FSK_FAD_CTRL_FAD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_FSK_FAD_CTRL_FAD_EN_SHIFT)) & XCVR_PHY_FSK_FAD_CTRL_FAD_EN_MASK) 26606 #define XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DUR_MASK (0x7F0U) 26607 #define XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DUR_SHIFT (4U) 26608 #define XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DUR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DUR_SHIFT)) & XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DUR_MASK) 26609 #define XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DLY_MASK (0x7F000U) 26610 #define XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DLY_SHIFT (12U) 26611 #define XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DLY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DLY_SHIFT)) & XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DLY_MASK) 26612 #define XCVR_PHY_FSK_FAD_CTRL_FAD_THRESH_MASK (0xFF00000U) 26613 #define XCVR_PHY_FSK_FAD_CTRL_FAD_THRESH_SHIFT (20U) 26614 #define XCVR_PHY_FSK_FAD_CTRL_FAD_THRESH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_FSK_FAD_CTRL_FAD_THRESH_SHIFT)) & XCVR_PHY_FSK_FAD_CTRL_FAD_THRESH_MASK) 26615 #define XCVR_PHY_FSK_FAD_CTRL_PHY_DBG_CFG_MASK (0xF0000000U) 26616 #define XCVR_PHY_FSK_FAD_CTRL_PHY_DBG_CFG_SHIFT (28U) 26617 #define XCVR_PHY_FSK_FAD_CTRL_PHY_DBG_CFG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PHY_FSK_FAD_CTRL_PHY_DBG_CFG_SHIFT)) & XCVR_PHY_FSK_FAD_CTRL_PHY_DBG_CFG_MASK) 26618 /*! @} */ 26619 26620 26621 /*! 26622 * @} 26623 */ /* end of group XCVR_PHY_Register_Masks */ 26624 26625 26626 /* XCVR_PHY - Peripheral instance base addresses */ 26627 /** Peripheral XCVR_PHY base address */ 26628 #define XCVR_PHY_BASE (0x41030400u) 26629 /** Peripheral XCVR_PHY base pointer */ 26630 #define XCVR_PHY ((XCVR_PHY_Type *)XCVR_PHY_BASE) 26631 /** Array initializer of XCVR_PHY peripheral base addresses */ 26632 #define XCVR_PHY_BASE_ADDRS { XCVR_PHY_BASE } 26633 /** Array initializer of XCVR_PHY peripheral base pointers */ 26634 #define XCVR_PHY_BASE_PTRS { XCVR_PHY } 26635 26636 /*! 26637 * @} 26638 */ /* end of group XCVR_PHY_Peripheral_Access_Layer */ 26639 26640 26641 /* ---------------------------------------------------------------------------- 26642 -- XCVR_PKT_RAM Peripheral Access Layer 26643 ---------------------------------------------------------------------------- */ 26644 26645 /*! 26646 * @addtogroup XCVR_PKT_RAM_Peripheral_Access_Layer XCVR_PKT_RAM Peripheral Access Layer 26647 * @{ 26648 */ 26649 26650 /** XCVR_PKT_RAM - Register Layout Typedef */ 26651 typedef struct { 26652 __IO uint16_t PACKET_RAM[1152]; /**< Shared Packet RAM for multiple Link Layer usage., array offset: 0x0, array step: 0x2 */ 26653 } XCVR_PKT_RAM_Type; 26654 26655 /* ---------------------------------------------------------------------------- 26656 -- XCVR_PKT_RAM Register Masks 26657 ---------------------------------------------------------------------------- */ 26658 26659 /*! 26660 * @addtogroup XCVR_PKT_RAM_Register_Masks XCVR_PKT_RAM Register Masks 26661 * @{ 26662 */ 26663 26664 /*! @name PACKET_RAM - Shared Packet RAM for multiple Link Layer usage. */ 26665 /*! @{ */ 26666 #define XCVR_PKT_RAM_PACKET_RAM_LSBYTE_MASK (0xFFU) 26667 #define XCVR_PKT_RAM_PACKET_RAM_LSBYTE_SHIFT (0U) 26668 #define XCVR_PKT_RAM_PACKET_RAM_LSBYTE(x) (((uint16_t)(((uint16_t)(x)) << XCVR_PKT_RAM_PACKET_RAM_LSBYTE_SHIFT)) & XCVR_PKT_RAM_PACKET_RAM_LSBYTE_MASK) 26669 #define XCVR_PKT_RAM_PACKET_RAM_MSBYTE_MASK (0xFF00U) 26670 #define XCVR_PKT_RAM_PACKET_RAM_MSBYTE_SHIFT (8U) 26671 #define XCVR_PKT_RAM_PACKET_RAM_MSBYTE(x) (((uint16_t)(((uint16_t)(x)) << XCVR_PKT_RAM_PACKET_RAM_MSBYTE_SHIFT)) & XCVR_PKT_RAM_PACKET_RAM_MSBYTE_MASK) 26672 /*! @} */ 26673 26674 /* The count of XCVR_PKT_RAM_PACKET_RAM */ 26675 #define XCVR_PKT_RAM_PACKET_RAM_COUNT (1152U) 26676 26677 26678 /*! 26679 * @} 26680 */ /* end of group XCVR_PKT_RAM_Register_Masks */ 26681 26682 26683 /* XCVR_PKT_RAM - Peripheral instance base addresses */ 26684 /** Peripheral XCVR_PKT_RAM base address */ 26685 #define XCVR_PKT_RAM_BASE (0x41030700u) 26686 /** Peripheral XCVR_PKT_RAM base pointer */ 26687 #define XCVR_PKT_RAM ((XCVR_PKT_RAM_Type *)XCVR_PKT_RAM_BASE) 26688 /** Array initializer of XCVR_PKT_RAM peripheral base addresses */ 26689 #define XCVR_PKT_RAM_BASE_ADDRS { XCVR_PKT_RAM_BASE } 26690 /** Array initializer of XCVR_PKT_RAM peripheral base pointers */ 26691 #define XCVR_PKT_RAM_BASE_PTRS { XCVR_PKT_RAM } 26692 26693 /*! 26694 * @} 26695 */ /* end of group XCVR_PKT_RAM_Peripheral_Access_Layer */ 26696 26697 26698 /* ---------------------------------------------------------------------------- 26699 -- XCVR_PLL_DIG Peripheral Access Layer 26700 ---------------------------------------------------------------------------- */ 26701 26702 /*! 26703 * @addtogroup XCVR_PLL_DIG_Peripheral_Access_Layer XCVR_PLL_DIG Peripheral Access Layer 26704 * @{ 26705 */ 26706 26707 /** XCVR_PLL_DIG - Register Layout Typedef */ 26708 typedef struct { 26709 __IO uint32_t HPM_BUMP; /**< PLL HPM Analog Bump Control, offset: 0x0 */ 26710 __IO uint32_t MOD_CTRL; /**< PLL Modulation Control, offset: 0x4 */ 26711 __IO uint32_t CHAN_MAP; /**< PLL Channel Mapping, offset: 0x8 */ 26712 __IO uint32_t LOCK_DETECT; /**< PLL Lock Detect Control, offset: 0xC */ 26713 __IO uint32_t HPM_CTRL; /**< PLL High Port Modulator Control, offset: 0x10 */ 26714 __IO uint32_t HPMCAL_CTRL; /**< PLL High Port Calibration Control, offset: 0x14 */ 26715 uint8_t RESERVED_0[8]; 26716 __IO uint32_t HPM_SDM_RES; /**< PLL High Port Sigma Delta Results, offset: 0x20 */ 26717 __IO uint32_t LPM_CTRL; /**< PLL Low Port Modulator Control, offset: 0x24 */ 26718 __IO uint32_t LPM_SDM_CTRL1; /**< PLL Low Port Sigma Delta Control 1, offset: 0x28 */ 26719 __IO uint32_t LPM_SDM_CTRL2; /**< PLL Low Port Sigma Delta Control 2, offset: 0x2C */ 26720 __IO uint32_t LPM_SDM_CTRL3; /**< PLL Low Port Sigma Delta Control 3, offset: 0x30 */ 26721 __I uint32_t LPM_SDM_RES1; /**< PLL Low Port Sigma Delta Result 1, offset: 0x34 */ 26722 __I uint32_t LPM_SDM_RES2; /**< PLL Low Port Sigma Delta Result 2, offset: 0x38 */ 26723 __IO uint32_t DELAY_MATCH; /**< PLL Delay Matching, offset: 0x3C */ 26724 __IO uint32_t CTUNE_CTRL; /**< PLL Coarse Tune Control, offset: 0x40 */ 26725 uint8_t RESERVED_1[16]; 26726 __I uint32_t CTUNE_RES; /**< PLL Coarse Tune Results, offset: 0x54 */ 26727 } XCVR_PLL_DIG_Type; 26728 26729 /* ---------------------------------------------------------------------------- 26730 -- XCVR_PLL_DIG Register Masks 26731 ---------------------------------------------------------------------------- */ 26732 26733 /*! 26734 * @addtogroup XCVR_PLL_DIG_Register_Masks XCVR_PLL_DIG Register Masks 26735 * @{ 26736 */ 26737 26738 /*! @name HPM_BUMP - PLL HPM Analog Bump Control */ 26739 /*! @{ */ 26740 #define XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_TX_MASK (0x7U) 26741 #define XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_TX_SHIFT (0U) 26742 /*! HPM_VCM_TX - rfctrl_tx_dac_bump_vcm[2:0] during Transmission 26743 * 0b000..432 mV 26744 * 0b001..328 mV 26745 * 0b010..456 mV 26746 * 0b011..473 mV 26747 * 0b100..488 mV 26748 * 0b101..408 mV 26749 * 0b110..392 mV 26750 * 0b111..376 mV 26751 */ 26752 #define XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_TX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_TX_SHIFT)) & XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_TX_MASK) 26753 #define XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_CAL_MASK (0x70U) 26754 #define XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_CAL_SHIFT (4U) 26755 /*! HPM_VCM_CAL - rfctrl_tx_dac_bump_vcm[2:0] during Calibration 26756 * 0b000..432 mV 26757 * 0b001..328 mV 26758 * 0b010..456 mV 26759 * 0b011..473 mV 26760 * 0b100..488 mV 26761 * 0b101..408 mV 26762 * 0b110..392 mV 26763 * 0b111..376 mV 26764 */ 26765 #define XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_CAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_CAL_SHIFT)) & XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_CAL_MASK) 26766 #define XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_TX_MASK (0x300U) 26767 #define XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_TX_SHIFT (8U) 26768 /*! HPM_FDB_RES_TX - rfctrl_tx_dac_bump_fdb_res[1:0] during Transmission 26769 * 0b00..29 kohms 26770 * 0b01..58 kohms(gain of 2) 26771 * 0b10..13 kohms 26772 * 0b11..23.7 kohms 26773 */ 26774 #define XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_TX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_TX_SHIFT)) & XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_TX_MASK) 26775 #define XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_CAL_MASK (0x3000U) 26776 #define XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_CAL_SHIFT (12U) 26777 /*! HPM_FDB_RES_CAL - rfctrl_tx_dac_bump_fdb_res[1:0] during Calibration 26778 * 0b00..29 kohms 26779 * 0b01..58 kohms(gain of 2) 26780 * 0b10..13 kohms 26781 * 0b11..23.7 kohms 26782 */ 26783 #define XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_CAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_CAL_SHIFT)) & XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_CAL_MASK) 26784 /*! @} */ 26785 26786 /*! @name MOD_CTRL - PLL Modulation Control */ 26787 /*! @{ */ 26788 #define XCVR_PLL_DIG_MOD_CTRL_MODULATION_WORD_MANUAL_MASK (0x1FFFU) 26789 #define XCVR_PLL_DIG_MOD_CTRL_MODULATION_WORD_MANUAL_SHIFT (0U) 26790 #define XCVR_PLL_DIG_MOD_CTRL_MODULATION_WORD_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_MOD_CTRL_MODULATION_WORD_MANUAL_SHIFT)) & XCVR_PLL_DIG_MOD_CTRL_MODULATION_WORD_MANUAL_MASK) 26791 #define XCVR_PLL_DIG_MOD_CTRL_MOD_DISABLE_MASK (0x8000U) 26792 #define XCVR_PLL_DIG_MOD_CTRL_MOD_DISABLE_SHIFT (15U) 26793 #define XCVR_PLL_DIG_MOD_CTRL_MOD_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_MOD_CTRL_MOD_DISABLE_SHIFT)) & XCVR_PLL_DIG_MOD_CTRL_MOD_DISABLE_MASK) 26794 #define XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_MANUAL_MASK (0xFF0000U) 26795 #define XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_MANUAL_SHIFT (16U) 26796 #define XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_MANUAL_SHIFT)) & XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_MANUAL_MASK) 26797 #define XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_DISABLE_MASK (0x8000000U) 26798 #define XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_DISABLE_SHIFT (27U) 26799 #define XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_DISABLE_SHIFT)) & XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_DISABLE_MASK) 26800 #define XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_MANUAL_MASK (0x30000000U) 26801 #define XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_MANUAL_SHIFT (28U) 26802 #define XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_MANUAL_SHIFT)) & XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_MANUAL_MASK) 26803 #define XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_DISABLE_MASK (0x80000000U) 26804 #define XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_DISABLE_SHIFT (31U) 26805 #define XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_DISABLE_SHIFT)) & XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_DISABLE_MASK) 26806 /*! @} */ 26807 26808 /*! @name CHAN_MAP - PLL Channel Mapping */ 26809 /*! @{ */ 26810 #define XCVR_PLL_DIG_CHAN_MAP_CHANNEL_NUM_MASK (0x7FU) 26811 #define XCVR_PLL_DIG_CHAN_MAP_CHANNEL_NUM_SHIFT (0U) 26812 #define XCVR_PLL_DIG_CHAN_MAP_CHANNEL_NUM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CHAN_MAP_CHANNEL_NUM_SHIFT)) & XCVR_PLL_DIG_CHAN_MAP_CHANNEL_NUM_MASK) 26813 #define XCVR_PLL_DIG_CHAN_MAP_BOC_MASK (0x100U) 26814 #define XCVR_PLL_DIG_CHAN_MAP_BOC_SHIFT (8U) 26815 /*! BOC - BLE Channel Number Override 26816 * 0b0..BLE channel number comes from the BLE Link Layer 26817 * 0b1..BLE channel number comes from the CHANNEL_NUM register (BLE protocols 0 and 2) 26818 */ 26819 #define XCVR_PLL_DIG_CHAN_MAP_BOC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CHAN_MAP_BOC_SHIFT)) & XCVR_PLL_DIG_CHAN_MAP_BOC_MASK) 26820 #define XCVR_PLL_DIG_CHAN_MAP_BMR_MASK (0x200U) 26821 #define XCVR_PLL_DIG_CHAN_MAP_BMR_SHIFT (9U) 26822 /*! BMR - BLE MBAN Channel Remap 26823 * 0b0..BLE channel 39 is mapped to BLE channel 39, 2.480 GHz 26824 * 0b1..BLE channel 39 is mapped to MBAN channel 39, 2.399 GHz 26825 */ 26826 #define XCVR_PLL_DIG_CHAN_MAP_BMR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CHAN_MAP_BMR_SHIFT)) & XCVR_PLL_DIG_CHAN_MAP_BMR_MASK) 26827 #define XCVR_PLL_DIG_CHAN_MAP_ZOC_MASK (0x400U) 26828 #define XCVR_PLL_DIG_CHAN_MAP_ZOC_SHIFT (10U) 26829 /*! ZOC - 802.15.4 Channel Number Override 26830 * 0b0..802.15.4 channel number comes from the 802.15.4 Link Layer. 26831 * 0b1..802.15.4 channel number comes from the CHANNEL_NUM register (802.15.4 protocols 4 and 5) 26832 */ 26833 #define XCVR_PLL_DIG_CHAN_MAP_ZOC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CHAN_MAP_ZOC_SHIFT)) & XCVR_PLL_DIG_CHAN_MAP_ZOC_MASK) 26834 #define XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD_MASK (0x70000U) 26835 #define XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD_SHIFT (16U) 26836 /*! HOP_TBL_CFG_OVRD - Hop Table Configuration Override 26837 * 0b010..DFT_PATTERN[15:7] is signed offset to DFT_PATTERN[6:0] mapped channel number 26838 * 0b011..DFT_PATTERN[15:1] is signed Numerator, DFT_PATTERN[0] is integer selection 26839 */ 26840 #define XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD_SHIFT)) & XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD_MASK) 26841 #define XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD_EN_MASK (0x80000U) 26842 #define XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD_EN_SHIFT (19U) 26843 #define XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD_EN_SHIFT)) & XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD_EN_MASK) 26844 /*! @} */ 26845 26846 /*! @name LOCK_DETECT - PLL Lock Detect Control */ 26847 /*! @{ */ 26848 #define XCVR_PLL_DIG_LOCK_DETECT_CT_FAIL_MASK (0x1U) 26849 #define XCVR_PLL_DIG_LOCK_DETECT_CT_FAIL_SHIFT (0U) 26850 #define XCVR_PLL_DIG_LOCK_DETECT_CT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_CT_FAIL_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_CT_FAIL_MASK) 26851 #define XCVR_PLL_DIG_LOCK_DETECT_CTFF_MASK (0x2U) 26852 #define XCVR_PLL_DIG_LOCK_DETECT_CTFF_SHIFT (1U) 26853 #define XCVR_PLL_DIG_LOCK_DETECT_CTFF(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_CTFF_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_CTFF_MASK) 26854 #define XCVR_PLL_DIG_LOCK_DETECT_CS_FAIL_MASK (0x4U) 26855 #define XCVR_PLL_DIG_LOCK_DETECT_CS_FAIL_SHIFT (2U) 26856 #define XCVR_PLL_DIG_LOCK_DETECT_CS_FAIL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_CS_FAIL_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_CS_FAIL_MASK) 26857 #define XCVR_PLL_DIG_LOCK_DETECT_CSFF_MASK (0x8U) 26858 #define XCVR_PLL_DIG_LOCK_DETECT_CSFF_SHIFT (3U) 26859 #define XCVR_PLL_DIG_LOCK_DETECT_CSFF(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_CSFF_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_CSFF_MASK) 26860 #define XCVR_PLL_DIG_LOCK_DETECT_FT_FAIL_MASK (0x10U) 26861 #define XCVR_PLL_DIG_LOCK_DETECT_FT_FAIL_SHIFT (4U) 26862 #define XCVR_PLL_DIG_LOCK_DETECT_FT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_FT_FAIL_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_FT_FAIL_MASK) 26863 #define XCVR_PLL_DIG_LOCK_DETECT_FTFF_MASK (0x20U) 26864 #define XCVR_PLL_DIG_LOCK_DETECT_FTFF_SHIFT (5U) 26865 #define XCVR_PLL_DIG_LOCK_DETECT_FTFF(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_FTFF_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_FTFF_MASK) 26866 #define XCVR_PLL_DIG_LOCK_DETECT_TAFF_MASK (0x80U) 26867 #define XCVR_PLL_DIG_LOCK_DETECT_TAFF_SHIFT (7U) 26868 #define XCVR_PLL_DIG_LOCK_DETECT_TAFF(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_TAFF_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_TAFF_MASK) 26869 #define XCVR_PLL_DIG_LOCK_DETECT_CTUNE_LDF_LEV_MASK (0xF00U) 26870 #define XCVR_PLL_DIG_LOCK_DETECT_CTUNE_LDF_LEV_SHIFT (8U) 26871 #define XCVR_PLL_DIG_LOCK_DETECT_CTUNE_LDF_LEV(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_CTUNE_LDF_LEV_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_CTUNE_LDF_LEV_MASK) 26872 #define XCVR_PLL_DIG_LOCK_DETECT_FTF_RX_THRSH_MASK (0x3F000U) 26873 #define XCVR_PLL_DIG_LOCK_DETECT_FTF_RX_THRSH_SHIFT (12U) 26874 #define XCVR_PLL_DIG_LOCK_DETECT_FTF_RX_THRSH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_FTF_RX_THRSH_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_FTF_RX_THRSH_MASK) 26875 #define XCVR_PLL_DIG_LOCK_DETECT_FTW_RX_MASK (0x80000U) 26876 #define XCVR_PLL_DIG_LOCK_DETECT_FTW_RX_SHIFT (19U) 26877 /*! FTW_RX - RX Frequency Target Window time select 26878 * 0b0..4 us 26879 * 0b1..8 us 26880 */ 26881 #define XCVR_PLL_DIG_LOCK_DETECT_FTW_RX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_FTW_RX_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_FTW_RX_MASK) 26882 #define XCVR_PLL_DIG_LOCK_DETECT_FTF_TX_THRSH_MASK (0x3F00000U) 26883 #define XCVR_PLL_DIG_LOCK_DETECT_FTF_TX_THRSH_SHIFT (20U) 26884 #define XCVR_PLL_DIG_LOCK_DETECT_FTF_TX_THRSH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_FTF_TX_THRSH_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_FTF_TX_THRSH_MASK) 26885 #define XCVR_PLL_DIG_LOCK_DETECT_FTW_TX_MASK (0x8000000U) 26886 #define XCVR_PLL_DIG_LOCK_DETECT_FTW_TX_SHIFT (27U) 26887 /*! FTW_TX - TX Frequency Target Window time select 26888 * 0b0..4 us 26889 * 0b1..8 us 26890 */ 26891 #define XCVR_PLL_DIG_LOCK_DETECT_FTW_TX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_FTW_TX_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_FTW_TX_MASK) 26892 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_GO_MASK (0x10000000U) 26893 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_GO_SHIFT (28U) 26894 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_GO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_GO_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_GO_MASK) 26895 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_FINISHED_MASK (0x20000000U) 26896 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_FINISHED_SHIFT (29U) 26897 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_FINISHED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_FINISHED_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_FINISHED_MASK) 26898 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_TIME_MASK (0xC0000000U) 26899 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_TIME_SHIFT (30U) 26900 /*! FREQ_COUNT_TIME - Frequency Meter Count Time 26901 * 0b00..800 us 26902 * 0b01..25 us 26903 * 0b10..50 us 26904 * 0b11..100 us 26905 */ 26906 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_TIME(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_TIME_SHIFT)) & XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_TIME_MASK) 26907 /*! @} */ 26908 26909 /*! @name HPM_CTRL - PLL High Port Modulator Control */ 26910 /*! @{ */ 26911 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_MANUAL_MASK (0x3FFU) 26912 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_MANUAL_SHIFT (0U) 26913 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_MANUAL_SHIFT)) & XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_MANUAL_MASK) 26914 #define XCVR_PLL_DIG_HPM_CTRL_HPFF_MASK (0x2000U) 26915 #define XCVR_PLL_DIG_HPM_CTRL_HPFF_SHIFT (13U) 26916 #define XCVR_PLL_DIG_HPM_CTRL_HPFF(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_CTRL_HPFF_SHIFT)) & XCVR_PLL_DIG_HPM_CTRL_HPFF_MASK) 26917 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_OUT_INVERT_MASK (0x4000U) 26918 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_OUT_INVERT_SHIFT (14U) 26919 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_OUT_INVERT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_OUT_INVERT_SHIFT)) & XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_OUT_INVERT_MASK) 26920 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_DISABLE_MASK (0x8000U) 26921 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_DISABLE_SHIFT (15U) 26922 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_DISABLE_SHIFT)) & XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_DISABLE_MASK) 26923 #define XCVR_PLL_DIG_HPM_CTRL_HPM_LFSR_SIZE_MASK (0x70000U) 26924 #define XCVR_PLL_DIG_HPM_CTRL_HPM_LFSR_SIZE_SHIFT (16U) 26925 /*! HPM_LFSR_SIZE - HPM LFSR Length 26926 * 0b000..LFSR 9, tap mask 100010000 26927 * 0b001..LFSR 10, tap mask 1001000000 26928 * 0b010..LFSR 11, tap mask 11101000000 26929 * 0b011..LFSR 13, tap mask 1101100000000 26930 * 0b100..LFSR 15, tap mask 111010000000000 26931 * 0b101..LFSR 17, tap mask 11110000000000000 26932 * 0b110..Reserved 26933 * 0b111..Reserved 26934 */ 26935 #define XCVR_PLL_DIG_HPM_CTRL_HPM_LFSR_SIZE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_CTRL_HPM_LFSR_SIZE_SHIFT)) & XCVR_PLL_DIG_HPM_CTRL_HPM_LFSR_SIZE_MASK) 26936 #define XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_SCL_MASK (0x100000U) 26937 #define XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_SCL_SHIFT (20U) 26938 #define XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_SCL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_SCL_SHIFT)) & XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_SCL_MASK) 26939 #define XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_EN_MASK (0x800000U) 26940 #define XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_EN_SHIFT (23U) 26941 #define XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_EN_SHIFT)) & XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_EN_MASK) 26942 #define XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_SCALE_MASK (0x3000000U) 26943 #define XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_SCALE_SHIFT (24U) 26944 /*! HPM_INTEGER_SCALE - High Port Modulation Integer Scale 26945 * 0b00..No Scaling 26946 * 0b01..Multiply by 2 26947 * 0b10..Divide by 2 26948 * 0b11..Reserved 26949 */ 26950 #define XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_SCALE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_SCALE_SHIFT)) & XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_SCALE_MASK) 26951 #define XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_INVERT_MASK (0x8000000U) 26952 #define XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_INVERT_SHIFT (27U) 26953 #define XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_INVERT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_INVERT_SHIFT)) & XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_INVERT_MASK) 26954 #define XCVR_PLL_DIG_HPM_CTRL_HPM_CAL_INVERT_MASK (0x10000000U) 26955 #define XCVR_PLL_DIG_HPM_CTRL_HPM_CAL_INVERT_SHIFT (28U) 26956 #define XCVR_PLL_DIG_HPM_CTRL_HPM_CAL_INVERT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_CTRL_HPM_CAL_INVERT_SHIFT)) & XCVR_PLL_DIG_HPM_CTRL_HPM_CAL_INVERT_MASK) 26957 #define XCVR_PLL_DIG_HPM_CTRL_HPM_MOD_IN_INVERT_MASK (0x80000000U) 26958 #define XCVR_PLL_DIG_HPM_CTRL_HPM_MOD_IN_INVERT_SHIFT (31U) 26959 #define XCVR_PLL_DIG_HPM_CTRL_HPM_MOD_IN_INVERT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_CTRL_HPM_MOD_IN_INVERT_SHIFT)) & XCVR_PLL_DIG_HPM_CTRL_HPM_MOD_IN_INVERT_MASK) 26960 /*! @} */ 26961 26962 /*! @name HPMCAL_CTRL - PLL High Port Calibration Control */ 26963 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_FACTOR_MASK (0x1FFFU) 26964 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_FACTOR_SHIFT (0U) 26965 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_FACTOR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_FACTOR_SHIFT)) & XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_FACTOR_MASK) 26966 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_NOT_BUMPED_MASK (0x2000U) 26967 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_NOT_BUMPED_SHIFT (13U) 26968 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_NOT_BUMPED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_NOT_BUMPED_SHIFT)) & XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_NOT_BUMPED_MASK) 26969 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_COUNT_SCALE_MASK (0x4000U) 26970 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_COUNT_SCALE_SHIFT (14U) 26971 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_COUNT_SCALE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_COUNT_SCALE_SHIFT)) & XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_COUNT_SCALE_MASK) 26972 #define XCVR_PLL_DIG_HPMCAL_CTRL_HP_CAL_DISABLE_MASK (0x8000U) 26973 #define XCVR_PLL_DIG_HPMCAL_CTRL_HP_CAL_DISABLE_SHIFT (15U) 26974 #define XCVR_PLL_DIG_HPMCAL_CTRL_HP_CAL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPMCAL_CTRL_HP_CAL_DISABLE_SHIFT)) & XCVR_PLL_DIG_HPMCAL_CTRL_HP_CAL_DISABLE_MASK) 26975 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_FACTOR_MANUAL_MASK (0x1FFF0000U) 26976 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_FACTOR_MANUAL_SHIFT (16U) 26977 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_FACTOR_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_FACTOR_MANUAL_SHIFT)) & XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_FACTOR_MANUAL_MASK) 26978 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_ARRAY_SIZE_MASK (0x40000000U) 26979 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_ARRAY_SIZE_SHIFT (30U) 26980 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_ARRAY_SIZE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_ARRAY_SIZE_SHIFT)) & XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_ARRAY_SIZE_MASK) 26981 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_TIME_MASK (0x80000000U) 26982 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_TIME_SHIFT (31U) 26983 #define XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_TIME(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_TIME_SHIFT)) & XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_TIME_MASK) 26984 26985 26986 /*! @name HPM_SDM_RES - PLL High Port Sigma Delta Results */ 26987 /*! @{ */ 26988 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_NUM_SELECTED_MASK (0x3FFU) 26989 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_NUM_SELECTED_SHIFT (0U) 26990 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_NUM_SELECTED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_SDM_RES_HPM_NUM_SELECTED_SHIFT)) & XCVR_PLL_DIG_HPM_SDM_RES_HPM_NUM_SELECTED_MASK) 26991 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_DENOM_MASK (0x3FF0000U) 26992 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_DENOM_SHIFT (16U) 26993 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_DENOM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_SDM_RES_HPM_DENOM_SHIFT)) & XCVR_PLL_DIG_HPM_SDM_RES_HPM_DENOM_MASK) 26994 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_COUNT_ADJUST_MASK (0xF0000000U) 26995 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_COUNT_ADJUST_SHIFT (28U) 26996 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_COUNT_ADJUST(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_HPM_SDM_RES_HPM_COUNT_ADJUST_SHIFT)) & XCVR_PLL_DIG_HPM_SDM_RES_HPM_COUNT_ADJUST_MASK) 26997 /*! @} */ 26998 26999 /*! @name LPM_CTRL - PLL Low Port Modulator Control */ 27000 /*! @{ */ 27001 #define XCVR_PLL_DIG_LPM_CTRL_PLL_LD_MANUAL_MASK (0x1FU) 27002 #define XCVR_PLL_DIG_LPM_CTRL_PLL_LD_MANUAL_SHIFT (0U) 27003 #define XCVR_PLL_DIG_LPM_CTRL_PLL_LD_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_CTRL_PLL_LD_MANUAL_SHIFT)) & XCVR_PLL_DIG_LPM_CTRL_PLL_LD_MANUAL_MASK) 27004 #define XCVR_PLL_DIG_LPM_CTRL_PLL_LD_DISABLE_MASK (0x800U) 27005 #define XCVR_PLL_DIG_LPM_CTRL_PLL_LD_DISABLE_SHIFT (11U) 27006 #define XCVR_PLL_DIG_LPM_CTRL_PLL_LD_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_CTRL_PLL_LD_DISABLE_SHIFT)) & XCVR_PLL_DIG_LPM_CTRL_PLL_LD_DISABLE_MASK) 27007 #define XCVR_PLL_DIG_LPM_CTRL_LPFF_MASK (0x2000U) 27008 #define XCVR_PLL_DIG_LPM_CTRL_LPFF_SHIFT (13U) 27009 #define XCVR_PLL_DIG_LPM_CTRL_LPFF(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_CTRL_LPFF_SHIFT)) & XCVR_PLL_DIG_LPM_CTRL_LPFF_MASK) 27010 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_INV_MASK (0x4000U) 27011 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_INV_SHIFT (14U) 27012 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_INV(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_INV_SHIFT)) & XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_INV_MASK) 27013 #define XCVR_PLL_DIG_LPM_CTRL_LPM_DISABLE_MASK (0x8000U) 27014 #define XCVR_PLL_DIG_LPM_CTRL_LPM_DISABLE_SHIFT (15U) 27015 #define XCVR_PLL_DIG_LPM_CTRL_LPM_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_CTRL_LPM_DISABLE_SHIFT)) & XCVR_PLL_DIG_LPM_CTRL_LPM_DISABLE_MASK) 27016 #define XCVR_PLL_DIG_LPM_CTRL_LPM_DTH_SCL_MASK (0xF0000U) 27017 #define XCVR_PLL_DIG_LPM_CTRL_LPM_DTH_SCL_SHIFT (16U) 27018 /*! LPM_DTH_SCL - LPM Dither Scale 27019 * 0b0000..Reserved 27020 * 0b0001..Reserved 27021 * 0b0010..Reserved 27022 * 0b0011..Reserved 27023 * 0b0100..Reserved 27024 * 0b0101..-128 to 96 27025 * 0b0110..-256 to 192 27026 * 0b0111..-512 to 384 27027 * 0b1000..-1024 to 768, this is the intended setting for normal operation. 27028 * 0b1001..-2048 to 1536 27029 * 0b1010..-4096 to 3072 27030 * 0b1011..-8192 to 6144 27031 * 0b1100..Reserved 27032 * 0b1101..Reserved 27033 * 0b1110..Reserved 27034 * 0b1111..Reserved 27035 */ 27036 #define XCVR_PLL_DIG_LPM_CTRL_LPM_DTH_SCL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_CTRL_LPM_DTH_SCL_SHIFT)) & XCVR_PLL_DIG_LPM_CTRL_LPM_DTH_SCL_MASK) 27037 #define XCVR_PLL_DIG_LPM_CTRL_LPM_D_CTRL_MASK (0x400000U) 27038 #define XCVR_PLL_DIG_LPM_CTRL_LPM_D_CTRL_SHIFT (22U) 27039 #define XCVR_PLL_DIG_LPM_CTRL_LPM_D_CTRL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_CTRL_LPM_D_CTRL_SHIFT)) & XCVR_PLL_DIG_LPM_CTRL_LPM_D_CTRL_MASK) 27040 #define XCVR_PLL_DIG_LPM_CTRL_LPM_D_OVRD_MASK (0x800000U) 27041 #define XCVR_PLL_DIG_LPM_CTRL_LPM_D_OVRD_SHIFT (23U) 27042 #define XCVR_PLL_DIG_LPM_CTRL_LPM_D_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_CTRL_LPM_D_OVRD_SHIFT)) & XCVR_PLL_DIG_LPM_CTRL_LPM_D_OVRD_MASK) 27043 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SCALE_MASK (0xF000000U) 27044 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SCALE_SHIFT (24U) 27045 /*! LPM_SCALE - LPM Scale Factor 27046 * 0b0000..No Scaling 27047 * 0b0001..Multiply by 2 27048 * 0b0010..Multiply by 4 27049 * 0b0011..Multiply by 8 27050 * 0b0100..Multiply by 16 27051 * 0b0101..Multiply by 32 27052 * 0b0110..Multiply by 64 27053 * 0b0111..Multiply by 128 27054 * 0b1000..Multiply by 256, this is the intended setting for normal operation. 27055 * 0b1001..Multiply by 512 27056 * 0b1010..Multiply by 1024 27057 * 0b1011..Multiply by 2048 27058 * 0b1100..Reserved 27059 * 0b1101..Reserved 27060 * 0b1110..Reserved 27061 * 0b1111..Reserved 27062 */ 27063 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SCALE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_CTRL_LPM_SCALE_SHIFT)) & XCVR_PLL_DIG_LPM_CTRL_LPM_SCALE_MASK) 27064 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_USE_NEG_MASK (0x80000000U) 27065 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_USE_NEG_SHIFT (31U) 27066 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_USE_NEG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_USE_NEG_SHIFT)) & XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_USE_NEG_MASK) 27067 /*! @} */ 27068 27069 /*! @name LPM_SDM_CTRL1 - PLL Low Port Sigma Delta Control 1 */ 27070 /*! @{ */ 27071 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG_SELECTED_MASK (0x7FU) 27072 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG_SELECTED_SHIFT (0U) 27073 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG_SELECTED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG_SELECTED_SHIFT)) & XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG_SELECTED_MASK) 27074 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_HPM_ARRAY_BIAS_MASK (0x7F00U) 27075 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_HPM_ARRAY_BIAS_SHIFT (8U) 27076 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_HPM_ARRAY_BIAS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_SDM_CTRL1_HPM_ARRAY_BIAS_SHIFT)) & XCVR_PLL_DIG_LPM_SDM_CTRL1_HPM_ARRAY_BIAS_MASK) 27077 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG_MASK (0x7F0000U) 27078 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG_SHIFT (16U) 27079 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG_SHIFT)) & XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG_MASK) 27080 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_SDM_MAP_DISABLE_MASK (0x80000000U) 27081 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_SDM_MAP_DISABLE_SHIFT (31U) 27082 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_SDM_MAP_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_SDM_CTRL1_SDM_MAP_DISABLE_SHIFT)) & XCVR_PLL_DIG_LPM_SDM_CTRL1_SDM_MAP_DISABLE_MASK) 27083 /*! @} */ 27084 27085 /*! @name LPM_SDM_CTRL2 - PLL Low Port Sigma Delta Control 2 */ 27086 /*! @{ */ 27087 #define XCVR_PLL_DIG_LPM_SDM_CTRL2_LPM_NUM_MASK (0xFFFFFFFU) 27088 #define XCVR_PLL_DIG_LPM_SDM_CTRL2_LPM_NUM_SHIFT (0U) 27089 #define XCVR_PLL_DIG_LPM_SDM_CTRL2_LPM_NUM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_SDM_CTRL2_LPM_NUM_SHIFT)) & XCVR_PLL_DIG_LPM_SDM_CTRL2_LPM_NUM_MASK) 27090 /*! @} */ 27091 27092 /*! @name LPM_SDM_CTRL3 - PLL Low Port Sigma Delta Control 3 */ 27093 /*! @{ */ 27094 #define XCVR_PLL_DIG_LPM_SDM_CTRL3_LPM_DENOM_MASK (0xFFFFFFFU) 27095 #define XCVR_PLL_DIG_LPM_SDM_CTRL3_LPM_DENOM_SHIFT (0U) 27096 #define XCVR_PLL_DIG_LPM_SDM_CTRL3_LPM_DENOM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_SDM_CTRL3_LPM_DENOM_SHIFT)) & XCVR_PLL_DIG_LPM_SDM_CTRL3_LPM_DENOM_MASK) 27097 /*! @} */ 27098 27099 /*! @name LPM_SDM_RES1 - PLL Low Port Sigma Delta Result 1 */ 27100 /*! @{ */ 27101 #define XCVR_PLL_DIG_LPM_SDM_RES1_LPM_NUM_SELECTED_MASK (0xFFFFFFFU) 27102 #define XCVR_PLL_DIG_LPM_SDM_RES1_LPM_NUM_SELECTED_SHIFT (0U) 27103 #define XCVR_PLL_DIG_LPM_SDM_RES1_LPM_NUM_SELECTED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_SDM_RES1_LPM_NUM_SELECTED_SHIFT)) & XCVR_PLL_DIG_LPM_SDM_RES1_LPM_NUM_SELECTED_MASK) 27104 /*! @} */ 27105 27106 /*! @name LPM_SDM_RES2 - PLL Low Port Sigma Delta Result 2 */ 27107 /*! @{ */ 27108 #define XCVR_PLL_DIG_LPM_SDM_RES2_LPM_DENOM_SELECTED_MASK (0xFFFFFFFU) 27109 #define XCVR_PLL_DIG_LPM_SDM_RES2_LPM_DENOM_SELECTED_SHIFT (0U) 27110 #define XCVR_PLL_DIG_LPM_SDM_RES2_LPM_DENOM_SELECTED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_LPM_SDM_RES2_LPM_DENOM_SELECTED_SHIFT)) & XCVR_PLL_DIG_LPM_SDM_RES2_LPM_DENOM_SELECTED_MASK) 27111 /*! @} */ 27112 27113 /*! @name DELAY_MATCH - PLL Delay Matching */ 27114 /*! @{ */ 27115 #define XCVR_PLL_DIG_DELAY_MATCH_LPM_SDM_DELAY_MASK (0xFU) 27116 #define XCVR_PLL_DIG_DELAY_MATCH_LPM_SDM_DELAY_SHIFT (0U) 27117 #define XCVR_PLL_DIG_DELAY_MATCH_LPM_SDM_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_DELAY_MATCH_LPM_SDM_DELAY_SHIFT)) & XCVR_PLL_DIG_DELAY_MATCH_LPM_SDM_DELAY_MASK) 27118 #define XCVR_PLL_DIG_DELAY_MATCH_HPM_SDM_DELAY_MASK (0xF00U) 27119 #define XCVR_PLL_DIG_DELAY_MATCH_HPM_SDM_DELAY_SHIFT (8U) 27120 #define XCVR_PLL_DIG_DELAY_MATCH_HPM_SDM_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_DELAY_MATCH_HPM_SDM_DELAY_SHIFT)) & XCVR_PLL_DIG_DELAY_MATCH_HPM_SDM_DELAY_MASK) 27121 #define XCVR_PLL_DIG_DELAY_MATCH_HPM_INTEGER_DELAY_MASK (0xF0000U) 27122 #define XCVR_PLL_DIG_DELAY_MATCH_HPM_INTEGER_DELAY_SHIFT (16U) 27123 #define XCVR_PLL_DIG_DELAY_MATCH_HPM_INTEGER_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_DELAY_MATCH_HPM_INTEGER_DELAY_SHIFT)) & XCVR_PLL_DIG_DELAY_MATCH_HPM_INTEGER_DELAY_MASK) 27124 /*! @} */ 27125 27126 /*! @name CTUNE_CTRL - PLL Coarse Tune Control */ 27127 /*! @{ */ 27128 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_MANUAL_MASK (0xFFFU) 27129 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_MANUAL_SHIFT (0U) 27130 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_MANUAL_SHIFT)) & XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_MANUAL_MASK) 27131 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_DISABLE_MASK (0x8000U) 27132 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_DISABLE_SHIFT (15U) 27133 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_DISABLE_SHIFT)) & XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_DISABLE_MASK) 27134 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_ADJUST_MASK (0xF0000U) 27135 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_ADJUST_SHIFT (16U) 27136 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_ADJUST(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_ADJUST_SHIFT)) & XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_ADJUST_MASK) 27137 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_MANUAL_MASK (0x7F000000U) 27138 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_MANUAL_SHIFT (24U) 27139 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_MANUAL_SHIFT)) & XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_MANUAL_MASK) 27140 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_DISABLE_MASK (0x80000000U) 27141 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_DISABLE_SHIFT (31U) 27142 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_DISABLE_SHIFT)) & XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_DISABLE_MASK) 27143 /*! @} */ 27144 27145 /*! @name CTUNE_RES - PLL Coarse Tune Results */ 27146 /*! @{ */ 27147 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_SELECTED_MASK (0x7FU) 27148 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_SELECTED_SHIFT (0U) 27149 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_SELECTED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CTUNE_RES_CTUNE_SELECTED_SHIFT)) & XCVR_PLL_DIG_CTUNE_RES_CTUNE_SELECTED_MASK) 27150 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_BEST_DIFF_MASK (0xFF00U) 27151 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_BEST_DIFF_SHIFT (8U) 27152 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_BEST_DIFF(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CTUNE_RES_CTUNE_BEST_DIFF_SHIFT)) & XCVR_PLL_DIG_CTUNE_RES_CTUNE_BEST_DIFF_MASK) 27153 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_FREQ_SELECTED_MASK (0xFFF0000U) 27154 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_FREQ_SELECTED_SHIFT (16U) 27155 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_FREQ_SELECTED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_PLL_DIG_CTUNE_RES_CTUNE_FREQ_SELECTED_SHIFT)) & XCVR_PLL_DIG_CTUNE_RES_CTUNE_FREQ_SELECTED_MASK) 27156 /*! @} */ 27157 27158 27159 /*! 27160 * @} 27161 */ /* end of group XCVR_PLL_DIG_Register_Masks */ 27162 27163 27164 /* XCVR_PLL_DIG - Peripheral instance base addresses */ 27165 /** Peripheral XCVR_PLL_DIG base address */ 27166 #define XCVR_PLL_DIG_BASE (0x41030224u) 27167 /** Peripheral XCVR_PLL_DIG base pointer */ 27168 #define XCVR_PLL_DIG ((XCVR_PLL_DIG_Type *)XCVR_PLL_DIG_BASE) 27169 /** Array initializer of XCVR_PLL_DIG peripheral base addresses */ 27170 #define XCVR_PLL_DIG_BASE_ADDRS { XCVR_PLL_DIG_BASE } 27171 /** Array initializer of XCVR_PLL_DIG peripheral base pointers */ 27172 #define XCVR_PLL_DIG_BASE_PTRS { XCVR_PLL_DIG } 27173 27174 /*! 27175 * @} 27176 */ /* end of group XCVR_PLL_DIG_Peripheral_Access_Layer */ 27177 27178 27179 /* ---------------------------------------------------------------------------- 27180 -- XCVR_RX_DIG Peripheral Access Layer 27181 ---------------------------------------------------------------------------- */ 27182 27183 /*! 27184 * @addtogroup XCVR_RX_DIG_Peripheral_Access_Layer XCVR_RX_DIG Peripheral Access Layer 27185 * @{ 27186 */ 27187 27188 /** XCVR_RX_DIG - Register Layout Typedef */ 27189 typedef struct { 27190 __IO uint32_t RX_DIG_CTRL; /**< RX Digital Control, offset: 0x0 */ 27191 __IO uint32_t AGC_CTRL_0; /**< AGC Control 0, offset: 0x4 */ 27192 __IO uint32_t AGC_CTRL_1; /**< AGC Control 1, offset: 0x8 */ 27193 __IO uint32_t AGC_CTRL_2; /**< AGC Control 2, offset: 0xC */ 27194 __IO uint32_t AGC_CTRL_3; /**< AGC Control 3, offset: 0x10 */ 27195 __I uint32_t AGC_STAT; /**< AGC Status, offset: 0x14 */ 27196 __IO uint32_t RSSI_CTRL_0; /**< RSSI Control 0, offset: 0x18 */ 27197 __IO uint32_t RSSI_CTRL_1; /**< RSSI Control 1, offset: 0x1C */ 27198 uint8_t RESERVED_0[4]; 27199 __IO uint32_t DCOC_CTRL_0; /**< DCOC Control 0, offset: 0x24 */ 27200 __IO uint32_t DCOC_CTRL_1; /**< DCOC Control 1, offset: 0x28 */ 27201 __IO uint32_t DCOC_DAC_INIT; /**< DCOC DAC Initialization, offset: 0x2C */ 27202 __IO uint32_t DCOC_DIG_MAN; /**< DCOC Digital Correction Manual Override, offset: 0x30 */ 27203 __IO uint32_t DCOC_CAL_GAIN; /**< DCOC Calibration Gain, offset: 0x34 */ 27204 __I uint32_t DCOC_STAT; /**< DCOC Status, offset: 0x38 */ 27205 __I uint32_t DCOC_DC_EST; /**< DCOC DC Estimate, offset: 0x3C */ 27206 __IO uint32_t DCOC_CAL_RCP; /**< DCOC Calibration Reciprocals, offset: 0x40 */ 27207 __IO uint32_t DCOC_CTRL_2; /**< DCOC Control 2, offset: 0x44 */ 27208 __IO uint32_t IQMC_CTRL; /**< IQMC Control, offset: 0x48 */ 27209 __IO uint32_t IQMC_CAL; /**< IQMC Calibration, offset: 0x4C */ 27210 __IO uint32_t LNA_GAIN_VAL_3_0; /**< LNA_GAIN Step Values 3..0, offset: 0x50 */ 27211 __IO uint32_t LNA_GAIN_VAL_7_4; /**< LNA_GAIN Step Values 7..4, offset: 0x54 */ 27212 __IO uint32_t LNA_GAIN_VAL_8; /**< LNA_GAIN Step Values 8, offset: 0x58 */ 27213 __IO uint32_t BBA_RES_TUNE_VAL_7_0; /**< BBA Resistor Tune Values 7..0, offset: 0x5C */ 27214 __IO uint32_t BBA_RES_TUNE_VAL_10_8; /**< BBA Resistor Tune Values 10..8, offset: 0x60 */ 27215 __IO uint32_t LNA_GAIN_LIN_VAL_2_0; /**< LNA Linear Gain Values 2..0, offset: 0x64 */ 27216 __IO uint32_t LNA_GAIN_LIN_VAL_5_3; /**< LNA Linear Gain Values 5..3, offset: 0x68 */ 27217 __IO uint32_t LNA_GAIN_LIN_VAL_8_6; /**< LNA Linear Gain Values 8..6, offset: 0x6C */ 27218 __IO uint32_t LNA_GAIN_LIN_VAL_9; /**< LNA Linear Gain Values 9, offset: 0x70 */ 27219 __IO uint32_t BBA_RES_TUNE_LIN_VAL_3_0; /**< BBA Resistor Tune Values 3..0, offset: 0x74 */ 27220 __IO uint32_t BBA_RES_TUNE_LIN_VAL_7_4; /**< BBA Resistor Tune Values 7..4, offset: 0x78 */ 27221 __IO uint32_t BBA_RES_TUNE_LIN_VAL_10_8; /**< BBA Resistor Tune Values 10..8, offset: 0x7C */ 27222 __IO uint32_t AGC_GAIN_TBL_03_00; /**< AGC Gain Tables Step 03..00, offset: 0x80 */ 27223 __IO uint32_t AGC_GAIN_TBL_07_04; /**< AGC Gain Tables Step 07..04, offset: 0x84 */ 27224 __IO uint32_t AGC_GAIN_TBL_11_08; /**< AGC Gain Tables Step 11..08, offset: 0x88 */ 27225 __IO uint32_t AGC_GAIN_TBL_15_12; /**< AGC Gain Tables Step 15..12, offset: 0x8C */ 27226 __IO uint32_t AGC_GAIN_TBL_19_16; /**< AGC Gain Tables Step 19..16, offset: 0x90 */ 27227 __IO uint32_t AGC_GAIN_TBL_23_20; /**< AGC Gain Tables Step 23..20, offset: 0x94 */ 27228 __IO uint32_t AGC_GAIN_TBL_26_24; /**< AGC Gain Tables Step 26..24, offset: 0x98 */ 27229 uint8_t RESERVED_1[4]; 27230 __IO uint32_t DCOC_OFFSET[27]; /**< DCOC Offset, array offset: 0xA0, array step: 0x4 */ 27231 __IO uint32_t DCOC_BBA_STEP; /**< DCOC BBA DAC Step, offset: 0x10C */ 27232 __IO uint32_t DCOC_TZA_STEP_0; /**< DCOC TZA DAC Step 0, offset: 0x110 */ 27233 __IO uint32_t DCOC_TZA_STEP_1; /**< DCOC TZA DAC Step 1, offset: 0x114 */ 27234 __IO uint32_t DCOC_TZA_STEP_2; /**< DCOC TZA DAC Step 2, offset: 0x118 */ 27235 __IO uint32_t DCOC_TZA_STEP_3; /**< DCOC TZA DAC Step 3, offset: 0x11C */ 27236 __IO uint32_t DCOC_TZA_STEP_4; /**< DCOC TZA DAC Step 4, offset: 0x120 */ 27237 __IO uint32_t DCOC_TZA_STEP_5; /**< DCOC TZA DAC Step 5, offset: 0x124 */ 27238 __IO uint32_t DCOC_TZA_STEP_6; /**< DCOC TZA DAC Step 6, offset: 0x128 */ 27239 __IO uint32_t DCOC_TZA_STEP_7; /**< DCOC TZA DAC Step 7, offset: 0x12C */ 27240 __IO uint32_t DCOC_TZA_STEP_8; /**< DCOC TZA DAC Step 5, offset: 0x130 */ 27241 __IO uint32_t DCOC_TZA_STEP_9; /**< DCOC TZA DAC Step 9, offset: 0x134 */ 27242 __IO uint32_t DCOC_TZA_STEP_10; /**< DCOC TZA DAC Step 10, offset: 0x138 */ 27243 uint8_t RESERVED_2[36]; 27244 __IO uint32_t DCOC_CAL_FAIL_TH; /**< DCOC Calibration Fail Thresholds, offset: 0x160 */ 27245 __IO uint32_t DCOC_CAL_PASS_TH; /**< DCOC Calibration Pass Thresholds, offset: 0x164 */ 27246 __I uint32_t DCOC_CAL_ALPHA; /**< DCOC Calibration Alpha, offset: 0x168 */ 27247 __I uint32_t DCOC_CAL_BETA_Q; /**< DCOC Calibration Beta Q, offset: 0x16C */ 27248 __I uint32_t DCOC_CAL_BETA_I; /**< DCOC Calibration Beta I, offset: 0x170 */ 27249 __I uint32_t DCOC_CAL_GAMMA; /**< DCOC Calibration Gamma, offset: 0x174 */ 27250 __IO uint32_t DCOC_CAL_IIR; /**< DCOC Calibration IIR, offset: 0x178 */ 27251 uint8_t RESERVED_3[4]; 27252 __I uint32_t DCOC_CAL[3]; /**< DCOC Calibration Result, array offset: 0x180, array step: 0x4 */ 27253 uint8_t RESERVED_4[4]; 27254 __IO uint32_t CCA_ED_LQI_CTRL_0; /**< RX_DIG CCA ED LQI Control Register 0, offset: 0x190 */ 27255 __IO uint32_t CCA_ED_LQI_CTRL_1; /**< RX_DIG CCA ED LQI Control Register 1, offset: 0x194 */ 27256 __I uint32_t CCA_ED_LQI_STAT_0; /**< RX_DIG CCA ED LQI Status Register 0, offset: 0x198 */ 27257 uint8_t RESERVED_5[4]; 27258 __IO uint32_t RX_CHF_COEF_0; /**< Receive Channel Filter Coefficient 0, offset: 0x1A0 */ 27259 __IO uint32_t RX_CHF_COEF_1; /**< Receive Channel Filter Coefficient 1, offset: 0x1A4 */ 27260 __IO uint32_t RX_CHF_COEF_2; /**< Receive Channel Filter Coefficient 2, offset: 0x1A8 */ 27261 __IO uint32_t RX_CHF_COEF_3; /**< Receive Channel Filter Coefficient 3, offset: 0x1AC */ 27262 __IO uint32_t RX_CHF_COEF_4; /**< Receive Channel Filter Coefficient 4, offset: 0x1B0 */ 27263 __IO uint32_t RX_CHF_COEF_5; /**< Receive Channel Filter Coefficient 5, offset: 0x1B4 */ 27264 __IO uint32_t RX_CHF_COEF_6; /**< Receive Channel Filter Coefficient 6, offset: 0x1B8 */ 27265 __IO uint32_t RX_CHF_COEF_7; /**< Receive Channel Filter Coefficient 7, offset: 0x1BC */ 27266 __IO uint32_t RX_CHF_COEF_8; /**< Receive Channel Filter Coefficient 8, offset: 0x1C0 */ 27267 __IO uint32_t RX_CHF_COEF_9; /**< Receive Channel Filter Coefficient 9, offset: 0x1C4 */ 27268 __IO uint32_t RX_CHF_COEF_10; /**< Receive Channel Filter Coefficient 10, offset: 0x1C8 */ 27269 __IO uint32_t RX_CHF_COEF_11; /**< Receive Channel Filter Coefficient 11, offset: 0x1CC */ 27270 __IO uint32_t AGC_MAN_AGC_IDX; /**< AGC Manual AGC Index, offset: 0x1D0 */ 27271 __IO uint32_t DC_RESID_CTRL; /**< DC Residual Control, offset: 0x1D4 */ 27272 __I uint32_t DC_RESID_EST; /**< DC Residual Estimate, offset: 0x1D8 */ 27273 __IO uint32_t RX_RCCAL_CTRL0; /**< RX RC Calibration Control0, offset: 0x1DC */ 27274 __IO uint32_t RX_RCCAL_CTRL1; /**< RX RC Calibration Control1, offset: 0x1E0 */ 27275 __I uint32_t RX_RCCAL_STAT; /**< RX RC Calibration Status, offset: 0x1E4 */ 27276 __IO uint32_t AUXPLL_FCAL_CTRL; /**< Aux PLL Frequency Calibration Control, offset: 0x1E8 */ 27277 __I uint32_t AUXPLL_FCAL_CNT6; /**< Aux PLL Frequency Calibration Count 6, offset: 0x1EC */ 27278 __I uint32_t AUXPLL_FCAL_CNT5_4; /**< Aux PLL Frequency Calibration Count 5 and 4, offset: 0x1F0 */ 27279 __I uint32_t AUXPLL_FCAL_CNT3_2; /**< Aux PLL Frequency Calibration Count 3 and 2, offset: 0x1F4 */ 27280 __I uint32_t AUXPLL_FCAL_CNT1_0; /**< Aux PLL Frequency Calibration Count 1 and 0, offset: 0x1F8 */ 27281 } XCVR_RX_DIG_Type; 27282 27283 /* ---------------------------------------------------------------------------- 27284 -- XCVR_RX_DIG Register Masks 27285 ---------------------------------------------------------------------------- */ 27286 27287 /*! 27288 * @addtogroup XCVR_RX_DIG_Register_Masks XCVR_RX_DIG Register Masks 27289 * @{ 27290 */ 27291 27292 /*! @name RX_DIG_CTRL - RX Digital Control */ 27293 /*! @{ */ 27294 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_NEGEDGE_MASK (0x1U) 27295 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_NEGEDGE_SHIFT (0U) 27296 /*! RX_ADC_NEGEDGE - Receive ADC Negative Edge Selection 27297 * 0b0..Register ADC data on positive edge of clock 27298 * 0b1..Register ADC data on negative edge of clock 27299 */ 27300 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_NEGEDGE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_NEGEDGE_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_NEGEDGE_MASK) 27301 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_BYPASS_MASK (0x2U) 27302 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_BYPASS_SHIFT (1U) 27303 /*! RX_CH_FILT_BYPASS - Receive Channel Filter Bypass 27304 * 0b0..Channel filter is enabled. 27305 * 0b1..Disable and bypass channel filter. 27306 */ 27307 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_BYPASS_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_BYPASS_MASK) 27308 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_POL_MASK (0x8U) 27309 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_POL_SHIFT (3U) 27310 /*! RX_ADC_POL - Receive ADC Polarity 27311 * 0b0..ADC output of 1'b0 maps to -1, 1'b1 maps to +1 (default) 27312 * 0b1..ADC output of 1'b0 maps to +1, 1'b1 maps to -1 27313 */ 27314 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_POL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_POL_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_POL_MASK) 27315 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_OSR_MASK (0xF0U) 27316 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_OSR_SHIFT (4U) 27317 /*! RX_DEC_FILT_OSR - Decimation Filter Oversampling 27318 * 0b0000..OSR 4 27319 * 0b0001..OSR 8 27320 * 0b0010..OSR 16 27321 * 0b0100..OSR 32 27322 * 0b1000..OSR 64 27323 * 0b0011..OSR 6 27324 * 0b0101..OSR 12 27325 * 0b0110..OSR 24 27326 * 0b0111..OSR 48 27327 */ 27328 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_OSR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_OSR_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_OSR_MASK) 27329 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_FSK_ZB_SEL_MASK (0x100U) 27330 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_FSK_ZB_SEL_SHIFT (8U) 27331 /*! RX_FSK_ZB_SEL - FSK / 802.15.4 demodulator select 27332 * 0b0..FSK demodulator. 27333 * 0b1..802.15.4 demodulator. 27334 */ 27335 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_FSK_ZB_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_FSK_ZB_SEL_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_FSK_ZB_SEL_MASK) 27336 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_EN_MASK (0x200U) 27337 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_EN_SHIFT (9U) 27338 /*! RX_NORM_SUPP_EN - Normalizer Suppression Enable 27339 * 0b0..Normalizer suppression is disabled. 27340 * 0b1..Normalizer suppression is enabled. 27341 */ 27342 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_EN_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_EN_MASK) 27343 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_EN_MASK (0x400U) 27344 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_EN_SHIFT (10U) 27345 /*! RX_RSSI_EN - RSSI Measurement Enable 27346 * 0b0..RSSI measurement is disabled. 27347 * 0b1..RSSI measurement is enabled. 27348 */ 27349 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_EN_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_EN_MASK) 27350 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_AGC_EN_MASK (0x800U) 27351 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_AGC_EN_SHIFT (11U) 27352 /*! RX_AGC_EN - AGC Global Enable 27353 * 0b0..AGC is disabled. 27354 * 0b1..AGC is enabled. 27355 */ 27356 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_AGC_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_AGC_EN_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_AGC_EN_MASK) 27357 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_EN_MASK (0x1000U) 27358 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_EN_SHIFT (12U) 27359 /*! RX_DCOC_EN - DCOC Enable 27360 * 0b0..DCOC is disabled. 27361 * 0b1..DCOC is enabled. 27362 */ 27363 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_EN_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_EN_MASK) 27364 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_CAL_EN_MASK (0x2000U) 27365 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_CAL_EN_SHIFT (13U) 27366 /*! RX_DCOC_CAL_EN - DCOC Calibration Enable 27367 * 0b0..DCOC calibration is disabled. 27368 * 0b1..DCOC calibration is enabled. 27369 */ 27370 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_CAL_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_CAL_EN_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_CAL_EN_MASK) 27371 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_IQ_SWAP_MASK (0x4000U) 27372 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_IQ_SWAP_SHIFT (14U) 27373 /*! RX_IQ_SWAP - RX IQ Swap 27374 * 0b0..IQ swap is disabled. 27375 * 0b1..IQ swap is enabled. 27376 */ 27377 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_IQ_SWAP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_IQ_SWAP_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_IQ_SWAP_MASK) 27378 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DC_RESID_EN_MASK (0x8000U) 27379 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DC_RESID_EN_SHIFT (15U) 27380 /*! RX_DC_RESID_EN - DC Residual Enable 27381 * 0b0..DC Residual block is disabled. 27382 * 0b1..DC Residual block is enabled. 27383 */ 27384 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DC_RESID_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_DC_RESID_EN_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_DC_RESID_EN_MASK) 27385 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_EN_MASK (0x10000U) 27386 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_EN_SHIFT (16U) 27387 /*! RX_SRC_EN - RX Sample Rate Converter Enable 27388 * 0b0..SRC is disabled. 27389 * 0b1..SRC is enabled. 27390 */ 27391 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_EN_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_EN_MASK) 27392 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_RATE_MASK (0x20000U) 27393 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_RATE_SHIFT (17U) 27394 /*! RX_SRC_RATE - RX Sample Rate Converter Rate Selections 27395 * 0b0..SRC is configured for a First Order Hold rate of 8/13. 27396 * 0b1..SRC is configured for a Zero Order Hold rate of 12/13. 27397 */ 27398 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_RATE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_RATE_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_RATE_MASK) 27399 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DMA_DTEST_EN_MASK (0x40000U) 27400 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DMA_DTEST_EN_SHIFT (18U) 27401 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DMA_DTEST_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_DMA_DTEST_EN_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_DMA_DTEST_EN_MASK) 27402 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_LP_MASK (0x80000U) 27403 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_LP_SHIFT (19U) 27404 /*! RX_DEC_FILT_LP - RX Decimator Low Power 27405 * 0b0..Decimator operates in normal mode. 27406 * 0b1..Decimator operates in low power mode. 27407 */ 27408 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_LP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_LP_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_LP_MASK) 27409 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_GAIN_MASK (0x1F00000U) 27410 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_GAIN_SHIFT (20U) 27411 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_GAIN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_GAIN_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_GAIN_MASK) 27412 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HZD_CORR_DIS_MASK (0x2000000U) 27413 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HZD_CORR_DIS_SHIFT (25U) 27414 /*! RX_DEC_FILT_HZD_CORR_DIS - Decimator filter hazard correction disable 27415 * 0b0..Hazard correction is enabled 27416 * 0b1..Hazard correction is disabled 27417 */ 27418 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HZD_CORR_DIS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HZD_CORR_DIS_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HZD_CORR_DIS_MASK) 27419 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_LEN_MASK (0x4000000U) 27420 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_LEN_SHIFT (26U) 27421 /*! RX_CH_FILT_LEN - RX Channel Filter Length 27422 * 0b0..Channel filter length is 24. 27423 * 0b1..Channel filter length is 16. Only RX_CHF_COEF_4 - RX_CHF_COEF_11 are used in this mode. 27424 */ 27425 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_LEN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_LEN_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_LEN_MASK) 27426 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_TH_MASK (0x8000000U) 27427 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_TH_SHIFT (27U) 27428 /*! RX_NORM_SUPP_TH - Normalizer Suppression Threshold 27429 * 0b0..Normalizer suppression threshold is 12'd7. 27430 * 0b1..Normalizer suppression threshold is 12'd15. 27431 */ 27432 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_TH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_TH_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_TH_MASK) 27433 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HAZARD_MASK (0x10000000U) 27434 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HAZARD_SHIFT (28U) 27435 /*! RX_DEC_FILT_HAZARD - Decimator output, hazard condition detected 27436 * 0b0..A hazard condition has not been detected 27437 * 0b1..A hazard condition has been detected 27438 */ 27439 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HAZARD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HAZARD_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HAZARD_MASK) 27440 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_FILT_HAZARD_MASK (0x20000000U) 27441 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_FILT_HAZARD_SHIFT (29U) 27442 /*! RX_RSSI_FILT_HAZARD - Decimator output for RSSI, hazard condition detected 27443 * 0b0..A hazard condition has not been detected 27444 * 0b1..A hazard condition has been detected 27445 */ 27446 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_FILT_HAZARD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_FILT_HAZARD_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_FILT_HAZARD_MASK) 27447 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_I_MASK (0x40000000U) 27448 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_I_SHIFT (30U) 27449 /*! RX_DEC_FILT_SAT_I - Decimator output, saturation detected for I channel 27450 * 0b0..A saturation condition has not occurred. 27451 * 0b1..A saturation condition has occurred. 27452 */ 27453 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_I_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_I_MASK) 27454 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_Q_MASK (0x80000000U) 27455 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_Q_SHIFT (31U) 27456 /*! RX_DEC_FILT_SAT_Q - Decimator output, saturation detected for Q channel 27457 * 0b0..A saturation condition has not occurred. 27458 * 0b1..A saturation condition has occurred. 27459 */ 27460 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_Q_SHIFT)) & XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_Q_MASK) 27461 /*! @} */ 27462 27463 /*! @name AGC_CTRL_0 - AGC Control 0 */ 27464 /*! @{ */ 27465 #define XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_EN_MASK (0x1U) 27466 #define XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_EN_SHIFT (0U) 27467 #define XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_EN_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_EN_MASK) 27468 #define XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_SRC_MASK (0x6U) 27469 #define XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_SRC_SHIFT (1U) 27470 /*! SLOW_AGC_SRC - Slow AGC Source Selection 27471 * 0b00..Access Address match (for active protocol) 27472 * 0b01..Preamble Detect (for active protocol) 27473 * 0b10..Fast AGC expire timer 27474 * 0b11..Reserved 27475 */ 27476 #define XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_SRC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_SRC_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_SRC_MASK) 27477 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_EN_MASK (0x8U) 27478 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_EN_SHIFT (3U) 27479 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_EN_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_EN_MASK) 27480 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_SRC_MASK (0x30U) 27481 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_SRC_SHIFT (4U) 27482 /*! AGC_FREEZE_SRC - AGC Freeze Source Selection 27483 * 0b00..Access Address match (for active protocol) 27484 * 0b01..Preamble Detect (for active protocol) 27485 * 0b10..PD confirmation / Access Address match (for active protocol) 27486 */ 27487 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_SRC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_SRC_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_SRC_MASK) 27488 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_EN_MASK (0x40U) 27489 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_EN_SHIFT (6U) 27490 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_EN_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_EN_MASK) 27491 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_SRC_MASK (0x80U) 27492 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_SRC_SHIFT (7U) 27493 /*! AGC_UP_SRC - AGC Up Source 27494 * 0b0..PDET LO 27495 * 0b1..RSSI 27496 */ 27497 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_SRC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_SRC_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_SRC_MASK) 27498 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_BBA_STEP_SZ_MASK (0xF00U) 27499 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_BBA_STEP_SZ_SHIFT (8U) 27500 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_BBA_STEP_SZ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_BBA_STEP_SZ_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_BBA_STEP_SZ_MASK) 27501 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_LNA_STEP_SZ_MASK (0xF000U) 27502 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_LNA_STEP_SZ_SHIFT (12U) 27503 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_LNA_STEP_SZ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_LNA_STEP_SZ_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_LNA_STEP_SZ_MASK) 27504 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_RSSI_THRESH_MASK (0xFF0000U) 27505 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_RSSI_THRESH_SHIFT (16U) 27506 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_RSSI_THRESH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_RSSI_THRESH_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_RSSI_THRESH_MASK) 27507 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_MASK (0xFF000000U) 27508 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_SHIFT (24U) 27509 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_MASK) 27510 /*! @} */ 27511 27512 /*! @name AGC_CTRL_1 - AGC Control 1 */ 27513 /*! @{ */ 27514 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_UP_THRESH_MASK (0xFU) 27515 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_UP_THRESH_SHIFT (0U) 27516 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_UP_THRESH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_UP_THRESH_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_UP_THRESH_MASK) 27517 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_DOWN_THRESH_MASK (0xF0U) 27518 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_DOWN_THRESH_SHIFT (4U) 27519 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_DOWN_THRESH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_DOWN_THRESH_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_DOWN_THRESH_MASK) 27520 #define XCVR_RX_DIG_AGC_CTRL_1_LNA_USER_GAIN_MASK (0xF000U) 27521 #define XCVR_RX_DIG_AGC_CTRL_1_LNA_USER_GAIN_SHIFT (12U) 27522 #define XCVR_RX_DIG_AGC_CTRL_1_LNA_USER_GAIN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_1_LNA_USER_GAIN_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_1_LNA_USER_GAIN_MASK) 27523 #define XCVR_RX_DIG_AGC_CTRL_1_BBA_USER_GAIN_MASK (0xF0000U) 27524 #define XCVR_RX_DIG_AGC_CTRL_1_BBA_USER_GAIN_SHIFT (16U) 27525 #define XCVR_RX_DIG_AGC_CTRL_1_BBA_USER_GAIN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_1_BBA_USER_GAIN_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_1_BBA_USER_GAIN_MASK) 27526 #define XCVR_RX_DIG_AGC_CTRL_1_USER_LNA_GAIN_EN_MASK (0x100000U) 27527 #define XCVR_RX_DIG_AGC_CTRL_1_USER_LNA_GAIN_EN_SHIFT (20U) 27528 #define XCVR_RX_DIG_AGC_CTRL_1_USER_LNA_GAIN_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_1_USER_LNA_GAIN_EN_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_1_USER_LNA_GAIN_EN_MASK) 27529 #define XCVR_RX_DIG_AGC_CTRL_1_USER_BBA_GAIN_EN_MASK (0x200000U) 27530 #define XCVR_RX_DIG_AGC_CTRL_1_USER_BBA_GAIN_EN_SHIFT (21U) 27531 #define XCVR_RX_DIG_AGC_CTRL_1_USER_BBA_GAIN_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_1_USER_BBA_GAIN_EN_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_1_USER_BBA_GAIN_EN_MASK) 27532 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_EN_MASK (0x400000U) 27533 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_EN_SHIFT (22U) 27534 /*! PRESLOW_EN - Pre-slow Enable 27535 * 0b0..Pre-slow is disabled. 27536 * 0b1..Pre-slow is enabled. 27537 */ 27538 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_EN_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_EN_MASK) 27539 #define XCVR_RX_DIG_AGC_CTRL_1_PDET_HI_SEL_HOLD_MASK (0x800000U) 27540 #define XCVR_RX_DIG_AGC_CTRL_1_PDET_HI_SEL_HOLD_SHIFT (23U) 27541 /*! PDET_HI_SEL_HOLD - AGC HOLD hysteresis 27542 * 0b0..Disabled. 27543 * 0b1..Enabled. 27544 */ 27545 #define XCVR_RX_DIG_AGC_CTRL_1_PDET_HI_SEL_HOLD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_1_PDET_HI_SEL_HOLD_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_1_PDET_HI_SEL_HOLD_MASK) 27546 #define XCVR_RX_DIG_AGC_CTRL_1_LNA_GAIN_SETTLE_TIME_MASK (0xFF000000U) 27547 #define XCVR_RX_DIG_AGC_CTRL_1_LNA_GAIN_SETTLE_TIME_SHIFT (24U) 27548 #define XCVR_RX_DIG_AGC_CTRL_1_LNA_GAIN_SETTLE_TIME(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_1_LNA_GAIN_SETTLE_TIME_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_1_LNA_GAIN_SETTLE_TIME_MASK) 27549 /*! @} */ 27550 27551 /*! @name AGC_CTRL_2 - AGC Control 2 */ 27552 /*! @{ */ 27553 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_RST_MASK (0x1U) 27554 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_RST_SHIFT (0U) 27555 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_RST(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_RST_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_RST_MASK) 27556 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_RST_MASK (0x2U) 27557 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_RST_SHIFT (1U) 27558 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_RST(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_RST_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_RST_MASK) 27559 #define XCVR_RX_DIG_AGC_CTRL_2_MAN_PDET_RST_MASK (0x4U) 27560 #define XCVR_RX_DIG_AGC_CTRL_2_MAN_PDET_RST_SHIFT (2U) 27561 /*! MAN_PDET_RST - MAN PDET Reset 27562 * 0b0..The peak detector reset signals are controlled automatically by the AGC. 27563 * 0b1..The BBA_PDET_RST and TZA_PDET_RST are used to manually control the peak detector reset signals. 27564 */ 27565 #define XCVR_RX_DIG_AGC_CTRL_2_MAN_PDET_RST(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_2_MAN_PDET_RST_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_2_MAN_PDET_RST_MASK) 27566 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_GAIN_SETTLE_TIME_MASK (0xFF0U) 27567 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_GAIN_SETTLE_TIME_SHIFT (4U) 27568 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_GAIN_SETTLE_TIME(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_2_BBA_GAIN_SETTLE_TIME_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_2_BBA_GAIN_SETTLE_TIME_MASK) 27569 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_LO_MASK (0x7000U) 27570 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_LO_SHIFT (12U) 27571 /*! BBA_PDET_SEL_LO - BBA PDET Threshold Low 27572 * 0b000..0.600V 27573 * 0b001..0.615V 27574 * 0b010..0.630V 27575 * 0b011..0.645V 27576 * 0b100..0.660V 27577 * 0b101..0.675V 27578 * 0b110..0.690V 27579 * 0b111..0.705V 27580 */ 27581 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_LO_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_LO_MASK) 27582 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_HI_MASK (0x38000U) 27583 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_HI_SHIFT (15U) 27584 /*! BBA_PDET_SEL_HI - BBA PDET Threshold High 27585 * 0b000..0.600V 27586 * 0b001..0.795V 27587 * 0b010..0.900V 27588 * 0b011..0.945V 27589 * 0b100..1.005V 27590 * 0b101..1.050V 27591 * 0b110..1.095V 27592 * 0b111..1.155V 27593 */ 27594 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_HI_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_HI_MASK) 27595 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_LO_MASK (0x1C0000U) 27596 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_LO_SHIFT (18U) 27597 /*! TZA_PDET_SEL_LO - TZA PDET Threshold Low 27598 * 0b000..0.600V 27599 * 0b001..0.615V 27600 * 0b010..0.630V 27601 * 0b011..0.645V 27602 * 0b100..0.660V 27603 * 0b101..0.675V 27604 * 0b110..0.690V 27605 * 0b111..0.705V 27606 */ 27607 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_LO_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_LO_MASK) 27608 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_HI_MASK (0xE00000U) 27609 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_HI_SHIFT (21U) 27610 /*! TZA_PDET_SEL_HI - TZA PDET Threshold High 27611 * 0b000..0.600V 27612 * 0b001..0.645V 27613 * 0b010..0.705V 27614 * 0b011..0.750V 27615 * 0b100..0.795V 27616 * 0b101..0.855V 27617 * 0b110..0.900V 27618 * 0b111..0.945V 27619 */ 27620 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_HI_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_HI_MASK) 27621 #define XCVR_RX_DIG_AGC_CTRL_2_AGC_FAST_EXPIRE_MASK (0x3F000000U) 27622 #define XCVR_RX_DIG_AGC_CTRL_2_AGC_FAST_EXPIRE_SHIFT (24U) 27623 #define XCVR_RX_DIG_AGC_CTRL_2_AGC_FAST_EXPIRE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_2_AGC_FAST_EXPIRE_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_2_AGC_FAST_EXPIRE_MASK) 27624 #define XCVR_RX_DIG_AGC_CTRL_2_LNA_LG_ON_OVR_MASK (0x40000000U) 27625 #define XCVR_RX_DIG_AGC_CTRL_2_LNA_LG_ON_OVR_SHIFT (30U) 27626 #define XCVR_RX_DIG_AGC_CTRL_2_LNA_LG_ON_OVR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_2_LNA_LG_ON_OVR_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_2_LNA_LG_ON_OVR_MASK) 27627 #define XCVR_RX_DIG_AGC_CTRL_2_LNA_HG_ON_OVR_MASK (0x80000000U) 27628 #define XCVR_RX_DIG_AGC_CTRL_2_LNA_HG_ON_OVR_SHIFT (31U) 27629 #define XCVR_RX_DIG_AGC_CTRL_2_LNA_HG_ON_OVR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_2_LNA_HG_ON_OVR_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_2_LNA_HG_ON_OVR_MASK) 27630 /*! @} */ 27631 27632 /*! @name AGC_CTRL_3 - AGC Control 3 */ 27633 /*! @{ */ 27634 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_UNFREEZE_TIME_MASK (0x1FFFU) 27635 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_UNFREEZE_TIME_SHIFT (0U) 27636 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_UNFREEZE_TIME(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_3_AGC_UNFREEZE_TIME_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_3_AGC_UNFREEZE_TIME_MASK) 27637 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_PDET_LO_DLY_MASK (0xE000U) 27638 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_PDET_LO_DLY_SHIFT (13U) 27639 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_PDET_LO_DLY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_3_AGC_PDET_LO_DLY_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_3_AGC_PDET_LO_DLY_MASK) 27640 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_RSSI_DELT_H2S_MASK (0x7F0000U) 27641 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_RSSI_DELT_H2S_SHIFT (16U) 27642 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_RSSI_DELT_H2S(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_3_AGC_RSSI_DELT_H2S_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_3_AGC_RSSI_DELT_H2S_MASK) 27643 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_H2S_STEP_SZ_MASK (0xF800000U) 27644 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_H2S_STEP_SZ_SHIFT (23U) 27645 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_H2S_STEP_SZ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_3_AGC_H2S_STEP_SZ_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_3_AGC_H2S_STEP_SZ_MASK) 27646 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_UP_STEP_SZ_MASK (0xF0000000U) 27647 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_UP_STEP_SZ_SHIFT (28U) 27648 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_UP_STEP_SZ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_CTRL_3_AGC_UP_STEP_SZ_SHIFT)) & XCVR_RX_DIG_AGC_CTRL_3_AGC_UP_STEP_SZ_MASK) 27649 /*! @} */ 27650 27651 /*! @name AGC_STAT - AGC Status */ 27652 /*! @{ */ 27653 #define XCVR_RX_DIG_AGC_STAT_BBA_PDET_LO_STAT_MASK (0x1U) 27654 #define XCVR_RX_DIG_AGC_STAT_BBA_PDET_LO_STAT_SHIFT (0U) 27655 #define XCVR_RX_DIG_AGC_STAT_BBA_PDET_LO_STAT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_STAT_BBA_PDET_LO_STAT_SHIFT)) & XCVR_RX_DIG_AGC_STAT_BBA_PDET_LO_STAT_MASK) 27656 #define XCVR_RX_DIG_AGC_STAT_BBA_PDET_HI_STAT_MASK (0x2U) 27657 #define XCVR_RX_DIG_AGC_STAT_BBA_PDET_HI_STAT_SHIFT (1U) 27658 #define XCVR_RX_DIG_AGC_STAT_BBA_PDET_HI_STAT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_STAT_BBA_PDET_HI_STAT_SHIFT)) & XCVR_RX_DIG_AGC_STAT_BBA_PDET_HI_STAT_MASK) 27659 #define XCVR_RX_DIG_AGC_STAT_TZA_PDET_LO_STAT_MASK (0x4U) 27660 #define XCVR_RX_DIG_AGC_STAT_TZA_PDET_LO_STAT_SHIFT (2U) 27661 #define XCVR_RX_DIG_AGC_STAT_TZA_PDET_LO_STAT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_STAT_TZA_PDET_LO_STAT_SHIFT)) & XCVR_RX_DIG_AGC_STAT_TZA_PDET_LO_STAT_MASK) 27662 #define XCVR_RX_DIG_AGC_STAT_TZA_PDET_HI_STAT_MASK (0x8U) 27663 #define XCVR_RX_DIG_AGC_STAT_TZA_PDET_HI_STAT_SHIFT (3U) 27664 #define XCVR_RX_DIG_AGC_STAT_TZA_PDET_HI_STAT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_STAT_TZA_PDET_HI_STAT_SHIFT)) & XCVR_RX_DIG_AGC_STAT_TZA_PDET_HI_STAT_MASK) 27665 #define XCVR_RX_DIG_AGC_STAT_CURR_AGC_IDX_MASK (0x1F0U) 27666 #define XCVR_RX_DIG_AGC_STAT_CURR_AGC_IDX_SHIFT (4U) 27667 #define XCVR_RX_DIG_AGC_STAT_CURR_AGC_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_STAT_CURR_AGC_IDX_SHIFT)) & XCVR_RX_DIG_AGC_STAT_CURR_AGC_IDX_MASK) 27668 #define XCVR_RX_DIG_AGC_STAT_AGC_FROZEN_MASK (0x200U) 27669 #define XCVR_RX_DIG_AGC_STAT_AGC_FROZEN_SHIFT (9U) 27670 /*! AGC_FROZEN - AGC Frozen Status 27671 * 0b0..AGC is not frozen. 27672 * 0b1..AGC is frozen. 27673 */ 27674 #define XCVR_RX_DIG_AGC_STAT_AGC_FROZEN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_STAT_AGC_FROZEN_SHIFT)) & XCVR_RX_DIG_AGC_STAT_AGC_FROZEN_MASK) 27675 #define XCVR_RX_DIG_AGC_STAT_AGC_IDX_AA_MATCH_MASK (0x7C00U) 27676 #define XCVR_RX_DIG_AGC_STAT_AGC_IDX_AA_MATCH_SHIFT (10U) 27677 #define XCVR_RX_DIG_AGC_STAT_AGC_IDX_AA_MATCH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_STAT_AGC_IDX_AA_MATCH_SHIFT)) & XCVR_RX_DIG_AGC_STAT_AGC_IDX_AA_MATCH_MASK) 27678 #define XCVR_RX_DIG_AGC_STAT_RSSI_ADC_RAW_MASK (0xFF0000U) 27679 #define XCVR_RX_DIG_AGC_STAT_RSSI_ADC_RAW_SHIFT (16U) 27680 #define XCVR_RX_DIG_AGC_STAT_RSSI_ADC_RAW(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_STAT_RSSI_ADC_RAW_SHIFT)) & XCVR_RX_DIG_AGC_STAT_RSSI_ADC_RAW_MASK) 27681 /*! @} */ 27682 27683 /*! @name RSSI_CTRL_0 - RSSI Control 0 */ 27684 /*! @{ */ 27685 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_USE_VALS_MASK (0x1U) 27686 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_USE_VALS_SHIFT (0U) 27687 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_USE_VALS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RSSI_CTRL_0_RSSI_USE_VALS_SHIFT)) & XCVR_RX_DIG_RSSI_CTRL_0_RSSI_USE_VALS_MASK) 27688 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_SRC_MASK (0x6U) 27689 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_SRC_SHIFT (1U) 27690 /*! RSSI_HOLD_SRC - RSSI Hold Source Selection 27691 * 0b00..Access Address match 27692 * 0b01..Preamble Detect 27693 * 0b10..Reserved 27694 * 0b11..802.15.4 LQI done (1=freeze, 0=run AGC) 27695 */ 27696 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_SRC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_SRC_SHIFT)) & XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_SRC_MASK) 27697 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_EN_MASK (0x8U) 27698 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_EN_SHIFT (3U) 27699 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_EN_SHIFT)) & XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_EN_MASK) 27700 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_MASK (0x60U) 27701 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_SHIFT (5U) 27702 /*! RSSI_IIR_CW_WEIGHT - RSSI IIR CW Weighting 27703 * 0b00..Bypass 27704 * 0b01..1/8 27705 * 0b10..1/16 27706 * 0b11..1/32 27707 */ 27708 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_SHIFT)) & XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_MASK) 27709 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_N_WINDOW_NB_MASK (0x380U) 27710 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_N_WINDOW_NB_SHIFT (7U) 27711 /*! RSSI_N_WINDOW_NB - RSSI N Window Average Narrowband 27712 * 0b000..No averaging 27713 * 0b001..Averaging window length is 2 samples 27714 * 0b010..Averaging window length is 4 samples 27715 * 0b011..Averaging window length is 8 samples 27716 * 0b100..Averaging window length is 16 samples 27717 * 0b101..Averaging window length is 32 samples 27718 */ 27719 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_N_WINDOW_NB(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RSSI_CTRL_0_RSSI_N_WINDOW_NB_SHIFT)) & XCVR_RX_DIG_RSSI_CTRL_0_RSSI_N_WINDOW_NB_MASK) 27720 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_DELAY_MASK (0xFC00U) 27721 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_DELAY_SHIFT (10U) 27722 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_DELAY_SHIFT)) & XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_DELAY_MASK) 27723 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_WT_NB_MASK (0x70000U) 27724 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_WT_NB_SHIFT (16U) 27725 /*! RSSI_IIR_WT_NB - RSSI IIR Weighting Narrowband 27726 * 0b000..Bypass 27727 * 0b001..1/2 27728 * 0b010..1/4 27729 * 0b011..1/8 27730 * 0b100..1/16 27731 * 0b101..1/32 27732 */ 27733 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_WT_NB(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_WT_NB_SHIFT)) & XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_WT_NB_MASK) 27734 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_VLD_SETTLE_MASK (0x700000U) 27735 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_VLD_SETTLE_SHIFT (20U) 27736 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_VLD_SETTLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RSSI_CTRL_0_RSSI_VLD_SETTLE_SHIFT)) & XCVR_RX_DIG_RSSI_CTRL_0_RSSI_VLD_SETTLE_MASK) 27737 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_ADJ_MASK (0xFF000000U) 27738 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_ADJ_SHIFT (24U) 27739 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_ADJ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RSSI_CTRL_0_RSSI_ADJ_SHIFT)) & XCVR_RX_DIG_RSSI_CTRL_0_RSSI_ADJ_MASK) 27740 /*! @} */ 27741 27742 /*! @name RSSI_CTRL_1 - RSSI Control 1 */ 27743 /*! @{ */ 27744 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_N_WINDOW_WB_MASK (0x7U) 27745 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_N_WINDOW_WB_SHIFT (0U) 27746 /*! RSSI_N_WINDOW_WB - RSSI N Window Average Wideband 27747 * 0b000..No averaging 27748 * 0b001..Averaging window length is 2 samples 27749 * 0b010..Averaging window length is 4 samples 27750 * 0b011..Averaging window length is 8 samples 27751 * 0b100..Averaging window length is 16 samples 27752 * 0b101..Averaging window length is 32 samples 27753 */ 27754 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_N_WINDOW_WB(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RSSI_CTRL_1_RSSI_N_WINDOW_WB_SHIFT)) & XCVR_RX_DIG_RSSI_CTRL_1_RSSI_N_WINDOW_WB_MASK) 27755 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_IIR_WT_WB_MASK (0x70U) 27756 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_IIR_WT_WB_SHIFT (4U) 27757 /*! RSSI_IIR_WT_WB - RSSI IIR Weighting Wideband 27758 * 0b000..Bypass 27759 * 0b001..1/2 27760 * 0b010..1/4 27761 * 0b011..1/8 27762 * 0b100..1/16 27763 * 0b101..1/32 27764 */ 27765 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_IIR_WT_WB(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RSSI_CTRL_1_RSSI_IIR_WT_WB_SHIFT)) & XCVR_RX_DIG_RSSI_CTRL_1_RSSI_IIR_WT_WB_MASK) 27766 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_OUT_MASK (0xFF000000U) 27767 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_OUT_SHIFT (24U) 27768 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_OUT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RSSI_CTRL_1_RSSI_OUT_SHIFT)) & XCVR_RX_DIG_RSSI_CTRL_1_RSSI_OUT_MASK) 27769 /*! @} */ 27770 27771 /*! @name DCOC_CTRL_0 - DCOC Control 0 */ 27772 /*! @{ */ 27773 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MIDPWR_TRK_DIS_MASK (0x1U) 27774 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MIDPWR_TRK_DIS_SHIFT (0U) 27775 /*! DCOC_MIDPWR_TRK_DIS - DCOC Mid Power Tracking Disable 27776 * 0b0..Tracking corrections are enabled as determined by DCOC_CORRECT_SRC and DCOC_TRK_MIN_AGC_IDX. 27777 * 0b1..Tracking corrections are disabled when either the TZA or BBA lo peak detector asserts. 27778 */ 27779 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MIDPWR_TRK_DIS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MIDPWR_TRK_DIS_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MIDPWR_TRK_DIS_MASK) 27780 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MAN_MASK (0x2U) 27781 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MAN_SHIFT (1U) 27782 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MAN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MAN_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MAN_MASK) 27783 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_TRK_EST_OVR_MASK (0x4U) 27784 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_TRK_EST_OVR_SHIFT (2U) 27785 /*! DCOC_TRK_EST_OVR - Override for the DCOC tracking estimator 27786 * 0b0..The tracking estimator is enabled only as needed by the corrector 27787 * 0b1..The tracking estimator remains enabled whenever the DCOC is active 27788 */ 27789 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_TRK_EST_OVR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_0_DCOC_TRK_EST_OVR_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_0_DCOC_TRK_EST_OVR_MASK) 27790 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_SRC_MASK (0x8U) 27791 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_SRC_SHIFT (3U) 27792 /*! DCOC_CORRECT_SRC - DCOC Corrector Source 27793 * 0b0..If correction is enabled, the DCOC will use only the DCOC calibration table to correct the DC offset. 27794 * 0b1..If correction is enabled, the DCOC will use the DCOC calibration table and then the tracking estimator to correct the DC offset. 27795 */ 27796 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_SRC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_SRC_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_SRC_MASK) 27797 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_EN_MASK (0x10U) 27798 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_EN_SHIFT (4U) 27799 /*! DCOC_CORRECT_EN - DCOC Correction Enable 27800 * 0b0..Correction disabled. The DCOC will not correct the DC offset. 27801 * 0b1..Correction enabled. The DCOC will use the TZA and BBA DACs, and apply digital corrections (if DCOC_CORRECT_SRC=1) to correct the DC offset. 27802 */ 27803 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_EN_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_EN_MASK) 27804 #define XCVR_RX_DIG_DCOC_CTRL_0_TRACK_FROM_ZERO_MASK (0x20U) 27805 #define XCVR_RX_DIG_DCOC_CTRL_0_TRACK_FROM_ZERO_SHIFT (5U) 27806 /*! TRACK_FROM_ZERO - Track from Zero 27807 * 0b0..Track from current I/Q sample. 27808 * 0b1..Track from zero. 27809 */ 27810 #define XCVR_RX_DIG_DCOC_CTRL_0_TRACK_FROM_ZERO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_0_TRACK_FROM_ZERO_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_0_TRACK_FROM_ZERO_MASK) 27811 #define XCVR_RX_DIG_DCOC_CTRL_0_BBA_CORR_POL_MASK (0x40U) 27812 #define XCVR_RX_DIG_DCOC_CTRL_0_BBA_CORR_POL_SHIFT (6U) 27813 /*! BBA_CORR_POL - BBA Correction Polarity 27814 * 0b0..Normal polarity. 27815 * 0b1..Negative polarity. This should be set if the ADC output is inverted, or if the BBA DACs were implemented with negative polarity. 27816 */ 27817 #define XCVR_RX_DIG_DCOC_CTRL_0_BBA_CORR_POL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_0_BBA_CORR_POL_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_0_BBA_CORR_POL_MASK) 27818 #define XCVR_RX_DIG_DCOC_CTRL_0_TZA_CORR_POL_MASK (0x80U) 27819 #define XCVR_RX_DIG_DCOC_CTRL_0_TZA_CORR_POL_SHIFT (7U) 27820 /*! TZA_CORR_POL - TZA Correction Polarity 27821 * 0b0..Normal polarity. 27822 * 0b1..Negative polarity. This should be set if the ADC output is inverted, or if the TZA DACs were implemented with negative polarity. 27823 */ 27824 #define XCVR_RX_DIG_DCOC_CTRL_0_TZA_CORR_POL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_0_TZA_CORR_POL_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_0_TZA_CORR_POL_MASK) 27825 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_DURATION_MASK (0x1F00U) 27826 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_DURATION_SHIFT (8U) 27827 /*! DCOC_CAL_DURATION - DCOC Calibration Duration 27828 * 0b00000..Reserved 27829 * 0b00001-0b11111..For a 32MHz reference clock, this is the calibration duration in microseconds; for other reference clock frequencies, the delay is scaled accordingly. 27830 */ 27831 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_DURATION(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_DURATION_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_DURATION_MASK) 27832 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_CHECK_EN_MASK (0x8000U) 27833 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_CHECK_EN_SHIFT (15U) 27834 /*! DCOC_CAL_CHECK_EN - DCOC Calibration Check Enable 27835 * 0b0..Calibration checking disabled. The DCOC_OFFSET_n registers are always updated during calibration. 27836 * 0b1..Calibration checking enabled. The DCOC_OFFSET_n registers are updated conditionally depending on the outcome of the pass/fail threshold checks performed on the alpha-hat and beta-hat estimates during calibration. 27837 */ 27838 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_CHECK_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_CHECK_EN_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_CHECK_EN_MASK) 27839 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_DLY_MASK (0x1F0000U) 27840 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_DLY_SHIFT (16U) 27841 /*! DCOC_CORR_DLY - DCOC Correction Delay 27842 * 0b00000..Reserved 27843 * 0b00001-0b11111..For a 32MHz reference clock, this is the wait time in microseconds; for other reference clock frequencies, the delay is scaled accordingly. 27844 */ 27845 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_DLY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_DLY_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_DLY_MASK) 27846 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_MASK (0x7F000000U) 27847 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_SHIFT (24U) 27848 /*! DCOC_CORR_HOLD_TIME - DCOC Correction Hold Time 27849 * 0b0000000..Reserved 27850 * 0b0000001-0b1111110..For a 32MHz reference clock, this is the delay in microseconds; for other reference clock frequencies, the delay is scaled accordingly. 27851 * 0b1111111..The DC correction is not frozen. 27852 */ 27853 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_MASK) 27854 /*! @} */ 27855 27856 /*! @name DCOC_CTRL_1 - DCOC Control 1 */ 27857 /*! @{ */ 27858 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_IDX_MASK (0x3U) 27859 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_IDX_SHIFT (0U) 27860 /*! DCOC_SIGN_SCALE_IDX - DCOC Sign Scaling 27861 * 0b00..1/8 27862 * 0b01..1/16 27863 * 0b10..1/32 27864 * 0b11..1/64 27865 */ 27866 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_IDX_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_IDX_MASK) 27867 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_IDX_MASK (0x1CU) 27868 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_IDX_SHIFT (2U) 27869 /*! DCOC_ALPHAC_SCALE_IDX - DCOC Alpha-C Scaling 27870 * 0b000..1/2 27871 * 0b001..1/4 27872 * 0b010..1/8 27873 * 0b011..1/16 27874 * 0b100..1/32 27875 * 0b101..1/64 27876 * 0b110..Reserved 27877 * 0b111..Reserved 27878 */ 27879 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_IDX_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_IDX_MASK) 27880 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_IDX_MASK (0xE0U) 27881 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_IDX_SHIFT (5U) 27882 /*! DCOC_ALPHA_RADIUS_IDX - Alpha-R Scaling 27883 * 0b000..1 27884 * 0b001..1/2 27885 * 0b010..1/4 27886 * 0b011..1/8 27887 * 0b100..1/16 27888 * 0b101..1/32 27889 * 0b110..1/64 27890 * 0b111..Reserved 27891 */ 27892 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_IDX_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_IDX_MASK) 27893 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_EST_GS_CNT_MASK (0x7000U) 27894 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_EST_GS_CNT_SHIFT (12U) 27895 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_EST_GS_CNT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_EST_GS_CNT_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_EST_GS_CNT_MASK) 27896 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_GS_IDX_MASK (0x30000U) 27897 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_GS_IDX_SHIFT (16U) 27898 /*! DCOC_SIGN_SCALE_GS_IDX - DCOC Sign Scaling for Gearshift 27899 * 0b00..1/8 27900 * 0b01..1/16 27901 * 0b10..1/32 27902 * 0b11..1/64 27903 */ 27904 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_GS_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_GS_IDX_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_GS_IDX_MASK) 27905 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_GS_IDX_MASK (0x1C0000U) 27906 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_GS_IDX_SHIFT (18U) 27907 /*! DCOC_ALPHAC_SCALE_GS_IDX - DCOC Alpha-C Scaling for Gearshift 27908 * 0b000..1/2 27909 * 0b001..1/4 27910 * 0b010..1/8 27911 * 0b011..1/16 27912 * 0b100..1/32 27913 * 0b101..1/64 27914 * 0b110..Reserved 27915 * 0b111..Reserved 27916 */ 27917 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_GS_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_GS_IDX_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_GS_IDX_MASK) 27918 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_GS_IDX_MASK (0xE00000U) 27919 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_GS_IDX_SHIFT (21U) 27920 /*! DCOC_ALPHA_RADIUS_GS_IDX - Alpha-R Scaling for Gearshift 27921 * 0b000..1 27922 * 0b001..1/2 27923 * 0b010..1/4 27924 * 0b011..1/8 27925 * 0b100..1/16 27926 * 0b101..1/32 27927 * 0b110..1/64 27928 * 0b111..Reserved 27929 */ 27930 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_GS_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_GS_IDX_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_GS_IDX_MASK) 27931 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX_MASK (0x1F000000U) 27932 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX_SHIFT (24U) 27933 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX_MASK) 27934 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX_CFG_MASK (0x80000000U) 27935 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX_CFG_SHIFT (31U) 27936 /*! DCOC_TRK_MIN_AGC_IDX_CFG - DCOC_TRK_MIN_AGC_IDX Configuration 27937 * 0b0..Tracking is disabled when the AGC index is less than DCOC_TRK_MIN_AGC_IDX 27938 * 0b1..Tracking is enabled when AGC index is less than DCOC_TRK_MIN_AGC_IDX, but DCOC_CORR_DLY_ALT and DCOC_CORR_HOLD_TIME_ALT are used instead of DCOC_CORR_DLY and DCOC_CORR_HOLD_TIME 27939 */ 27940 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX_CFG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX_CFG_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX_CFG_MASK) 27941 /*! @} */ 27942 27943 /*! @name DCOC_DAC_INIT - DCOC DAC Initialization */ 27944 /*! @{ */ 27945 #define XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_I_MASK (0x3FU) 27946 #define XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_I_SHIFT (0U) 27947 #define XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_I_SHIFT)) & XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_I_MASK) 27948 #define XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_Q_MASK (0x3F00U) 27949 #define XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_Q_SHIFT (8U) 27950 #define XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_Q_SHIFT)) & XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_Q_MASK) 27951 #define XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_I_MASK (0xFF0000U) 27952 #define XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_I_SHIFT (16U) 27953 #define XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_I_SHIFT)) & XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_I_MASK) 27954 #define XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_Q_MASK (0xFF000000U) 27955 #define XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_Q_SHIFT (24U) 27956 #define XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_Q_SHIFT)) & XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_Q_MASK) 27957 /*! @} */ 27958 27959 /*! @name DCOC_DIG_MAN - DCOC Digital Correction Manual Override */ 27960 /*! @{ */ 27961 #define XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_I_MASK (0xFFFU) 27962 #define XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_I_SHIFT (0U) 27963 #define XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_I_SHIFT)) & XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_I_MASK) 27964 #define XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_Q_MASK (0xFFF0000U) 27965 #define XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_Q_SHIFT (16U) 27966 #define XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_Q_SHIFT)) & XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_Q_MASK) 27967 /*! @} */ 27968 27969 /*! @name DCOC_CAL_GAIN - DCOC Calibration Gain */ 27970 /*! @{ */ 27971 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN1_MASK (0xF00U) 27972 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN1_SHIFT (8U) 27973 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN1_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN1_MASK) 27974 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN1_MASK (0xF000U) 27975 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN1_SHIFT (12U) 27976 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN1_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN1_MASK) 27977 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN2_MASK (0xF0000U) 27978 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN2_SHIFT (16U) 27979 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN2_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN2_MASK) 27980 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN2_MASK (0xF00000U) 27981 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN2_SHIFT (20U) 27982 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN2_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN2_MASK) 27983 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN3_MASK (0xF000000U) 27984 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN3_SHIFT (24U) 27985 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN3_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN3_MASK) 27986 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN3_MASK (0xF0000000U) 27987 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN3_SHIFT (28U) 27988 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN3_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN3_MASK) 27989 /*! @} */ 27990 27991 /*! @name DCOC_STAT - DCOC Status */ 27992 /*! @{ */ 27993 #define XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_I_MASK (0x3FU) 27994 #define XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_I_SHIFT (0U) 27995 #define XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_I_SHIFT)) & XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_I_MASK) 27996 #define XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_GTWSR_MASK (0x80U) 27997 #define XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_GTWSR_SHIFT (7U) 27998 /*! DCOC_CAL_GTWSR - DCOC calibration Good Table Written Since Reset 27999 * 0b0..A Passing calibration result has not occurred since the last radio reset. 28000 * 0b1..A Passing calibration result has occurred since the last radio reset. 28001 */ 28002 #define XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_GTWSR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_GTWSR_SHIFT)) & XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_GTWSR_MASK) 28003 #define XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_Q_MASK (0x3F00U) 28004 #define XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_Q_SHIFT (8U) 28005 #define XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_Q_SHIFT)) & XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_Q_MASK) 28006 #define XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_RESULT_MASK (0xC000U) 28007 #define XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_RESULT_SHIFT (14U) 28008 /*! DCOC_CAL_RESULT - DCOC_CAL_RESULT 28009 * 0b00..Calibration checks failed. DCOC_OFFSET_n tables not updated. 28010 * 0b01..Calibration checks neither passed nor failed, DCOC_OFFSET_n tables not updated. 28011 * 0b10..Calibration checks neither passed nor failed, DCOC_OFFSET_n tables updated since no previous Pass condition has occurred since the last radio reset. 28012 * 0b11..Calibration checks passed. DCOC_OFFSET_n tables updated 28013 */ 28014 #define XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_RESULT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_RESULT_SHIFT)) & XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_RESULT_MASK) 28015 #define XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_I_MASK (0xFF0000U) 28016 #define XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_I_SHIFT (16U) 28017 #define XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_I_SHIFT)) & XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_I_MASK) 28018 #define XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_Q_MASK (0xFF000000U) 28019 #define XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_Q_SHIFT (24U) 28020 #define XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_Q_SHIFT)) & XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_Q_MASK) 28021 /*! @} */ 28022 28023 /*! @name DCOC_DC_EST - DCOC DC Estimate */ 28024 /*! @{ */ 28025 #define XCVR_RX_DIG_DCOC_DC_EST_DC_EST_I_MASK (0xFFFU) 28026 #define XCVR_RX_DIG_DCOC_DC_EST_DC_EST_I_SHIFT (0U) 28027 #define XCVR_RX_DIG_DCOC_DC_EST_DC_EST_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_DC_EST_DC_EST_I_SHIFT)) & XCVR_RX_DIG_DCOC_DC_EST_DC_EST_I_MASK) 28028 #define XCVR_RX_DIG_DCOC_DC_EST_DC_EST_Q_MASK (0xFFF0000U) 28029 #define XCVR_RX_DIG_DCOC_DC_EST_DC_EST_Q_SHIFT (16U) 28030 #define XCVR_RX_DIG_DCOC_DC_EST_DC_EST_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_DC_EST_DC_EST_Q_SHIFT)) & XCVR_RX_DIG_DCOC_DC_EST_DC_EST_Q_MASK) 28031 /*! @} */ 28032 28033 /*! @name DCOC_CAL_RCP - DCOC Calibration Reciprocals */ 28034 /*! @{ */ 28035 #define XCVR_RX_DIG_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_MASK (0x7FFU) 28036 #define XCVR_RX_DIG_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_SHIFT (0U) 28037 #define XCVR_RX_DIG_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_MASK) 28038 #define XCVR_RX_DIG_DCOC_CAL_RCP_ALPHA_CALC_RECIP_MASK (0x7FF0000U) 28039 #define XCVR_RX_DIG_DCOC_CAL_RCP_ALPHA_CALC_RECIP_SHIFT (16U) 28040 #define XCVR_RX_DIG_DCOC_CAL_RCP_ALPHA_CALC_RECIP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_RCP_ALPHA_CALC_RECIP_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_RCP_ALPHA_CALC_RECIP_MASK) 28041 /*! @} */ 28042 28043 /*! @name DCOC_CTRL_2 - DCOC Control 2 */ 28044 /*! @{ */ 28045 #define XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_DLY_ALT_MASK (0x1F0000U) 28046 #define XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_DLY_ALT_SHIFT (16U) 28047 /*! DCOC_CORR_DLY_ALT - DCOC Correction Delay Alternate 28048 * 0b00000..Reserved 28049 * 0b00001-0b11111..For a 32MHz reference clock, this is the wait time in microseconds; for other reference clock frequencies, the delay is scaled accordingly. 28050 */ 28051 #define XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_DLY_ALT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_DLY_ALT_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_DLY_ALT_MASK) 28052 #define XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_HOLD_TIME_ALT_MASK (0x7F000000U) 28053 #define XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_HOLD_TIME_ALT_SHIFT (24U) 28054 /*! DCOC_CORR_HOLD_TIME_ALT - DCOC Correction Hold Time Alternate 28055 * 0b0000000..Reserved 28056 * 0b0000001-0b1111110..For a 32MHz reference clock, this is the delay in microseconds; for other reference clock frequencies, the delay is scaled accordingly. 28057 * 0b1111111..The DC correction is not frozen. 28058 */ 28059 #define XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_HOLD_TIME_ALT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_HOLD_TIME_ALT_SHIFT)) & XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_HOLD_TIME_ALT_MASK) 28060 /*! @} */ 28061 28062 /*! @name IQMC_CTRL - IQMC Control */ 28063 /*! @{ */ 28064 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_CAL_EN_MASK (0x1U) 28065 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_CAL_EN_SHIFT (0U) 28066 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_CAL_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_IQMC_CTRL_IQMC_CAL_EN_SHIFT)) & XCVR_RX_DIG_IQMC_CTRL_IQMC_CAL_EN_MASK) 28067 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_NUM_ITER_MASK (0xFF00U) 28068 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_NUM_ITER_SHIFT (8U) 28069 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_NUM_ITER(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_IQMC_CTRL_IQMC_NUM_ITER_SHIFT)) & XCVR_RX_DIG_IQMC_CTRL_IQMC_NUM_ITER_MASK) 28070 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_DC_GAIN_ADJ_MASK (0x7FF0000U) 28071 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_DC_GAIN_ADJ_SHIFT (16U) 28072 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_DC_GAIN_ADJ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_IQMC_CTRL_IQMC_DC_GAIN_ADJ_SHIFT)) & XCVR_RX_DIG_IQMC_CTRL_IQMC_DC_GAIN_ADJ_MASK) 28073 /*! @} */ 28074 28075 /*! @name IQMC_CAL - IQMC Calibration */ 28076 /*! @{ */ 28077 #define XCVR_RX_DIG_IQMC_CAL_IQMC_GAIN_ADJ_MASK (0x7FFU) 28078 #define XCVR_RX_DIG_IQMC_CAL_IQMC_GAIN_ADJ_SHIFT (0U) 28079 #define XCVR_RX_DIG_IQMC_CAL_IQMC_GAIN_ADJ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_IQMC_CAL_IQMC_GAIN_ADJ_SHIFT)) & XCVR_RX_DIG_IQMC_CAL_IQMC_GAIN_ADJ_MASK) 28080 #define XCVR_RX_DIG_IQMC_CAL_IQMC_PHASE_ADJ_MASK (0xFFF0000U) 28081 #define XCVR_RX_DIG_IQMC_CAL_IQMC_PHASE_ADJ_SHIFT (16U) 28082 #define XCVR_RX_DIG_IQMC_CAL_IQMC_PHASE_ADJ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_IQMC_CAL_IQMC_PHASE_ADJ_SHIFT)) & XCVR_RX_DIG_IQMC_CAL_IQMC_PHASE_ADJ_MASK) 28083 /*! @} */ 28084 28085 /*! @name LNA_GAIN_VAL_3_0 - LNA_GAIN Step Values 3..0 */ 28086 /*! @{ */ 28087 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_0_MASK (0xFFU) 28088 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_0_SHIFT (0U) 28089 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_0_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_0_MASK) 28090 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_1_MASK (0xFF00U) 28091 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_1_SHIFT (8U) 28092 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_1_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_1_MASK) 28093 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_2_MASK (0xFF0000U) 28094 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_2_SHIFT (16U) 28095 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_2_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_2_MASK) 28096 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_3_MASK (0xFF000000U) 28097 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_3_SHIFT (24U) 28098 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_3_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_3_MASK) 28099 /*! @} */ 28100 28101 /*! @name LNA_GAIN_VAL_7_4 - LNA_GAIN Step Values 7..4 */ 28102 /*! @{ */ 28103 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_4_MASK (0xFFU) 28104 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_4_SHIFT (0U) 28105 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_4(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_4_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_4_MASK) 28106 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_5_MASK (0xFF00U) 28107 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_5_SHIFT (8U) 28108 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_5(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_5_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_5_MASK) 28109 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_6_MASK (0xFF0000U) 28110 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_6_SHIFT (16U) 28111 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_6(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_6_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_6_MASK) 28112 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_7_MASK (0xFF000000U) 28113 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_7_SHIFT (24U) 28114 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_7(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_7_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_7_MASK) 28115 /*! @} */ 28116 28117 /*! @name LNA_GAIN_VAL_8 - LNA_GAIN Step Values 8 */ 28118 /*! @{ */ 28119 #define XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_8_MASK (0xFFU) 28120 #define XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_8_SHIFT (0U) 28121 #define XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_8(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_8_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_8_MASK) 28122 #define XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_9_MASK (0xFF00U) 28123 #define XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_9_SHIFT (8U) 28124 #define XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_9(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_9_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_9_MASK) 28125 /*! @} */ 28126 28127 /*! @name BBA_RES_TUNE_VAL_7_0 - BBA Resistor Tune Values 7..0 */ 28128 /*! @{ */ 28129 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_0_MASK (0xFU) 28130 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_0_SHIFT (0U) 28131 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_0_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_0_MASK) 28132 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_1_MASK (0xF0U) 28133 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_1_SHIFT (4U) 28134 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_1_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_1_MASK) 28135 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_2_MASK (0xF00U) 28136 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_2_SHIFT (8U) 28137 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_2_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_2_MASK) 28138 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_3_MASK (0xF000U) 28139 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_3_SHIFT (12U) 28140 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_3_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_3_MASK) 28141 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_4_MASK (0xF0000U) 28142 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_4_SHIFT (16U) 28143 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_4(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_4_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_4_MASK) 28144 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_5_MASK (0xF00000U) 28145 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_5_SHIFT (20U) 28146 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_5(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_5_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_5_MASK) 28147 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_6_MASK (0xF000000U) 28148 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_6_SHIFT (24U) 28149 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_6(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_6_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_6_MASK) 28150 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_7_MASK (0xF0000000U) 28151 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_7_SHIFT (28U) 28152 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_7(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_7_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_7_MASK) 28153 /*! @} */ 28154 28155 /*! @name BBA_RES_TUNE_VAL_10_8 - BBA Resistor Tune Values 10..8 */ 28156 /*! @{ */ 28157 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_8_MASK (0xFU) 28158 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_8_SHIFT (0U) 28159 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_8(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_8_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_8_MASK) 28160 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_9_MASK (0xF0U) 28161 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_9_SHIFT (4U) 28162 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_9(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_9_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_9_MASK) 28163 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_10_MASK (0xF00U) 28164 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_10_SHIFT (8U) 28165 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_10(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_10_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_10_MASK) 28166 /*! @} */ 28167 28168 /*! @name LNA_GAIN_LIN_VAL_2_0 - LNA Linear Gain Values 2..0 */ 28169 /*! @{ */ 28170 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_0_MASK (0x3FFU) 28171 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_0_SHIFT (0U) 28172 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_0_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_0_MASK) 28173 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_1_MASK (0xFFC00U) 28174 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_1_SHIFT (10U) 28175 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_1_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_1_MASK) 28176 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_2_MASK (0x3FF00000U) 28177 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_2_SHIFT (20U) 28178 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_2_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_2_MASK) 28179 /*! @} */ 28180 28181 /*! @name LNA_GAIN_LIN_VAL_5_3 - LNA Linear Gain Values 5..3 */ 28182 /*! @{ */ 28183 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_3_MASK (0x3FFU) 28184 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_3_SHIFT (0U) 28185 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_3_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_3_MASK) 28186 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_4_MASK (0xFFC00U) 28187 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_4_SHIFT (10U) 28188 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_4(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_4_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_4_MASK) 28189 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_5_MASK (0x3FF00000U) 28190 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_5_SHIFT (20U) 28191 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_5(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_5_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_5_MASK) 28192 /*! @} */ 28193 28194 /*! @name LNA_GAIN_LIN_VAL_8_6 - LNA Linear Gain Values 8..6 */ 28195 /*! @{ */ 28196 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_6_MASK (0x3FFU) 28197 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_6_SHIFT (0U) 28198 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_6(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_6_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_6_MASK) 28199 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_7_MASK (0xFFC00U) 28200 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_7_SHIFT (10U) 28201 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_7(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_7_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_7_MASK) 28202 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_8_MASK (0x3FF00000U) 28203 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_8_SHIFT (20U) 28204 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_8(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_8_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_8_MASK) 28205 /*! @} */ 28206 28207 /*! @name LNA_GAIN_LIN_VAL_9 - LNA Linear Gain Values 9 */ 28208 /*! @{ */ 28209 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_9_LNA_GAIN_LIN_VAL_9_MASK (0x3FFU) 28210 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_9_LNA_GAIN_LIN_VAL_9_SHIFT (0U) 28211 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_9_LNA_GAIN_LIN_VAL_9(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_LNA_GAIN_LIN_VAL_9_LNA_GAIN_LIN_VAL_9_SHIFT)) & XCVR_RX_DIG_LNA_GAIN_LIN_VAL_9_LNA_GAIN_LIN_VAL_9_MASK) 28212 /*! @} */ 28213 28214 /*! @name BBA_RES_TUNE_LIN_VAL_3_0 - BBA Resistor Tune Values 3..0 */ 28215 /*! @{ */ 28216 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_0_MASK (0xFFU) 28217 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_0_SHIFT (0U) 28218 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_0_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_0_MASK) 28219 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_1_MASK (0xFF00U) 28220 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_1_SHIFT (8U) 28221 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_1_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_1_MASK) 28222 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_2_MASK (0xFF0000U) 28223 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_2_SHIFT (16U) 28224 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_2_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_2_MASK) 28225 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_3_MASK (0xFF000000U) 28226 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_3_SHIFT (24U) 28227 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_3_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_3_MASK) 28228 /*! @} */ 28229 28230 /*! @name BBA_RES_TUNE_LIN_VAL_7_4 - BBA Resistor Tune Values 7..4 */ 28231 /*! @{ */ 28232 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_4_MASK (0xFFU) 28233 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_4_SHIFT (0U) 28234 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_4(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_4_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_4_MASK) 28235 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_5_MASK (0xFF00U) 28236 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_5_SHIFT (8U) 28237 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_5(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_5_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_5_MASK) 28238 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_6_MASK (0xFF0000U) 28239 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_6_SHIFT (16U) 28240 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_6(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_6_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_6_MASK) 28241 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_7_MASK (0xFF000000U) 28242 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_7_SHIFT (24U) 28243 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_7(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_7_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_7_MASK) 28244 /*! @} */ 28245 28246 /*! @name BBA_RES_TUNE_LIN_VAL_10_8 - BBA Resistor Tune Values 10..8 */ 28247 /*! @{ */ 28248 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_8_MASK (0x3FFU) 28249 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_8_SHIFT (0U) 28250 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_8(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_8_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_8_MASK) 28251 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_9_MASK (0xFFC00U) 28252 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_9_SHIFT (10U) 28253 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_9(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_9_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_9_MASK) 28254 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_10_MASK (0x3FF00000U) 28255 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_10_SHIFT (20U) 28256 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_10(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_10_SHIFT)) & XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_10_MASK) 28257 /*! @} */ 28258 28259 /*! @name AGC_GAIN_TBL_03_00 - AGC Gain Tables Step 03..00 */ 28260 /*! @{ */ 28261 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_00_MASK (0xFU) 28262 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_00_SHIFT (0U) 28263 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_00(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_00_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_00_MASK) 28264 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_00_MASK (0xF0U) 28265 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_00_SHIFT (4U) 28266 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_00(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_00_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_00_MASK) 28267 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_01_MASK (0xF00U) 28268 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_01_SHIFT (8U) 28269 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_01(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_01_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_01_MASK) 28270 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_01_MASK (0xF000U) 28271 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_01_SHIFT (12U) 28272 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_01(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_01_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_01_MASK) 28273 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_02_MASK (0xF0000U) 28274 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_02_SHIFT (16U) 28275 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_02(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_02_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_02_MASK) 28276 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_02_MASK (0xF00000U) 28277 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_02_SHIFT (20U) 28278 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_02(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_02_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_02_MASK) 28279 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_03_MASK (0xF000000U) 28280 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_03_SHIFT (24U) 28281 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_03(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_03_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_03_MASK) 28282 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_03_MASK (0xF0000000U) 28283 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_03_SHIFT (28U) 28284 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_03(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_03_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_03_MASK) 28285 /*! @} */ 28286 28287 /*! @name AGC_GAIN_TBL_07_04 - AGC Gain Tables Step 07..04 */ 28288 /*! @{ */ 28289 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_04_MASK (0xFU) 28290 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_04_SHIFT (0U) 28291 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_04(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_04_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_04_MASK) 28292 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_04_MASK (0xF0U) 28293 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_04_SHIFT (4U) 28294 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_04(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_04_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_04_MASK) 28295 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_05_MASK (0xF00U) 28296 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_05_SHIFT (8U) 28297 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_05(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_05_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_05_MASK) 28298 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_05_MASK (0xF000U) 28299 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_05_SHIFT (12U) 28300 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_05(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_05_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_05_MASK) 28301 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_06_MASK (0xF0000U) 28302 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_06_SHIFT (16U) 28303 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_06(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_06_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_06_MASK) 28304 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_06_MASK (0xF00000U) 28305 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_06_SHIFT (20U) 28306 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_06(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_06_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_06_MASK) 28307 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_07_MASK (0xF000000U) 28308 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_07_SHIFT (24U) 28309 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_07(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_07_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_07_MASK) 28310 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_07_MASK (0xF0000000U) 28311 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_07_SHIFT (28U) 28312 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_07(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_07_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_07_MASK) 28313 /*! @} */ 28314 28315 /*! @name AGC_GAIN_TBL_11_08 - AGC Gain Tables Step 11..08 */ 28316 /*! @{ */ 28317 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_08_MASK (0xFU) 28318 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_08_SHIFT (0U) 28319 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_08(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_08_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_08_MASK) 28320 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_08_MASK (0xF0U) 28321 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_08_SHIFT (4U) 28322 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_08(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_08_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_08_MASK) 28323 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_09_MASK (0xF00U) 28324 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_09_SHIFT (8U) 28325 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_09(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_09_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_09_MASK) 28326 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_09_MASK (0xF000U) 28327 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_09_SHIFT (12U) 28328 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_09(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_09_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_09_MASK) 28329 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_10_MASK (0xF0000U) 28330 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_10_SHIFT (16U) 28331 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_10(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_10_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_10_MASK) 28332 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_10_MASK (0xF00000U) 28333 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_10_SHIFT (20U) 28334 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_10(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_10_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_10_MASK) 28335 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_11_MASK (0xF000000U) 28336 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_11_SHIFT (24U) 28337 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_11(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_11_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_11_MASK) 28338 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_11_MASK (0xF0000000U) 28339 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_11_SHIFT (28U) 28340 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_11(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_11_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_11_MASK) 28341 /*! @} */ 28342 28343 /*! @name AGC_GAIN_TBL_15_12 - AGC Gain Tables Step 15..12 */ 28344 /*! @{ */ 28345 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_12_MASK (0xFU) 28346 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_12_SHIFT (0U) 28347 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_12(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_12_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_12_MASK) 28348 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_12_MASK (0xF0U) 28349 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_12_SHIFT (4U) 28350 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_12(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_12_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_12_MASK) 28351 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_13_MASK (0xF00U) 28352 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_13_SHIFT (8U) 28353 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_13(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_13_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_13_MASK) 28354 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_13_MASK (0xF000U) 28355 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_13_SHIFT (12U) 28356 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_13(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_13_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_13_MASK) 28357 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_14_MASK (0xF0000U) 28358 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_14_SHIFT (16U) 28359 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_14(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_14_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_14_MASK) 28360 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_14_MASK (0xF00000U) 28361 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_14_SHIFT (20U) 28362 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_14(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_14_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_14_MASK) 28363 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_15_MASK (0xF000000U) 28364 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_15_SHIFT (24U) 28365 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_15(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_15_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_15_MASK) 28366 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_15_MASK (0xF0000000U) 28367 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_15_SHIFT (28U) 28368 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_15(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_15_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_15_MASK) 28369 /*! @} */ 28370 28371 /*! @name AGC_GAIN_TBL_19_16 - AGC Gain Tables Step 19..16 */ 28372 /*! @{ */ 28373 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_16_MASK (0xFU) 28374 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_16_SHIFT (0U) 28375 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_16(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_16_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_16_MASK) 28376 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_16_MASK (0xF0U) 28377 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_16_SHIFT (4U) 28378 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_16(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_16_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_16_MASK) 28379 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_17_MASK (0xF00U) 28380 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_17_SHIFT (8U) 28381 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_17(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_17_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_17_MASK) 28382 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_17_MASK (0xF000U) 28383 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_17_SHIFT (12U) 28384 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_17(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_17_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_17_MASK) 28385 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_18_MASK (0xF0000U) 28386 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_18_SHIFT (16U) 28387 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_18(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_18_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_18_MASK) 28388 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_18_MASK (0xF00000U) 28389 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_18_SHIFT (20U) 28390 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_18(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_18_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_18_MASK) 28391 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_19_MASK (0xF000000U) 28392 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_19_SHIFT (24U) 28393 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_19(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_19_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_19_MASK) 28394 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_19_MASK (0xF0000000U) 28395 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_19_SHIFT (28U) 28396 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_19(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_19_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_19_MASK) 28397 /*! @} */ 28398 28399 /*! @name AGC_GAIN_TBL_23_20 - AGC Gain Tables Step 23..20 */ 28400 /*! @{ */ 28401 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_20_MASK (0xFU) 28402 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_20_SHIFT (0U) 28403 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_20(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_20_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_20_MASK) 28404 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_20_MASK (0xF0U) 28405 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_20_SHIFT (4U) 28406 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_20(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_20_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_20_MASK) 28407 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_21_MASK (0xF00U) 28408 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_21_SHIFT (8U) 28409 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_21(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_21_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_21_MASK) 28410 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_21_MASK (0xF000U) 28411 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_21_SHIFT (12U) 28412 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_21(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_21_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_21_MASK) 28413 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_22_MASK (0xF0000U) 28414 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_22_SHIFT (16U) 28415 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_22(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_22_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_22_MASK) 28416 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_22_MASK (0xF00000U) 28417 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_22_SHIFT (20U) 28418 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_22(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_22_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_22_MASK) 28419 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_23_MASK (0xF000000U) 28420 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_23_SHIFT (24U) 28421 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_23(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_23_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_23_MASK) 28422 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_23_MASK (0xF0000000U) 28423 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_23_SHIFT (28U) 28424 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_23(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_23_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_23_MASK) 28425 /*! @} */ 28426 28427 /*! @name AGC_GAIN_TBL_26_24 - AGC Gain Tables Step 26..24 */ 28428 /*! @{ */ 28429 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_24_MASK (0xFU) 28430 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_24_SHIFT (0U) 28431 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_24(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_24_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_24_MASK) 28432 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_24_MASK (0xF0U) 28433 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_24_SHIFT (4U) 28434 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_24(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_24_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_24_MASK) 28435 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_25_MASK (0xF00U) 28436 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_25_SHIFT (8U) 28437 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_25(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_25_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_25_MASK) 28438 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_25_MASK (0xF000U) 28439 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_25_SHIFT (12U) 28440 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_25(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_25_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_25_MASK) 28441 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_26_MASK (0xF0000U) 28442 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_26_SHIFT (16U) 28443 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_26(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_26_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_26_MASK) 28444 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_26_MASK (0xF00000U) 28445 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_26_SHIFT (20U) 28446 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_26(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_26_SHIFT)) & XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_26_MASK) 28447 /*! @} */ 28448 28449 /*! @name DCOC_OFFSET - DCOC Offset */ 28450 /*! @{ */ 28451 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_I_MASK (0x3FU) 28452 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_I_SHIFT (0U) 28453 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_I_SHIFT)) & XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_I_MASK) 28454 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_Q_MASK (0x3F00U) 28455 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_Q_SHIFT (8U) 28456 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_Q_SHIFT)) & XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_Q_MASK) 28457 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_I_MASK (0xFF0000U) 28458 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_I_SHIFT (16U) 28459 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_I_SHIFT)) & XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_I_MASK) 28460 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_Q_MASK (0xFF000000U) 28461 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_Q_SHIFT (24U) 28462 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_Q_SHIFT)) & XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_Q_MASK) 28463 /*! @} */ 28464 28465 /* The count of XCVR_RX_DIG_DCOC_OFFSET */ 28466 #define XCVR_RX_DIG_DCOC_OFFSET_COUNT (27U) 28467 28468 /*! @name DCOC_BBA_STEP - DCOC BBA DAC Step */ 28469 /*! @{ */ 28470 #define XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_RECIP_MASK (0x1FFFU) 28471 #define XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_RECIP_SHIFT (0U) 28472 #define XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_RECIP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_RECIP_SHIFT)) & XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_RECIP_MASK) 28473 #define XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_MASK (0x1FF0000U) 28474 #define XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_SHIFT (16U) 28475 #define XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_SHIFT)) & XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_MASK) 28476 /*! @} */ 28477 28478 /*! @name DCOC_TZA_STEP_0 - DCOC TZA DAC Step 0 */ 28479 /*! @{ */ 28480 #define XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_RCP_0_MASK (0x1FFFU) 28481 #define XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_RCP_0_SHIFT (0U) 28482 #define XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_RCP_0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_RCP_0_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_RCP_0_MASK) 28483 #define XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_GAIN_0_MASK (0xFFF0000U) 28484 #define XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_GAIN_0_SHIFT (16U) 28485 #define XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_GAIN_0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_GAIN_0_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_GAIN_0_MASK) 28486 /*! @} */ 28487 28488 /*! @name DCOC_TZA_STEP_1 - DCOC TZA DAC Step 1 */ 28489 /*! @{ */ 28490 #define XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_RCP_1_MASK (0x1FFFU) 28491 #define XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_RCP_1_SHIFT (0U) 28492 #define XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_RCP_1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_RCP_1_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_RCP_1_MASK) 28493 #define XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_GAIN_1_MASK (0xFFF0000U) 28494 #define XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_GAIN_1_SHIFT (16U) 28495 #define XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_GAIN_1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_GAIN_1_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_GAIN_1_MASK) 28496 /*! @} */ 28497 28498 /*! @name DCOC_TZA_STEP_2 - DCOC TZA DAC Step 2 */ 28499 /*! @{ */ 28500 #define XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_RCP_2_MASK (0x1FFFU) 28501 #define XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_RCP_2_SHIFT (0U) 28502 #define XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_RCP_2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_RCP_2_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_RCP_2_MASK) 28503 #define XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_GAIN_2_MASK (0xFFF0000U) 28504 #define XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_GAIN_2_SHIFT (16U) 28505 #define XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_GAIN_2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_GAIN_2_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_GAIN_2_MASK) 28506 /*! @} */ 28507 28508 /*! @name DCOC_TZA_STEP_3 - DCOC TZA DAC Step 3 */ 28509 /*! @{ */ 28510 #define XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_RCP_3_MASK (0x1FFFU) 28511 #define XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_RCP_3_SHIFT (0U) 28512 #define XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_RCP_3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_RCP_3_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_RCP_3_MASK) 28513 #define XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_GAIN_3_MASK (0xFFF0000U) 28514 #define XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_GAIN_3_SHIFT (16U) 28515 #define XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_GAIN_3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_GAIN_3_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_GAIN_3_MASK) 28516 /*! @} */ 28517 28518 /*! @name DCOC_TZA_STEP_4 - DCOC TZA DAC Step 4 */ 28519 /*! @{ */ 28520 #define XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_RCP_4_MASK (0x1FFFU) 28521 #define XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_RCP_4_SHIFT (0U) 28522 #define XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_RCP_4(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_RCP_4_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_RCP_4_MASK) 28523 #define XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_GAIN_4_MASK (0xFFF0000U) 28524 #define XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_GAIN_4_SHIFT (16U) 28525 #define XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_GAIN_4(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_GAIN_4_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_GAIN_4_MASK) 28526 /*! @} */ 28527 28528 /*! @name DCOC_TZA_STEP_5 - DCOC TZA DAC Step 5 */ 28529 /*! @{ */ 28530 #define XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_RCP_5_MASK (0x1FFFU) 28531 #define XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_RCP_5_SHIFT (0U) 28532 #define XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_RCP_5(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_RCP_5_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_RCP_5_MASK) 28533 #define XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_GAIN_5_MASK (0xFFF0000U) 28534 #define XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_GAIN_5_SHIFT (16U) 28535 #define XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_GAIN_5(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_GAIN_5_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_GAIN_5_MASK) 28536 /*! @} */ 28537 28538 /*! @name DCOC_TZA_STEP_6 - DCOC TZA DAC Step 6 */ 28539 /*! @{ */ 28540 #define XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_RCP_6_MASK (0x1FFFU) 28541 #define XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_RCP_6_SHIFT (0U) 28542 #define XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_RCP_6(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_RCP_6_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_RCP_6_MASK) 28543 #define XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_GAIN_6_MASK (0xFFF0000U) 28544 #define XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_GAIN_6_SHIFT (16U) 28545 #define XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_GAIN_6(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_GAIN_6_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_GAIN_6_MASK) 28546 /*! @} */ 28547 28548 /*! @name DCOC_TZA_STEP_7 - DCOC TZA DAC Step 7 */ 28549 /*! @{ */ 28550 #define XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_RCP_7_MASK (0x1FFFU) 28551 #define XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_RCP_7_SHIFT (0U) 28552 #define XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_RCP_7(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_RCP_7_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_RCP_7_MASK) 28553 #define XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_GAIN_7_MASK (0x1FFF0000U) 28554 #define XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_GAIN_7_SHIFT (16U) 28555 #define XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_GAIN_7(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_GAIN_7_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_GAIN_7_MASK) 28556 /*! @} */ 28557 28558 /*! @name DCOC_TZA_STEP_8 - DCOC TZA DAC Step 5 */ 28559 /*! @{ */ 28560 #define XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_RCP_8_MASK (0x1FFFU) 28561 #define XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_RCP_8_SHIFT (0U) 28562 #define XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_RCP_8(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_RCP_8_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_RCP_8_MASK) 28563 #define XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_GAIN_8_MASK (0x1FFF0000U) 28564 #define XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_GAIN_8_SHIFT (16U) 28565 #define XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_GAIN_8(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_GAIN_8_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_GAIN_8_MASK) 28566 /*! @} */ 28567 28568 /*! @name DCOC_TZA_STEP_9 - DCOC TZA DAC Step 9 */ 28569 /*! @{ */ 28570 #define XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_RCP_9_MASK (0x1FFFU) 28571 #define XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_RCP_9_SHIFT (0U) 28572 #define XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_RCP_9(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_RCP_9_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_RCP_9_MASK) 28573 #define XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_GAIN_9_MASK (0x3FFF0000U) 28574 #define XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_GAIN_9_SHIFT (16U) 28575 #define XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_GAIN_9(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_GAIN_9_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_GAIN_9_MASK) 28576 /*! @} */ 28577 28578 /*! @name DCOC_TZA_STEP_10 - DCOC TZA DAC Step 10 */ 28579 /*! @{ */ 28580 #define XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_RCP_10_MASK (0x1FFFU) 28581 #define XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_RCP_10_SHIFT (0U) 28582 #define XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_RCP_10(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_RCP_10_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_RCP_10_MASK) 28583 #define XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_GAIN_10_MASK (0x3FFF0000U) 28584 #define XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_GAIN_10_SHIFT (16U) 28585 #define XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_GAIN_10(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_GAIN_10_SHIFT)) & XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_GAIN_10_MASK) 28586 /*! @} */ 28587 28588 /*! @name DCOC_CAL_FAIL_TH - DCOC Calibration Fail Thresholds */ 28589 /*! @{ */ 28590 #define XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_BETA_F_TH_MASK (0x7FFU) 28591 #define XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_BETA_F_TH_SHIFT (0U) 28592 #define XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_BETA_F_TH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_BETA_F_TH_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_BETA_F_TH_MASK) 28593 #define XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_ALPHA_F_TH_MASK (0x3FF0000U) 28594 #define XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_ALPHA_F_TH_SHIFT (16U) 28595 #define XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_ALPHA_F_TH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_ALPHA_F_TH_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_ALPHA_F_TH_MASK) 28596 /*! @} */ 28597 28598 /*! @name DCOC_CAL_PASS_TH - DCOC Calibration Pass Thresholds */ 28599 /*! @{ */ 28600 #define XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_BETA_P_TH_MASK (0x7FFU) 28601 #define XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_BETA_P_TH_SHIFT (0U) 28602 #define XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_BETA_P_TH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_BETA_P_TH_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_BETA_P_TH_MASK) 28603 #define XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_ALPHA_P_TH_MASK (0x3FF0000U) 28604 #define XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_ALPHA_P_TH_SHIFT (16U) 28605 #define XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_ALPHA_P_TH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_ALPHA_P_TH_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_ALPHA_P_TH_MASK) 28606 /*! @} */ 28607 28608 /*! @name DCOC_CAL_ALPHA - DCOC Calibration Alpha */ 28609 /*! @{ */ 28610 #define XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I_MASK (0x7FFU) 28611 #define XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I_SHIFT (0U) 28612 #define XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I_MASK) 28613 #define XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q_MASK (0x7FF0000U) 28614 #define XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q_SHIFT (16U) 28615 #define XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q_MASK) 28616 /*! @} */ 28617 28618 /*! @name DCOC_CAL_BETA_Q - DCOC Calibration Beta Q */ 28619 /*! @{ */ 28620 #define XCVR_RX_DIG_DCOC_CAL_BETA_Q_DCOC_CAL_BETA_Q_MASK (0x1FFFFU) 28621 #define XCVR_RX_DIG_DCOC_CAL_BETA_Q_DCOC_CAL_BETA_Q_SHIFT (0U) 28622 #define XCVR_RX_DIG_DCOC_CAL_BETA_Q_DCOC_CAL_BETA_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_BETA_Q_DCOC_CAL_BETA_Q_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_BETA_Q_DCOC_CAL_BETA_Q_MASK) 28623 /*! @} */ 28624 28625 /*! @name DCOC_CAL_BETA_I - DCOC Calibration Beta I */ 28626 /*! @{ */ 28627 #define XCVR_RX_DIG_DCOC_CAL_BETA_I_DCOC_CAL_BETA_I_MASK (0x1FFFFU) 28628 #define XCVR_RX_DIG_DCOC_CAL_BETA_I_DCOC_CAL_BETA_I_SHIFT (0U) 28629 #define XCVR_RX_DIG_DCOC_CAL_BETA_I_DCOC_CAL_BETA_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_BETA_I_DCOC_CAL_BETA_I_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_BETA_I_DCOC_CAL_BETA_I_MASK) 28630 /*! @} */ 28631 28632 /*! @name DCOC_CAL_GAMMA - DCOC Calibration Gamma */ 28633 /*! @{ */ 28634 #define XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I_MASK (0xFFFFU) 28635 #define XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I_SHIFT (0U) 28636 #define XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I_MASK) 28637 #define XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q_MASK (0xFFFF0000U) 28638 #define XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q_SHIFT (16U) 28639 #define XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q_MASK) 28640 /*! @} */ 28641 28642 /*! @name DCOC_CAL_IIR - DCOC Calibration IIR */ 28643 /*! @{ */ 28644 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_MASK (0x3U) 28645 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_SHIFT (0U) 28646 /*! DCOC_CAL_IIR1A_IDX - DCOC Calibration IIR 1A Index 28647 * 0b00..1/1 28648 * 0b01..1/4 28649 * 0b10..1/8 28650 * 0b11..1/16 28651 */ 28652 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_MASK) 28653 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_MASK (0xCU) 28654 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_SHIFT (2U) 28655 /*! DCOC_CAL_IIR2A_IDX - DCOC Calibration IIR 2A Index 28656 * 0b00..1/1 28657 * 0b01..1/4 28658 * 0b10..1/8 28659 * 0b11..1/16 28660 */ 28661 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_MASK) 28662 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_MASK (0x30U) 28663 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_SHIFT (4U) 28664 /*! DCOC_CAL_IIR3A_IDX - DCOC Calibration IIR 3A Index 28665 * 0b00..1/4 28666 * 0b01..1/8 28667 * 0b10..1/16 28668 * 0b11..1/32 28669 */ 28670 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_MASK) 28671 /*! @} */ 28672 28673 /*! @name DCOC_CAL - DCOC Calibration Result */ 28674 /*! @{ */ 28675 #define XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_I_MASK (0xFFFU) 28676 #define XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_I_SHIFT (0U) 28677 #define XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_I_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_I_MASK) 28678 #define XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_Q_MASK (0xFFF0000U) 28679 #define XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_Q_SHIFT (16U) 28680 #define XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_Q_SHIFT)) & XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_Q_MASK) 28681 /*! @} */ 28682 28683 /* The count of XCVR_RX_DIG_DCOC_CAL */ 28684 #define XCVR_RX_DIG_DCOC_CAL_COUNT (3U) 28685 28686 /*! @name CCA_ED_LQI_CTRL_0 - RX_DIG CCA ED LQI Control Register 0 */ 28687 /*! @{ */ 28688 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CORR_THRESH_MASK (0xFFU) 28689 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CORR_THRESH_SHIFT (0U) 28690 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CORR_THRESH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CORR_THRESH_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CORR_THRESH_MASK) 28691 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_CORR_CNTR_THRESH_MASK (0xFF00U) 28692 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_CORR_CNTR_THRESH_SHIFT (8U) 28693 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_CORR_CNTR_THRESH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_CORR_CNTR_THRESH_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_CORR_CNTR_THRESH_MASK) 28694 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CNTR_MASK (0xFF0000U) 28695 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CNTR_SHIFT (16U) 28696 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CNTR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CNTR_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CNTR_MASK) 28697 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_SNR_ADJ_MASK (0x3F000000U) 28698 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_SNR_ADJ_SHIFT (24U) 28699 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_SNR_ADJ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_SNR_ADJ_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_SNR_ADJ_MASK) 28700 /*! @} */ 28701 28702 /*! @name CCA_ED_LQI_CTRL_1 - RX_DIG CCA ED LQI Control Register 1 */ 28703 /*! @{ */ 28704 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_DELAY_MASK (0x3FU) 28705 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_DELAY_SHIFT (0U) 28706 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_DELAY_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_DELAY_MASK) 28707 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_FACTOR_MASK (0x1C0U) 28708 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_FACTOR_SHIFT (6U) 28709 /*! RSSI_NOISE_AVG_FACTOR - RSSI Noise Averaging Factor 28710 * 0b000..1 28711 * 0b001..64 28712 * 0b010..70 28713 * 0b011..128 28714 * 0b100..139 28715 * 0b101..256 28716 * 0b110..277 28717 * 0b111..512 28718 */ 28719 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_FACTOR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_FACTOR_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_FACTOR_MASK) 28720 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_WEIGHT_MASK (0xE00U) 28721 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_WEIGHT_SHIFT (9U) 28722 /*! LQI_RSSI_WEIGHT - LQI RSSI Weight 28723 * 0b000..2.0 28724 * 0b001..2.125 28725 * 0b010..2.25 28726 * 0b011..2.375 28727 * 0b100..2.5 28728 * 0b101..2.625 28729 * 0b110..2.75 28730 * 0b111..2.875 28731 */ 28732 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_WEIGHT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_WEIGHT_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_WEIGHT_MASK) 28733 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_SENS_MASK (0xF000U) 28734 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_SENS_SHIFT (12U) 28735 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_SENS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_SENS_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_SENS_MASK) 28736 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_DIS_MASK (0x10000U) 28737 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_DIS_SHIFT (16U) 28738 /*! SNR_LQI_DIS - SNR LQI Disable 28739 * 0b0..Normal operation. 28740 * 0b1..The RX_DIG CCA/ED/LQI block ignores the AA match input which starts an LQI measurement. 28741 */ 28742 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_DIS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_DIS_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_DIS_MASK) 28743 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SEL_SNR_MODE_MASK (0x20000U) 28744 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SEL_SNR_MODE_SHIFT (17U) 28745 /*! SEL_SNR_MODE - Select SNR Mode 28746 * 0b0..SNR estimate 28747 * 0b1..Mapped correlation magnitude 28748 */ 28749 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SEL_SNR_MODE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SEL_SNR_MODE_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SEL_SNR_MODE_MASK) 28750 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MEAS_TRANS_TO_IDLE_MASK (0x40000U) 28751 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MEAS_TRANS_TO_IDLE_SHIFT (18U) 28752 /*! MEAS_TRANS_TO_IDLE - Measurement Transition to IDLE 28753 * 0b0..Module transitions to RSSI state 28754 * 0b1..Module transitions to IDLE state 28755 */ 28756 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MEAS_TRANS_TO_IDLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MEAS_TRANS_TO_IDLE_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MEAS_TRANS_TO_IDLE_MASK) 28757 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_CCA1_ED_EN_DIS_MASK (0x80000U) 28758 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_CCA1_ED_EN_DIS_SHIFT (19U) 28759 /*! CCA1_ED_EN_DIS - CCA1_ED_EN Disable 28760 * 0b0..Normal operation 28761 * 0b1..CCA1_ED_EN input is disabled 28762 */ 28763 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_CCA1_ED_EN_DIS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_CCA1_ED_EN_DIS_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_CCA1_ED_EN_DIS_MASK) 28764 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MAN_MEAS_COMPLETE_MASK (0x100000U) 28765 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MAN_MEAS_COMPLETE_SHIFT (20U) 28766 /*! MAN_MEAS_COMPLETE - Manual measurement complete 28767 * 0b0..Normal operation 28768 * 0b1..Manually asserts the measurement complete signal for the RX_DIG CCA/ED/LQI blocks. Intended to be used only for debug. 28769 */ 28770 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MAN_MEAS_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MAN_MEAS_COMPLETE_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MAN_MEAS_COMPLETE_MASK) 28771 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD_MASK (0x200000U) 28772 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD_SHIFT (21U) 28773 /*! NB_WB_OVRD - Narrowband Wideband Override 28774 * 0b0..RSSI forced to be in Wideband mode if NB_WB_OVRD_EN is set 28775 * 0b1..RSSI forced to be in Narrowband mode if NB_WB_OVRD_EN is set 28776 */ 28777 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD_MASK) 28778 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD_EN_MASK (0x400000U) 28779 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD_EN_SHIFT (22U) 28780 /*! NB_WB_OVRD_EN - Narrowband Wideband Override Enable 28781 * 0b0..Normal operation 28782 * 0b1..RSSI narrowband/wideband selection is via NB_WB_OVRD 28783 */ 28784 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD_EN_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD_EN_MASK) 28785 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_WEIGHT_MASK (0xF000000U) 28786 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_WEIGHT_SHIFT (24U) 28787 /*! SNR_LQI_WEIGHT - SNR LQI Weight 28788 * 0b0000..0.0 28789 * 0b0001..1.0 28790 * 0b0010..1.125 28791 * 0b0011..1.25 28792 * 0b0100..1.375 28793 * 0b0101..1.5 28794 * 0b0110..1.625 28795 * 0b0111..1.75 28796 * 0b1000..1.875 28797 * 0b1001..2.0 28798 * 0b1010..2.125 28799 * 0b1011..2.25 28800 * 0b1100..2.375 28801 * 0b1101..2.5 28802 * 0b1110..2.625 28803 * 0b1111..2.75 28804 */ 28805 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_WEIGHT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_WEIGHT_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_WEIGHT_MASK) 28806 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_BIAS_MASK (0xF0000000U) 28807 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_BIAS_SHIFT (28U) 28808 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_BIAS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_BIAS_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_BIAS_MASK) 28809 /*! @} */ 28810 28811 /*! @name CCA_ED_LQI_STAT_0 - RX_DIG CCA ED LQI Status Register 0 */ 28812 /*! @{ */ 28813 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_LQI_OUT_MASK (0xFFU) 28814 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_LQI_OUT_SHIFT (0U) 28815 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_LQI_OUT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_STAT_0_LQI_OUT_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_STAT_0_LQI_OUT_MASK) 28816 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_ED_OUT_MASK (0xFF00U) 28817 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_ED_OUT_SHIFT (8U) 28818 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_ED_OUT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_STAT_0_ED_OUT_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_STAT_0_ED_OUT_MASK) 28819 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_SNR_OUT_MASK (0xFF0000U) 28820 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_SNR_OUT_SHIFT (16U) 28821 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_SNR_OUT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_STAT_0_SNR_OUT_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_STAT_0_SNR_OUT_MASK) 28822 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_CCA1_STATE_MASK (0x1000000U) 28823 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_CCA1_STATE_SHIFT (24U) 28824 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_CCA1_STATE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_STAT_0_CCA1_STATE_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_STAT_0_CCA1_STATE_MASK) 28825 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_MEAS_COMPLETE_MASK (0x2000000U) 28826 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_MEAS_COMPLETE_SHIFT (25U) 28827 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_MEAS_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_CCA_ED_LQI_STAT_0_MEAS_COMPLETE_SHIFT)) & XCVR_RX_DIG_CCA_ED_LQI_STAT_0_MEAS_COMPLETE_MASK) 28828 /*! @} */ 28829 28830 /*! @name RX_CHF_COEF_0 - Receive Channel Filter Coefficient 0 */ 28831 /*! @{ */ 28832 #define XCVR_RX_DIG_RX_CHF_COEF_0_RX_CH_FILT_H0_MASK (0x3FU) 28833 #define XCVR_RX_DIG_RX_CHF_COEF_0_RX_CH_FILT_H0_SHIFT (0U) 28834 #define XCVR_RX_DIG_RX_CHF_COEF_0_RX_CH_FILT_H0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_CHF_COEF_0_RX_CH_FILT_H0_SHIFT)) & XCVR_RX_DIG_RX_CHF_COEF_0_RX_CH_FILT_H0_MASK) 28835 /*! @} */ 28836 28837 /*! @name RX_CHF_COEF_1 - Receive Channel Filter Coefficient 1 */ 28838 /*! @{ */ 28839 #define XCVR_RX_DIG_RX_CHF_COEF_1_RX_CH_FILT_H1_MASK (0x3FU) 28840 #define XCVR_RX_DIG_RX_CHF_COEF_1_RX_CH_FILT_H1_SHIFT (0U) 28841 #define XCVR_RX_DIG_RX_CHF_COEF_1_RX_CH_FILT_H1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_CHF_COEF_1_RX_CH_FILT_H1_SHIFT)) & XCVR_RX_DIG_RX_CHF_COEF_1_RX_CH_FILT_H1_MASK) 28842 /*! @} */ 28843 28844 /*! @name RX_CHF_COEF_2 - Receive Channel Filter Coefficient 2 */ 28845 /*! @{ */ 28846 #define XCVR_RX_DIG_RX_CHF_COEF_2_RX_CH_FILT_H2_MASK (0x7FU) 28847 #define XCVR_RX_DIG_RX_CHF_COEF_2_RX_CH_FILT_H2_SHIFT (0U) 28848 #define XCVR_RX_DIG_RX_CHF_COEF_2_RX_CH_FILT_H2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_CHF_COEF_2_RX_CH_FILT_H2_SHIFT)) & XCVR_RX_DIG_RX_CHF_COEF_2_RX_CH_FILT_H2_MASK) 28849 /*! @} */ 28850 28851 /*! @name RX_CHF_COEF_3 - Receive Channel Filter Coefficient 3 */ 28852 /*! @{ */ 28853 #define XCVR_RX_DIG_RX_CHF_COEF_3_RX_CH_FILT_H3_MASK (0x7FU) 28854 #define XCVR_RX_DIG_RX_CHF_COEF_3_RX_CH_FILT_H3_SHIFT (0U) 28855 #define XCVR_RX_DIG_RX_CHF_COEF_3_RX_CH_FILT_H3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_CHF_COEF_3_RX_CH_FILT_H3_SHIFT)) & XCVR_RX_DIG_RX_CHF_COEF_3_RX_CH_FILT_H3_MASK) 28856 /*! @} */ 28857 28858 /*! @name RX_CHF_COEF_4 - Receive Channel Filter Coefficient 4 */ 28859 /*! @{ */ 28860 #define XCVR_RX_DIG_RX_CHF_COEF_4_RX_CH_FILT_H4_MASK (0x7FU) 28861 #define XCVR_RX_DIG_RX_CHF_COEF_4_RX_CH_FILT_H4_SHIFT (0U) 28862 #define XCVR_RX_DIG_RX_CHF_COEF_4_RX_CH_FILT_H4(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_CHF_COEF_4_RX_CH_FILT_H4_SHIFT)) & XCVR_RX_DIG_RX_CHF_COEF_4_RX_CH_FILT_H4_MASK) 28863 /*! @} */ 28864 28865 /*! @name RX_CHF_COEF_5 - Receive Channel Filter Coefficient 5 */ 28866 /*! @{ */ 28867 #define XCVR_RX_DIG_RX_CHF_COEF_5_RX_CH_FILT_H5_MASK (0x7FU) 28868 #define XCVR_RX_DIG_RX_CHF_COEF_5_RX_CH_FILT_H5_SHIFT (0U) 28869 #define XCVR_RX_DIG_RX_CHF_COEF_5_RX_CH_FILT_H5(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_CHF_COEF_5_RX_CH_FILT_H5_SHIFT)) & XCVR_RX_DIG_RX_CHF_COEF_5_RX_CH_FILT_H5_MASK) 28870 /*! @} */ 28871 28872 /*! @name RX_CHF_COEF_6 - Receive Channel Filter Coefficient 6 */ 28873 /*! @{ */ 28874 #define XCVR_RX_DIG_RX_CHF_COEF_6_RX_CH_FILT_H6_MASK (0xFFU) 28875 #define XCVR_RX_DIG_RX_CHF_COEF_6_RX_CH_FILT_H6_SHIFT (0U) 28876 #define XCVR_RX_DIG_RX_CHF_COEF_6_RX_CH_FILT_H6(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_CHF_COEF_6_RX_CH_FILT_H6_SHIFT)) & XCVR_RX_DIG_RX_CHF_COEF_6_RX_CH_FILT_H6_MASK) 28877 /*! @} */ 28878 28879 /*! @name RX_CHF_COEF_7 - Receive Channel Filter Coefficient 7 */ 28880 /*! @{ */ 28881 #define XCVR_RX_DIG_RX_CHF_COEF_7_RX_CH_FILT_H7_MASK (0xFFU) 28882 #define XCVR_RX_DIG_RX_CHF_COEF_7_RX_CH_FILT_H7_SHIFT (0U) 28883 #define XCVR_RX_DIG_RX_CHF_COEF_7_RX_CH_FILT_H7(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_CHF_COEF_7_RX_CH_FILT_H7_SHIFT)) & XCVR_RX_DIG_RX_CHF_COEF_7_RX_CH_FILT_H7_MASK) 28884 /*! @} */ 28885 28886 /*! @name RX_CHF_COEF_8 - Receive Channel Filter Coefficient 8 */ 28887 /*! @{ */ 28888 #define XCVR_RX_DIG_RX_CHF_COEF_8_RX_CH_FILT_H8_MASK (0x1FFU) 28889 #define XCVR_RX_DIG_RX_CHF_COEF_8_RX_CH_FILT_H8_SHIFT (0U) 28890 #define XCVR_RX_DIG_RX_CHF_COEF_8_RX_CH_FILT_H8(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_CHF_COEF_8_RX_CH_FILT_H8_SHIFT)) & XCVR_RX_DIG_RX_CHF_COEF_8_RX_CH_FILT_H8_MASK) 28891 /*! @} */ 28892 28893 /*! @name RX_CHF_COEF_9 - Receive Channel Filter Coefficient 9 */ 28894 /*! @{ */ 28895 #define XCVR_RX_DIG_RX_CHF_COEF_9_RX_CH_FILT_H9_MASK (0x1FFU) 28896 #define XCVR_RX_DIG_RX_CHF_COEF_9_RX_CH_FILT_H9_SHIFT (0U) 28897 #define XCVR_RX_DIG_RX_CHF_COEF_9_RX_CH_FILT_H9(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_CHF_COEF_9_RX_CH_FILT_H9_SHIFT)) & XCVR_RX_DIG_RX_CHF_COEF_9_RX_CH_FILT_H9_MASK) 28898 /*! @} */ 28899 28900 /*! @name RX_CHF_COEF_10 - Receive Channel Filter Coefficient 10 */ 28901 /*! @{ */ 28902 #define XCVR_RX_DIG_RX_CHF_COEF_10_RX_CH_FILT_H10_MASK (0x3FFU) 28903 #define XCVR_RX_DIG_RX_CHF_COEF_10_RX_CH_FILT_H10_SHIFT (0U) 28904 #define XCVR_RX_DIG_RX_CHF_COEF_10_RX_CH_FILT_H10(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_CHF_COEF_10_RX_CH_FILT_H10_SHIFT)) & XCVR_RX_DIG_RX_CHF_COEF_10_RX_CH_FILT_H10_MASK) 28905 /*! @} */ 28906 28907 /*! @name RX_CHF_COEF_11 - Receive Channel Filter Coefficient 11 */ 28908 /*! @{ */ 28909 #define XCVR_RX_DIG_RX_CHF_COEF_11_RX_CH_FILT_H11_MASK (0x3FFU) 28910 #define XCVR_RX_DIG_RX_CHF_COEF_11_RX_CH_FILT_H11_SHIFT (0U) 28911 #define XCVR_RX_DIG_RX_CHF_COEF_11_RX_CH_FILT_H11(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_CHF_COEF_11_RX_CH_FILT_H11_SHIFT)) & XCVR_RX_DIG_RX_CHF_COEF_11_RX_CH_FILT_H11_MASK) 28912 /*! @} */ 28913 28914 /*! @name AGC_MAN_AGC_IDX - AGC Manual AGC Index */ 28915 /*! @{ */ 28916 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_IDX_CMP_PHY_MASK (0x1FU) 28917 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_IDX_CMP_PHY_SHIFT (0U) 28918 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_IDX_CMP_PHY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_IDX_CMP_PHY_SHIFT)) & XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_IDX_CMP_PHY_MASK) 28919 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX_MASK (0x1F0000U) 28920 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX_SHIFT (16U) 28921 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX_SHIFT)) & XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX_MASK) 28922 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX_EN_MASK (0x1000000U) 28923 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX_EN_SHIFT (24U) 28924 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX_EN_SHIFT)) & XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX_EN_MASK) 28925 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_DCOC_START_PT_MASK (0x2000000U) 28926 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_DCOC_START_PT_SHIFT (25U) 28927 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_DCOC_START_PT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_DCOC_START_PT_SHIFT)) & XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_DCOC_START_PT_MASK) 28928 /*! @} */ 28929 28930 /*! @name DC_RESID_CTRL - DC Residual Control */ 28931 /*! @{ */ 28932 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_NWIN_MASK (0x7FU) 28933 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_NWIN_SHIFT (0U) 28934 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_NWIN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_NWIN_SHIFT)) & XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_NWIN_MASK) 28935 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ITER_FREEZE_MASK (0xF00U) 28936 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ITER_FREEZE_SHIFT (8U) 28937 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ITER_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ITER_FREEZE_SHIFT)) & XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ITER_FREEZE_MASK) 28938 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ALPHA_MASK (0x7000U) 28939 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ALPHA_SHIFT (12U) 28940 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ALPHA_SHIFT)) & XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ALPHA_MASK) 28941 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_DLY_MASK (0x70000U) 28942 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_DLY_SHIFT (16U) 28943 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_DLY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_DLY_SHIFT)) & XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_DLY_MASK) 28944 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_EXT_DC_EN_MASK (0x100000U) 28945 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_EXT_DC_EN_SHIFT (20U) 28946 /*! DC_RESID_EXT_DC_EN - DC Residual External DC Enable 28947 * 0b0..External DC disable. The DC Residual activates at a delay specified by DC_RESID_DLY after an AGC gain change pulse. The DC Residual is initialized with a DC offset of 0. 28948 * 0b1..External DC enable. The DC residual activates after the DCOC's tracking hold timer expires. The DC Residual is initialized with the DC estimate from the DCOC tracking estimator. 28949 */ 28950 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_EXT_DC_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_EXT_DC_EN_SHIFT)) & XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_EXT_DC_EN_MASK) 28951 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_MIN_AGC_IDX_MASK (0x1F000000U) 28952 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_MIN_AGC_IDX_SHIFT (24U) 28953 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_MIN_AGC_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_MIN_AGC_IDX_SHIFT)) & XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_MIN_AGC_IDX_MASK) 28954 /*! @} */ 28955 28956 /*! @name DC_RESID_EST - DC Residual Estimate */ 28957 /*! @{ */ 28958 #define XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_I_MASK (0x1FFFU) 28959 #define XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_I_SHIFT (0U) 28960 #define XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_I(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_I_SHIFT)) & XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_I_MASK) 28961 #define XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_Q_MASK (0x1FFF0000U) 28962 #define XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_Q_SHIFT (16U) 28963 #define XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_Q(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_Q_SHIFT)) & XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_Q_MASK) 28964 /*! @} */ 28965 28966 /*! @name RX_RCCAL_CTRL0 - RX RC Calibration Control0 */ 28967 /*! @{ */ 28968 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_OFFSET_MASK (0xFU) 28969 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_OFFSET_SHIFT (0U) 28970 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_OFFSET_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_OFFSET_MASK) 28971 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_MANUAL_MASK (0x1F0U) 28972 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_MANUAL_SHIFT (4U) 28973 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_MANUAL_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_MANUAL_MASK) 28974 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_DIS_MASK (0x200U) 28975 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_DIS_SHIFT (9U) 28976 /*! BBA_RCCAL_DIS - BBA RC Calibration Disable 28977 * 0b0..BBA RC Calibration is enabled 28978 * 0b1..BBA RC Calibration is disabled 28979 */ 28980 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_DIS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_DIS_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_DIS_MASK) 28981 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_SMP_DLY_MASK (0x3000U) 28982 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_SMP_DLY_SHIFT (12U) 28983 /*! RCCAL_SMP_DLY - RC Calibration Sample Delay 28984 * 0b00..The comp_out signal is sampled 0 clk cycle after sample signal is deasserted 28985 * 0b01..The comp_out signal is sampled 1 clk cycle after sample signal is deasserted 28986 * 0b10..The comp_out signal is sampled 2 clk cycle after sample signal is deasserted 28987 * 0b11..The comp_out signal is sampled 3 clk cycle after sample signal is deasserted 28988 */ 28989 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_SMP_DLY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_SMP_DLY_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_SMP_DLY_MASK) 28990 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_COMP_INV_MASK (0x8000U) 28991 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_COMP_INV_SHIFT (15U) 28992 /*! RCCAL_COMP_INV - RC Calibration comp_out Invert 28993 * 0b0..The comp_out signal polarity is NOT inverted 28994 * 0b1..The comp_out signal polarity is inverted 28995 */ 28996 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_COMP_INV(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_COMP_INV_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_COMP_INV_MASK) 28997 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_OFFSET_MASK (0xF0000U) 28998 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_OFFSET_SHIFT (16U) 28999 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_OFFSET_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_OFFSET_MASK) 29000 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_MANUAL_MASK (0x1F00000U) 29001 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_MANUAL_SHIFT (20U) 29002 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_MANUAL_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_MANUAL_MASK) 29003 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_DIS_MASK (0x2000000U) 29004 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_DIS_SHIFT (25U) 29005 /*! TZA_RCCAL_DIS - TZA RC Calibration Disable 29006 * 0b0..TZA RC Calibration is enabled 29007 * 0b1..TZA RC Calibration is disabled 29008 */ 29009 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_DIS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_DIS_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_DIS_MASK) 29010 /*! @} */ 29011 29012 /*! @name RX_RCCAL_CTRL1 - RX RC Calibration Control1 */ 29013 /*! @{ */ 29014 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_OFFSET_MASK (0xFU) 29015 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_OFFSET_SHIFT (0U) 29016 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_OFFSET_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_OFFSET_MASK) 29017 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_MANUAL_MASK (0x1F0U) 29018 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_MANUAL_SHIFT (4U) 29019 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_MANUAL_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_MANUAL_MASK) 29020 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_DIS_MASK (0x200U) 29021 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_DIS_SHIFT (9U) 29022 /*! ADC_RCCAL_DIS - ADC RC Calibration Disable 29023 * 0b0..ADC RC Calibration is enabled 29024 * 0b1..ADC RC Calibration is disabled 29025 */ 29026 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_DIS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_DIS_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_DIS_MASK) 29027 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_OFFSET_MASK (0xF0000U) 29028 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_OFFSET_SHIFT (16U) 29029 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_OFFSET_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_OFFSET_MASK) 29030 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_MANUAL_MASK (0x1F00000U) 29031 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_MANUAL_SHIFT (20U) 29032 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_MANUAL_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_MANUAL_MASK) 29033 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_DIS_MASK (0x2000000U) 29034 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_DIS_SHIFT (25U) 29035 /*! BBA2_RCCAL_DIS - BBA2 RC Calibration Disable 29036 * 0b0..BBA2 RC Calibration is enabled 29037 * 0b1..BBA2 RC Calibration is disabled 29038 */ 29039 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_DIS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_DIS_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_DIS_MASK) 29040 /*! @} */ 29041 29042 /*! @name RX_RCCAL_STAT - RX RC Calibration Status */ 29043 /*! @{ */ 29044 #define XCVR_RX_DIG_RX_RCCAL_STAT_RCCAL_CODE_MASK (0x1FU) 29045 #define XCVR_RX_DIG_RX_RCCAL_STAT_RCCAL_CODE_SHIFT (0U) 29046 #define XCVR_RX_DIG_RX_RCCAL_STAT_RCCAL_CODE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_STAT_RCCAL_CODE_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_STAT_RCCAL_CODE_MASK) 29047 #define XCVR_RX_DIG_RX_RCCAL_STAT_ADC_RCCAL_MASK (0x3E0U) 29048 #define XCVR_RX_DIG_RX_RCCAL_STAT_ADC_RCCAL_SHIFT (5U) 29049 #define XCVR_RX_DIG_RX_RCCAL_STAT_ADC_RCCAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_STAT_ADC_RCCAL_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_STAT_ADC_RCCAL_MASK) 29050 #define XCVR_RX_DIG_RX_RCCAL_STAT_BBA2_RCCAL_MASK (0x7C00U) 29051 #define XCVR_RX_DIG_RX_RCCAL_STAT_BBA2_RCCAL_SHIFT (10U) 29052 #define XCVR_RX_DIG_RX_RCCAL_STAT_BBA2_RCCAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_STAT_BBA2_RCCAL_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_STAT_BBA2_RCCAL_MASK) 29053 #define XCVR_RX_DIG_RX_RCCAL_STAT_BBA_RCCAL_MASK (0x1F0000U) 29054 #define XCVR_RX_DIG_RX_RCCAL_STAT_BBA_RCCAL_SHIFT (16U) 29055 #define XCVR_RX_DIG_RX_RCCAL_STAT_BBA_RCCAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_STAT_BBA_RCCAL_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_STAT_BBA_RCCAL_MASK) 29056 #define XCVR_RX_DIG_RX_RCCAL_STAT_TZA_RCCAL_MASK (0x3E00000U) 29057 #define XCVR_RX_DIG_RX_RCCAL_STAT_TZA_RCCAL_SHIFT (21U) 29058 #define XCVR_RX_DIG_RX_RCCAL_STAT_TZA_RCCAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_RX_RCCAL_STAT_TZA_RCCAL_SHIFT)) & XCVR_RX_DIG_RX_RCCAL_STAT_TZA_RCCAL_MASK) 29059 /*! @} */ 29060 29061 /*! @name AUXPLL_FCAL_CTRL - Aux PLL Frequency Calibration Control */ 29062 /*! @{ */ 29063 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST_MANUAL_MASK (0x7FU) 29064 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST_MANUAL_SHIFT (0U) 29065 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST_MANUAL_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST_MANUAL_MASK) 29066 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_AUXPLL_DAC_CAL_ADJUST_DIS_MASK (0x80U) 29067 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_AUXPLL_DAC_CAL_ADJUST_DIS_SHIFT (7U) 29068 /*! AUXPLL_DAC_CAL_ADJUST_DIS - Aux PLL Frequency Calibration Disable 29069 * 0b0..Calibration is enabled 29070 * 0b1..Calibration is disabled 29071 */ 29072 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_AUXPLL_DAC_CAL_ADJUST_DIS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CTRL_AUXPLL_DAC_CAL_ADJUST_DIS_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CTRL_AUXPLL_DAC_CAL_ADJUST_DIS_MASK) 29073 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_RUN_CNT_MASK (0x100U) 29074 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_RUN_CNT_SHIFT (8U) 29075 /*! FCAL_RUN_CNT - Aux PLL Frequency Calibration Run Count 29076 * 0b0..Run count is 256 clock cycles 29077 * 0b1..Run count is 512 clock cycles 29078 */ 29079 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_RUN_CNT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_RUN_CNT_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_RUN_CNT_MASK) 29080 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_COMP_INV_MASK (0x200U) 29081 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_COMP_INV_SHIFT (9U) 29082 /*! FCAL_COMP_INV - Aux PLL Frequency Calibration Comparison Invert 29083 * 0b0..(Default) The comparison associated with the count is not inverted. 29084 * 0b1..The comparison associated with the count is inverted 29085 */ 29086 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_COMP_INV(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_COMP_INV_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_COMP_INV_MASK) 29087 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_SMP_DLY_MASK (0xC00U) 29088 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_SMP_DLY_SHIFT (10U) 29089 /*! FCAL_SMP_DLY - Aux PLL Frequency Calibration Sample Delay 29090 * 0b00..The count signal is sampled 1 clk cycle after fcal_run signal is deasserted 29091 * 0b01..The count signal is sampled 2 clk cycle after fcal_run signal is deasserted 29092 * 0b10..The count signal is sampled 3 clk cycle after fcal_run signal is deasserted 29093 * 0b11..The count signal is sampled 4 clk cycle after fcal_run signal is deasserted 29094 */ 29095 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_SMP_DLY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_SMP_DLY_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_SMP_DLY_MASK) 29096 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST_MASK (0x7F0000U) 29097 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST_SHIFT (16U) 29098 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST_MASK) 29099 /*! @} */ 29100 29101 /*! @name AUXPLL_FCAL_CNT6 - Aux PLL Frequency Calibration Count 6 */ 29102 /*! @{ */ 29103 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_COUNT_6_MASK (0x3FFU) 29104 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_COUNT_6_SHIFT (0U) 29105 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_COUNT_6(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_COUNT_6_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_COUNT_6_MASK) 29106 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_BESTDIFF_MASK (0x3FF0000U) 29107 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_BESTDIFF_SHIFT (16U) 29108 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_BESTDIFF(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_BESTDIFF_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_BESTDIFF_MASK) 29109 /*! @} */ 29110 29111 /*! @name AUXPLL_FCAL_CNT5_4 - Aux PLL Frequency Calibration Count 5 and 4 */ 29112 /*! @{ */ 29113 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_4_MASK (0x3FFU) 29114 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_4_SHIFT (0U) 29115 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_4(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_4_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_4_MASK) 29116 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_5_MASK (0x3FF0000U) 29117 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_5_SHIFT (16U) 29118 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_5(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_5_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_5_MASK) 29119 /*! @} */ 29120 29121 /*! @name AUXPLL_FCAL_CNT3_2 - Aux PLL Frequency Calibration Count 3 and 2 */ 29122 /*! @{ */ 29123 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_2_MASK (0x3FFU) 29124 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_2_SHIFT (0U) 29125 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_2_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_2_MASK) 29126 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_3_MASK (0x3FF0000U) 29127 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_3_SHIFT (16U) 29128 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_3_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_3_MASK) 29129 /*! @} */ 29130 29131 /*! @name AUXPLL_FCAL_CNT1_0 - Aux PLL Frequency Calibration Count 1 and 0 */ 29132 /*! @{ */ 29133 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_0_MASK (0x3FFU) 29134 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_0_SHIFT (0U) 29135 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_0_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_0_MASK) 29136 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_1_MASK (0x3FF0000U) 29137 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_1_SHIFT (16U) 29138 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_1_SHIFT)) & XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_1_MASK) 29139 /*! @} */ 29140 29141 29142 /*! 29143 * @} 29144 */ /* end of group XCVR_RX_DIG_Register_Masks */ 29145 29146 29147 /* XCVR_RX_DIG - Peripheral instance base addresses */ 29148 /** Peripheral XCVR_RX_DIG base address */ 29149 #define XCVR_RX_DIG_BASE (0x41030000u) 29150 /** Peripheral XCVR_RX_DIG base pointer */ 29151 #define XCVR_RX_DIG ((XCVR_RX_DIG_Type *)XCVR_RX_DIG_BASE) 29152 /** Array initializer of XCVR_RX_DIG peripheral base addresses */ 29153 #define XCVR_RX_DIG_BASE_ADDRS { XCVR_RX_DIG_BASE } 29154 /** Array initializer of XCVR_RX_DIG peripheral base pointers */ 29155 #define XCVR_RX_DIG_BASE_PTRS { XCVR_RX_DIG } 29156 29157 /*! 29158 * @} 29159 */ /* end of group XCVR_RX_DIG_Peripheral_Access_Layer */ 29160 29161 29162 /* ---------------------------------------------------------------------------- 29163 -- XCVR_TSM Peripheral Access Layer 29164 ---------------------------------------------------------------------------- */ 29165 29166 /*! 29167 * @addtogroup XCVR_TSM_Peripheral_Access_Layer XCVR_TSM Peripheral Access Layer 29168 * @{ 29169 */ 29170 29171 /** XCVR_TSM - Register Layout Typedef */ 29172 typedef struct { 29173 __IO uint32_t CTRL; /**< TSM CONTROL, offset: 0x0 */ 29174 __IO uint32_t END_OF_SEQ; /**< TSM END OF SEQUENCE, offset: 0x4 */ 29175 __IO uint32_t PA_POWER; /**< PA POWER, offset: 0x8 */ 29176 __IO uint32_t PA_RAMP_TBL0; /**< PA RAMP TABLE 0, offset: 0xC */ 29177 __IO uint32_t PA_RAMP_TBL1; /**< PA RAMP TABLE 1, offset: 0x10 */ 29178 __IO uint32_t PA_RAMP_TBL2; /**< PA RAMP TABLE 2, offset: 0x14 */ 29179 __IO uint32_t PA_RAMP_TBL3; /**< PA RAMP TABLE 3, offset: 0x18 */ 29180 uint8_t RESERVED_0[8]; 29181 __IO uint32_t RECYCLE_COUNT; /**< TSM RECYCLE COUNT, offset: 0x24 */ 29182 __IO uint32_t FAST_CTRL1; /**< TSM FAST WARMUP CONTROL 1, offset: 0x28 */ 29183 __IO uint32_t FAST_CTRL2; /**< TSM FAST WARMUP CONTROL 2, offset: 0x2C */ 29184 __IO uint32_t TIMING00; /**< TSM_TIMING00, offset: 0x30 */ 29185 __IO uint32_t TIMING01; /**< TSM_TIMING01, offset: 0x34 */ 29186 __IO uint32_t TIMING02; /**< TSM_TIMING02, offset: 0x38 */ 29187 __IO uint32_t TIMING03; /**< TSM_TIMING03, offset: 0x3C */ 29188 __IO uint32_t TIMING04; /**< TSM_TIMING04, offset: 0x40 */ 29189 __IO uint32_t TIMING05; /**< TSM_TIMING05, offset: 0x44 */ 29190 __IO uint32_t TIMING06; /**< TSM_TIMING06, offset: 0x48 */ 29191 __IO uint32_t TIMING07; /**< TSM_TIMING07, offset: 0x4C */ 29192 __IO uint32_t TIMING08; /**< TSM_TIMING08, offset: 0x50 */ 29193 __IO uint32_t TIMING09; /**< TSM_TIMING09, offset: 0x54 */ 29194 __IO uint32_t TIMING10; /**< TSM_TIMING10, offset: 0x58 */ 29195 __IO uint32_t TIMING11; /**< TSM_TIMING11, offset: 0x5C */ 29196 __IO uint32_t TIMING12; /**< TSM_TIMING12, offset: 0x60 */ 29197 __IO uint32_t TIMING13; /**< TSM_TIMING13, offset: 0x64 */ 29198 __IO uint32_t TIMING14; /**< TSM_TIMING14, offset: 0x68 */ 29199 __IO uint32_t TIMING15; /**< TSM_TIMING15, offset: 0x6C */ 29200 __IO uint32_t TIMING16; /**< TSM_TIMING16, offset: 0x70 */ 29201 __IO uint32_t TIMING17; /**< TSM_TIMING17, offset: 0x74 */ 29202 __IO uint32_t TIMING18; /**< TSM_TIMING18, offset: 0x78 */ 29203 __IO uint32_t TIMING19; /**< TSM_TIMING19, offset: 0x7C */ 29204 __IO uint32_t TIMING20; /**< TSM_TIMING20, offset: 0x80 */ 29205 __IO uint32_t TIMING21; /**< TSM_TIMING21, offset: 0x84 */ 29206 __IO uint32_t TIMING22; /**< TSM_TIMING22, offset: 0x88 */ 29207 __IO uint32_t TIMING23; /**< TSM_TIMING23, offset: 0x8C */ 29208 __IO uint32_t TIMING24; /**< TSM_TIMING24, offset: 0x90 */ 29209 __IO uint32_t TIMING25; /**< TSM_TIMING25, offset: 0x94 */ 29210 __IO uint32_t TIMING26; /**< TSM_TIMING26, offset: 0x98 */ 29211 __IO uint32_t TIMING27; /**< TSM_TIMING27, offset: 0x9C */ 29212 __IO uint32_t TIMING28; /**< TSM_TIMING28, offset: 0xA0 */ 29213 __IO uint32_t TIMING29; /**< TSM_TIMING29, offset: 0xA4 */ 29214 __IO uint32_t TIMING30; /**< TSM_TIMING30, offset: 0xA8 */ 29215 __IO uint32_t TIMING31; /**< TSM_TIMING31, offset: 0xAC */ 29216 __IO uint32_t TIMING32; /**< TSM_TIMING32, offset: 0xB0 */ 29217 __IO uint32_t TIMING33; /**< TSM_TIMING33, offset: 0xB4 */ 29218 __IO uint32_t TIMING34; /**< TSM_TIMING34, offset: 0xB8 */ 29219 __IO uint32_t TIMING35; /**< TSM_TIMING35, offset: 0xBC */ 29220 __IO uint32_t TIMING36; /**< TSM_TIMING36, offset: 0xC0 */ 29221 __IO uint32_t TIMING37; /**< TSM_TIMING37, offset: 0xC4 */ 29222 __IO uint32_t TIMING38; /**< TSM_TIMING38, offset: 0xC8 */ 29223 __IO uint32_t TIMING39; /**< TSM_TIMING39, offset: 0xCC */ 29224 __IO uint32_t TIMING40; /**< TSM_TIMING40, offset: 0xD0 */ 29225 __IO uint32_t TIMING41; /**< TSM_TIMING41, offset: 0xD4 */ 29226 __IO uint32_t TIMING42; /**< TSM_TIMING42, offset: 0xD8 */ 29227 __IO uint32_t TIMING43; /**< TSM_TIMING43, offset: 0xDC */ 29228 __IO uint32_t TIMING44; /**< TSM_TIMING44, offset: 0xE0 */ 29229 __IO uint32_t TIMING45; /**< TSM_TIMING45, offset: 0xE4 */ 29230 __IO uint32_t TIMING46; /**< TSM_TIMING46, offset: 0xE8 */ 29231 __IO uint32_t TIMING47; /**< TSM_TIMING47, offset: 0xEC */ 29232 __IO uint32_t TIMING48; /**< TSM_TIMING48, offset: 0xF0 */ 29233 __IO uint32_t TIMING49; /**< TSM_TIMING49, offset: 0xF4 */ 29234 __IO uint32_t TIMING50; /**< TSM_TIMING50, offset: 0xF8 */ 29235 __IO uint32_t TIMING51; /**< TSM_TIMING51, offset: 0xFC */ 29236 __IO uint32_t TIMING52; /**< TSM_TIMING52, offset: 0x100 */ 29237 __IO uint32_t TIMING53; /**< TSM_TIMING53, offset: 0x104 */ 29238 __IO uint32_t TIMING54; /**< TSM_TIMING54, offset: 0x108 */ 29239 __IO uint32_t TIMING55; /**< TSM_TIMING55, offset: 0x10C */ 29240 __IO uint32_t TIMING56; /**< TSM_TIMING56, offset: 0x110 */ 29241 __IO uint32_t TIMING57; /**< TSM_TIMING57, offset: 0x114 */ 29242 __IO uint32_t TIMING58; /**< TSM_TIMING58, offset: 0x118 */ 29243 __IO uint32_t OVRD0; /**< TSM OVERRIDE REGISTER 0, offset: 0x11C */ 29244 __IO uint32_t OVRD1; /**< TSM OVERRIDE REGISTER 1, offset: 0x120 */ 29245 __IO uint32_t OVRD2; /**< TSM OVERRIDE REGISTER 2, offset: 0x124 */ 29246 __IO uint32_t OVRD3; /**< TSM OVERRIDE REGISTER 3, offset: 0x128 */ 29247 } XCVR_TSM_Type; 29248 29249 /* ---------------------------------------------------------------------------- 29250 -- XCVR_TSM Register Masks 29251 ---------------------------------------------------------------------------- */ 29252 29253 /*! 29254 * @addtogroup XCVR_TSM_Register_Masks XCVR_TSM Register Masks 29255 * @{ 29256 */ 29257 29258 /*! @name CTRL - TSM CONTROL */ 29259 /*! @{ */ 29260 #define XCVR_TSM_CTRL_TSM_SOFT_RESET_MASK (0x2U) 29261 #define XCVR_TSM_CTRL_TSM_SOFT_RESET_SHIFT (1U) 29262 /*! TSM_SOFT_RESET - TSM Soft Reset 29263 * 0b0..TSM Soft Reset removed. Normal operation. 29264 * 0b1..TSM Soft Reset engaged. TSM forced to IDLE, and holds there until the bit is cleared. 29265 */ 29266 #define XCVR_TSM_CTRL_TSM_SOFT_RESET(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_TSM_SOFT_RESET_SHIFT)) & XCVR_TSM_CTRL_TSM_SOFT_RESET_MASK) 29267 #define XCVR_TSM_CTRL_FORCE_TX_EN_MASK (0x4U) 29268 #define XCVR_TSM_CTRL_FORCE_TX_EN_SHIFT (2U) 29269 /*! FORCE_TX_EN - Force Transmit Enable 29270 * 0b0..TSM Idle 29271 * 0b1..TSM executes a TX sequence 29272 */ 29273 #define XCVR_TSM_CTRL_FORCE_TX_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_FORCE_TX_EN_SHIFT)) & XCVR_TSM_CTRL_FORCE_TX_EN_MASK) 29274 #define XCVR_TSM_CTRL_FORCE_RX_EN_MASK (0x8U) 29275 #define XCVR_TSM_CTRL_FORCE_RX_EN_SHIFT (3U) 29276 /*! FORCE_RX_EN - Force Receive Enable 29277 * 0b0..TSM Idle 29278 * 0b1..TSM executes a RX sequence 29279 */ 29280 #define XCVR_TSM_CTRL_FORCE_RX_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_FORCE_RX_EN_SHIFT)) & XCVR_TSM_CTRL_FORCE_RX_EN_MASK) 29281 #define XCVR_TSM_CTRL_PA_RAMP_SEL_MASK (0x30U) 29282 #define XCVR_TSM_CTRL_PA_RAMP_SEL_SHIFT (4U) 29283 #define XCVR_TSM_CTRL_PA_RAMP_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_PA_RAMP_SEL_SHIFT)) & XCVR_TSM_CTRL_PA_RAMP_SEL_MASK) 29284 #define XCVR_TSM_CTRL_DATA_PADDING_EN_MASK (0xC0U) 29285 #define XCVR_TSM_CTRL_DATA_PADDING_EN_SHIFT (6U) 29286 /*! DATA_PADDING_EN - Data Padding Enable 29287 * 0b00..Disable TX Data Padding 29288 * 0b01..Enable TX Data Padding 29289 */ 29290 #define XCVR_TSM_CTRL_DATA_PADDING_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_DATA_PADDING_EN_SHIFT)) & XCVR_TSM_CTRL_DATA_PADDING_EN_MASK) 29291 #define XCVR_TSM_CTRL_TSM_IRQ0_EN_MASK (0x100U) 29292 #define XCVR_TSM_CTRL_TSM_IRQ0_EN_SHIFT (8U) 29293 /*! TSM_IRQ0_EN - TSM_IRQ0 Enable/Disable bit 29294 * 0b0..TSM_IRQ0 is disabled 29295 * 0b1..TSM_IRQ0 is enabled 29296 */ 29297 #define XCVR_TSM_CTRL_TSM_IRQ0_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_TSM_IRQ0_EN_SHIFT)) & XCVR_TSM_CTRL_TSM_IRQ0_EN_MASK) 29298 #define XCVR_TSM_CTRL_TSM_IRQ1_EN_MASK (0x200U) 29299 #define XCVR_TSM_CTRL_TSM_IRQ1_EN_SHIFT (9U) 29300 /*! TSM_IRQ1_EN - TSM_IRQ1 Enable/Disable bit 29301 * 0b0..TSM_IRQ1 is disabled 29302 * 0b1..TSM_IRQ1 is enabled 29303 */ 29304 #define XCVR_TSM_CTRL_TSM_IRQ1_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_TSM_IRQ1_EN_SHIFT)) & XCVR_TSM_CTRL_TSM_IRQ1_EN_MASK) 29305 #define XCVR_TSM_CTRL_RAMP_DN_DELAY_MASK (0xF000U) 29306 #define XCVR_TSM_CTRL_RAMP_DN_DELAY_SHIFT (12U) 29307 #define XCVR_TSM_CTRL_RAMP_DN_DELAY(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_RAMP_DN_DELAY_SHIFT)) & XCVR_TSM_CTRL_RAMP_DN_DELAY_MASK) 29308 #define XCVR_TSM_CTRL_TX_ABORT_DIS_MASK (0x10000U) 29309 #define XCVR_TSM_CTRL_TX_ABORT_DIS_SHIFT (16U) 29310 #define XCVR_TSM_CTRL_TX_ABORT_DIS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_TX_ABORT_DIS_SHIFT)) & XCVR_TSM_CTRL_TX_ABORT_DIS_MASK) 29311 #define XCVR_TSM_CTRL_RX_ABORT_DIS_MASK (0x20000U) 29312 #define XCVR_TSM_CTRL_RX_ABORT_DIS_SHIFT (17U) 29313 #define XCVR_TSM_CTRL_RX_ABORT_DIS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_RX_ABORT_DIS_SHIFT)) & XCVR_TSM_CTRL_RX_ABORT_DIS_MASK) 29314 #define XCVR_TSM_CTRL_ABORT_ON_CTUNE_MASK (0x40000U) 29315 #define XCVR_TSM_CTRL_ABORT_ON_CTUNE_SHIFT (18U) 29316 /*! ABORT_ON_CTUNE - Abort On Coarse Tune Lock Detect Failure 29317 * 0b0..don't allow TSM abort on Coarse Tune Unlock Detect 29318 * 0b1..allow TSM abort on Coarse Tune Unlock Detect 29319 */ 29320 #define XCVR_TSM_CTRL_ABORT_ON_CTUNE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_ABORT_ON_CTUNE_SHIFT)) & XCVR_TSM_CTRL_ABORT_ON_CTUNE_MASK) 29321 #define XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_MASK (0x80000U) 29322 #define XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_SHIFT (19U) 29323 /*! ABORT_ON_CYCLE_SLIP - Abort On Cycle Slip Lock Detect Failure 29324 * 0b0..don't allow TSM abort on Cycle Slip Unlock Detect 29325 * 0b1..allow TSM abort on Cycle Slip Unlock Detect 29326 */ 29327 #define XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_SHIFT)) & XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_MASK) 29328 #define XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_MASK (0x100000U) 29329 #define XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_SHIFT (20U) 29330 /*! ABORT_ON_FREQ_TARG - Abort On Frequency Target Lock Detect Failure 29331 * 0b0..don't allow TSM abort on Frequency Target Unlock Detect 29332 * 0b1..allow TSM abort on Frequency Target Unlock Detect 29333 */ 29334 #define XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_SHIFT)) & XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_MASK) 29335 #define XCVR_TSM_CTRL_BKPT_MASK (0xFF000000U) 29336 #define XCVR_TSM_CTRL_BKPT_SHIFT (24U) 29337 #define XCVR_TSM_CTRL_BKPT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_BKPT_SHIFT)) & XCVR_TSM_CTRL_BKPT_MASK) 29338 /*! @} */ 29339 29340 /*! @name END_OF_SEQ - TSM END OF SEQUENCE */ 29341 /*! @{ */ 29342 #define XCVR_TSM_END_OF_SEQ_END_OF_TX_WU_MASK (0xFFU) 29343 #define XCVR_TSM_END_OF_SEQ_END_OF_TX_WU_SHIFT (0U) 29344 #define XCVR_TSM_END_OF_SEQ_END_OF_TX_WU(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_END_OF_SEQ_END_OF_TX_WU_SHIFT)) & XCVR_TSM_END_OF_SEQ_END_OF_TX_WU_MASK) 29345 #define XCVR_TSM_END_OF_SEQ_END_OF_TX_WD_MASK (0xFF00U) 29346 #define XCVR_TSM_END_OF_SEQ_END_OF_TX_WD_SHIFT (8U) 29347 #define XCVR_TSM_END_OF_SEQ_END_OF_TX_WD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_END_OF_SEQ_END_OF_TX_WD_SHIFT)) & XCVR_TSM_END_OF_SEQ_END_OF_TX_WD_MASK) 29348 #define XCVR_TSM_END_OF_SEQ_END_OF_RX_WU_MASK (0xFF0000U) 29349 #define XCVR_TSM_END_OF_SEQ_END_OF_RX_WU_SHIFT (16U) 29350 #define XCVR_TSM_END_OF_SEQ_END_OF_RX_WU(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_END_OF_SEQ_END_OF_RX_WU_SHIFT)) & XCVR_TSM_END_OF_SEQ_END_OF_RX_WU_MASK) 29351 #define XCVR_TSM_END_OF_SEQ_END_OF_RX_WD_MASK (0xFF000000U) 29352 #define XCVR_TSM_END_OF_SEQ_END_OF_RX_WD_SHIFT (24U) 29353 #define XCVR_TSM_END_OF_SEQ_END_OF_RX_WD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_END_OF_SEQ_END_OF_RX_WD_SHIFT)) & XCVR_TSM_END_OF_SEQ_END_OF_RX_WD_MASK) 29354 /*! @} */ 29355 29356 /*! @name PA_POWER - PA POWER */ 29357 /*! @{ */ 29358 #define XCVR_TSM_PA_POWER_PA_POWER_MASK (0x3FU) 29359 #define XCVR_TSM_PA_POWER_PA_POWER_SHIFT (0U) 29360 #define XCVR_TSM_PA_POWER_PA_POWER(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_POWER_PA_POWER_SHIFT)) & XCVR_TSM_PA_POWER_PA_POWER_MASK) 29361 /*! @} */ 29362 29363 /*! @name PA_RAMP_TBL0 - PA RAMP TABLE 0 */ 29364 /*! @{ */ 29365 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP0_MASK (0x3FU) 29366 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP0_SHIFT (0U) 29367 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL0_PA_RAMP0_SHIFT)) & XCVR_TSM_PA_RAMP_TBL0_PA_RAMP0_MASK) 29368 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP1_MASK (0x3F00U) 29369 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP1_SHIFT (8U) 29370 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL0_PA_RAMP1_SHIFT)) & XCVR_TSM_PA_RAMP_TBL0_PA_RAMP1_MASK) 29371 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP2_MASK (0x3F0000U) 29372 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP2_SHIFT (16U) 29373 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL0_PA_RAMP2_SHIFT)) & XCVR_TSM_PA_RAMP_TBL0_PA_RAMP2_MASK) 29374 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP3_MASK (0x3F000000U) 29375 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP3_SHIFT (24U) 29376 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL0_PA_RAMP3_SHIFT)) & XCVR_TSM_PA_RAMP_TBL0_PA_RAMP3_MASK) 29377 /*! @} */ 29378 29379 /*! @name PA_RAMP_TBL1 - PA RAMP TABLE 1 */ 29380 /*! @{ */ 29381 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP4_MASK (0x3FU) 29382 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP4_SHIFT (0U) 29383 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP4(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL1_PA_RAMP4_SHIFT)) & XCVR_TSM_PA_RAMP_TBL1_PA_RAMP4_MASK) 29384 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP5_MASK (0x3F00U) 29385 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP5_SHIFT (8U) 29386 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP5(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL1_PA_RAMP5_SHIFT)) & XCVR_TSM_PA_RAMP_TBL1_PA_RAMP5_MASK) 29387 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP6_MASK (0x3F0000U) 29388 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP6_SHIFT (16U) 29389 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP6(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL1_PA_RAMP6_SHIFT)) & XCVR_TSM_PA_RAMP_TBL1_PA_RAMP6_MASK) 29390 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP7_MASK (0x3F000000U) 29391 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP7_SHIFT (24U) 29392 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP7(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL1_PA_RAMP7_SHIFT)) & XCVR_TSM_PA_RAMP_TBL1_PA_RAMP7_MASK) 29393 /*! @} */ 29394 29395 /*! @name PA_RAMP_TBL2 - PA RAMP TABLE 2 */ 29396 /*! @{ */ 29397 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP8_MASK (0x3FU) 29398 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP8_SHIFT (0U) 29399 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP8(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL2_PA_RAMP8_SHIFT)) & XCVR_TSM_PA_RAMP_TBL2_PA_RAMP8_MASK) 29400 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP9_MASK (0x3F00U) 29401 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP9_SHIFT (8U) 29402 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP9(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL2_PA_RAMP9_SHIFT)) & XCVR_TSM_PA_RAMP_TBL2_PA_RAMP9_MASK) 29403 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP10_MASK (0x3F0000U) 29404 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP10_SHIFT (16U) 29405 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP10(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL2_PA_RAMP10_SHIFT)) & XCVR_TSM_PA_RAMP_TBL2_PA_RAMP10_MASK) 29406 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP11_MASK (0x3F000000U) 29407 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP11_SHIFT (24U) 29408 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP11(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL2_PA_RAMP11_SHIFT)) & XCVR_TSM_PA_RAMP_TBL2_PA_RAMP11_MASK) 29409 /*! @} */ 29410 29411 /*! @name PA_RAMP_TBL3 - PA RAMP TABLE 3 */ 29412 /*! @{ */ 29413 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP12_MASK (0x3FU) 29414 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP12_SHIFT (0U) 29415 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP12(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL3_PA_RAMP12_SHIFT)) & XCVR_TSM_PA_RAMP_TBL3_PA_RAMP12_MASK) 29416 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP13_MASK (0x3F00U) 29417 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP13_SHIFT (8U) 29418 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP13(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL3_PA_RAMP13_SHIFT)) & XCVR_TSM_PA_RAMP_TBL3_PA_RAMP13_MASK) 29419 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP14_MASK (0x3F0000U) 29420 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP14_SHIFT (16U) 29421 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP14(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL3_PA_RAMP14_SHIFT)) & XCVR_TSM_PA_RAMP_TBL3_PA_RAMP14_MASK) 29422 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP15_MASK (0x3F000000U) 29423 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP15_SHIFT (24U) 29424 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP15(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_PA_RAMP_TBL3_PA_RAMP15_SHIFT)) & XCVR_TSM_PA_RAMP_TBL3_PA_RAMP15_MASK) 29425 /*! @} */ 29426 29427 /*! @name RECYCLE_COUNT - TSM RECYCLE COUNT */ 29428 /*! @{ */ 29429 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT0_MASK (0xFFU) 29430 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT0_SHIFT (0U) 29431 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT0_SHIFT)) & XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT0_MASK) 29432 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT1_MASK (0xFF00U) 29433 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT1_SHIFT (8U) 29434 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT1_SHIFT)) & XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT1_MASK) 29435 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT2_MASK (0xFF0000U) 29436 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT2_SHIFT (16U) 29437 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT2_SHIFT)) & XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT2_MASK) 29438 /*! @} */ 29439 29440 /*! @name FAST_CTRL1 - TSM FAST WARMUP CONTROL 1 */ 29441 /*! @{ */ 29442 #define XCVR_TSM_FAST_CTRL1_FAST_TX_WU_EN_MASK (0x1U) 29443 #define XCVR_TSM_FAST_CTRL1_FAST_TX_WU_EN_SHIFT (0U) 29444 /*! FAST_TX_WU_EN - Fast TSM TX Warmup Enable 29445 * 0b0..Fast TSM TX Warmups are disabled 29446 * 0b1..Fast TSM TX Warmups are enabled, if the RF channel has not changed since the last TX warmup, and for BLE mode, the RF channel is not an advertising channel. 29447 */ 29448 #define XCVR_TSM_FAST_CTRL1_FAST_TX_WU_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_FAST_CTRL1_FAST_TX_WU_EN_SHIFT)) & XCVR_TSM_FAST_CTRL1_FAST_TX_WU_EN_MASK) 29449 #define XCVR_TSM_FAST_CTRL1_FAST_RX_WU_EN_MASK (0x2U) 29450 #define XCVR_TSM_FAST_CTRL1_FAST_RX_WU_EN_SHIFT (1U) 29451 /*! FAST_RX_WU_EN - Fast TSM RX Warmup Enable 29452 * 0b0..Fast TSM RX Warmups are disabled 29453 * 0b1..Fast TSM RX Warmups are enabled, if the RF channel has not changed since the last RX warmup, and for BLE mode, the RF channel is not an advertising channel. 29454 */ 29455 #define XCVR_TSM_FAST_CTRL1_FAST_RX_WU_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_FAST_CTRL1_FAST_RX_WU_EN_SHIFT)) & XCVR_TSM_FAST_CTRL1_FAST_RX_WU_EN_MASK) 29456 #define XCVR_TSM_FAST_CTRL1_FAST_RX2TX_EN_MASK (0x4U) 29457 #define XCVR_TSM_FAST_CTRL1_FAST_RX2TX_EN_SHIFT (2U) 29458 /*! FAST_RX2TX_EN - Fast TSM RX-to-TX Transition Enable 29459 * 0b0..Disable Fast RX-to-TX transitions 29460 * 0b1..Enable Fast RX-to-TX transitions (if fast_rx2tx_wu is asserted by 802.15.4 ZSM) 29461 */ 29462 #define XCVR_TSM_FAST_CTRL1_FAST_RX2TX_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_FAST_CTRL1_FAST_RX2TX_EN_SHIFT)) & XCVR_TSM_FAST_CTRL1_FAST_RX2TX_EN_MASK) 29463 #define XCVR_TSM_FAST_CTRL1_FAST_WU_CLEAR_MASK (0x8U) 29464 #define XCVR_TSM_FAST_CTRL1_FAST_WU_CLEAR_SHIFT (3U) 29465 #define XCVR_TSM_FAST_CTRL1_FAST_WU_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_FAST_CTRL1_FAST_WU_CLEAR_SHIFT)) & XCVR_TSM_FAST_CTRL1_FAST_WU_CLEAR_MASK) 29466 #define XCVR_TSM_FAST_CTRL1_FAST_RX2TX_START_MASK (0xFF00U) 29467 #define XCVR_TSM_FAST_CTRL1_FAST_RX2TX_START_SHIFT (8U) 29468 #define XCVR_TSM_FAST_CTRL1_FAST_RX2TX_START(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_FAST_CTRL1_FAST_RX2TX_START_SHIFT)) & XCVR_TSM_FAST_CTRL1_FAST_RX2TX_START_MASK) 29469 /*! @} */ 29470 29471 /*! @name FAST_CTRL2 - TSM FAST WARMUP CONTROL 2 */ 29472 /*! @{ */ 29473 #define XCVR_TSM_FAST_CTRL2_FAST_START_TX_MASK (0xFFU) 29474 #define XCVR_TSM_FAST_CTRL2_FAST_START_TX_SHIFT (0U) 29475 #define XCVR_TSM_FAST_CTRL2_FAST_START_TX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_FAST_CTRL2_FAST_START_TX_SHIFT)) & XCVR_TSM_FAST_CTRL2_FAST_START_TX_MASK) 29476 #define XCVR_TSM_FAST_CTRL2_FAST_DEST_TX_MASK (0xFF00U) 29477 #define XCVR_TSM_FAST_CTRL2_FAST_DEST_TX_SHIFT (8U) 29478 #define XCVR_TSM_FAST_CTRL2_FAST_DEST_TX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_FAST_CTRL2_FAST_DEST_TX_SHIFT)) & XCVR_TSM_FAST_CTRL2_FAST_DEST_TX_MASK) 29479 #define XCVR_TSM_FAST_CTRL2_FAST_START_RX_MASK (0xFF0000U) 29480 #define XCVR_TSM_FAST_CTRL2_FAST_START_RX_SHIFT (16U) 29481 #define XCVR_TSM_FAST_CTRL2_FAST_START_RX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_FAST_CTRL2_FAST_START_RX_SHIFT)) & XCVR_TSM_FAST_CTRL2_FAST_START_RX_MASK) 29482 #define XCVR_TSM_FAST_CTRL2_FAST_DEST_RX_MASK (0xFF000000U) 29483 #define XCVR_TSM_FAST_CTRL2_FAST_DEST_RX_SHIFT (24U) 29484 #define XCVR_TSM_FAST_CTRL2_FAST_DEST_RX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_FAST_CTRL2_FAST_DEST_RX_SHIFT)) & XCVR_TSM_FAST_CTRL2_FAST_DEST_RX_MASK) 29485 /*! @} */ 29486 29487 /*! @name TIMING00 - TSM_TIMING00 */ 29488 /*! @{ */ 29489 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_HI_MASK (0xFFU) 29490 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_HI_SHIFT (0U) 29491 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_HI_MASK) 29492 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_LO_MASK (0xFF00U) 29493 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_LO_SHIFT (8U) 29494 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_LO_MASK) 29495 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_HI_MASK (0xFF0000U) 29496 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_HI_SHIFT (16U) 29497 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_HI_MASK) 29498 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_LO_MASK (0xFF000000U) 29499 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_LO_SHIFT (24U) 29500 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_LO_MASK) 29501 /*! @} */ 29502 29503 /*! @name TIMING01 - TSM_TIMING01 */ 29504 /*! @{ */ 29505 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_HI_MASK (0xFFU) 29506 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_HI_SHIFT (0U) 29507 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_HI_MASK) 29508 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_LO_MASK (0xFF00U) 29509 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_LO_SHIFT (8U) 29510 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_LO_MASK) 29511 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_HI_MASK (0xFF0000U) 29512 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_HI_SHIFT (16U) 29513 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_HI_MASK) 29514 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_LO_MASK (0xFF000000U) 29515 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_LO_SHIFT (24U) 29516 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_LO_MASK) 29517 /*! @} */ 29518 29519 /*! @name TIMING02 - TSM_TIMING02 */ 29520 /*! @{ */ 29521 #define XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_HI_MASK (0xFF0000U) 29522 #define XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_HI_SHIFT (16U) 29523 #define XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_HI_MASK) 29524 #define XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_LO_MASK (0xFF000000U) 29525 #define XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_LO_SHIFT (24U) 29526 #define XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_LO_MASK) 29527 /*! @} */ 29528 29529 /*! @name TIMING03 - TSM_TIMING03 */ 29530 /*! @{ */ 29531 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_HI_MASK (0xFFU) 29532 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_HI_SHIFT (0U) 29533 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_HI_MASK) 29534 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_LO_MASK (0xFF00U) 29535 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_LO_SHIFT (8U) 29536 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_LO_MASK) 29537 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_HI_MASK (0xFF0000U) 29538 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_HI_SHIFT (16U) 29539 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_HI_MASK) 29540 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_LO_MASK (0xFF000000U) 29541 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_LO_SHIFT (24U) 29542 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_LO_MASK) 29543 /*! @} */ 29544 29545 /*! @name TIMING04 - TSM_TIMING04 */ 29546 /*! @{ */ 29547 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_HI_MASK (0xFFU) 29548 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_HI_SHIFT (0U) 29549 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_HI_MASK) 29550 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_LO_MASK (0xFF00U) 29551 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_LO_SHIFT (8U) 29552 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_LO_MASK) 29553 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_HI_MASK (0xFF0000U) 29554 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_HI_SHIFT (16U) 29555 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_HI_MASK) 29556 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_LO_MASK (0xFF000000U) 29557 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_LO_SHIFT (24U) 29558 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_LO_MASK) 29559 /*! @} */ 29560 29561 /*! @name TIMING05 - TSM_TIMING05 */ 29562 /*! @{ */ 29563 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_HI_MASK (0xFFU) 29564 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_HI_SHIFT (0U) 29565 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_HI_MASK) 29566 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_LO_MASK (0xFF00U) 29567 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_LO_SHIFT (8U) 29568 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_LO_MASK) 29569 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_HI_MASK (0xFF0000U) 29570 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_HI_SHIFT (16U) 29571 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_HI_MASK) 29572 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_LO_MASK (0xFF000000U) 29573 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_LO_SHIFT (24U) 29574 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_LO_MASK) 29575 /*! @} */ 29576 29577 /*! @name TIMING06 - TSM_TIMING06 */ 29578 /*! @{ */ 29579 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_HI_MASK (0xFFU) 29580 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_HI_SHIFT (0U) 29581 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_HI_MASK) 29582 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_LO_MASK (0xFF00U) 29583 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_LO_SHIFT (8U) 29584 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_LO_MASK) 29585 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_HI_MASK (0xFF0000U) 29586 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_HI_SHIFT (16U) 29587 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_HI_MASK) 29588 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_LO_MASK (0xFF000000U) 29589 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_LO_SHIFT (24U) 29590 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_LO_MASK) 29591 /*! @} */ 29592 29593 /*! @name TIMING07 - TSM_TIMING07 */ 29594 /*! @{ */ 29595 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_HI_MASK (0xFFU) 29596 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_HI_SHIFT (0U) 29597 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_HI_MASK) 29598 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_LO_MASK (0xFF00U) 29599 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_LO_SHIFT (8U) 29600 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_LO_MASK) 29601 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_HI_MASK (0xFF0000U) 29602 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_HI_SHIFT (16U) 29603 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_HI_MASK) 29604 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_LO_MASK (0xFF000000U) 29605 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_LO_SHIFT (24U) 29606 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_LO_MASK) 29607 /*! @} */ 29608 29609 /*! @name TIMING08 - TSM_TIMING08 */ 29610 /*! @{ */ 29611 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_HI_MASK (0xFFU) 29612 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_HI_SHIFT (0U) 29613 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_HI_MASK) 29614 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_LO_MASK (0xFF00U) 29615 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_LO_SHIFT (8U) 29616 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_LO_MASK) 29617 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_HI_MASK (0xFF0000U) 29618 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_HI_SHIFT (16U) 29619 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_HI_MASK) 29620 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_LO_MASK (0xFF000000U) 29621 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_LO_SHIFT (24U) 29622 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_LO_MASK) 29623 /*! @} */ 29624 29625 /*! @name TIMING09 - TSM_TIMING09 */ 29626 /*! @{ */ 29627 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_HI_MASK (0xFFU) 29628 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_HI_SHIFT (0U) 29629 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_HI_MASK) 29630 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_LO_MASK (0xFF00U) 29631 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_LO_SHIFT (8U) 29632 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_LO_MASK) 29633 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_HI_MASK (0xFF0000U) 29634 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_HI_SHIFT (16U) 29635 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_HI_MASK) 29636 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_LO_MASK (0xFF000000U) 29637 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_LO_SHIFT (24U) 29638 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_LO_MASK) 29639 /*! @} */ 29640 29641 /*! @name TIMING10 - TSM_TIMING10 */ 29642 /*! @{ */ 29643 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_HI_MASK (0xFFU) 29644 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_HI_SHIFT (0U) 29645 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_HI_MASK) 29646 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_LO_MASK (0xFF00U) 29647 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_LO_SHIFT (8U) 29648 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_LO_MASK) 29649 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_HI_MASK (0xFF0000U) 29650 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_HI_SHIFT (16U) 29651 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_HI_MASK) 29652 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_LO_MASK (0xFF000000U) 29653 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_LO_SHIFT (24U) 29654 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_LO_MASK) 29655 /*! @} */ 29656 29657 /*! @name TIMING11 - TSM_TIMING11 */ 29658 /*! @{ */ 29659 #define XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_HI_MASK (0xFFU) 29660 #define XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_HI_SHIFT (0U) 29661 #define XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_HI_MASK) 29662 #define XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_LO_MASK (0xFF00U) 29663 #define XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_LO_SHIFT (8U) 29664 #define XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_LO_MASK) 29665 /*! @} */ 29666 29667 /*! @name TIMING12 - TSM_TIMING12 */ 29668 /*! @{ */ 29669 #define XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_HI_MASK (0xFF0000U) 29670 #define XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_HI_SHIFT (16U) 29671 #define XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_HI_MASK) 29672 #define XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_LO_MASK (0xFF000000U) 29673 #define XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_LO_SHIFT (24U) 29674 #define XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_LO_MASK) 29675 /*! @} */ 29676 29677 /*! @name TIMING13 - TSM_TIMING13 */ 29678 /*! @{ */ 29679 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_HI_MASK (0xFFU) 29680 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_HI_SHIFT (0U) 29681 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_HI_SHIFT)) & XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_HI_MASK) 29682 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_LO_MASK (0xFF00U) 29683 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_LO_SHIFT (8U) 29684 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_LO_SHIFT)) & XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_LO_MASK) 29685 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_HI_MASK (0xFF0000U) 29686 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_HI_SHIFT (16U) 29687 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_HI_SHIFT)) & XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_HI_MASK) 29688 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_LO_MASK (0xFF000000U) 29689 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_LO_SHIFT (24U) 29690 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_LO_SHIFT)) & XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_LO_MASK) 29691 /*! @} */ 29692 29693 /*! @name TIMING14 - TSM_TIMING14 */ 29694 /*! @{ */ 29695 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_HI_MASK (0xFFU) 29696 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_HI_SHIFT (0U) 29697 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_HI_MASK) 29698 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_LO_MASK (0xFF00U) 29699 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_LO_SHIFT (8U) 29700 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_LO_MASK) 29701 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_HI_MASK (0xFF0000U) 29702 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_HI_SHIFT (16U) 29703 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_HI_MASK) 29704 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_LO_MASK (0xFF000000U) 29705 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_LO_SHIFT (24U) 29706 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_LO_MASK) 29707 /*! @} */ 29708 29709 /*! @name TIMING15 - TSM_TIMING15 */ 29710 /*! @{ */ 29711 #define XCVR_TSM_TIMING15_SY_VCO_EN_TX_HI_MASK (0xFFU) 29712 #define XCVR_TSM_TIMING15_SY_VCO_EN_TX_HI_SHIFT (0U) 29713 #define XCVR_TSM_TIMING15_SY_VCO_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING15_SY_VCO_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING15_SY_VCO_EN_TX_HI_MASK) 29714 #define XCVR_TSM_TIMING15_SY_VCO_EN_TX_LO_MASK (0xFF00U) 29715 #define XCVR_TSM_TIMING15_SY_VCO_EN_TX_LO_SHIFT (8U) 29716 #define XCVR_TSM_TIMING15_SY_VCO_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING15_SY_VCO_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING15_SY_VCO_EN_TX_LO_MASK) 29717 #define XCVR_TSM_TIMING15_SY_VCO_EN_RX_HI_MASK (0xFF0000U) 29718 #define XCVR_TSM_TIMING15_SY_VCO_EN_RX_HI_SHIFT (16U) 29719 #define XCVR_TSM_TIMING15_SY_VCO_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING15_SY_VCO_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING15_SY_VCO_EN_RX_HI_MASK) 29720 #define XCVR_TSM_TIMING15_SY_VCO_EN_RX_LO_MASK (0xFF000000U) 29721 #define XCVR_TSM_TIMING15_SY_VCO_EN_RX_LO_SHIFT (24U) 29722 #define XCVR_TSM_TIMING15_SY_VCO_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING15_SY_VCO_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING15_SY_VCO_EN_RX_LO_MASK) 29723 /*! @} */ 29724 29725 /*! @name TIMING16 - TSM_TIMING16 */ 29726 /*! @{ */ 29727 #define XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_HI_MASK (0xFF0000U) 29728 #define XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_HI_SHIFT (16U) 29729 #define XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_HI_MASK) 29730 #define XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_LO_MASK (0xFF000000U) 29731 #define XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_LO_SHIFT (24U) 29732 #define XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_LO_MASK) 29733 /*! @} */ 29734 29735 /*! @name TIMING17 - TSM_TIMING17 */ 29736 /*! @{ */ 29737 #define XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_HI_MASK (0xFFU) 29738 #define XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_HI_SHIFT (0U) 29739 #define XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_HI_MASK) 29740 #define XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_LO_MASK (0xFF00U) 29741 #define XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_LO_SHIFT (8U) 29742 #define XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_LO_MASK) 29743 /*! @} */ 29744 29745 /*! @name TIMING18 - TSM_TIMING18 */ 29746 /*! @{ */ 29747 #define XCVR_TSM_TIMING18_SY_DIVN_EN_TX_HI_MASK (0xFFU) 29748 #define XCVR_TSM_TIMING18_SY_DIVN_EN_TX_HI_SHIFT (0U) 29749 #define XCVR_TSM_TIMING18_SY_DIVN_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING18_SY_DIVN_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING18_SY_DIVN_EN_TX_HI_MASK) 29750 #define XCVR_TSM_TIMING18_SY_DIVN_EN_TX_LO_MASK (0xFF00U) 29751 #define XCVR_TSM_TIMING18_SY_DIVN_EN_TX_LO_SHIFT (8U) 29752 #define XCVR_TSM_TIMING18_SY_DIVN_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING18_SY_DIVN_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING18_SY_DIVN_EN_TX_LO_MASK) 29753 #define XCVR_TSM_TIMING18_SY_DIVN_EN_RX_HI_MASK (0xFF0000U) 29754 #define XCVR_TSM_TIMING18_SY_DIVN_EN_RX_HI_SHIFT (16U) 29755 #define XCVR_TSM_TIMING18_SY_DIVN_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING18_SY_DIVN_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING18_SY_DIVN_EN_RX_HI_MASK) 29756 #define XCVR_TSM_TIMING18_SY_DIVN_EN_RX_LO_MASK (0xFF000000U) 29757 #define XCVR_TSM_TIMING18_SY_DIVN_EN_RX_LO_SHIFT (24U) 29758 #define XCVR_TSM_TIMING18_SY_DIVN_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING18_SY_DIVN_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING18_SY_DIVN_EN_RX_LO_MASK) 29759 /*! @} */ 29760 29761 /*! @name TIMING19 - TSM_TIMING19 */ 29762 /*! @{ */ 29763 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_HI_MASK (0xFFU) 29764 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_HI_SHIFT (0U) 29765 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_HI_MASK) 29766 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_LO_MASK (0xFF00U) 29767 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_LO_SHIFT (8U) 29768 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_LO_MASK) 29769 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_HI_MASK (0xFF0000U) 29770 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_HI_SHIFT (16U) 29771 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_HI_MASK) 29772 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_LO_MASK (0xFF000000U) 29773 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_LO_SHIFT (24U) 29774 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_LO_MASK) 29775 /*! @} */ 29776 29777 /*! @name TIMING20 - TSM_TIMING20 */ 29778 /*! @{ */ 29779 #define XCVR_TSM_TIMING20_SY_PD_EN_TX_HI_MASK (0xFFU) 29780 #define XCVR_TSM_TIMING20_SY_PD_EN_TX_HI_SHIFT (0U) 29781 #define XCVR_TSM_TIMING20_SY_PD_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING20_SY_PD_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING20_SY_PD_EN_TX_HI_MASK) 29782 #define XCVR_TSM_TIMING20_SY_PD_EN_TX_LO_MASK (0xFF00U) 29783 #define XCVR_TSM_TIMING20_SY_PD_EN_TX_LO_SHIFT (8U) 29784 #define XCVR_TSM_TIMING20_SY_PD_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING20_SY_PD_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING20_SY_PD_EN_TX_LO_MASK) 29785 #define XCVR_TSM_TIMING20_SY_PD_EN_RX_HI_MASK (0xFF0000U) 29786 #define XCVR_TSM_TIMING20_SY_PD_EN_RX_HI_SHIFT (16U) 29787 #define XCVR_TSM_TIMING20_SY_PD_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING20_SY_PD_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING20_SY_PD_EN_RX_HI_MASK) 29788 #define XCVR_TSM_TIMING20_SY_PD_EN_RX_LO_MASK (0xFF000000U) 29789 #define XCVR_TSM_TIMING20_SY_PD_EN_RX_LO_SHIFT (24U) 29790 #define XCVR_TSM_TIMING20_SY_PD_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING20_SY_PD_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING20_SY_PD_EN_RX_LO_MASK) 29791 /*! @} */ 29792 29793 /*! @name TIMING21 - TSM_TIMING21 */ 29794 /*! @{ */ 29795 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_HI_MASK (0xFFU) 29796 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_HI_SHIFT (0U) 29797 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_HI_MASK) 29798 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_LO_MASK (0xFF00U) 29799 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_LO_SHIFT (8U) 29800 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_LO_MASK) 29801 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_HI_MASK (0xFF0000U) 29802 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_HI_SHIFT (16U) 29803 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_HI_MASK) 29804 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_LO_MASK (0xFF000000U) 29805 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_LO_SHIFT (24U) 29806 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_LO_MASK) 29807 /*! @} */ 29808 29809 /*! @name TIMING22 - TSM_TIMING22 */ 29810 /*! @{ */ 29811 #define XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_HI_MASK (0xFF0000U) 29812 #define XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_HI_SHIFT (16U) 29813 #define XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_HI_MASK) 29814 #define XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_LO_MASK (0xFF000000U) 29815 #define XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_LO_SHIFT (24U) 29816 #define XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_LO_MASK) 29817 /*! @} */ 29818 29819 /*! @name TIMING23 - TSM_TIMING23 */ 29820 /*! @{ */ 29821 #define XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_HI_MASK (0xFFU) 29822 #define XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_HI_SHIFT (0U) 29823 #define XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_HI_MASK) 29824 #define XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_LO_MASK (0xFF00U) 29825 #define XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_LO_SHIFT (8U) 29826 #define XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_LO_MASK) 29827 /*! @} */ 29828 29829 /*! @name TIMING24 - TSM_TIMING24 */ 29830 /*! @{ */ 29831 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_HI_MASK (0xFFU) 29832 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_HI_SHIFT (0U) 29833 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_HI_MASK) 29834 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_LO_MASK (0xFF00U) 29835 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_LO_SHIFT (8U) 29836 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_LO_MASK) 29837 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_HI_MASK (0xFF0000U) 29838 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_HI_SHIFT (16U) 29839 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_HI_MASK) 29840 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_LO_MASK (0xFF000000U) 29841 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_LO_SHIFT (24U) 29842 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_LO_MASK) 29843 /*! @} */ 29844 29845 /*! @name TIMING25 - TSM_TIMING25 */ 29846 /*! @{ */ 29847 #define XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_HI_MASK (0xFF0000U) 29848 #define XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_HI_SHIFT (16U) 29849 #define XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_HI_MASK) 29850 #define XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_LO_MASK (0xFF000000U) 29851 #define XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_LO_SHIFT (24U) 29852 #define XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_LO_MASK) 29853 /*! @} */ 29854 29855 /*! @name TIMING26 - TSM_TIMING26 */ 29856 /*! @{ */ 29857 #define XCVR_TSM_TIMING26_TX_PA_EN_TX_HI_MASK (0xFFU) 29858 #define XCVR_TSM_TIMING26_TX_PA_EN_TX_HI_SHIFT (0U) 29859 #define XCVR_TSM_TIMING26_TX_PA_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING26_TX_PA_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING26_TX_PA_EN_TX_HI_MASK) 29860 #define XCVR_TSM_TIMING26_TX_PA_EN_TX_LO_MASK (0xFF00U) 29861 #define XCVR_TSM_TIMING26_TX_PA_EN_TX_LO_SHIFT (8U) 29862 #define XCVR_TSM_TIMING26_TX_PA_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING26_TX_PA_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING26_TX_PA_EN_TX_LO_MASK) 29863 /*! @} */ 29864 29865 /*! @name TIMING27 - TSM_TIMING27 */ 29866 /*! @{ */ 29867 #define XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_HI_MASK (0xFF0000U) 29868 #define XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_HI_SHIFT (16U) 29869 #define XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_HI_MASK) 29870 #define XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_LO_MASK (0xFF000000U) 29871 #define XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_LO_SHIFT (24U) 29872 #define XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_LO_MASK) 29873 /*! @} */ 29874 29875 /*! @name TIMING28 - TSM_TIMING28 */ 29876 /*! @{ */ 29877 #define XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_HI_MASK (0xFF0000U) 29878 #define XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_HI_SHIFT (16U) 29879 #define XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_HI_MASK) 29880 #define XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_LO_MASK (0xFF000000U) 29881 #define XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_LO_SHIFT (24U) 29882 #define XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_LO_MASK) 29883 /*! @} */ 29884 29885 /*! @name TIMING29 - TSM_TIMING29 */ 29886 /*! @{ */ 29887 #define XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_HI_MASK (0xFF0000U) 29888 #define XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_HI_SHIFT (16U) 29889 #define XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_HI_MASK) 29890 #define XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_LO_MASK (0xFF000000U) 29891 #define XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_LO_SHIFT (24U) 29892 #define XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_LO_MASK) 29893 /*! @} */ 29894 29895 /*! @name TIMING30 - TSM_TIMING30 */ 29896 /*! @{ */ 29897 #define XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_HI_MASK (0xFF0000U) 29898 #define XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_HI_SHIFT (16U) 29899 #define XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_HI_MASK) 29900 #define XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_LO_MASK (0xFF000000U) 29901 #define XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_LO_SHIFT (24U) 29902 #define XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_LO_MASK) 29903 /*! @} */ 29904 29905 /*! @name TIMING31 - TSM_TIMING31 */ 29906 /*! @{ */ 29907 #define XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_HI_MASK (0xFF0000U) 29908 #define XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_HI_SHIFT (16U) 29909 #define XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_HI_MASK) 29910 #define XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_LO_MASK (0xFF000000U) 29911 #define XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_LO_SHIFT (24U) 29912 #define XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_LO_MASK) 29913 /*! @} */ 29914 29915 /*! @name TIMING32 - TSM_TIMING32 */ 29916 /*! @{ */ 29917 #define XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_HI_MASK (0xFF0000U) 29918 #define XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_HI_SHIFT (16U) 29919 #define XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_HI_MASK) 29920 #define XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_LO_MASK (0xFF000000U) 29921 #define XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_LO_SHIFT (24U) 29922 #define XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_LO_MASK) 29923 /*! @} */ 29924 29925 /*! @name TIMING33 - TSM_TIMING33 */ 29926 /*! @{ */ 29927 #define XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_HI_MASK (0xFF0000U) 29928 #define XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_HI_SHIFT (16U) 29929 #define XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_HI_MASK) 29930 #define XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_LO_MASK (0xFF000000U) 29931 #define XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_LO_SHIFT (24U) 29932 #define XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_LO_MASK) 29933 /*! @} */ 29934 29935 /*! @name TIMING34 - TSM_TIMING34 */ 29936 /*! @{ */ 29937 #define XCVR_TSM_TIMING34_PLL_DIG_EN_TX_HI_MASK (0xFFU) 29938 #define XCVR_TSM_TIMING34_PLL_DIG_EN_TX_HI_SHIFT (0U) 29939 #define XCVR_TSM_TIMING34_PLL_DIG_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING34_PLL_DIG_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING34_PLL_DIG_EN_TX_HI_MASK) 29940 #define XCVR_TSM_TIMING34_PLL_DIG_EN_TX_LO_MASK (0xFF00U) 29941 #define XCVR_TSM_TIMING34_PLL_DIG_EN_TX_LO_SHIFT (8U) 29942 #define XCVR_TSM_TIMING34_PLL_DIG_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING34_PLL_DIG_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING34_PLL_DIG_EN_TX_LO_MASK) 29943 #define XCVR_TSM_TIMING34_PLL_DIG_EN_RX_HI_MASK (0xFF0000U) 29944 #define XCVR_TSM_TIMING34_PLL_DIG_EN_RX_HI_SHIFT (16U) 29945 #define XCVR_TSM_TIMING34_PLL_DIG_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING34_PLL_DIG_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING34_PLL_DIG_EN_RX_HI_MASK) 29946 #define XCVR_TSM_TIMING34_PLL_DIG_EN_RX_LO_MASK (0xFF000000U) 29947 #define XCVR_TSM_TIMING34_PLL_DIG_EN_RX_LO_SHIFT (24U) 29948 #define XCVR_TSM_TIMING34_PLL_DIG_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING34_PLL_DIG_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING34_PLL_DIG_EN_RX_LO_MASK) 29949 /*! @} */ 29950 29951 /*! @name TIMING35 - TSM_TIMING35 */ 29952 /*! @{ */ 29953 #define XCVR_TSM_TIMING35_TX_DIG_EN_TX_HI_MASK (0xFFU) 29954 #define XCVR_TSM_TIMING35_TX_DIG_EN_TX_HI_SHIFT (0U) 29955 #define XCVR_TSM_TIMING35_TX_DIG_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING35_TX_DIG_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING35_TX_DIG_EN_TX_HI_MASK) 29956 #define XCVR_TSM_TIMING35_TX_DIG_EN_TX_LO_MASK (0xFF00U) 29957 #define XCVR_TSM_TIMING35_TX_DIG_EN_TX_LO_SHIFT (8U) 29958 #define XCVR_TSM_TIMING35_TX_DIG_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING35_TX_DIG_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING35_TX_DIG_EN_TX_LO_MASK) 29959 /*! @} */ 29960 29961 /*! @name TIMING36 - TSM_TIMING36 */ 29962 /*! @{ */ 29963 #define XCVR_TSM_TIMING36_RX_DIG_EN_RX_HI_MASK (0xFF0000U) 29964 #define XCVR_TSM_TIMING36_RX_DIG_EN_RX_HI_SHIFT (16U) 29965 #define XCVR_TSM_TIMING36_RX_DIG_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING36_RX_DIG_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING36_RX_DIG_EN_RX_HI_MASK) 29966 #define XCVR_TSM_TIMING36_RX_DIG_EN_RX_LO_MASK (0xFF000000U) 29967 #define XCVR_TSM_TIMING36_RX_DIG_EN_RX_LO_SHIFT (24U) 29968 #define XCVR_TSM_TIMING36_RX_DIG_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING36_RX_DIG_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING36_RX_DIG_EN_RX_LO_MASK) 29969 /*! @} */ 29970 29971 /*! @name TIMING37 - TSM_TIMING37 */ 29972 /*! @{ */ 29973 #define XCVR_TSM_TIMING37_RX_INIT_RX_HI_MASK (0xFF0000U) 29974 #define XCVR_TSM_TIMING37_RX_INIT_RX_HI_SHIFT (16U) 29975 #define XCVR_TSM_TIMING37_RX_INIT_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING37_RX_INIT_RX_HI_SHIFT)) & XCVR_TSM_TIMING37_RX_INIT_RX_HI_MASK) 29976 #define XCVR_TSM_TIMING37_RX_INIT_RX_LO_MASK (0xFF000000U) 29977 #define XCVR_TSM_TIMING37_RX_INIT_RX_LO_SHIFT (24U) 29978 #define XCVR_TSM_TIMING37_RX_INIT_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING37_RX_INIT_RX_LO_SHIFT)) & XCVR_TSM_TIMING37_RX_INIT_RX_LO_MASK) 29979 /*! @} */ 29980 29981 /*! @name TIMING38 - TSM_TIMING38 */ 29982 /*! @{ */ 29983 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_HI_MASK (0xFFU) 29984 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_HI_SHIFT (0U) 29985 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_HI_MASK) 29986 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_LO_MASK (0xFF00U) 29987 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_LO_SHIFT (8U) 29988 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_LO_MASK) 29989 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_HI_MASK (0xFF0000U) 29990 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_HI_SHIFT (16U) 29991 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_HI_MASK) 29992 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_LO_MASK (0xFF000000U) 29993 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_LO_SHIFT (24U) 29994 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_LO_MASK) 29995 /*! @} */ 29996 29997 /*! @name TIMING39 - TSM_TIMING39 */ 29998 /*! @{ */ 29999 #define XCVR_TSM_TIMING39_RX_PHY_EN_RX_HI_MASK (0xFF0000U) 30000 #define XCVR_TSM_TIMING39_RX_PHY_EN_RX_HI_SHIFT (16U) 30001 #define XCVR_TSM_TIMING39_RX_PHY_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING39_RX_PHY_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING39_RX_PHY_EN_RX_HI_MASK) 30002 #define XCVR_TSM_TIMING39_RX_PHY_EN_RX_LO_MASK (0xFF000000U) 30003 #define XCVR_TSM_TIMING39_RX_PHY_EN_RX_LO_SHIFT (24U) 30004 #define XCVR_TSM_TIMING39_RX_PHY_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING39_RX_PHY_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING39_RX_PHY_EN_RX_LO_MASK) 30005 /*! @} */ 30006 30007 /*! @name TIMING40 - TSM_TIMING40 */ 30008 /*! @{ */ 30009 #define XCVR_TSM_TIMING40_DCOC_EN_RX_HI_MASK (0xFF0000U) 30010 #define XCVR_TSM_TIMING40_DCOC_EN_RX_HI_SHIFT (16U) 30011 #define XCVR_TSM_TIMING40_DCOC_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING40_DCOC_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING40_DCOC_EN_RX_HI_MASK) 30012 #define XCVR_TSM_TIMING40_DCOC_EN_RX_LO_MASK (0xFF000000U) 30013 #define XCVR_TSM_TIMING40_DCOC_EN_RX_LO_SHIFT (24U) 30014 #define XCVR_TSM_TIMING40_DCOC_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING40_DCOC_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING40_DCOC_EN_RX_LO_MASK) 30015 /*! @} */ 30016 30017 /*! @name TIMING41 - TSM_TIMING41 */ 30018 /*! @{ */ 30019 #define XCVR_TSM_TIMING41_DCOC_INIT_RX_HI_MASK (0xFF0000U) 30020 #define XCVR_TSM_TIMING41_DCOC_INIT_RX_HI_SHIFT (16U) 30021 #define XCVR_TSM_TIMING41_DCOC_INIT_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING41_DCOC_INIT_RX_HI_SHIFT)) & XCVR_TSM_TIMING41_DCOC_INIT_RX_HI_MASK) 30022 #define XCVR_TSM_TIMING41_DCOC_INIT_RX_LO_MASK (0xFF000000U) 30023 #define XCVR_TSM_TIMING41_DCOC_INIT_RX_LO_SHIFT (24U) 30024 #define XCVR_TSM_TIMING41_DCOC_INIT_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING41_DCOC_INIT_RX_LO_SHIFT)) & XCVR_TSM_TIMING41_DCOC_INIT_RX_LO_MASK) 30025 /*! @} */ 30026 30027 /*! @name TIMING42 - TSM_TIMING42 */ 30028 /*! @{ */ 30029 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_HI_MASK (0xFFU) 30030 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_HI_SHIFT (0U) 30031 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_HI_MASK) 30032 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_LO_MASK (0xFF00U) 30033 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_LO_SHIFT (8U) 30034 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_LO_MASK) 30035 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_HI_MASK (0xFF0000U) 30036 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_HI_SHIFT (16U) 30037 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_HI_MASK) 30038 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_LO_MASK (0xFF000000U) 30039 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_LO_SHIFT (24U) 30040 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_LO_MASK) 30041 /*! @} */ 30042 30043 /*! @name TIMING43 - TSM_TIMING43 */ 30044 /*! @{ */ 30045 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_HI_MASK (0xFFU) 30046 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_HI_SHIFT (0U) 30047 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_HI_MASK) 30048 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_LO_MASK (0xFF00U) 30049 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_LO_SHIFT (8U) 30050 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_LO_MASK) 30051 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_HI_MASK (0xFF0000U) 30052 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_HI_SHIFT (16U) 30053 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_HI_MASK) 30054 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_LO_MASK (0xFF000000U) 30055 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_LO_SHIFT (24U) 30056 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_LO_MASK) 30057 /*! @} */ 30058 30059 /*! @name TIMING44 - TSM_TIMING44 */ 30060 /*! @{ */ 30061 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_HI_MASK (0xFFU) 30062 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_HI_SHIFT (0U) 30063 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_HI_MASK) 30064 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_LO_MASK (0xFF00U) 30065 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_LO_SHIFT (8U) 30066 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_LO_MASK) 30067 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_HI_MASK (0xFF0000U) 30068 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_HI_SHIFT (16U) 30069 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_HI_MASK) 30070 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_LO_MASK (0xFF000000U) 30071 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_LO_SHIFT (24U) 30072 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_LO_MASK) 30073 /*! @} */ 30074 30075 /*! @name TIMING45 - TSM_TIMING45 */ 30076 /*! @{ */ 30077 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_HI_MASK (0xFFU) 30078 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_HI_SHIFT (0U) 30079 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_HI_MASK) 30080 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_LO_MASK (0xFF00U) 30081 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_LO_SHIFT (8U) 30082 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_LO_MASK) 30083 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_HI_MASK (0xFF0000U) 30084 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_HI_SHIFT (16U) 30085 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_HI_MASK) 30086 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_LO_MASK (0xFF000000U) 30087 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_LO_SHIFT (24U) 30088 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_LO_MASK) 30089 /*! @} */ 30090 30091 /*! @name TIMING46 - TSM_TIMING46 */ 30092 /*! @{ */ 30093 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_HI_MASK (0xFFU) 30094 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_HI_SHIFT (0U) 30095 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_HI_MASK) 30096 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_LO_MASK (0xFF00U) 30097 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_LO_SHIFT (8U) 30098 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_LO_MASK) 30099 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_HI_MASK (0xFF0000U) 30100 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_HI_SHIFT (16U) 30101 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_HI_MASK) 30102 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_LO_MASK (0xFF000000U) 30103 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_LO_SHIFT (24U) 30104 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_LO_MASK) 30105 /*! @} */ 30106 30107 /*! @name TIMING47 - TSM_TIMING47 */ 30108 /*! @{ */ 30109 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_HI_MASK (0xFFU) 30110 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_HI_SHIFT (0U) 30111 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_HI_MASK) 30112 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_LO_MASK (0xFF00U) 30113 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_LO_SHIFT (8U) 30114 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_LO_MASK) 30115 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_HI_MASK (0xFF0000U) 30116 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_HI_SHIFT (16U) 30117 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_HI_MASK) 30118 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_LO_MASK (0xFF000000U) 30119 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_LO_SHIFT (24U) 30120 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_LO_MASK) 30121 /*! @} */ 30122 30123 /*! @name TIMING48 - TSM_TIMING48 */ 30124 /*! @{ */ 30125 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_HI_MASK (0xFFU) 30126 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_HI_SHIFT (0U) 30127 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_HI_MASK) 30128 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_LO_MASK (0xFF00U) 30129 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_LO_SHIFT (8U) 30130 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_LO_MASK) 30131 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_HI_MASK (0xFF0000U) 30132 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_HI_SHIFT (16U) 30133 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_HI_MASK) 30134 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_LO_MASK (0xFF000000U) 30135 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_LO_SHIFT (24U) 30136 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_LO_MASK) 30137 /*! @} */ 30138 30139 /*! @name TIMING49 - TSM_TIMING49 */ 30140 /*! @{ */ 30141 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_HI_MASK (0xFFU) 30142 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_HI_SHIFT (0U) 30143 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_HI_MASK) 30144 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_LO_MASK (0xFF00U) 30145 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_LO_SHIFT (8U) 30146 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_LO_MASK) 30147 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_HI_MASK (0xFF0000U) 30148 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_HI_SHIFT (16U) 30149 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_HI_MASK) 30150 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_LO_MASK (0xFF000000U) 30151 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_LO_SHIFT (24U) 30152 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_LO_MASK) 30153 /*! @} */ 30154 30155 /*! @name TIMING50 - TSM_TIMING50 */ 30156 /*! @{ */ 30157 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_HI_MASK (0xFFU) 30158 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_HI_SHIFT (0U) 30159 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_HI_MASK) 30160 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_LO_MASK (0xFF00U) 30161 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_LO_SHIFT (8U) 30162 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_LO_MASK) 30163 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_HI_MASK (0xFF0000U) 30164 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_HI_SHIFT (16U) 30165 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_HI_MASK) 30166 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_LO_MASK (0xFF000000U) 30167 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_LO_SHIFT (24U) 30168 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_LO_MASK) 30169 /*! @} */ 30170 30171 /*! @name TIMING51 - TSM_TIMING51 */ 30172 /*! @{ */ 30173 #define XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_HI_MASK (0xFF0000U) 30174 #define XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_HI_SHIFT (16U) 30175 #define XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_HI_MASK) 30176 #define XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_LO_MASK (0xFF000000U) 30177 #define XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_LO_SHIFT (24U) 30178 #define XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_LO_MASK) 30179 /*! @} */ 30180 30181 /*! @name TIMING52 - TSM_TIMING52 */ 30182 /*! @{ */ 30183 #define XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_HI_MASK (0xFF0000U) 30184 #define XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_HI_SHIFT (16U) 30185 #define XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_HI_MASK) 30186 #define XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_LO_MASK (0xFF000000U) 30187 #define XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_LO_SHIFT (24U) 30188 #define XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_LO_MASK) 30189 /*! @} */ 30190 30191 /*! @name TIMING53 - TSM_TIMING53 */ 30192 /*! @{ */ 30193 #define XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_HI_MASK (0xFF0000U) 30194 #define XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_HI_SHIFT (16U) 30195 #define XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_HI_MASK) 30196 #define XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_LO_MASK (0xFF000000U) 30197 #define XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_LO_SHIFT (24U) 30198 #define XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_LO_MASK) 30199 /*! @} */ 30200 30201 /*! @name TIMING54 - TSM_TIMING54 */ 30202 /*! @{ */ 30203 #define XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_HI_MASK (0xFF0000U) 30204 #define XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_HI_SHIFT (16U) 30205 #define XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_HI_MASK) 30206 #define XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_LO_MASK (0xFF000000U) 30207 #define XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_LO_SHIFT (24U) 30208 #define XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_LO_MASK) 30209 /*! @} */ 30210 30211 /*! @name TIMING55 - TSM_TIMING55 */ 30212 /*! @{ */ 30213 #define XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_HI_MASK (0xFF0000U) 30214 #define XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_HI_SHIFT (16U) 30215 #define XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_HI_MASK) 30216 #define XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_LO_MASK (0xFF000000U) 30217 #define XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_LO_SHIFT (24U) 30218 #define XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_LO_MASK) 30219 /*! @} */ 30220 30221 /*! @name TIMING56 - TSM_TIMING56 */ 30222 /*! @{ */ 30223 #define XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_HI_MASK (0xFF0000U) 30224 #define XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_HI_SHIFT (16U) 30225 #define XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_HI_MASK) 30226 #define XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_LO_MASK (0xFF000000U) 30227 #define XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_LO_SHIFT (24U) 30228 #define XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_LO_MASK) 30229 /*! @} */ 30230 30231 /*! @name TIMING57 - TSM_TIMING57 */ 30232 /*! @{ */ 30233 #define XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_HI_MASK (0xFF0000U) 30234 #define XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_HI_SHIFT (16U) 30235 #define XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_HI_SHIFT)) & XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_HI_MASK) 30236 #define XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_LO_MASK (0xFF000000U) 30237 #define XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_LO_SHIFT (24U) 30238 #define XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_LO_SHIFT)) & XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_LO_MASK) 30239 /*! @} */ 30240 30241 /*! @name TIMING58 - TSM_TIMING58 */ 30242 /*! @{ */ 30243 #define XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_HI_MASK (0xFFU) 30244 #define XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_HI_SHIFT (0U) 30245 #define XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_HI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_HI_SHIFT)) & XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_HI_MASK) 30246 #define XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_LO_MASK (0xFF00U) 30247 #define XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_LO_SHIFT (8U) 30248 #define XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_LO(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_LO_SHIFT)) & XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_LO_MASK) 30249 /*! @} */ 30250 30251 /*! @name OVRD0 - TSM OVERRIDE REGISTER 0 */ 30252 /*! @{ */ 30253 #define XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD_EN_MASK (0x1U) 30254 #define XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD_EN_SHIFT (0U) 30255 /*! BB_LDO_HF_EN_OVRD_EN - Override control for BB_LDO_HF_EN 30256 * 0b0..Normal operation. 30257 * 0b1..Use the state of BB_LDO_HF_EN_OVRD to override the signal "bb_ldo_hf_en". 30258 */ 30259 #define XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD_EN_MASK) 30260 #define XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD_MASK (0x2U) 30261 #define XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD_SHIFT (1U) 30262 #define XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD_MASK) 30263 #define XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD_EN_MASK (0x4U) 30264 #define XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD_EN_SHIFT (2U) 30265 /*! BB_LDO_ADCDAC_EN_OVRD_EN - Override control for BB_LDO_ADCDAC_EN 30266 * 0b0..Normal operation. 30267 * 0b1..Use the state of BB_LDO_ADCDAC_EN_OVRD to override the signal "bb_ldo_adcdac_en". 30268 */ 30269 #define XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD_EN_MASK) 30270 #define XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD_MASK (0x8U) 30271 #define XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD_SHIFT (3U) 30272 #define XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD_MASK) 30273 #define XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD_EN_MASK (0x10U) 30274 #define XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD_EN_SHIFT (4U) 30275 /*! BB_LDO_BBA_EN_OVRD_EN - Override control for BB_LDO_BBA_EN 30276 * 0b0..Normal operation. 30277 * 0b1..Use the state of BB_LDO_BBA_EN_OVRD to override the signal "bb_ldo_bba_en". 30278 */ 30279 #define XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD_EN_MASK) 30280 #define XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD_MASK (0x20U) 30281 #define XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD_SHIFT (5U) 30282 #define XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD_MASK) 30283 #define XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD_EN_MASK (0x40U) 30284 #define XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD_EN_SHIFT (6U) 30285 /*! BB_LDO_PD_EN_OVRD_EN - Override control for BB_LDO_PD_EN 30286 * 0b0..Normal operation. 30287 * 0b1..Use the state of BB_LDO_PD_EN_OVRD to override the signal "bb_ldo_pd_en". 30288 */ 30289 #define XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD_EN_MASK) 30290 #define XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD_MASK (0x80U) 30291 #define XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD_SHIFT (7U) 30292 #define XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD_MASK) 30293 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD_EN_MASK (0x100U) 30294 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD_EN_SHIFT (8U) 30295 /*! BB_LDO_FDBK_EN_OVRD_EN - Override control for BB_LDO_FDBK_EN 30296 * 0b0..Normal operation. 30297 * 0b1..Use the state of BB_LDO_FDBK_EN_OVRD to override the signal "bb_ldo_fdbk_en". 30298 */ 30299 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD_EN_MASK) 30300 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD_MASK (0x200U) 30301 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD_SHIFT (9U) 30302 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD_MASK) 30303 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD_EN_MASK (0x400U) 30304 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD_EN_SHIFT (10U) 30305 /*! BB_LDO_VCOLO_EN_OVRD_EN - Override control for BB_LDO_VCOLO_EN 30306 * 0b0..Normal operation. 30307 * 0b1..Use the state of BB_LDO_VCOLO_EN_OVRD to override the signal "bb_ldo_vcolo_en". 30308 */ 30309 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD_EN_MASK) 30310 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD_MASK (0x800U) 30311 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD_SHIFT (11U) 30312 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD_MASK) 30313 #define XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD_EN_MASK (0x1000U) 30314 #define XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD_EN_SHIFT (12U) 30315 /*! BB_LDO_VTREF_EN_OVRD_EN - Override control for BB_LDO_VTREF_EN 30316 * 0b0..Normal operation. 30317 * 0b1..Use the state of BB_LDO_VTREF_EN_OVRD to override the signal "bb_ldo_vtref_en". 30318 */ 30319 #define XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD_EN_MASK) 30320 #define XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD_MASK (0x2000U) 30321 #define XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD_SHIFT (13U) 30322 #define XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD_MASK) 30323 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD_EN_MASK (0x4000U) 30324 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD_EN_SHIFT (14U) 30325 /*! BB_LDO_FDBK_BLEED_EN_OVRD_EN - Override control for BB_LDO_FDBK_BLEED_EN 30326 * 0b0..Normal operation. 30327 * 0b1..Use the state of BB_LDO_FDBK_BLEED_EN_OVRD to override the signal "bb_ldo_fdbk_bleed_en". 30328 */ 30329 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD_EN_MASK) 30330 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD_MASK (0x8000U) 30331 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD_SHIFT (15U) 30332 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD_MASK) 30333 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD_EN_MASK (0x10000U) 30334 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD_EN_SHIFT (16U) 30335 /*! BB_LDO_VCOLO_BLEED_EN_OVRD_EN - Override control for BB_LDO_VCOLO_BLEED_EN 30336 * 0b0..Normal operation. 30337 * 0b1..Use the state of BB_LDO_VCOLO_BLEED_EN_OVRD to override the signal "bb_ldo_vcolo_bleed_en". 30338 */ 30339 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD_EN_MASK) 30340 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD_MASK (0x20000U) 30341 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD_SHIFT (17U) 30342 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD_MASK) 30343 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_EN_MASK (0x40000U) 30344 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_EN_SHIFT (18U) 30345 /*! BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_EN - Override control for BB_LDO_VCOLO_FASTCHARGE_EN 30346 * 0b0..Normal operation. 30347 * 0b1..Use the state of BB_LDO_VCOLO_FASTCHARGE_EN_OVRD to override the signal "bb_ldo_vcolo_fastcharge_en". 30348 */ 30349 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_EN_MASK) 30350 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_MASK (0x80000U) 30351 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_SHIFT (19U) 30352 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_MASK) 30353 #define XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD_EN_MASK (0x100000U) 30354 #define XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD_EN_SHIFT (20U) 30355 /*! BB_XTAL_PLL_REF_CLK_EN_OVRD_EN - Override control for BB_XTAL_PLL_REF_CLK_EN 30356 * 0b0..Normal operation. 30357 * 0b1..Use the state of BB_XTAL_PLL_REF_CLK_EN_OVRD to override the signal "bb_xtal_pll_ref_clk_en". 30358 */ 30359 #define XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD_EN_MASK) 30360 #define XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD_MASK (0x200000U) 30361 #define XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD_SHIFT (21U) 30362 #define XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD_MASK) 30363 #define XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD_EN_MASK (0x400000U) 30364 #define XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD_EN_SHIFT (22U) 30365 /*! BB_XTAL_DAC_REF_CLK_EN_OVRD_EN - Override control for BB_XTAL_DAC_REF_CLK_EN 30366 * 0b0..Normal operation. 30367 * 0b1..Use the state of BB_XTAL_DAC_REF_CLK_EN_OVRD to override the signal "bb_xtal_dac_ref_clk_en". 30368 */ 30369 #define XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD_EN_MASK) 30370 #define XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD_MASK (0x800000U) 30371 #define XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD_SHIFT (23U) 30372 #define XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD_MASK) 30373 #define XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_EN_MASK (0x1000000U) 30374 #define XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_EN_SHIFT (24U) 30375 /*! BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_EN - Override control for BB_XTAL_AUXPLL_REF_CLK_EN 30376 * 0b0..Normal operation. 30377 * 0b1..Use the state of BB_XTAL_AUXPLL_REF_CLK_EN_OVRD to override the signal "bb_xtal_auxpll_ref_clk_en". 30378 */ 30379 #define XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_EN_MASK) 30380 #define XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_MASK (0x2000000U) 30381 #define XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_SHIFT (25U) 30382 #define XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_MASK) 30383 #define XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD_EN_MASK (0x4000000U) 30384 #define XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD_EN_SHIFT (26U) 30385 /*! PLL_LOOP_IS_OPEN_OVRD_EN - Override control for PLL_LOOP_IS_OPEN 30386 * 0b0..Normal operation. 30387 * 0b1..Use the state of PLL_LOOP_IS_OPEN_OVRD to override the signal "pll_loop_is_open". 30388 */ 30389 #define XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD_EN_MASK) 30390 #define XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD_MASK (0x8000000U) 30391 #define XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD_SHIFT (27U) 30392 #define XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD_MASK) 30393 #define XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD_EN_MASK (0x10000000U) 30394 #define XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD_EN_SHIFT (28U) 30395 /*! SY_PD_CYCLE_SLIP_LD_EN_OVRD_EN - Override control for SY_PD_CYCLE_SLIP_LD_EN 30396 * 0b0..Normal operation. 30397 * 0b1..Use the state of SY_PD_CYCLE_SLIP_LD_EN_OVRD to override the signal "sy_pd_cycle_slip_ld_en". 30398 */ 30399 #define XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD_EN_MASK) 30400 #define XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD_MASK (0x20000000U) 30401 #define XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD_SHIFT (29U) 30402 #define XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD_MASK) 30403 #define XCVR_TSM_OVRD0_SY_VCO_EN_OVRD_EN_MASK (0x40000000U) 30404 #define XCVR_TSM_OVRD0_SY_VCO_EN_OVRD_EN_SHIFT (30U) 30405 /*! SY_VCO_EN_OVRD_EN - Override control for SY_VCO_EN 30406 * 0b0..Normal operation. 30407 * 0b1..Use the state of SY_VCO_EN_OVRD to override the signal "sy_vco_en". 30408 */ 30409 #define XCVR_TSM_OVRD0_SY_VCO_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_SY_VCO_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD0_SY_VCO_EN_OVRD_EN_MASK) 30410 #define XCVR_TSM_OVRD0_SY_VCO_EN_OVRD_MASK (0x80000000U) 30411 #define XCVR_TSM_OVRD0_SY_VCO_EN_OVRD_SHIFT (31U) 30412 #define XCVR_TSM_OVRD0_SY_VCO_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD0_SY_VCO_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD0_SY_VCO_EN_OVRD_MASK) 30413 /*! @} */ 30414 30415 /*! @name OVRD1 - TSM OVERRIDE REGISTER 1 */ 30416 /*! @{ */ 30417 #define XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD_EN_MASK (0x1U) 30418 #define XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD_EN_SHIFT (0U) 30419 /*! SY_LO_RX_BUF_EN_OVRD_EN - Override control for SY_LO_RX_BUF_EN 30420 * 0b0..Normal operation. 30421 * 0b1..Use the state of SY_LO_RX_BUF_EN_OVRD to override the signal "sy_lo_rx_buf_en". 30422 */ 30423 #define XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD_EN_MASK) 30424 #define XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD_MASK (0x2U) 30425 #define XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD_SHIFT (1U) 30426 #define XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD_MASK) 30427 #define XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD_EN_MASK (0x4U) 30428 #define XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD_EN_SHIFT (2U) 30429 /*! SY_LO_TX_BUF_EN_OVRD_EN - Override control for SY_LO_TX_BUF_EN 30430 * 0b0..Normal operation. 30431 * 0b1..Use the state of SY_LO_TX_BUF_EN_OVRD to override the signal "sy_lo_tx_buf_en". 30432 */ 30433 #define XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD_EN_MASK) 30434 #define XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD_MASK (0x8U) 30435 #define XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD_SHIFT (3U) 30436 #define XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD_MASK) 30437 #define XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD_EN_MASK (0x10U) 30438 #define XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD_EN_SHIFT (4U) 30439 /*! SY_DIVN_EN_OVRD_EN - Override control for SY_DIVN_EN 30440 * 0b0..Normal operation. 30441 * 0b1..Use the state of SY_DIVN_EN_OVRD to override the signal "sy_divn_en". 30442 */ 30443 #define XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD_EN_MASK) 30444 #define XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD_MASK (0x20U) 30445 #define XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD_SHIFT (5U) 30446 #define XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD_MASK) 30447 #define XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD_EN_MASK (0x40U) 30448 #define XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD_EN_SHIFT (6U) 30449 /*! SY_PD_FILTER_CHARGE_EN_OVRD_EN - Override control for SY_PD_FILTER_CHARGE_EN 30450 * 0b0..Normal operation. 30451 * 0b1..Use the state of SY_PD_FILTER_CHARGE_EN_OVRD to override the signal "sy_pd_filter_charge_en". 30452 */ 30453 #define XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD_EN_MASK) 30454 #define XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD_MASK (0x80U) 30455 #define XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD_SHIFT (7U) 30456 #define XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD_MASK) 30457 #define XCVR_TSM_OVRD1_SY_PD_EN_OVRD_EN_MASK (0x100U) 30458 #define XCVR_TSM_OVRD1_SY_PD_EN_OVRD_EN_SHIFT (8U) 30459 /*! SY_PD_EN_OVRD_EN - Override control for SY_PD_EN 30460 * 0b0..Normal operation. 30461 * 0b1..Use the state of SY_PD_EN_OVRD to override the signal "sy_pd_en". 30462 */ 30463 #define XCVR_TSM_OVRD1_SY_PD_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_PD_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_SY_PD_EN_OVRD_EN_MASK) 30464 #define XCVR_TSM_OVRD1_SY_PD_EN_OVRD_MASK (0x200U) 30465 #define XCVR_TSM_OVRD1_SY_PD_EN_OVRD_SHIFT (9U) 30466 #define XCVR_TSM_OVRD1_SY_PD_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_PD_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_SY_PD_EN_OVRD_MASK) 30467 #define XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD_EN_MASK (0x400U) 30468 #define XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD_EN_SHIFT (10U) 30469 /*! SY_LO_DIVN_EN_OVRD_EN - Override control for SY_LO_DIVN_EN 30470 * 0b0..Normal operation. 30471 * 0b1..Use the state of SY_LO_DIVN_EN_OVRD to override the signal "sy_lo_divn_en". 30472 */ 30473 #define XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD_EN_MASK) 30474 #define XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD_MASK (0x800U) 30475 #define XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD_SHIFT (11U) 30476 #define XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD_MASK) 30477 #define XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD_EN_MASK (0x1000U) 30478 #define XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD_EN_SHIFT (12U) 30479 /*! SY_LO_RX_EN_OVRD_EN - Override control for SY_LO_RX_EN 30480 * 0b0..Normal operation. 30481 * 0b1..Use the state of SY_LO_RX_EN_OVRD to override the signal "sy_lo_rx_en". 30482 */ 30483 #define XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD_EN_MASK) 30484 #define XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD_MASK (0x2000U) 30485 #define XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD_SHIFT (13U) 30486 #define XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD_MASK) 30487 #define XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD_EN_MASK (0x4000U) 30488 #define XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD_EN_SHIFT (14U) 30489 /*! SY_LO_TX_EN_OVRD_EN - Override control for SY_LO_TX_EN 30490 * 0b0..Normal operation. 30491 * 0b1..Use the state of SY_LO_TX_EN_OVRD to override the signal "sy_lo_tx_en". 30492 */ 30493 #define XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD_EN_MASK) 30494 #define XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD_MASK (0x8000U) 30495 #define XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD_SHIFT (15U) 30496 #define XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD_MASK) 30497 #define XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD_EN_MASK (0x10000U) 30498 #define XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD_EN_SHIFT (16U) 30499 /*! SY_DIVN_CAL_EN_OVRD_EN - Override control for SY_DIVN_CAL_EN 30500 * 0b0..Normal operation. 30501 * 0b1..Use the state of SY_DIVN_CAL_EN_OVRD to override the signal "sy_divn_cal_en". 30502 */ 30503 #define XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD_EN_MASK) 30504 #define XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD_MASK (0x20000U) 30505 #define XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD_SHIFT (17U) 30506 #define XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD_MASK) 30507 #define XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD_EN_MASK (0x40000U) 30508 #define XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD_EN_SHIFT (18U) 30509 /*! RX_MIXER_EN_OVRD_EN - Override control for RX_MIXER_EN 30510 * 0b0..Normal operation. 30511 * 0b1..Use the state of RX_MIXER_EN_OVRD to override the signal "rx_mixer_en". 30512 */ 30513 #define XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD_EN_MASK) 30514 #define XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD_MASK (0x80000U) 30515 #define XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD_SHIFT (19U) 30516 #define XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD_MASK) 30517 #define XCVR_TSM_OVRD1_TX_PA_EN_OVRD_EN_MASK (0x100000U) 30518 #define XCVR_TSM_OVRD1_TX_PA_EN_OVRD_EN_SHIFT (20U) 30519 /*! TX_PA_EN_OVRD_EN - Override control for TX_PA_EN 30520 * 0b0..Normal operation. 30521 * 0b1..Use the state of TX_PA_EN_OVRD to override the signal "tx_pa_en". 30522 */ 30523 #define XCVR_TSM_OVRD1_TX_PA_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_TX_PA_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_TX_PA_EN_OVRD_EN_MASK) 30524 #define XCVR_TSM_OVRD1_TX_PA_EN_OVRD_MASK (0x200000U) 30525 #define XCVR_TSM_OVRD1_TX_PA_EN_OVRD_SHIFT (21U) 30526 #define XCVR_TSM_OVRD1_TX_PA_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_TX_PA_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_TX_PA_EN_OVRD_MASK) 30527 #define XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD_EN_MASK (0x400000U) 30528 #define XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD_EN_SHIFT (22U) 30529 /*! RX_ADC_I_EN_OVRD_EN - Override control for RX_ADC_I_EN 30530 * 0b0..Normal operation. 30531 * 0b1..Use the state of RX_ADC_I_EN_OVRD to override the signal "rx_adc_i_en". 30532 */ 30533 #define XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD_EN_MASK) 30534 #define XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD_MASK (0x800000U) 30535 #define XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD_SHIFT (23U) 30536 #define XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD_MASK) 30537 #define XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD_EN_MASK (0x1000000U) 30538 #define XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD_EN_SHIFT (24U) 30539 /*! RX_ADC_Q_EN_OVRD_EN - Override control for RX_ADC_Q_EN 30540 * 0b0..Normal operation. 30541 * 0b1..Use the state of RX_ADC_Q_EN_OVRD to override the signal "rx_adc_q_en". 30542 */ 30543 #define XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD_EN_MASK) 30544 #define XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD_MASK (0x2000000U) 30545 #define XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD_SHIFT (25U) 30546 #define XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD_MASK) 30547 #define XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD_EN_MASK (0x4000000U) 30548 #define XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD_EN_SHIFT (26U) 30549 /*! RX_ADC_RESET_EN_OVRD_EN - Override control for RX_ADC_RESET_EN 30550 * 0b0..Normal operation. 30551 * 0b1..Use the state of RX_ADC_RESET_EN_OVRD to override the signal "rx_adc_reset_en". 30552 */ 30553 #define XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD_EN_MASK) 30554 #define XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD_MASK (0x8000000U) 30555 #define XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD_SHIFT (27U) 30556 #define XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD_MASK) 30557 #define XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD_EN_MASK (0x10000000U) 30558 #define XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD_EN_SHIFT (28U) 30559 /*! RX_BBA_I_EN_OVRD_EN - Override control for RX_BBA_I_EN 30560 * 0b0..Normal operation. 30561 * 0b1..Use the state of RX_BBA_I_EN_OVRD to override the signal "rx_bba_i_en". 30562 */ 30563 #define XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD_EN_MASK) 30564 #define XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD_MASK (0x20000000U) 30565 #define XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD_SHIFT (29U) 30566 #define XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD_MASK) 30567 #define XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD_EN_MASK (0x40000000U) 30568 #define XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD_EN_SHIFT (30U) 30569 /*! RX_BBA_Q_EN_OVRD_EN - Override control for RX_BBA_Q_EN 30570 * 0b0..Normal operation. 30571 * 0b1..Use the state of RX_BBA_Q_EN_OVRD to override the signal "rx_bba_q_en". 30572 */ 30573 #define XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD_EN_MASK) 30574 #define XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD_MASK (0x80000000U) 30575 #define XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD_SHIFT (31U) 30576 #define XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD_MASK) 30577 /*! @} */ 30578 30579 /*! @name OVRD2 - TSM OVERRIDE REGISTER 2 */ 30580 /*! @{ */ 30581 #define XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD_EN_MASK (0x1U) 30582 #define XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD_EN_SHIFT (0U) 30583 /*! RX_BBA_PDET_EN_OVRD_EN - Override control for RX_BBA_PDET_EN 30584 * 0b0..Normal operation. 30585 * 0b1..Use the state of RX_BBA_PDET_EN_OVRD to override the signal "rx_bba_pdet_en". 30586 */ 30587 #define XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD_EN_MASK) 30588 #define XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD_MASK (0x2U) 30589 #define XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD_SHIFT (1U) 30590 #define XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD_MASK) 30591 #define XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD_EN_MASK (0x4U) 30592 #define XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD_EN_SHIFT (2U) 30593 /*! RX_BBA_DCOC_EN_OVRD_EN - Override control for RX_BBA_DCOC_EN 30594 * 0b0..Normal operation. 30595 * 0b1..Use the state of RX_BBA_DCOC_EN_OVRD to override the signal "rx_bba_dcoc_en". 30596 */ 30597 #define XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD_EN_MASK) 30598 #define XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD_MASK (0x8U) 30599 #define XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD_SHIFT (3U) 30600 #define XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD_MASK) 30601 #define XCVR_TSM_OVRD2_RX_LNA_EN_OVRD_EN_MASK (0x10U) 30602 #define XCVR_TSM_OVRD2_RX_LNA_EN_OVRD_EN_SHIFT (4U) 30603 /*! RX_LNA_EN_OVRD_EN - Override control for RX_LNA_EN 30604 * 0b0..Normal operation. 30605 * 0b1..Use the state of RX_LNA_EN_OVRD to override the signal "rx_lna_en". 30606 */ 30607 #define XCVR_TSM_OVRD2_RX_LNA_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_LNA_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_RX_LNA_EN_OVRD_EN_MASK) 30608 #define XCVR_TSM_OVRD2_RX_LNA_EN_OVRD_MASK (0x20U) 30609 #define XCVR_TSM_OVRD2_RX_LNA_EN_OVRD_SHIFT (5U) 30610 #define XCVR_TSM_OVRD2_RX_LNA_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_LNA_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_RX_LNA_EN_OVRD_MASK) 30611 #define XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD_EN_MASK (0x40U) 30612 #define XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD_EN_SHIFT (6U) 30613 /*! RX_TZA_I_EN_OVRD_EN - Override control for RX_TZA_I_EN 30614 * 0b0..Normal operation. 30615 * 0b1..Use the state of RX_TZA_I_EN_OVRD to override the signal "rx_tza_i_en". 30616 */ 30617 #define XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD_EN_MASK) 30618 #define XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD_MASK (0x80U) 30619 #define XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD_SHIFT (7U) 30620 #define XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD_MASK) 30621 #define XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD_EN_MASK (0x100U) 30622 #define XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD_EN_SHIFT (8U) 30623 /*! RX_TZA_Q_EN_OVRD_EN - Override control for RX_TZA_Q_EN 30624 * 0b0..Normal operation. 30625 * 0b1..Use the state of RX_TZA_Q_EN_OVRD to override the signal "rx_tza_q_en". 30626 */ 30627 #define XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD_EN_MASK) 30628 #define XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD_MASK (0x200U) 30629 #define XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD_SHIFT (9U) 30630 #define XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD_MASK) 30631 #define XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD_EN_MASK (0x400U) 30632 #define XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD_EN_SHIFT (10U) 30633 /*! RX_TZA_PDET_EN_OVRD_EN - Override control for RX_TZA_PDET_EN 30634 * 0b0..Normal operation. 30635 * 0b1..Use the state of RX_TZA_PDET_EN_OVRD to override the signal "rx_tza_pdet_en". 30636 */ 30637 #define XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD_EN_MASK) 30638 #define XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD_MASK (0x800U) 30639 #define XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD_SHIFT (11U) 30640 #define XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD_MASK) 30641 #define XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD_EN_MASK (0x1000U) 30642 #define XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD_EN_SHIFT (12U) 30643 /*! RX_TZA_DCOC_EN_OVRD_EN - Override control for RX_TZA_DCOC_EN 30644 * 0b0..Normal operation. 30645 * 0b1..Use the state of RX_TZA_DCOC_EN_OVRD to override the signal "rx_tza_dcoc_en". 30646 */ 30647 #define XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD_EN_MASK) 30648 #define XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD_MASK (0x2000U) 30649 #define XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD_SHIFT (13U) 30650 /*! RX_TZA_DCOC_EN_OVRD - Override control for RX_TZA_DCOC_EN 30651 * 0b0..Normal operation. 30652 * 0b1..Use the state of RX_TZA_DCOC_EN_OVRD to override the signal "rx_tza_dcoc_en". 30653 */ 30654 #define XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD_MASK) 30655 #define XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_MASK (0x4000U) 30656 #define XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_SHIFT (14U) 30657 /*! PLL_DIG_EN_OVRD_EN - Override control for PLL_DIG_EN 30658 * 0b0..Normal operation. 30659 * 0b1..Use the state of PLL_DIG_EN_OVRD to override the signal "pll_dig_en". 30660 */ 30661 #define XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_MASK) 30662 #define XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_MASK (0x8000U) 30663 #define XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_SHIFT (15U) 30664 #define XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_MASK) 30665 #define XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_MASK (0x10000U) 30666 #define XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_SHIFT (16U) 30667 /*! TX_DIG_EN_OVRD_EN - Override control for TX_DIG_EN 30668 * 0b0..Normal operation. 30669 * 0b1..Use the state of TX_DIG_EN_OVRD to override the signal "tx_dig_en". 30670 */ 30671 #define XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_MASK) 30672 #define XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_MASK (0x20000U) 30673 #define XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_SHIFT (17U) 30674 #define XCVR_TSM_OVRD2_TX_DIG_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_MASK) 30675 #define XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_MASK (0x40000U) 30676 #define XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_SHIFT (18U) 30677 /*! RX_DIG_EN_OVRD_EN - Override control for RX_DIG_EN 30678 * 0b0..Normal operation. 30679 * 0b1..Use the state of RX_DIG_EN_OVRD to override the signal "rx_dig_en". 30680 */ 30681 #define XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_MASK) 30682 #define XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_MASK (0x80000U) 30683 #define XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_SHIFT (19U) 30684 #define XCVR_TSM_OVRD2_RX_DIG_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_MASK) 30685 #define XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_MASK (0x100000U) 30686 #define XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_SHIFT (20U) 30687 /*! RX_INIT_OVRD_EN - Override control for RX_INIT 30688 * 0b0..Normal operation. 30689 * 0b1..Use the state of RX_INIT_OVRD to override the signal "rx_init". 30690 */ 30691 #define XCVR_TSM_OVRD2_RX_INIT_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_MASK) 30692 #define XCVR_TSM_OVRD2_RX_INIT_OVRD_MASK (0x200000U) 30693 #define XCVR_TSM_OVRD2_RX_INIT_OVRD_SHIFT (21U) 30694 #define XCVR_TSM_OVRD2_RX_INIT_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_INIT_OVRD_SHIFT)) & XCVR_TSM_OVRD2_RX_INIT_OVRD_MASK) 30695 #define XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_MASK (0x400000U) 30696 #define XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_SHIFT (22U) 30697 /*! SIGMA_DELTA_EN_OVRD_EN - Override control for SIGMA_DELTA_EN 30698 * 0b0..Normal operation. 30699 * 0b1..Use the state of SIGMA_DELTA_EN_OVRD to override the signal "sigma_delta_en". 30700 */ 30701 #define XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_MASK) 30702 #define XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_MASK (0x800000U) 30703 #define XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_SHIFT (23U) 30704 #define XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_MASK) 30705 #define XCVR_TSM_OVRD2_RX_PHY_EN_OVRD_EN_MASK (0x1000000U) 30706 #define XCVR_TSM_OVRD2_RX_PHY_EN_OVRD_EN_SHIFT (24U) 30707 /*! RX_PHY_EN_OVRD_EN - Override control for RX_PHY_EN 30708 * 0b0..Normal operation. 30709 * 0b1..Use the state of RX_PHY_EN_OVRD to override the signal "rx_phy_en". 30710 */ 30711 #define XCVR_TSM_OVRD2_RX_PHY_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_PHY_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_RX_PHY_EN_OVRD_EN_MASK) 30712 #define XCVR_TSM_OVRD2_RX_PHY_EN_OVRD_MASK (0x2000000U) 30713 #define XCVR_TSM_OVRD2_RX_PHY_EN_OVRD_SHIFT (25U) 30714 #define XCVR_TSM_OVRD2_RX_PHY_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_RX_PHY_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_RX_PHY_EN_OVRD_MASK) 30715 #define XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_MASK (0x4000000U) 30716 #define XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_SHIFT (26U) 30717 /*! DCOC_EN_OVRD_EN - Override control for DCOC_EN 30718 * 0b0..Normal operation. 30719 * 0b1..Use the state of DCOC_EN_OVRD to override the signal "dcoc_en". 30720 */ 30721 #define XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_MASK) 30722 #define XCVR_TSM_OVRD2_DCOC_EN_OVRD_MASK (0x8000000U) 30723 #define XCVR_TSM_OVRD2_DCOC_EN_OVRD_SHIFT (27U) 30724 #define XCVR_TSM_OVRD2_DCOC_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_DCOC_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_DCOC_EN_OVRD_MASK) 30725 #define XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_MASK (0x10000000U) 30726 #define XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_SHIFT (28U) 30727 /*! DCOC_INIT_OVRD_EN - Override control for DCOC_INIT 30728 * 0b0..Normal operation. 30729 * 0b1..Use the state of DCOC_INIT_OVRD to override the signal "dcoc_init". 30730 */ 30731 #define XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_MASK) 30732 #define XCVR_TSM_OVRD2_DCOC_INIT_OVRD_MASK (0x20000000U) 30733 #define XCVR_TSM_OVRD2_DCOC_INIT_OVRD_SHIFT (29U) 30734 #define XCVR_TSM_OVRD2_DCOC_INIT_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_DCOC_INIT_OVRD_SHIFT)) & XCVR_TSM_OVRD2_DCOC_INIT_OVRD_MASK) 30735 #define XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_MASK (0x40000000U) 30736 #define XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_SHIFT (30U) 30737 /*! FREQ_TARG_LD_EN_OVRD_EN - Override control for FREQ_TARG_LD_EN 30738 * 0b0..Normal operation. 30739 * 0b1..Use the state of FREQ_TARG_LD_EN_OVRD to override the signal "freq_targ_ld_en". 30740 */ 30741 #define XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_MASK) 30742 #define XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_MASK (0x80000000U) 30743 #define XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_SHIFT (31U) 30744 #define XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_MASK) 30745 /*! @} */ 30746 30747 /*! @name OVRD3 - TSM OVERRIDE REGISTER 3 */ 30748 /*! @{ */ 30749 #define XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_MASK (0x1U) 30750 #define XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_SHIFT (0U) 30751 /*! TSM_SPARE0_EN_OVRD_EN - Override control for TSM_SPARE0_EN 30752 * 0b0..Normal operation. 30753 * 0b1..Use the state of TSM_SPARE0_EN_OVRD to override the signal "tsm_spare0_en". 30754 */ 30755 #define XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_MASK) 30756 #define XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_MASK (0x2U) 30757 #define XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_SHIFT (1U) 30758 #define XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_MASK) 30759 #define XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_MASK (0x4U) 30760 #define XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_SHIFT (2U) 30761 /*! TSM_SPARE1_EN_OVRD_EN - Override control for TSM_SPARE1_EN 30762 * 0b0..Normal operation. 30763 * 0b1..Use the state of TSM_SPARE1_EN_OVRD to override the signal "tsm_spare1_en". 30764 */ 30765 #define XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_MASK) 30766 #define XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_MASK (0x8U) 30767 #define XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_SHIFT (3U) 30768 #define XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_MASK) 30769 #define XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_MASK (0x10U) 30770 #define XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_SHIFT (4U) 30771 /*! TSM_SPARE2_EN_OVRD_EN - Override control for TSM_SPARE2_EN 30772 * 0b0..Normal operation. 30773 * 0b1..Use the state of TSM_SPARE2_EN_OVRD to override the signal "tsm_spare2_en". 30774 */ 30775 #define XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_MASK) 30776 #define XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_MASK (0x20U) 30777 #define XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_SHIFT (5U) 30778 #define XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_MASK) 30779 #define XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_MASK (0x40U) 30780 #define XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_SHIFT (6U) 30781 /*! TSM_SPARE3_EN_OVRD_EN - Override control for TSM_SPARE3_EN 30782 * 0b0..Normal operation. 30783 * 0b1..Use the state of TSM_SPARE3_EN_OVRD to override the signal "tsm_spare3_en". 30784 */ 30785 #define XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_MASK) 30786 #define XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_MASK (0x80U) 30787 #define XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_SHIFT (7U) 30788 #define XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_MASK) 30789 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD_EN_MASK (0x100U) 30790 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD_EN_SHIFT (8U) 30791 /*! RXTX_AUXPLL_BIAS_EN_OVRD_EN - Override control for RXTX_AUXPLL_BIAS_EN 30792 * 0b0..Normal operation. 30793 * 0b1..Use the state of RXTX_AUXPLL_BIAS_EN_OVRD to override the signal "rxtx_auxpll_bias_en". 30794 */ 30795 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD_EN_MASK) 30796 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD_MASK (0x200U) 30797 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD_SHIFT (9U) 30798 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD_MASK) 30799 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD_EN_MASK (0x400U) 30800 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD_EN_SHIFT (10U) 30801 /*! RXTX_AUXPLL_VCO_EN_OVRD_EN - Override control for RXTX_AUXPLL_VCO_EN 30802 * 0b0..Normal operation. 30803 * 0b1..Use the state of RXTX_AUXPLL_VCO_EN_OVRD to override the signal "rxtx_auxpll_vco_en". 30804 */ 30805 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD_EN_MASK) 30806 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD_MASK (0x800U) 30807 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD_SHIFT (11U) 30808 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD_MASK) 30809 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD_EN_MASK (0x1000U) 30810 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD_EN_SHIFT (12U) 30811 /*! RXTX_AUXPLL_FCAL_EN_OVRD_EN - Override control for RXTX_AUXPLL_FCAL_EN 30812 * 0b0..Normal operation. 30813 * 0b1..Use the state of RXTX_AUXPLL_FCAL_EN_OVRD to override the signal "rxtx_auxpll_fcal_en". 30814 */ 30815 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD_EN_MASK) 30816 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD_MASK (0x2000U) 30817 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD_SHIFT (13U) 30818 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD_MASK) 30819 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD_EN_MASK (0x4000U) 30820 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD_EN_SHIFT (14U) 30821 /*! RXTX_AUXPLL_LF_EN_OVRD_EN - Override control for RXTX_AUXPLL_LF_EN 30822 * 0b0..Normal operation. 30823 * 0b1..Use the state of RXTX_AUXPLL_LF_EN_OVRD to override the signal "rxtx_auxpll_lf_en". 30824 */ 30825 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD_EN_MASK) 30826 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD_MASK (0x8000U) 30827 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD_SHIFT (15U) 30828 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD_MASK) 30829 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD_EN_MASK (0x10000U) 30830 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD_EN_SHIFT (16U) 30831 /*! RXTX_AUXPLL_PD_EN_OVRD_EN - Override control for RXTX_AUXPLL_PD_EN 30832 * 0b0..Normal operation. 30833 * 0b1..Use the state of RXTX_AUXPLL_PD_EN_OVRD to override the signal "rxtx_auxpll_pd_en". 30834 */ 30835 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD_EN_MASK) 30836 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD_MASK (0x20000U) 30837 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD_SHIFT (17U) 30838 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD_MASK) 30839 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_EN_MASK (0x40000U) 30840 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_EN_SHIFT (18U) 30841 /*! RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_EN - Override control for RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN 30842 * 0b0..Normal operation. 30843 * 0b1..Use the state of RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD to override the signal "rxtx_auxpll_pd_lf_filter_charge_en". 30844 */ 30845 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_EN_MASK) 30846 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_MASK (0x80000U) 30847 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_SHIFT (19U) 30848 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_MASK) 30849 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD_EN_MASK (0x100000U) 30850 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD_EN_SHIFT (20U) 30851 /*! RXTX_AUXPLL_ADC_BUF_EN_OVRD_EN - Override control for RXTX_AUXPLL_ADC_BUF_EN 30852 * 0b0..Normal operation. 30853 * 0b1..Use the state of RXTX_AUXPLL_ADC_BUF_EN_OVRD to override the signal "rxtx_auxpll_adc_buf_en". 30854 */ 30855 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD_EN_MASK) 30856 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD_MASK (0x200000U) 30857 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD_SHIFT (21U) 30858 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD_MASK) 30859 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD_EN_MASK (0x400000U) 30860 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD_EN_SHIFT (22U) 30861 /*! RXTX_AUXPLL_DIG_BUF_EN_OVRD_EN - Override control for RXTX_AUXPLL_DIG_BUF_EN 30862 * 0b0..Normal operation. 30863 * 0b1..Use the state of RXTX_AUXPLL_DIG_BUF_EN_OVRD to override the signal "rxtx_auxpll_dig_buf_en". 30864 */ 30865 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD_EN_MASK) 30866 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD_MASK (0x800000U) 30867 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD_SHIFT (23U) 30868 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD_MASK) 30869 #define XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD_EN_MASK (0x1000000U) 30870 #define XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD_EN_SHIFT (24U) 30871 /*! RXTX_RCCAL_EN_OVRD_EN - Override control for RXTX_RCCAL_EN 30872 * 0b0..Normal operation. 30873 * 0b1..Use the state of RXTX_RCCAL_EN_OVRD to override the signal "rxtx_rccal_en". 30874 */ 30875 #define XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD_EN_MASK) 30876 #define XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD_MASK (0x2000000U) 30877 #define XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD_SHIFT (25U) 30878 #define XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD_MASK) 30879 #define XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD_EN_MASK (0x4000000U) 30880 #define XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD_EN_SHIFT (26U) 30881 /*! TX_HPM_DAC_EN_OVRD_EN - Override control for TX_HPM_DAC_EN 30882 * 0b0..Normal operation. 30883 * 0b1..Use the state of TX_HPM_DAC_EN_OVRD to override the signal "tx_hpm_dac_en". 30884 */ 30885 #define XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD_EN_MASK) 30886 #define XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD_MASK (0x8000000U) 30887 #define XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD_SHIFT (27U) 30888 #define XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD_SHIFT)) & XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD_MASK) 30889 #define XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_MASK (0x10000000U) 30890 #define XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_SHIFT (28U) 30891 /*! TX_MODE_OVRD_EN - Override control for TX_MODE 30892 * 0b0..Normal operation. 30893 * 0b1..Use the state of TX_MODE_OVRD to override the signal "tx_mode". 30894 */ 30895 #define XCVR_TSM_OVRD3_TX_MODE_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_MASK) 30896 #define XCVR_TSM_OVRD3_TX_MODE_OVRD_MASK (0x20000000U) 30897 #define XCVR_TSM_OVRD3_TX_MODE_OVRD_SHIFT (29U) 30898 #define XCVR_TSM_OVRD3_TX_MODE_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_TX_MODE_OVRD_SHIFT)) & XCVR_TSM_OVRD3_TX_MODE_OVRD_MASK) 30899 #define XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_MASK (0x40000000U) 30900 #define XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_SHIFT (30U) 30901 /*! RX_MODE_OVRD_EN - Override control for RX_MODE 30902 * 0b0..Normal operation. 30903 * 0b1..Use the state of RX_MODE_OVRD to override the signal "rx_mode". 30904 */ 30905 #define XCVR_TSM_OVRD3_RX_MODE_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_SHIFT)) & XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_MASK) 30906 #define XCVR_TSM_OVRD3_RX_MODE_OVRD_MASK (0x80000000U) 30907 #define XCVR_TSM_OVRD3_RX_MODE_OVRD_SHIFT (31U) 30908 #define XCVR_TSM_OVRD3_RX_MODE_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_OVRD3_RX_MODE_OVRD_SHIFT)) & XCVR_TSM_OVRD3_RX_MODE_OVRD_MASK) 30909 /*! @} */ 30910 30911 30912 /*! 30913 * @} 30914 */ /* end of group XCVR_TSM_Register_Masks */ 30915 30916 30917 /* XCVR_TSM - Peripheral instance base addresses */ 30918 /** Peripheral XCVR_TSM base address */ 30919 #define XCVR_TSM_BASE (0x410302C0u) 30920 /** Peripheral XCVR_TSM base pointer */ 30921 #define XCVR_TSM ((XCVR_TSM_Type *)XCVR_TSM_BASE) 30922 /** Array initializer of XCVR_TSM peripheral base addresses */ 30923 #define XCVR_TSM_BASE_ADDRS { XCVR_TSM_BASE } 30924 /** Array initializer of XCVR_TSM peripheral base pointers */ 30925 #define XCVR_TSM_BASE_PTRS { XCVR_TSM } 30926 30927 /*! 30928 * @} 30929 */ /* end of group XCVR_TSM_Peripheral_Access_Layer */ 30930 30931 30932 /* ---------------------------------------------------------------------------- 30933 -- XCVR_TX_DIG Peripheral Access Layer 30934 ---------------------------------------------------------------------------- */ 30935 30936 /*! 30937 * @addtogroup XCVR_TX_DIG_Peripheral_Access_Layer XCVR_TX_DIG Peripheral Access Layer 30938 * @{ 30939 */ 30940 30941 /** XCVR_TX_DIG - Register Layout Typedef */ 30942 typedef struct { 30943 __IO uint32_t CTRL; /**< TX Digital Control, offset: 0x0 */ 30944 __IO uint32_t DATA_PADDING; /**< TX Data Padding, offset: 0x4 */ 30945 __IO uint32_t GFSK_CTRL; /**< TX GFSK Modulator Control, offset: 0x8 */ 30946 __IO uint32_t GFSK_COEFF2; /**< TX GFSK Filter Coefficients 2, offset: 0xC */ 30947 __IO uint32_t GFSK_COEFF1; /**< TX GFSK Filter Coefficients 1, offset: 0x10 */ 30948 __IO uint32_t FSK_SCALE; /**< TX FSK Modulation Levels, offset: 0x14 */ 30949 __IO uint32_t DFT_PATTERN; /**< TX DFT Modulation Pattern, offset: 0x18 */ 30950 } XCVR_TX_DIG_Type; 30951 30952 /* ---------------------------------------------------------------------------- 30953 -- XCVR_TX_DIG Register Masks 30954 ---------------------------------------------------------------------------- */ 30955 30956 /*! 30957 * @addtogroup XCVR_TX_DIG_Register_Masks XCVR_TX_DIG Register Masks 30958 * @{ 30959 */ 30960 30961 /*! @name CTRL - TX Digital Control */ 30962 /*! @{ */ 30963 #define XCVR_TX_DIG_CTRL_RADIO_DFT_MODE_MASK (0xFU) 30964 #define XCVR_TX_DIG_CTRL_RADIO_DFT_MODE_SHIFT (0U) 30965 /*! RADIO_DFT_MODE - Radio DFT Modes 30966 * 0b0000..Normal Radio Operation, DFT not engaged. 30967 * 0b0001..Carrier Frequency Only 30968 * 0b0010..Pattern Register GFSK 30969 * 0b0011..LFSR GFSK 30970 * 0b0100..Pattern Register FSK 30971 * 0b0101..LFSR FSK 30972 * 0b0110..Pattern Register O-QPSK 30973 * 0b0111..LFSR O-QPSK 30974 * 0b1000..LFSR 802.15.4 Symbols 30975 * 0b1001..PLL Modulation from RAM 30976 * 0b1010..PLL Coarse Tune BIST 30977 * 0b1011..PLL Frequency Synthesizer BIST 30978 * 0b1100..High Port DAC BIST 30979 * 0b1101..VCO Frequency Meter 30980 * 0b1110..Reserved 30981 * 0b1111..Reserved 30982 */ 30983 #define XCVR_TX_DIG_CTRL_RADIO_DFT_MODE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_CTRL_RADIO_DFT_MODE_SHIFT)) & XCVR_TX_DIG_CTRL_RADIO_DFT_MODE_MASK) 30984 #define XCVR_TX_DIG_CTRL_LFSR_LENGTH_MASK (0x70U) 30985 #define XCVR_TX_DIG_CTRL_LFSR_LENGTH_SHIFT (4U) 30986 /*! LFSR_LENGTH - LFSR Length 30987 * 0b000..LFSR 9, tap mask 100010000 30988 * 0b001..LFSR 10, tap mask 1001000000 30989 * 0b010..LFSR 11, tap mask 11101000000 30990 * 0b011..LFSR 13, tap mask 1101100000000 30991 * 0b100..LFSR 15, tap mask 111010000000000 30992 * 0b101..LFSR 17, tap mask 11110000000000000 30993 * 0b110..Reserved 30994 * 0b111..Reserved 30995 */ 30996 #define XCVR_TX_DIG_CTRL_LFSR_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_CTRL_LFSR_LENGTH_SHIFT)) & XCVR_TX_DIG_CTRL_LFSR_LENGTH_MASK) 30997 #define XCVR_TX_DIG_CTRL_LFSR_EN_MASK (0x80U) 30998 #define XCVR_TX_DIG_CTRL_LFSR_EN_SHIFT (7U) 30999 #define XCVR_TX_DIG_CTRL_LFSR_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_CTRL_LFSR_EN_SHIFT)) & XCVR_TX_DIG_CTRL_LFSR_EN_MASK) 31000 #define XCVR_TX_DIG_CTRL_DFT_CLK_SEL_MASK (0x700U) 31001 #define XCVR_TX_DIG_CTRL_DFT_CLK_SEL_SHIFT (8U) 31002 /*! DFT_CLK_SEL - DFT Clock Selection 31003 * 0b000..62.5 kHz 31004 * 0b001..125 kHz 31005 * 0b010..250 kHz 31006 * 0b011..500 kHz 31007 * 0b100..1 MHz 31008 * 0b101..2 MHz 31009 * 0b110..4 MHz 31010 * 0b111..RF OSC Clock 31011 */ 31012 #define XCVR_TX_DIG_CTRL_DFT_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_CTRL_DFT_CLK_SEL_SHIFT)) & XCVR_TX_DIG_CTRL_DFT_CLK_SEL_MASK) 31013 #define XCVR_TX_DIG_CTRL_TX_DFT_EN_MASK (0x800U) 31014 #define XCVR_TX_DIG_CTRL_TX_DFT_EN_SHIFT (11U) 31015 #define XCVR_TX_DIG_CTRL_TX_DFT_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_CTRL_TX_DFT_EN_SHIFT)) & XCVR_TX_DIG_CTRL_TX_DFT_EN_MASK) 31016 #define XCVR_TX_DIG_CTRL_SOC_TEST_SEL_MASK (0x3000U) 31017 #define XCVR_TX_DIG_CTRL_SOC_TEST_SEL_SHIFT (12U) 31018 /*! SOC_TEST_SEL - Radio Clock Selector for SoC RF Clock Tests 31019 * 0b00..No Clock Selected 31020 * 0b01..PLL Sigma Delta Clock, divided by 2 31021 * 0b10..Auxiliary PLL Clock, divided by 2 31022 * 0b11..RF Ref Osc clock, divided by 2 31023 */ 31024 #define XCVR_TX_DIG_CTRL_SOC_TEST_SEL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_CTRL_SOC_TEST_SEL_SHIFT)) & XCVR_TX_DIG_CTRL_SOC_TEST_SEL_MASK) 31025 #define XCVR_TX_DIG_CTRL_TX_CAPTURE_POL_MASK (0x10000U) 31026 #define XCVR_TX_DIG_CTRL_TX_CAPTURE_POL_SHIFT (16U) 31027 #define XCVR_TX_DIG_CTRL_TX_CAPTURE_POL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_CTRL_TX_CAPTURE_POL_SHIFT)) & XCVR_TX_DIG_CTRL_TX_CAPTURE_POL_MASK) 31028 #define XCVR_TX_DIG_CTRL_ZERO_FDEV_MASK (0x80000U) 31029 #define XCVR_TX_DIG_CTRL_ZERO_FDEV_SHIFT (19U) 31030 #define XCVR_TX_DIG_CTRL_ZERO_FDEV(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_CTRL_ZERO_FDEV_SHIFT)) & XCVR_TX_DIG_CTRL_ZERO_FDEV_MASK) 31031 #define XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_MASK (0xFFC00000U) 31032 #define XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_SHIFT (22U) 31033 #define XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_SHIFT)) & XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_MASK) 31034 /*! @} */ 31035 31036 /*! @name DATA_PADDING - TX Data Padding */ 31037 /*! @{ */ 31038 #define XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_0_MASK (0xFFU) 31039 #define XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_0_SHIFT (0U) 31040 #define XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_0_SHIFT)) & XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_0_MASK) 31041 #define XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_1_MASK (0xFF00U) 31042 #define XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_1_SHIFT (8U) 31043 #define XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_1_SHIFT)) & XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_1_MASK) 31044 #define XCVR_TX_DIG_DATA_PADDING_DFT_LFSR_OUT_MASK (0x7FFF0000U) 31045 #define XCVR_TX_DIG_DATA_PADDING_DFT_LFSR_OUT_SHIFT (16U) 31046 #define XCVR_TX_DIG_DATA_PADDING_DFT_LFSR_OUT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_DATA_PADDING_DFT_LFSR_OUT_SHIFT)) & XCVR_TX_DIG_DATA_PADDING_DFT_LFSR_OUT_MASK) 31047 #define XCVR_TX_DIG_DATA_PADDING_LRM_MASK (0x80000000U) 31048 #define XCVR_TX_DIG_DATA_PADDING_LRM_SHIFT (31U) 31049 #define XCVR_TX_DIG_DATA_PADDING_LRM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_DATA_PADDING_LRM_SHIFT)) & XCVR_TX_DIG_DATA_PADDING_LRM_MASK) 31050 /*! @} */ 31051 31052 /*! @name GFSK_CTRL - TX GFSK Modulator Control */ 31053 /*! @{ */ 31054 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_MASK (0xFFFFU) 31055 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_SHIFT (0U) 31056 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MULTIPLY_TABLE_MANUAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_GFSK_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_SHIFT)) & XCVR_TX_DIG_GFSK_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_MASK) 31057 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MI_MASK (0x30000U) 31058 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MI_SHIFT (16U) 31059 /*! GFSK_MI - GFSK Modulation Index 31060 * 0b00..0.32 31061 * 0b01..0.50 31062 * 0b10..0.70 31063 * 0b11..1.00 31064 */ 31065 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MI(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_GFSK_CTRL_GFSK_MI_SHIFT)) & XCVR_TX_DIG_GFSK_CTRL_GFSK_MI_MASK) 31066 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MLD_MASK (0x100000U) 31067 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MLD_SHIFT (20U) 31068 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MLD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_GFSK_CTRL_GFSK_MLD_SHIFT)) & XCVR_TX_DIG_GFSK_CTRL_GFSK_MLD_MASK) 31069 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_FLD_MASK (0x200000U) 31070 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_FLD_SHIFT (21U) 31071 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_FLD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_GFSK_CTRL_GFSK_FLD_SHIFT)) & XCVR_TX_DIG_GFSK_CTRL_GFSK_FLD_MASK) 31072 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MOD_INDEX_SCALING_MASK (0x7000000U) 31073 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MOD_INDEX_SCALING_SHIFT (24U) 31074 /*! GFSK_MOD_INDEX_SCALING - GFSK Modulation Index Scaling Factor 31075 * 0b000..1 31076 * 0b001..1 + 1/32 31077 * 0b010..1 + 1/16 31078 * 0b011..1 + 1/8 31079 * 0b100..1 - 1/32 31080 * 0b101..1 - 1/16 31081 * 0b110..1 - 1/8 31082 * 0b111..Reserved 31083 */ 31084 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MOD_INDEX_SCALING(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_GFSK_CTRL_GFSK_MOD_INDEX_SCALING_SHIFT)) & XCVR_TX_DIG_GFSK_CTRL_GFSK_MOD_INDEX_SCALING_MASK) 31085 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_OVRD_EN_MASK (0x10000000U) 31086 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_OVRD_EN_SHIFT (28U) 31087 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_OVRD_EN_SHIFT)) & XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_OVRD_EN_MASK) 31088 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_0_OVRD_MASK (0x20000000U) 31089 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_0_OVRD_SHIFT (29U) 31090 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_0_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_0_OVRD_SHIFT)) & XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_0_OVRD_MASK) 31091 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_1_OVRD_MASK (0x40000000U) 31092 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_1_OVRD_SHIFT (30U) 31093 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_1_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_1_OVRD_SHIFT)) & XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_1_OVRD_MASK) 31094 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_2_OVRD_MASK (0x80000000U) 31095 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_2_OVRD_SHIFT (31U) 31096 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_2_OVRD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_2_OVRD_SHIFT)) & XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_2_OVRD_MASK) 31097 /*! @} */ 31098 31099 /*! @name GFSK_COEFF2 - TX GFSK Filter Coefficients 2 */ 31100 /*! @{ */ 31101 #define XCVR_TX_DIG_GFSK_COEFF2_GFSK_FILTER_COEFF_MANUAL2_MASK (0xFFFFFFFFU) 31102 #define XCVR_TX_DIG_GFSK_COEFF2_GFSK_FILTER_COEFF_MANUAL2_SHIFT (0U) 31103 #define XCVR_TX_DIG_GFSK_COEFF2_GFSK_FILTER_COEFF_MANUAL2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_GFSK_COEFF2_GFSK_FILTER_COEFF_MANUAL2_SHIFT)) & XCVR_TX_DIG_GFSK_COEFF2_GFSK_FILTER_COEFF_MANUAL2_MASK) 31104 /*! @} */ 31105 31106 /*! @name GFSK_COEFF1 - TX GFSK Filter Coefficients 1 */ 31107 /*! @{ */ 31108 #define XCVR_TX_DIG_GFSK_COEFF1_GFSK_FILTER_COEFF_MANUAL1_MASK (0xFFFFFFFFU) 31109 #define XCVR_TX_DIG_GFSK_COEFF1_GFSK_FILTER_COEFF_MANUAL1_SHIFT (0U) 31110 #define XCVR_TX_DIG_GFSK_COEFF1_GFSK_FILTER_COEFF_MANUAL1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_GFSK_COEFF1_GFSK_FILTER_COEFF_MANUAL1_SHIFT)) & XCVR_TX_DIG_GFSK_COEFF1_GFSK_FILTER_COEFF_MANUAL1_MASK) 31111 /*! @} */ 31112 31113 /*! @name FSK_SCALE - TX FSK Modulation Levels */ 31114 /*! @{ */ 31115 #define XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_0_MASK (0x1FFFU) 31116 #define XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_0_SHIFT (0U) 31117 #define XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_0_SHIFT)) & XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_0_MASK) 31118 #define XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_1_MASK (0x1FFF0000U) 31119 #define XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_1_SHIFT (16U) 31120 #define XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_1_SHIFT)) & XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_1_MASK) 31121 #define XCVR_TX_DIG_FSK_SCALE_FSK_BITRATE_SCALE_DISABLE_MASK (0x80000000U) 31122 #define XCVR_TX_DIG_FSK_SCALE_FSK_BITRATE_SCALE_DISABLE_SHIFT (31U) 31123 #define XCVR_TX_DIG_FSK_SCALE_FSK_BITRATE_SCALE_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_FSK_SCALE_FSK_BITRATE_SCALE_DISABLE_SHIFT)) & XCVR_TX_DIG_FSK_SCALE_FSK_BITRATE_SCALE_DISABLE_MASK) 31124 /*! @} */ 31125 31126 /*! @name DFT_PATTERN - TX DFT Modulation Pattern */ 31127 /*! @{ */ 31128 #define XCVR_TX_DIG_DFT_PATTERN_DFT_MOD_PATTERN_MASK (0xFFFFFFFFU) 31129 #define XCVR_TX_DIG_DFT_PATTERN_DFT_MOD_PATTERN_SHIFT (0U) 31130 #define XCVR_TX_DIG_DFT_PATTERN_DFT_MOD_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TX_DIG_DFT_PATTERN_DFT_MOD_PATTERN_SHIFT)) & XCVR_TX_DIG_DFT_PATTERN_DFT_MOD_PATTERN_MASK) 31131 /*! @} */ 31132 31133 31134 /*! 31135 * @} 31136 */ /* end of group XCVR_TX_DIG_Register_Masks */ 31137 31138 31139 /* XCVR_TX_DIG - Peripheral instance base addresses */ 31140 /** Peripheral XCVR_TX_DIG base address */ 31141 #define XCVR_TX_DIG_BASE (0x41030200u) 31142 /** Peripheral XCVR_TX_DIG base pointer */ 31143 #define XCVR_TX_DIG ((XCVR_TX_DIG_Type *)XCVR_TX_DIG_BASE) 31144 /** Array initializer of XCVR_TX_DIG peripheral base addresses */ 31145 #define XCVR_TX_DIG_BASE_ADDRS { XCVR_TX_DIG_BASE } 31146 /** Array initializer of XCVR_TX_DIG peripheral base pointers */ 31147 #define XCVR_TX_DIG_BASE_PTRS { XCVR_TX_DIG } 31148 31149 /*! 31150 * @} 31151 */ /* end of group XCVR_TX_DIG_Peripheral_Access_Layer */ 31152 31153 31154 /* ---------------------------------------------------------------------------- 31155 -- XCVR_WOR Peripheral Access Layer 31156 ---------------------------------------------------------------------------- */ 31157 31158 /*! 31159 * @addtogroup XCVR_WOR_Peripheral_Access_Layer XCVR_WOR Peripheral Access Layer 31160 * @{ 31161 */ 31162 31163 /** XCVR_WOR - Register Layout Typedef */ 31164 typedef struct { 31165 __IO uint32_t WOR_CTRL; /**< WAKE-ON-RADIO CONTROL REGISTER, offset: 0x0 */ 31166 __IO uint32_t WOR_TIMEOUT; /**< WAKE-ON-RADIO TIMEOUT REGISTER, offset: 0x4 */ 31167 __I uint32_t TIMESTAMP1; /**< WAKE-ON-RADIO TIMESTAMP 1, offset: 0x8 */ 31168 __I uint32_t TIMESTAMP2; /**< WAKE-ON-RADIO TIMESTAMP 2, offset: 0xC */ 31169 __I uint32_t TIMESTAMP3; /**< WAKE-ON-RADIO TIMESTAMP 3, offset: 0x10 */ 31170 __I uint32_t WOR_STATUS; /**< WAKE-ON-RADIO STATUS REGISTER, offset: 0x14 */ 31171 __IO uint32_t WW_CTRL; /**< WINDOW-WIDENING CONTROL REGISTER, offset: 0x18 */ 31172 __IO uint32_t HOP_CTRL; /**< FREQUENCY HOP CONTROL REGISTER, offset: 0x1C */ 31173 __IO uint32_t SLOT0_DESC0; /**< SLOT 0 DESCRIPTOR (LSB), offset: 0x20 */ 31174 __IO uint32_t SLOT0_DESC1; /**< SLOT 0 DESCRIPTOR (MSB), offset: 0x24 */ 31175 __IO uint32_t SLOT1_DESC0; /**< SLOT 1 DESCRIPTOR (LSB), offset: 0x28 */ 31176 __IO uint32_t SLOT1_DESC1; /**< SLOT 1 DESCRIPTOR (MSB), offset: 0x2C */ 31177 __IO uint32_t SLOT2_DESC0; /**< SLOT 2 DESCRIPTOR (LSB), offset: 0x30 */ 31178 __IO uint32_t SLOT2_DESC1; /**< SLOT 2 DESCRIPTOR (MSB), offset: 0x34 */ 31179 __IO uint32_t SLOT3_DESC0; /**< SLOT 3 DESCRIPTOR (LSB), offset: 0x38 */ 31180 __IO uint32_t SLOT3_DESC1; /**< SLOT 3 DESCRIPTOR (MSB), offset: 0x3C */ 31181 } XCVR_WOR_Type; 31182 31183 /* ---------------------------------------------------------------------------- 31184 -- XCVR_WOR Register Masks 31185 ---------------------------------------------------------------------------- */ 31186 31187 /*! 31188 * @addtogroup XCVR_WOR_Register_Masks XCVR_WOR Register Masks 31189 * @{ 31190 */ 31191 31192 /*! @name WOR_CTRL - WAKE-ON-RADIO CONTROL REGISTER */ 31193 /*! @{ */ 31194 #define XCVR_WOR_WOR_CTRL_WOR_EN_MASK (0x1U) 31195 #define XCVR_WOR_WOR_CTRL_WOR_EN_SHIFT (0U) 31196 #define XCVR_WOR_WOR_CTRL_WOR_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_CTRL_WOR_EN_SHIFT)) & XCVR_WOR_WOR_CTRL_WOR_EN_MASK) 31197 #define XCVR_WOR_WOR_CTRL_SCHEDULING_MODE_MASK (0x2U) 31198 #define XCVR_WOR_WOR_CTRL_SCHEDULING_MODE_SHIFT (1U) 31199 #define XCVR_WOR_WOR_CTRL_SCHEDULING_MODE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_CTRL_SCHEDULING_MODE_SHIFT)) & XCVR_WOR_WOR_CTRL_SCHEDULING_MODE_MASK) 31200 #define XCVR_WOR_WOR_CTRL_WOR_PROTOCOL_MASK (0xCU) 31201 #define XCVR_WOR_WOR_CTRL_WOR_PROTOCOL_SHIFT (2U) 31202 #define XCVR_WOR_WOR_CTRL_WOR_PROTOCOL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_CTRL_WOR_PROTOCOL_SHIFT)) & XCVR_WOR_WOR_CTRL_WOR_PROTOCOL_MASK) 31203 #define XCVR_WOR_WOR_CTRL_SLOTS_USED_MASK (0x70U) 31204 #define XCVR_WOR_WOR_CTRL_SLOTS_USED_SHIFT (4U) 31205 #define XCVR_WOR_WOR_CTRL_SLOTS_USED(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_CTRL_SLOTS_USED_SHIFT)) & XCVR_WOR_WOR_CTRL_SLOTS_USED_MASK) 31206 #define XCVR_WOR_WOR_CTRL_SKIP_FIRST_DSM_MASK (0x80U) 31207 #define XCVR_WOR_WOR_CTRL_SKIP_FIRST_DSM_SHIFT (7U) 31208 #define XCVR_WOR_WOR_CTRL_SKIP_FIRST_DSM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_CTRL_SKIP_FIRST_DSM_SHIFT)) & XCVR_WOR_WOR_CTRL_SKIP_FIRST_DSM_MASK) 31209 #define XCVR_WOR_WOR_CTRL_DSM_GUARDBAND_MASK (0xF0000U) 31210 #define XCVR_WOR_WOR_CTRL_DSM_GUARDBAND_SHIFT (16U) 31211 #define XCVR_WOR_WOR_CTRL_DSM_GUARDBAND(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_CTRL_DSM_GUARDBAND_SHIFT)) & XCVR_WOR_WOR_CTRL_DSM_GUARDBAND_MASK) 31212 #define XCVR_WOR_WOR_CTRL_WOR_RESUME_MASK (0x1000000U) 31213 #define XCVR_WOR_WOR_CTRL_WOR_RESUME_SHIFT (24U) 31214 #define XCVR_WOR_WOR_CTRL_WOR_RESUME(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_CTRL_WOR_RESUME_SHIFT)) & XCVR_WOR_WOR_CTRL_WOR_RESUME_MASK) 31215 #define XCVR_WOR_WOR_CTRL_WOR_DEBUG_REG_MASK (0x2000000U) 31216 #define XCVR_WOR_WOR_CTRL_WOR_DEBUG_REG_SHIFT (25U) 31217 #define XCVR_WOR_WOR_CTRL_WOR_DEBUG_REG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_CTRL_WOR_DEBUG_REG_SHIFT)) & XCVR_WOR_WOR_CTRL_WOR_DEBUG_REG_MASK) 31218 /*! @} */ 31219 31220 /*! @name WOR_TIMEOUT - WAKE-ON-RADIO TIMEOUT REGISTER */ 31221 /*! @{ */ 31222 #define XCVR_WOR_WOR_TIMEOUT_RECEIVE_TIMEOUT_MASK (0xFFFFU) 31223 #define XCVR_WOR_WOR_TIMEOUT_RECEIVE_TIMEOUT_SHIFT (0U) 31224 #define XCVR_WOR_WOR_TIMEOUT_RECEIVE_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_TIMEOUT_RECEIVE_TIMEOUT_SHIFT)) & XCVR_WOR_WOR_TIMEOUT_RECEIVE_TIMEOUT_MASK) 31225 #define XCVR_WOR_WOR_TIMEOUT_WAKE_ON_NTH_SLOT_MASK (0xFF0000U) 31226 #define XCVR_WOR_WOR_TIMEOUT_WAKE_ON_NTH_SLOT_SHIFT (16U) 31227 #define XCVR_WOR_WOR_TIMEOUT_WAKE_ON_NTH_SLOT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_TIMEOUT_WAKE_ON_NTH_SLOT_SHIFT)) & XCVR_WOR_WOR_TIMEOUT_WAKE_ON_NTH_SLOT_MASK) 31228 #define XCVR_WOR_WOR_TIMEOUT_WOR_SLOT_COUNT_MASK (0xFF000000U) 31229 #define XCVR_WOR_WOR_TIMEOUT_WOR_SLOT_COUNT_SHIFT (24U) 31230 #define XCVR_WOR_WOR_TIMEOUT_WOR_SLOT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_TIMEOUT_WOR_SLOT_COUNT_SHIFT)) & XCVR_WOR_WOR_TIMEOUT_WOR_SLOT_COUNT_MASK) 31231 /*! @} */ 31232 31233 /*! @name TIMESTAMP1 - WAKE-ON-RADIO TIMESTAMP 1 */ 31234 /*! @{ */ 31235 #define XCVR_WOR_TIMESTAMP1_TIMESTAMP1_FRAC_MASK (0xFFU) 31236 #define XCVR_WOR_TIMESTAMP1_TIMESTAMP1_FRAC_SHIFT (0U) 31237 #define XCVR_WOR_TIMESTAMP1_TIMESTAMP1_FRAC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_TIMESTAMP1_TIMESTAMP1_FRAC_SHIFT)) & XCVR_WOR_TIMESTAMP1_TIMESTAMP1_FRAC_MASK) 31238 #define XCVR_WOR_TIMESTAMP1_TIMESTAMP1_MASK (0xFFFFFF00U) 31239 #define XCVR_WOR_TIMESTAMP1_TIMESTAMP1_SHIFT (8U) 31240 #define XCVR_WOR_TIMESTAMP1_TIMESTAMP1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_TIMESTAMP1_TIMESTAMP1_SHIFT)) & XCVR_WOR_TIMESTAMP1_TIMESTAMP1_MASK) 31241 /*! @} */ 31242 31243 /*! @name TIMESTAMP2 - WAKE-ON-RADIO TIMESTAMP 2 */ 31244 /*! @{ */ 31245 #define XCVR_WOR_TIMESTAMP2_TIMESTAMP2_FRAC_MASK (0xFFU) 31246 #define XCVR_WOR_TIMESTAMP2_TIMESTAMP2_FRAC_SHIFT (0U) 31247 #define XCVR_WOR_TIMESTAMP2_TIMESTAMP2_FRAC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_TIMESTAMP2_TIMESTAMP2_FRAC_SHIFT)) & XCVR_WOR_TIMESTAMP2_TIMESTAMP2_FRAC_MASK) 31248 #define XCVR_WOR_TIMESTAMP2_TIMESTAMP2_MASK (0xFFFFFF00U) 31249 #define XCVR_WOR_TIMESTAMP2_TIMESTAMP2_SHIFT (8U) 31250 #define XCVR_WOR_TIMESTAMP2_TIMESTAMP2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_TIMESTAMP2_TIMESTAMP2_SHIFT)) & XCVR_WOR_TIMESTAMP2_TIMESTAMP2_MASK) 31251 /*! @} */ 31252 31253 /*! @name TIMESTAMP3 - WAKE-ON-RADIO TIMESTAMP 3 */ 31254 /*! @{ */ 31255 #define XCVR_WOR_TIMESTAMP3_TIMESTAMP3_FRAC_MASK (0xFFU) 31256 #define XCVR_WOR_TIMESTAMP3_TIMESTAMP3_FRAC_SHIFT (0U) 31257 #define XCVR_WOR_TIMESTAMP3_TIMESTAMP3_FRAC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_TIMESTAMP3_TIMESTAMP3_FRAC_SHIFT)) & XCVR_WOR_TIMESTAMP3_TIMESTAMP3_FRAC_MASK) 31258 #define XCVR_WOR_TIMESTAMP3_TIMESTAMP3_MASK (0xFFFFFF00U) 31259 #define XCVR_WOR_TIMESTAMP3_TIMESTAMP3_SHIFT (8U) 31260 #define XCVR_WOR_TIMESTAMP3_TIMESTAMP3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_TIMESTAMP3_TIMESTAMP3_SHIFT)) & XCVR_WOR_TIMESTAMP3_TIMESTAMP3_MASK) 31261 /*! @} */ 31262 31263 /*! @name WOR_STATUS - WAKE-ON-RADIO STATUS REGISTER */ 31264 /*! @{ */ 31265 #define XCVR_WOR_WOR_STATUS_TIMESTAMP0_STS_MASK (0x7U) 31266 #define XCVR_WOR_WOR_STATUS_TIMESTAMP0_STS_SHIFT (0U) 31267 #define XCVR_WOR_WOR_STATUS_TIMESTAMP0_STS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_STATUS_TIMESTAMP0_STS_SHIFT)) & XCVR_WOR_WOR_STATUS_TIMESTAMP0_STS_MASK) 31268 #define XCVR_WOR_WOR_STATUS_TIMESTAMP1_STS_MASK (0x38U) 31269 #define XCVR_WOR_WOR_STATUS_TIMESTAMP1_STS_SHIFT (3U) 31270 #define XCVR_WOR_WOR_STATUS_TIMESTAMP1_STS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_STATUS_TIMESTAMP1_STS_SHIFT)) & XCVR_WOR_WOR_STATUS_TIMESTAMP1_STS_MASK) 31271 #define XCVR_WOR_WOR_STATUS_TIMESTAMP2_STS_MASK (0x1C0U) 31272 #define XCVR_WOR_WOR_STATUS_TIMESTAMP2_STS_SHIFT (6U) 31273 #define XCVR_WOR_WOR_STATUS_TIMESTAMP2_STS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_STATUS_TIMESTAMP2_STS_SHIFT)) & XCVR_WOR_WOR_STATUS_TIMESTAMP2_STS_MASK) 31274 #define XCVR_WOR_WOR_STATUS_TIMESTAMP3_STS_MASK (0xE00U) 31275 #define XCVR_WOR_WOR_STATUS_TIMESTAMP3_STS_SHIFT (9U) 31276 #define XCVR_WOR_WOR_STATUS_TIMESTAMP3_STS(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_STATUS_TIMESTAMP3_STS_SHIFT)) & XCVR_WOR_WOR_STATUS_TIMESTAMP3_STS_MASK) 31277 #define XCVR_WOR_WOR_STATUS_SLOT_MASK (0x3000U) 31278 #define XCVR_WOR_WOR_STATUS_SLOT_SHIFT (12U) 31279 #define XCVR_WOR_WOR_STATUS_SLOT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_STATUS_SLOT_SHIFT)) & XCVR_WOR_WOR_STATUS_SLOT_MASK) 31280 #define XCVR_WOR_WOR_STATUS_WOR_NO_RF_FLAG_MASK (0x10000U) 31281 #define XCVR_WOR_WOR_STATUS_WOR_NO_RF_FLAG_SHIFT (16U) 31282 #define XCVR_WOR_WOR_STATUS_WOR_NO_RF_FLAG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_STATUS_WOR_NO_RF_FLAG_SHIFT)) & XCVR_WOR_WOR_STATUS_WOR_NO_RF_FLAG_MASK) 31283 #define XCVR_WOR_WOR_STATUS_WOR_MAX_SLOT_FLAG_MASK (0x20000U) 31284 #define XCVR_WOR_WOR_STATUS_WOR_MAX_SLOT_FLAG_SHIFT (17U) 31285 #define XCVR_WOR_WOR_STATUS_WOR_MAX_SLOT_FLAG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_STATUS_WOR_MAX_SLOT_FLAG_SHIFT)) & XCVR_WOR_WOR_STATUS_WOR_MAX_SLOT_FLAG_MASK) 31286 #define XCVR_WOR_WOR_STATUS_WOR_DSM_EXIT_FLAG_MASK (0x40000U) 31287 #define XCVR_WOR_WOR_STATUS_WOR_DSM_EXIT_FLAG_SHIFT (18U) 31288 #define XCVR_WOR_WOR_STATUS_WOR_DSM_EXIT_FLAG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_STATUS_WOR_DSM_EXIT_FLAG_SHIFT)) & XCVR_WOR_WOR_STATUS_WOR_DSM_EXIT_FLAG_MASK) 31289 #define XCVR_WOR_WOR_STATUS_WOR_STATE_MASK (0xF00000U) 31290 #define XCVR_WOR_WOR_STATUS_WOR_STATE_SHIFT (20U) 31291 #define XCVR_WOR_WOR_STATUS_WOR_STATE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_STATUS_WOR_STATE_SHIFT)) & XCVR_WOR_WOR_STATUS_WOR_STATE_MASK) 31292 /*! @} */ 31293 31294 /*! @name WW_CTRL - WINDOW-WIDENING CONTROL REGISTER */ 31295 /*! @{ */ 31296 #define XCVR_WOR_WW_CTRL_WW_EN_MASK (0x1U) 31297 #define XCVR_WOR_WW_CTRL_WW_EN_SHIFT (0U) 31298 #define XCVR_WOR_WW_CTRL_WW_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WW_CTRL_WW_EN_SHIFT)) & XCVR_WOR_WW_CTRL_WW_EN_MASK) 31299 #define XCVR_WOR_WW_CTRL_WW_RESET_ON_RX_MASK (0x2U) 31300 #define XCVR_WOR_WW_CTRL_WW_RESET_ON_RX_SHIFT (1U) 31301 #define XCVR_WOR_WW_CTRL_WW_RESET_ON_RX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WW_CTRL_WW_RESET_ON_RX_SHIFT)) & XCVR_WOR_WW_CTRL_WW_RESET_ON_RX_MASK) 31302 #define XCVR_WOR_WW_CTRL_WW_NULL_MASK (0x4U) 31303 #define XCVR_WOR_WW_CTRL_WW_NULL_SHIFT (2U) 31304 #define XCVR_WOR_WW_CTRL_WW_NULL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WW_CTRL_WW_NULL_SHIFT)) & XCVR_WOR_WW_CTRL_WW_NULL_MASK) 31305 #define XCVR_WOR_WW_CTRL_WW_ADD_MASK (0x8U) 31306 #define XCVR_WOR_WW_CTRL_WW_ADD_SHIFT (3U) 31307 #define XCVR_WOR_WW_CTRL_WW_ADD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WW_CTRL_WW_ADD_SHIFT)) & XCVR_WOR_WW_CTRL_WW_ADD_MASK) 31308 #define XCVR_WOR_WW_CTRL_WW_DSM_FACTOR_MASK (0x1F00U) 31309 #define XCVR_WOR_WW_CTRL_WW_DSM_FACTOR_SHIFT (8U) 31310 #define XCVR_WOR_WW_CTRL_WW_DSM_FACTOR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WW_CTRL_WW_DSM_FACTOR_SHIFT)) & XCVR_WOR_WW_CTRL_WW_DSM_FACTOR_MASK) 31311 #define XCVR_WOR_WW_CTRL_WW_RUN_FACTOR_MASK (0x1F0000U) 31312 #define XCVR_WOR_WW_CTRL_WW_RUN_FACTOR_SHIFT (16U) 31313 #define XCVR_WOR_WW_CTRL_WW_RUN_FACTOR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WW_CTRL_WW_RUN_FACTOR_SHIFT)) & XCVR_WOR_WW_CTRL_WW_RUN_FACTOR_MASK) 31314 #define XCVR_WOR_WW_CTRL_WW_INCREASE_MASK (0xFF000000U) 31315 #define XCVR_WOR_WW_CTRL_WW_INCREASE_SHIFT (24U) 31316 #define XCVR_WOR_WW_CTRL_WW_INCREASE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WW_CTRL_WW_INCREASE_SHIFT)) & XCVR_WOR_WW_CTRL_WW_INCREASE_MASK) 31317 /*! @} */ 31318 31319 /*! @name HOP_CTRL - FREQUENCY HOP CONTROL REGISTER */ 31320 /*! @{ */ 31321 #define XCVR_WOR_HOP_CTRL_HOP_TBL_CFG_MASK (0x7U) 31322 #define XCVR_WOR_HOP_CTRL_HOP_TBL_CFG_SHIFT (0U) 31323 #define XCVR_WOR_HOP_CTRL_HOP_TBL_CFG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_HOP_CTRL_HOP_TBL_CFG_SHIFT)) & XCVR_WOR_HOP_CTRL_HOP_TBL_CFG_MASK) 31324 #define XCVR_WOR_HOP_CTRL_NEW_HOP_IDX_MASK (0x7F00U) 31325 #define XCVR_WOR_HOP_CTRL_NEW_HOP_IDX_SHIFT (8U) 31326 #define XCVR_WOR_HOP_CTRL_NEW_HOP_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_HOP_CTRL_NEW_HOP_IDX_SHIFT)) & XCVR_WOR_HOP_CTRL_NEW_HOP_IDX_MASK) 31327 #define XCVR_WOR_HOP_CTRL_UPDATE_HOP_IDX_MASK (0x8000U) 31328 #define XCVR_WOR_HOP_CTRL_UPDATE_HOP_IDX_SHIFT (15U) 31329 #define XCVR_WOR_HOP_CTRL_UPDATE_HOP_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_HOP_CTRL_UPDATE_HOP_IDX_SHIFT)) & XCVR_WOR_HOP_CTRL_UPDATE_HOP_IDX_MASK) 31330 #define XCVR_WOR_HOP_CTRL_HOP_SEQ_LENGTH_MASK (0x7F0000U) 31331 #define XCVR_WOR_HOP_CTRL_HOP_SEQ_LENGTH_SHIFT (16U) 31332 #define XCVR_WOR_HOP_CTRL_HOP_SEQ_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_HOP_CTRL_HOP_SEQ_LENGTH_SHIFT)) & XCVR_WOR_HOP_CTRL_HOP_SEQ_LENGTH_MASK) 31333 /*! @} */ 31334 31335 /*! @name SLOT0_DESC0 - SLOT 0 DESCRIPTOR (LSB) */ 31336 /*! @{ */ 31337 #define XCVR_WOR_SLOT0_DESC0_SLOT0_DESC0_MASK (0xFFFFFFF0U) 31338 #define XCVR_WOR_SLOT0_DESC0_SLOT0_DESC0_SHIFT (4U) 31339 #define XCVR_WOR_SLOT0_DESC0_SLOT0_DESC0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_SLOT0_DESC0_SLOT0_DESC0_SHIFT)) & XCVR_WOR_SLOT0_DESC0_SLOT0_DESC0_MASK) 31340 /*! @} */ 31341 31342 /*! @name SLOT0_DESC1 - SLOT 0 DESCRIPTOR (MSB) */ 31343 /*! @{ */ 31344 #define XCVR_WOR_SLOT0_DESC1_SLOT0_DESC1_MASK (0x1FU) 31345 #define XCVR_WOR_SLOT0_DESC1_SLOT0_DESC1_SHIFT (0U) 31346 #define XCVR_WOR_SLOT0_DESC1_SLOT0_DESC1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_SLOT0_DESC1_SLOT0_DESC1_SHIFT)) & XCVR_WOR_SLOT0_DESC1_SLOT0_DESC1_MASK) 31347 #define XCVR_WOR_SLOT0_DESC1_WOR_HOP_IDX_MASK (0x7F00U) 31348 #define XCVR_WOR_SLOT0_DESC1_WOR_HOP_IDX_SHIFT (8U) 31349 #define XCVR_WOR_SLOT0_DESC1_WOR_HOP_IDX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_SLOT0_DESC1_WOR_HOP_IDX_SHIFT)) & XCVR_WOR_SLOT0_DESC1_WOR_HOP_IDX_MASK) 31350 #define XCVR_WOR_SLOT0_DESC1_WOR_HOP_FREQ_WORD_MASK (0xFFFF0000U) 31351 #define XCVR_WOR_SLOT0_DESC1_WOR_HOP_FREQ_WORD_SHIFT (16U) 31352 #define XCVR_WOR_SLOT0_DESC1_WOR_HOP_FREQ_WORD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_SLOT0_DESC1_WOR_HOP_FREQ_WORD_SHIFT)) & XCVR_WOR_SLOT0_DESC1_WOR_HOP_FREQ_WORD_MASK) 31353 /*! @} */ 31354 31355 /*! @name SLOT1_DESC0 - SLOT 1 DESCRIPTOR (LSB) */ 31356 /*! @{ */ 31357 #define XCVR_WOR_SLOT1_DESC0_SLOT1_DESC0_MASK (0xFFFFFFF0U) 31358 #define XCVR_WOR_SLOT1_DESC0_SLOT1_DESC0_SHIFT (4U) 31359 #define XCVR_WOR_SLOT1_DESC0_SLOT1_DESC0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_SLOT1_DESC0_SLOT1_DESC0_SHIFT)) & XCVR_WOR_SLOT1_DESC0_SLOT1_DESC0_MASK) 31360 /*! @} */ 31361 31362 /*! @name SLOT1_DESC1 - SLOT 1 DESCRIPTOR (MSB) */ 31363 /*! @{ */ 31364 #define XCVR_WOR_SLOT1_DESC1_SLOT1_DESC1_MASK (0x1FU) 31365 #define XCVR_WOR_SLOT1_DESC1_SLOT1_DESC1_SHIFT (0U) 31366 #define XCVR_WOR_SLOT1_DESC1_SLOT1_DESC1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_SLOT1_DESC1_SLOT1_DESC1_SHIFT)) & XCVR_WOR_SLOT1_DESC1_SLOT1_DESC1_MASK) 31367 /*! @} */ 31368 31369 /*! @name SLOT2_DESC0 - SLOT 2 DESCRIPTOR (LSB) */ 31370 /*! @{ */ 31371 #define XCVR_WOR_SLOT2_DESC0_SLOT2_DESC0_MASK (0xFFFFFFF0U) 31372 #define XCVR_WOR_SLOT2_DESC0_SLOT2_DESC0_SHIFT (4U) 31373 #define XCVR_WOR_SLOT2_DESC0_SLOT2_DESC0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_SLOT2_DESC0_SLOT2_DESC0_SHIFT)) & XCVR_WOR_SLOT2_DESC0_SLOT2_DESC0_MASK) 31374 /*! @} */ 31375 31376 /*! @name SLOT2_DESC1 - SLOT 2 DESCRIPTOR (MSB) */ 31377 /*! @{ */ 31378 #define XCVR_WOR_SLOT2_DESC1_SLOT2_DESC1_MASK (0x1FU) 31379 #define XCVR_WOR_SLOT2_DESC1_SLOT2_DESC1_SHIFT (0U) 31380 #define XCVR_WOR_SLOT2_DESC1_SLOT2_DESC1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_SLOT2_DESC1_SLOT2_DESC1_SHIFT)) & XCVR_WOR_SLOT2_DESC1_SLOT2_DESC1_MASK) 31381 /*! @} */ 31382 31383 /*! @name SLOT3_DESC0 - SLOT 3 DESCRIPTOR (LSB) */ 31384 /*! @{ */ 31385 #define XCVR_WOR_SLOT3_DESC0_SLOT3_DESC0_MASK (0xFFFFFFF0U) 31386 #define XCVR_WOR_SLOT3_DESC0_SLOT3_DESC0_SHIFT (4U) 31387 #define XCVR_WOR_SLOT3_DESC0_SLOT3_DESC0(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_SLOT3_DESC0_SLOT3_DESC0_SHIFT)) & XCVR_WOR_SLOT3_DESC0_SLOT3_DESC0_MASK) 31388 /*! @} */ 31389 31390 /*! @name SLOT3_DESC1 - SLOT 3 DESCRIPTOR (MSB) */ 31391 /*! @{ */ 31392 #define XCVR_WOR_SLOT3_DESC1_SLOT3_DESC1_MASK (0x1FU) 31393 #define XCVR_WOR_SLOT3_DESC1_SLOT3_DESC1_SHIFT (0U) 31394 #define XCVR_WOR_SLOT3_DESC1_SLOT3_DESC1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_SLOT3_DESC1_SLOT3_DESC1_SHIFT)) & XCVR_WOR_SLOT3_DESC1_SLOT3_DESC1_MASK) 31395 /*! @} */ 31396 31397 31398 /*! 31399 * @} 31400 */ /* end of group XCVR_WOR_Register_Masks */ 31401 31402 31403 /* XCVR_WOR - Peripheral instance base addresses */ 31404 /** Peripheral XCVR_WOR base address */ 31405 #define XCVR_WOR_BASE (0x410304C0u) 31406 /** Peripheral XCVR_WOR base pointer */ 31407 #define XCVR_WOR ((XCVR_WOR_Type *)XCVR_WOR_BASE) 31408 /** Array initializer of XCVR_WOR peripheral base addresses */ 31409 #define XCVR_WOR_BASE_ADDRS { XCVR_WOR_BASE } 31410 /** Array initializer of XCVR_WOR peripheral base pointers */ 31411 #define XCVR_WOR_BASE_PTRS { XCVR_WOR } 31412 31413 /*! 31414 * @} 31415 */ /* end of group XCVR_WOR_Peripheral_Access_Layer */ 31416 31417 31418 /* ---------------------------------------------------------------------------- 31419 -- XCVR_ZBDEM Peripheral Access Layer 31420 ---------------------------------------------------------------------------- */ 31421 31422 /*! 31423 * @addtogroup XCVR_ZBDEM_Peripheral_Access_Layer XCVR_ZBDEM Peripheral Access Layer 31424 * @{ 31425 */ 31426 31427 /** XCVR_ZBDEM - Register Layout Typedef */ 31428 typedef struct { 31429 __IO uint32_t CORR_CTRL; /**< 802.15.4 DEMOD CORRELATOR CONTROL, offset: 0x0 */ 31430 __IO uint32_t PN_TYPE; /**< 802.15.4 DEMOD PN TYPE, offset: 0x4 */ 31431 __IO uint32_t PN_CODE; /**< 802.15.4 DEMOD PN CODE, offset: 0x8 */ 31432 __IO uint32_t SYNC_CTRL; /**< 802.15.4 DEMOD SYMBOL SYNC CONTROL, offset: 0xC */ 31433 __IO uint32_t CCA_LQI_SRC; /**< 802.15.4 CCA/LQI SOURCE, offset: 0x10 */ 31434 __IO uint32_t FAD_LPPS_THR; /**< FAD CORRELATOR THRESHOLD, offset: 0x14 */ 31435 __IO uint32_t ZBDEM_AFC; /**< 802.15.4 AFC STATUS, offset: 0x18 */ 31436 __IO uint32_t CCA2_CTRL; /**< CCA MODE 2 CONTROL REGISTER, offset: 0x1C */ 31437 __IO uint32_t CCA2_THRESH; /**< CCA MODE 2 CONTROL REGISTER, offset: 0x20 */ 31438 __I uint32_t CCA2_STATUS; /**< CCA MODE 2 STATUS REGISTER, offset: 0x24 */ 31439 } XCVR_ZBDEM_Type; 31440 31441 /* ---------------------------------------------------------------------------- 31442 -- XCVR_ZBDEM Register Masks 31443 ---------------------------------------------------------------------------- */ 31444 31445 /*! 31446 * @addtogroup XCVR_ZBDEM_Register_Masks XCVR_ZBDEM Register Masks 31447 * @{ 31448 */ 31449 31450 /*! @name CORR_CTRL - 802.15.4 DEMOD CORRELATOR CONTROL */ 31451 /*! @{ */ 31452 #define XCVR_ZBDEM_CORR_CTRL_CORR_VT_MASK (0xFFU) 31453 #define XCVR_ZBDEM_CORR_CTRL_CORR_VT_SHIFT (0U) 31454 #define XCVR_ZBDEM_CORR_CTRL_CORR_VT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CORR_CTRL_CORR_VT_SHIFT)) & XCVR_ZBDEM_CORR_CTRL_CORR_VT_MASK) 31455 #define XCVR_ZBDEM_CORR_CTRL_CORR_NVAL_MASK (0x700U) 31456 #define XCVR_ZBDEM_CORR_CTRL_CORR_NVAL_SHIFT (8U) 31457 #define XCVR_ZBDEM_CORR_CTRL_CORR_NVAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CORR_CTRL_CORR_NVAL_SHIFT)) & XCVR_ZBDEM_CORR_CTRL_CORR_NVAL_MASK) 31458 #define XCVR_ZBDEM_CORR_CTRL_MAX_CORR_EN_MASK (0x800U) 31459 #define XCVR_ZBDEM_CORR_CTRL_MAX_CORR_EN_SHIFT (11U) 31460 #define XCVR_ZBDEM_CORR_CTRL_MAX_CORR_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CORR_CTRL_MAX_CORR_EN_SHIFT)) & XCVR_ZBDEM_CORR_CTRL_MAX_CORR_EN_MASK) 31461 #define XCVR_ZBDEM_CORR_CTRL_ZBDEM_CLK_ON_MASK (0x8000U) 31462 #define XCVR_ZBDEM_CORR_CTRL_ZBDEM_CLK_ON_SHIFT (15U) 31463 /*! ZBDEM_CLK_ON - Force 802.15.4 Demodulator Clock On 31464 * 0b0..Normal Operation 31465 * 0b1..Force 802.15.4 Demodulator Clock On (debug purposes only) 31466 */ 31467 #define XCVR_ZBDEM_CORR_CTRL_ZBDEM_CLK_ON(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CORR_CTRL_ZBDEM_CLK_ON_SHIFT)) & XCVR_ZBDEM_CORR_CTRL_ZBDEM_CLK_ON_MASK) 31468 #define XCVR_ZBDEM_CORR_CTRL_RX_MAX_CORR_MASK (0xFF0000U) 31469 #define XCVR_ZBDEM_CORR_CTRL_RX_MAX_CORR_SHIFT (16U) 31470 #define XCVR_ZBDEM_CORR_CTRL_RX_MAX_CORR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CORR_CTRL_RX_MAX_CORR_SHIFT)) & XCVR_ZBDEM_CORR_CTRL_RX_MAX_CORR_MASK) 31471 #define XCVR_ZBDEM_CORR_CTRL_RX_MAX_PREAMBLE_MASK (0xFF000000U) 31472 #define XCVR_ZBDEM_CORR_CTRL_RX_MAX_PREAMBLE_SHIFT (24U) 31473 #define XCVR_ZBDEM_CORR_CTRL_RX_MAX_PREAMBLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CORR_CTRL_RX_MAX_PREAMBLE_SHIFT)) & XCVR_ZBDEM_CORR_CTRL_RX_MAX_PREAMBLE_MASK) 31474 /*! @} */ 31475 31476 /*! @name PN_TYPE - 802.15.4 DEMOD PN TYPE */ 31477 /*! @{ */ 31478 #define XCVR_ZBDEM_PN_TYPE_PN_TYPE_MASK (0x1U) 31479 #define XCVR_ZBDEM_PN_TYPE_PN_TYPE_SHIFT (0U) 31480 #define XCVR_ZBDEM_PN_TYPE_PN_TYPE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_PN_TYPE_PN_TYPE_SHIFT)) & XCVR_ZBDEM_PN_TYPE_PN_TYPE_MASK) 31481 #define XCVR_ZBDEM_PN_TYPE_TX_INV_MASK (0x2U) 31482 #define XCVR_ZBDEM_PN_TYPE_TX_INV_SHIFT (1U) 31483 #define XCVR_ZBDEM_PN_TYPE_TX_INV(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_PN_TYPE_TX_INV_SHIFT)) & XCVR_ZBDEM_PN_TYPE_TX_INV_MASK) 31484 /*! @} */ 31485 31486 /*! @name PN_CODE - 802.15.4 DEMOD PN CODE */ 31487 /*! @{ */ 31488 #define XCVR_ZBDEM_PN_CODE_PN_LSB_MASK (0xFFFFU) 31489 #define XCVR_ZBDEM_PN_CODE_PN_LSB_SHIFT (0U) 31490 #define XCVR_ZBDEM_PN_CODE_PN_LSB(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_PN_CODE_PN_LSB_SHIFT)) & XCVR_ZBDEM_PN_CODE_PN_LSB_MASK) 31491 #define XCVR_ZBDEM_PN_CODE_PN_MSB_MASK (0xFFFF0000U) 31492 #define XCVR_ZBDEM_PN_CODE_PN_MSB_SHIFT (16U) 31493 #define XCVR_ZBDEM_PN_CODE_PN_MSB(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_PN_CODE_PN_MSB_SHIFT)) & XCVR_ZBDEM_PN_CODE_PN_MSB_MASK) 31494 /*! @} */ 31495 31496 /*! @name SYNC_CTRL - 802.15.4 DEMOD SYMBOL SYNC CONTROL */ 31497 /*! @{ */ 31498 #define XCVR_ZBDEM_SYNC_CTRL_SYNC_PER_MASK (0x7U) 31499 #define XCVR_ZBDEM_SYNC_CTRL_SYNC_PER_SHIFT (0U) 31500 #define XCVR_ZBDEM_SYNC_CTRL_SYNC_PER(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_SYNC_CTRL_SYNC_PER_SHIFT)) & XCVR_ZBDEM_SYNC_CTRL_SYNC_PER_MASK) 31501 #define XCVR_ZBDEM_SYNC_CTRL_TRACK_ENABLE_MASK (0x8U) 31502 #define XCVR_ZBDEM_SYNC_CTRL_TRACK_ENABLE_SHIFT (3U) 31503 /*! TRACK_ENABLE - TRACK_ENABLE 31504 * 0b0..symbol timing synchronization tracking disabled in Rx frontend 31505 * 0b1..symbol timing synchronization tracking enabled in Rx frontend (default) 31506 */ 31507 #define XCVR_ZBDEM_SYNC_CTRL_TRACK_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_SYNC_CTRL_TRACK_ENABLE_SHIFT)) & XCVR_ZBDEM_SYNC_CTRL_TRACK_ENABLE_MASK) 31508 /*! @} */ 31509 31510 /*! @name CCA_LQI_SRC - 802.15.4 CCA/LQI SOURCE */ 31511 /*! @{ */ 31512 #define XCVR_ZBDEM_CCA_LQI_SRC_CCA1_FROM_RX_DIG_MASK (0x1U) 31513 #define XCVR_ZBDEM_CCA_LQI_SRC_CCA1_FROM_RX_DIG_SHIFT (0U) 31514 /*! CCA1_FROM_RX_DIG - Selects the Source of CCA1 (Clear Channel Assessment Mode 1) Information Provided to the 802.15.4 Link Layer 31515 * 0b0..Use the CCA1 information computed internally in the 802.15.4 Demod 31516 * 0b1..Use the CCA1 information computed by the RX Digital 31517 */ 31518 #define XCVR_ZBDEM_CCA_LQI_SRC_CCA1_FROM_RX_DIG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CCA_LQI_SRC_CCA1_FROM_RX_DIG_SHIFT)) & XCVR_ZBDEM_CCA_LQI_SRC_CCA1_FROM_RX_DIG_MASK) 31519 #define XCVR_ZBDEM_CCA_LQI_SRC_LQI_FROM_RX_DIG_MASK (0x2U) 31520 #define XCVR_ZBDEM_CCA_LQI_SRC_LQI_FROM_RX_DIG_SHIFT (1U) 31521 /*! LQI_FROM_RX_DIG - Selects the Source of LQI (Link Quality Indicator) Information Provided to the 802.15.4 Link Layer 31522 * 0b0..Use the LQI information computed internally in the 802.15.4 Demod 31523 * 0b1..Use the LQI information computed by the RX Digital 31524 */ 31525 #define XCVR_ZBDEM_CCA_LQI_SRC_LQI_FROM_RX_DIG(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CCA_LQI_SRC_LQI_FROM_RX_DIG_SHIFT)) & XCVR_ZBDEM_CCA_LQI_SRC_LQI_FROM_RX_DIG_MASK) 31526 #define XCVR_ZBDEM_CCA_LQI_SRC_LQI_START_AT_SFD_MASK (0x4U) 31527 #define XCVR_ZBDEM_CCA_LQI_SRC_LQI_START_AT_SFD_SHIFT (2U) 31528 /*! LQI_START_AT_SFD - Select Start Point for LQI Computation 31529 * 0b0..Start LQI computation at Preamble Detection (similar to previous NXP 802.15.4 products) 31530 * 0b1..Start LQI computation at SFD (Start of Frame Delimiter) Detection 31531 */ 31532 #define XCVR_ZBDEM_CCA_LQI_SRC_LQI_START_AT_SFD(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CCA_LQI_SRC_LQI_START_AT_SFD_SHIFT)) & XCVR_ZBDEM_CCA_LQI_SRC_LQI_START_AT_SFD_MASK) 31533 #define XCVR_ZBDEM_CCA_LQI_SRC_ZBDEM_CCA_CLK_ON_MASK (0x8U) 31534 #define XCVR_ZBDEM_CCA_LQI_SRC_ZBDEM_CCA_CLK_ON_SHIFT (3U) 31535 #define XCVR_ZBDEM_CCA_LQI_SRC_ZBDEM_CCA_CLK_ON(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CCA_LQI_SRC_ZBDEM_CCA_CLK_ON_SHIFT)) & XCVR_ZBDEM_CCA_LQI_SRC_ZBDEM_CCA_CLK_ON_MASK) 31536 /*! @} */ 31537 31538 /*! @name FAD_LPPS_THR - FAD CORRELATOR THRESHOLD */ 31539 /*! @{ */ 31540 #define XCVR_ZBDEM_FAD_LPPS_THR_FAD_THR_MASK (0xFFU) 31541 #define XCVR_ZBDEM_FAD_LPPS_THR_FAD_THR_SHIFT (0U) 31542 #define XCVR_ZBDEM_FAD_LPPS_THR_FAD_THR(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_FAD_LPPS_THR_FAD_THR_SHIFT)) & XCVR_ZBDEM_FAD_LPPS_THR_FAD_THR_MASK) 31543 #define XCVR_ZBDEM_FAD_LPPS_THR_FAD_FILL1_MASK (0x7F00U) 31544 #define XCVR_ZBDEM_FAD_LPPS_THR_FAD_FILL1_SHIFT (8U) 31545 #define XCVR_ZBDEM_FAD_LPPS_THR_FAD_FILL1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_FAD_LPPS_THR_FAD_FILL1_SHIFT)) & XCVR_ZBDEM_FAD_LPPS_THR_FAD_FILL1_MASK) 31546 #define XCVR_ZBDEM_FAD_LPPS_THR_LPPS_FILL_COUNT_MASK (0x7F0000U) 31547 #define XCVR_ZBDEM_FAD_LPPS_THR_LPPS_FILL_COUNT_SHIFT (16U) 31548 #define XCVR_ZBDEM_FAD_LPPS_THR_LPPS_FILL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_FAD_LPPS_THR_LPPS_FILL_COUNT_SHIFT)) & XCVR_ZBDEM_FAD_LPPS_THR_LPPS_FILL_COUNT_MASK) 31549 #define XCVR_ZBDEM_FAD_LPPS_THR_LPPS_LP_EN_COUNT_MASK (0x7F000000U) 31550 #define XCVR_ZBDEM_FAD_LPPS_THR_LPPS_LP_EN_COUNT_SHIFT (24U) 31551 #define XCVR_ZBDEM_FAD_LPPS_THR_LPPS_LP_EN_COUNT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_FAD_LPPS_THR_LPPS_LP_EN_COUNT_SHIFT)) & XCVR_ZBDEM_FAD_LPPS_THR_LPPS_LP_EN_COUNT_MASK) 31552 /*! @} */ 31553 31554 /*! @name ZBDEM_AFC - 802.15.4 AFC STATUS */ 31555 /*! @{ */ 31556 #define XCVR_ZBDEM_ZBDEM_AFC_AFC_EN_MASK (0x1U) 31557 #define XCVR_ZBDEM_ZBDEM_AFC_AFC_EN_SHIFT (0U) 31558 /*! AFC_EN - AFC_EN 31559 * 0b0..AFC is disabled 31560 * 0b1..AFC is enabled 31561 */ 31562 #define XCVR_ZBDEM_ZBDEM_AFC_AFC_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_ZBDEM_AFC_AFC_EN_SHIFT)) & XCVR_ZBDEM_ZBDEM_AFC_AFC_EN_MASK) 31563 #define XCVR_ZBDEM_ZBDEM_AFC_DCD_EN_MASK (0x2U) 31564 #define XCVR_ZBDEM_ZBDEM_AFC_DCD_EN_SHIFT (1U) 31565 /*! DCD_EN - DCD_EN 31566 * 0b0..NCD Mode (default) 31567 * 0b1..DCD Mode 31568 */ 31569 #define XCVR_ZBDEM_ZBDEM_AFC_DCD_EN(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_ZBDEM_AFC_DCD_EN_SHIFT)) & XCVR_ZBDEM_ZBDEM_AFC_DCD_EN_MASK) 31570 #define XCVR_ZBDEM_ZBDEM_AFC_AFC_OUT_MASK (0x1F00U) 31571 #define XCVR_ZBDEM_ZBDEM_AFC_AFC_OUT_SHIFT (8U) 31572 #define XCVR_ZBDEM_ZBDEM_AFC_AFC_OUT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_ZBDEM_AFC_AFC_OUT_SHIFT)) & XCVR_ZBDEM_ZBDEM_AFC_AFC_OUT_MASK) 31573 /*! @} */ 31574 31575 /*! @name CCA2_CTRL - CCA MODE 2 CONTROL REGISTER */ 31576 /*! @{ */ 31577 #define XCVR_ZBDEM_CCA2_CTRL_CCA2_INTERVAL_MASK (0x3U) 31578 #define XCVR_ZBDEM_CCA2_CTRL_CCA2_INTERVAL_SHIFT (0U) 31579 /*! CCA2_INTERVAL - CCA Mode 2 Measurement Window Duration 31580 * 0b00..64 us 31581 * 0b01..128 us 31582 * 0b10..256 us 31583 * 0b11..512 us 31584 */ 31585 #define XCVR_ZBDEM_CCA2_CTRL_CCA2_INTERVAL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CCA2_CTRL_CCA2_INTERVAL_SHIFT)) & XCVR_ZBDEM_CCA2_CTRL_CCA2_INTERVAL_MASK) 31586 #define XCVR_ZBDEM_CCA2_CTRL_USE_DEMOD_CCA2_MASK (0x4U) 31587 #define XCVR_ZBDEM_CCA2_CTRL_USE_DEMOD_CCA2_SHIFT (2U) 31588 /*! USE_DEMOD_CCA2 - Selects CCA Mode 2 Computation Engine 31589 * 0b0..Use standalone (new) CCA Mode 2 Engine, decoupled from demodulator 31590 * 0b1..Use 802.15.4 demodulator-based (legacy) CCA Mode 2 Engine (default) 31591 */ 31592 #define XCVR_ZBDEM_CCA2_CTRL_USE_DEMOD_CCA2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CCA2_CTRL_USE_DEMOD_CCA2_SHIFT)) & XCVR_ZBDEM_CCA2_CTRL_USE_DEMOD_CCA2_MASK) 31593 #define XCVR_ZBDEM_CCA2_CTRL_CCA2_REF_SEQ_MASK (0xFF00U) 31594 #define XCVR_ZBDEM_CCA2_CTRL_CCA2_REF_SEQ_SHIFT (8U) 31595 #define XCVR_ZBDEM_CCA2_CTRL_CCA2_REF_SEQ(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CCA2_CTRL_CCA2_REF_SEQ_SHIFT)) & XCVR_ZBDEM_CCA2_CTRL_CCA2_REF_SEQ_MASK) 31596 /*! @} */ 31597 31598 /*! @name CCA2_THRESH - CCA MODE 2 CONTROL REGISTER */ 31599 /*! @{ */ 31600 #define XCVR_ZBDEM_CCA2_THRESH_CCA2_CNT_THRESH_MASK (0x3FFU) 31601 #define XCVR_ZBDEM_CCA2_THRESH_CCA2_CNT_THRESH_SHIFT (0U) 31602 #define XCVR_ZBDEM_CCA2_THRESH_CCA2_CNT_THRESH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CCA2_THRESH_CCA2_CNT_THRESH_SHIFT)) & XCVR_ZBDEM_CCA2_THRESH_CCA2_CNT_THRESH_MASK) 31603 #define XCVR_ZBDEM_CCA2_THRESH_CCA2_SYM_THRESH_MASK (0x3FF0000U) 31604 #define XCVR_ZBDEM_CCA2_THRESH_CCA2_SYM_THRESH_SHIFT (16U) 31605 #define XCVR_ZBDEM_CCA2_THRESH_CCA2_SYM_THRESH(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CCA2_THRESH_CCA2_SYM_THRESH_SHIFT)) & XCVR_ZBDEM_CCA2_THRESH_CCA2_SYM_THRESH_MASK) 31606 /*! @} */ 31607 31608 /*! @name CCA2_STATUS - CCA MODE 2 STATUS REGISTER */ 31609 /*! @{ */ 31610 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_MAX_MASK (0x3FFU) 31611 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_MAX_SHIFT (0U) 31612 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_MAX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_MAX_SHIFT)) & XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_MAX_MASK) 31613 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_COMPLETE_MASK (0x400U) 31614 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_COMPLETE_SHIFT (10U) 31615 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CCA2_STATUS_CCA2_COMPLETE_SHIFT)) & XCVR_ZBDEM_CCA2_STATUS_CCA2_COMPLETE_MASK) 31616 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CHANNEL_STATE_MASK (0x800U) 31617 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CHANNEL_STATE_SHIFT (11U) 31618 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CHANNEL_STATE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CCA2_STATUS_CCA2_CHANNEL_STATE_SHIFT)) & XCVR_ZBDEM_CCA2_STATUS_CCA2_CHANNEL_STATE_MASK) 31619 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_SYM_MASK (0x3FF0000U) 31620 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_SYM_SHIFT (16U) 31621 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_SYM(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_SYM_SHIFT)) & XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_SYM_MASK) 31622 /*! @} */ 31623 31624 31625 /*! 31626 * @} 31627 */ /* end of group XCVR_ZBDEM_Register_Masks */ 31628 31629 31630 /* XCVR_ZBDEM - Peripheral instance base addresses */ 31631 /** Peripheral XCVR_ZBDEM base address */ 31632 #define XCVR_ZBDEM_BASE (0x41030480u) 31633 /** Peripheral XCVR_ZBDEM base pointer */ 31634 #define XCVR_ZBDEM ((XCVR_ZBDEM_Type *)XCVR_ZBDEM_BASE) 31635 /** Array initializer of XCVR_ZBDEM peripheral base addresses */ 31636 #define XCVR_ZBDEM_BASE_ADDRS { XCVR_ZBDEM_BASE } 31637 /** Array initializer of XCVR_ZBDEM peripheral base pointers */ 31638 #define XCVR_ZBDEM_BASE_PTRS { XCVR_ZBDEM } 31639 31640 /*! 31641 * @} 31642 */ /* end of group XCVR_ZBDEM_Peripheral_Access_Layer */ 31643 31644 31645 /* ---------------------------------------------------------------------------- 31646 -- ZLL Peripheral Access Layer 31647 ---------------------------------------------------------------------------- */ 31648 31649 /*! 31650 * @addtogroup ZLL_Peripheral_Access_Layer ZLL Peripheral Access Layer 31651 * @{ 31652 */ 31653 31654 /** ZLL - Register Layout Typedef */ 31655 typedef struct { 31656 __IO uint32_t IRQSTS; /**< INTERRUPT REQUEST STATUS, offset: 0x0 */ 31657 __IO uint32_t PHY_CTRL; /**< PHY CONTROL, offset: 0x4 */ 31658 __IO uint32_t EVENT_TMR; /**< EVENT TIMER, offset: 0x8 */ 31659 __I uint32_t TIMESTAMP; /**< TIMESTAMP, offset: 0xC */ 31660 __IO uint32_t T1CMP; /**< T1 COMPARE, offset: 0x10 */ 31661 __IO uint32_t T2CMP; /**< T2 COMPARE, offset: 0x14 */ 31662 __IO uint32_t T2PRIMECMP; /**< T2 PRIME COMPARE, offset: 0x18 */ 31663 __IO uint32_t T3CMP; /**< T3 COMPARE, offset: 0x1C */ 31664 __IO uint32_t T4CMP; /**< T4 COMPARE, offset: 0x20 */ 31665 __IO uint32_t PA_PWR; /**< PA POWER, offset: 0x24 */ 31666 __IO uint32_t CHANNEL_NUM0; /**< CHANNEL NUMBER 0, offset: 0x28 */ 31667 __I uint32_t LQI_AND_RSSI; /**< LQI AND RSSI, offset: 0x2C */ 31668 __IO uint32_t MACSHORTADDRS0; /**< MAC SHORT ADDRESS 0, offset: 0x30 */ 31669 __IO uint32_t MACLONGADDRS0_LSB; /**< MAC LONG ADDRESS 0 LSB, offset: 0x34 */ 31670 __IO uint32_t MACLONGADDRS0_MSB; /**< MAC LONG ADDRESS 0 MSB, offset: 0x38 */ 31671 __IO uint32_t RX_FRAME_FILTER; /**< RECEIVE FRAME FILTER, offset: 0x3C */ 31672 __IO uint32_t CCA_LQI_CTRL; /**< CCA AND LQI CONTROL, offset: 0x40 */ 31673 __IO uint32_t CCA2_CTRL; /**< CCA2 CONTROL, offset: 0x44 */ 31674 uint8_t RESERVED_0[4]; 31675 __IO uint32_t DSM_CTRL; /**< DSM CONTROL, offset: 0x4C */ 31676 __IO uint32_t BSM_CTRL; /**< BSM CONTROL, offset: 0x50 */ 31677 __IO uint32_t MACSHORTADDRS1; /**< MAC SHORT ADDRESS FOR PAN1, offset: 0x54 */ 31678 __IO uint32_t MACLONGADDRS1_LSB; /**< MAC LONG ADDRESS 1 LSB, offset: 0x58 */ 31679 __IO uint32_t MACLONGADDRS1_MSB; /**< MAC LONG ADDRESS 1 MSB, offset: 0x5C */ 31680 __IO uint32_t DUAL_PAN_CTRL; /**< DUAL PAN CONTROL, offset: 0x60 */ 31681 __IO uint32_t CHANNEL_NUM1; /**< CHANNEL NUMBER 1, offset: 0x64 */ 31682 __IO uint32_t SAM_CTRL; /**< SAM CONTROL, offset: 0x68 */ 31683 __IO uint32_t SAM_TABLE; /**< SOURCE ADDRESS MANAGEMENT TABLE, offset: 0x6C */ 31684 __I uint32_t SAM_MATCH; /**< SOURCE ADDRESS MANAGEMENT MATCH, offset: 0x70 */ 31685 __I uint32_t SAM_FREE_IDX; /**< SAM FREE INDEX, offset: 0x74 */ 31686 __IO uint32_t SEQ_CTRL_STS; /**< SEQUENCE CONTROL AND STATUS, offset: 0x78 */ 31687 __IO uint32_t ACKDELAY; /**< ACK DELAY, offset: 0x7C */ 31688 __IO uint32_t FILTERFAIL_CODE; /**< FILTER FAIL CODE, offset: 0x80 */ 31689 __IO uint32_t RX_WTR_MARK; /**< RECEIVE WATER MARK, offset: 0x84 */ 31690 uint8_t RESERVED_1[4]; 31691 __IO uint32_t SLOT_PRELOAD; /**< SLOT PRELOAD, offset: 0x8C */ 31692 __I uint32_t SEQ_STATE; /**< 802.15.4 SEQUENCE STATE, offset: 0x90 */ 31693 __IO uint32_t TMR_PRESCALE; /**< TIMER PRESCALER, offset: 0x94 */ 31694 __IO uint32_t LENIENCY_LSB; /**< LENIENCY LSB, offset: 0x98 */ 31695 __IO uint32_t LENIENCY_MSB; /**< LENIENCY MSB, offset: 0x9C */ 31696 __I uint32_t PART_ID; /**< PART ID, offset: 0xA0 */ 31697 uint8_t RESERVED_2[92]; 31698 __IO uint16_t PKT_BUFFER_TX[64]; /**< Packet Buffer TX, array offset: 0x100, array step: 0x2 */ 31699 __IO uint16_t PKT_BUFFER_RX[64]; /**< Packet Buffer RX, array offset: 0x180, array step: 0x2 */ 31700 } ZLL_Type; 31701 31702 /* ---------------------------------------------------------------------------- 31703 -- ZLL Register Masks 31704 ---------------------------------------------------------------------------- */ 31705 31706 /*! 31707 * @addtogroup ZLL_Register_Masks ZLL Register Masks 31708 * @{ 31709 */ 31710 31711 /*! @name IRQSTS - INTERRUPT REQUEST STATUS */ 31712 /*! @{ */ 31713 #define ZLL_IRQSTS_SEQIRQ_MASK (0x1U) 31714 #define ZLL_IRQSTS_SEQIRQ_SHIFT (0U) 31715 /*! SEQIRQ - Sequencer IRQ 31716 * 0b0..A Sequencer Interrupt has not occurred 31717 * 0b1..A Sequencer Interrupt has occurred 31718 */ 31719 #define ZLL_IRQSTS_SEQIRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_SEQIRQ_SHIFT)) & ZLL_IRQSTS_SEQIRQ_MASK) 31720 #define ZLL_IRQSTS_TXIRQ_MASK (0x2U) 31721 #define ZLL_IRQSTS_TXIRQ_SHIFT (1U) 31722 /*! TXIRQ - TX IRQ 31723 * 0b0..A TX Interrupt has not occurred 31724 * 0b1..A TX Interrupt has occurred 31725 */ 31726 #define ZLL_IRQSTS_TXIRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TXIRQ_SHIFT)) & ZLL_IRQSTS_TXIRQ_MASK) 31727 #define ZLL_IRQSTS_RXIRQ_MASK (0x4U) 31728 #define ZLL_IRQSTS_RXIRQ_SHIFT (2U) 31729 /*! RXIRQ - RX IRQ 31730 * 0b0..A RX Interrupt has not occurred 31731 * 0b1..A RX Interrupt has occurred 31732 */ 31733 #define ZLL_IRQSTS_RXIRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_RXIRQ_SHIFT)) & ZLL_IRQSTS_RXIRQ_MASK) 31734 #define ZLL_IRQSTS_CCAIRQ_MASK (0x8U) 31735 #define ZLL_IRQSTS_CCAIRQ_SHIFT (3U) 31736 /*! CCAIRQ - CCA IRQ 31737 * 0b0..A CCA Interrupt has not occurred 31738 * 0b1..A CCA Interrupt has occurred 31739 */ 31740 #define ZLL_IRQSTS_CCAIRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_CCAIRQ_SHIFT)) & ZLL_IRQSTS_CCAIRQ_MASK) 31741 #define ZLL_IRQSTS_RXWTRMRKIRQ_MASK (0x10U) 31742 #define ZLL_IRQSTS_RXWTRMRKIRQ_SHIFT (4U) 31743 /*! RXWTRMRKIRQ - Receive Watermark IRQ 31744 * 0b0..A Receive Watermark Interrupt has not occurred 31745 * 0b1..A Receive Watermark Interrupt has occurred 31746 */ 31747 #define ZLL_IRQSTS_RXWTRMRKIRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_RXWTRMRKIRQ_SHIFT)) & ZLL_IRQSTS_RXWTRMRKIRQ_MASK) 31748 #define ZLL_IRQSTS_FILTERFAIL_IRQ_MASK (0x20U) 31749 #define ZLL_IRQSTS_FILTERFAIL_IRQ_SHIFT (5U) 31750 /*! FILTERFAIL_IRQ - Filter Fail IRQ 31751 * 0b0..A Filter Fail Interrupt has not occurred 31752 * 0b1..A Filter Fail Interrupt has occurred 31753 */ 31754 #define ZLL_IRQSTS_FILTERFAIL_IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_FILTERFAIL_IRQ_SHIFT)) & ZLL_IRQSTS_FILTERFAIL_IRQ_MASK) 31755 #define ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK (0x40U) 31756 #define ZLL_IRQSTS_PLL_UNLOCK_IRQ_SHIFT (6U) 31757 /*! PLL_UNLOCK_IRQ - PLL Unlock IRQ 31758 * 0b0..A PLL Unlock Interrupt has not occurred 31759 * 0b1..A PLL Unlock Interrupt has occurred 31760 */ 31761 #define ZLL_IRQSTS_PLL_UNLOCK_IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_PLL_UNLOCK_IRQ_SHIFT)) & ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK) 31762 #define ZLL_IRQSTS_RX_FRM_PEND_MASK (0x80U) 31763 #define ZLL_IRQSTS_RX_FRM_PEND_SHIFT (7U) 31764 #define ZLL_IRQSTS_RX_FRM_PEND(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_RX_FRM_PEND_SHIFT)) & ZLL_IRQSTS_RX_FRM_PEND_MASK) 31765 #define ZLL_IRQSTS_WAKE_IRQ_MASK (0x100U) 31766 #define ZLL_IRQSTS_WAKE_IRQ_SHIFT (8U) 31767 /*! WAKE_IRQ - WAKE Interrupt Request 31768 * 0b0..A Wake Interrupt has not occurred 31769 * 0b1..A Wake Interrupt has occurred 31770 */ 31771 #define ZLL_IRQSTS_WAKE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_WAKE_IRQ_SHIFT)) & ZLL_IRQSTS_WAKE_IRQ_MASK) 31772 #define ZLL_IRQSTS_TSM_IRQ_MASK (0x400U) 31773 #define ZLL_IRQSTS_TSM_IRQ_SHIFT (10U) 31774 /*! TSM_IRQ - TSM IRQ 31775 * 0b0..A TSM Interrupt has not occurred 31776 * 0b1..A TSM Interrupt has occurred 31777 */ 31778 #define ZLL_IRQSTS_TSM_IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TSM_IRQ_SHIFT)) & ZLL_IRQSTS_TSM_IRQ_MASK) 31779 #define ZLL_IRQSTS_ENH_PKT_STATUS_MASK (0x800U) 31780 #define ZLL_IRQSTS_ENH_PKT_STATUS_SHIFT (11U) 31781 /*! ENH_PKT_STATUS - Enhanced Packet Status 31782 * 0b0..The last packet received was neither 4e- nor 2015-compliant 31783 * 0b1..The last packet received was 4e- or 2015-compliant (RX_FRAME_FILTER register should be queried for additional status bits) 31784 */ 31785 #define ZLL_IRQSTS_ENH_PKT_STATUS(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_ENH_PKT_STATUS_SHIFT)) & ZLL_IRQSTS_ENH_PKT_STATUS_MASK) 31786 #define ZLL_IRQSTS_PI_MASK (0x1000U) 31787 #define ZLL_IRQSTS_PI_SHIFT (12U) 31788 /*! PI - Poll Indication 31789 * 0b0..the received packet was not a data request 31790 * 0b1..the received packet was a data request, regardless of whether a Source Address table match occurred, or whether Source Address Management is enabled or not 31791 */ 31792 #define ZLL_IRQSTS_PI(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_PI_SHIFT)) & ZLL_IRQSTS_PI_MASK) 31793 #define ZLL_IRQSTS_SRCADDR_MASK (0x2000U) 31794 #define ZLL_IRQSTS_SRCADDR_SHIFT (13U) 31795 #define ZLL_IRQSTS_SRCADDR(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_SRCADDR_SHIFT)) & ZLL_IRQSTS_SRCADDR_MASK) 31796 #define ZLL_IRQSTS_CCA_MASK (0x4000U) 31797 #define ZLL_IRQSTS_CCA_SHIFT (14U) 31798 /*! CCA - CCA Status 31799 * 0b0..IDLE 31800 * 0b1..BUSY 31801 */ 31802 #define ZLL_IRQSTS_CCA(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_CCA_SHIFT)) & ZLL_IRQSTS_CCA_MASK) 31803 #define ZLL_IRQSTS_CRCVALID_MASK (0x8000U) 31804 #define ZLL_IRQSTS_CRCVALID_SHIFT (15U) 31805 /*! CRCVALID - CRC Valid Status 31806 * 0b0..Rx FCS != calculated CRC (incorrect) 31807 * 0b1..Rx FCS = calculated CRC (correct) 31808 */ 31809 #define ZLL_IRQSTS_CRCVALID(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_CRCVALID_SHIFT)) & ZLL_IRQSTS_CRCVALID_MASK) 31810 #define ZLL_IRQSTS_TMR1IRQ_MASK (0x10000U) 31811 #define ZLL_IRQSTS_TMR1IRQ_SHIFT (16U) 31812 #define ZLL_IRQSTS_TMR1IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR1IRQ_SHIFT)) & ZLL_IRQSTS_TMR1IRQ_MASK) 31813 #define ZLL_IRQSTS_TMR2IRQ_MASK (0x20000U) 31814 #define ZLL_IRQSTS_TMR2IRQ_SHIFT (17U) 31815 #define ZLL_IRQSTS_TMR2IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR2IRQ_SHIFT)) & ZLL_IRQSTS_TMR2IRQ_MASK) 31816 #define ZLL_IRQSTS_TMR3IRQ_MASK (0x40000U) 31817 #define ZLL_IRQSTS_TMR3IRQ_SHIFT (18U) 31818 #define ZLL_IRQSTS_TMR3IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR3IRQ_SHIFT)) & ZLL_IRQSTS_TMR3IRQ_MASK) 31819 #define ZLL_IRQSTS_TMR4IRQ_MASK (0x80000U) 31820 #define ZLL_IRQSTS_TMR4IRQ_SHIFT (19U) 31821 #define ZLL_IRQSTS_TMR4IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR4IRQ_SHIFT)) & ZLL_IRQSTS_TMR4IRQ_MASK) 31822 #define ZLL_IRQSTS_TMR1MSK_MASK (0x100000U) 31823 #define ZLL_IRQSTS_TMR1MSK_SHIFT (20U) 31824 /*! TMR1MSK - Timer Comperator 1 Interrupt Mask bit 31825 * 0b0..allows interrupt when comparator matches event timer count 31826 * 0b1..Interrupt generation is disabled, but a TMR1IRQ flag can be set 31827 */ 31828 #define ZLL_IRQSTS_TMR1MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR1MSK_SHIFT)) & ZLL_IRQSTS_TMR1MSK_MASK) 31829 #define ZLL_IRQSTS_TMR2MSK_MASK (0x200000U) 31830 #define ZLL_IRQSTS_TMR2MSK_SHIFT (21U) 31831 /*! TMR2MSK - Timer Comperator 2 Interrupt Mask bit 31832 * 0b0..allows interrupt when comparator matches event timer count 31833 * 0b1..Interrupt generation is disabled, but a TMR2IRQ flag can be set 31834 */ 31835 #define ZLL_IRQSTS_TMR2MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR2MSK_SHIFT)) & ZLL_IRQSTS_TMR2MSK_MASK) 31836 #define ZLL_IRQSTS_TMR3MSK_MASK (0x400000U) 31837 #define ZLL_IRQSTS_TMR3MSK_SHIFT (22U) 31838 /*! TMR3MSK - Timer Comperator 3 Interrupt Mask bit 31839 * 0b0..allows interrupt when comparator matches event timer count 31840 * 0b1..Interrupt generation is disabled, but a TMR3IRQ flag can be set 31841 */ 31842 #define ZLL_IRQSTS_TMR3MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR3MSK_SHIFT)) & ZLL_IRQSTS_TMR3MSK_MASK) 31843 #define ZLL_IRQSTS_TMR4MSK_MASK (0x800000U) 31844 #define ZLL_IRQSTS_TMR4MSK_SHIFT (23U) 31845 /*! TMR4MSK - Timer Comperator 4 Interrupt Mask bit 31846 * 0b0..allows interrupt when comparator matches event timer count 31847 * 0b1..Interrupt generation is disabled, but a TMR4IRQ flag can be set 31848 */ 31849 #define ZLL_IRQSTS_TMR4MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR4MSK_SHIFT)) & ZLL_IRQSTS_TMR4MSK_MASK) 31850 #define ZLL_IRQSTS_RX_FRAME_LENGTH_MASK (0x7F000000U) 31851 #define ZLL_IRQSTS_RX_FRAME_LENGTH_SHIFT (24U) 31852 #define ZLL_IRQSTS_RX_FRAME_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_RX_FRAME_LENGTH_SHIFT)) & ZLL_IRQSTS_RX_FRAME_LENGTH_MASK) 31853 /*! @} */ 31854 31855 /*! @name PHY_CTRL - PHY CONTROL */ 31856 /*! @{ */ 31857 #define ZLL_PHY_CTRL_XCVSEQ_MASK (0x7U) 31858 #define ZLL_PHY_CTRL_XCVSEQ_SHIFT (0U) 31859 /*! XCVSEQ - 802.15.4 Transceiver Sequence Selector 31860 * 0b000..I (IDLE) 31861 * 0b001..R (RECEIVE) 31862 * 0b010..T (TRANSMIT) 31863 * 0b011..C (CCA) 31864 * 0b100..TR (TRANSMIT/RECEIVE) 31865 * 0b101..CCCA (CONTINUOUS CCA) 31866 * 0b110..Reserved 31867 * 0b111..Reserved 31868 */ 31869 #define ZLL_PHY_CTRL_XCVSEQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_XCVSEQ_SHIFT)) & ZLL_PHY_CTRL_XCVSEQ_MASK) 31870 #define ZLL_PHY_CTRL_AUTOACK_MASK (0x8U) 31871 #define ZLL_PHY_CTRL_AUTOACK_SHIFT (3U) 31872 /*! AUTOACK - Auto Acknowledge Enable 31873 * 0b0..sequence manager will not follow a receive frame with a Tx Ack frame, under any conditions; the autosequence will terminate after the receive frame. 31874 * 0b1..sequence manager will follow a receive frame with an automatic hardware-generated Tx Ack frame, assuming other necessary conditions are met. 31875 */ 31876 #define ZLL_PHY_CTRL_AUTOACK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_AUTOACK_SHIFT)) & ZLL_PHY_CTRL_AUTOACK_MASK) 31877 #define ZLL_PHY_CTRL_RXACKRQD_MASK (0x10U) 31878 #define ZLL_PHY_CTRL_RXACKRQD_SHIFT (4U) 31879 /*! RXACKRQD - Receive Acknowledge Frame required 31880 * 0b0..An ordinary receive frame (any type of frame) follows the transmit frame. 31881 * 0b1..A receive Ack frame is expected to follow the transmit frame (non-Ack frames are rejected). 31882 */ 31883 #define ZLL_PHY_CTRL_RXACKRQD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_RXACKRQD_SHIFT)) & ZLL_PHY_CTRL_RXACKRQD_MASK) 31884 #define ZLL_PHY_CTRL_CCABFRTX_MASK (0x20U) 31885 #define ZLL_PHY_CTRL_CCABFRTX_SHIFT (5U) 31886 /*! CCABFRTX - CCA Before TX 31887 * 0b0..no CCA required, transmit operation begins immediately. 31888 * 0b1..at least one CCA measurement is required prior to the transmit operation (see also SLOTTED). 31889 */ 31890 #define ZLL_PHY_CTRL_CCABFRTX(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_CCABFRTX_SHIFT)) & ZLL_PHY_CTRL_CCABFRTX_MASK) 31891 #define ZLL_PHY_CTRL_SLOTTED_MASK (0x40U) 31892 #define ZLL_PHY_CTRL_SLOTTED_SHIFT (6U) 31893 #define ZLL_PHY_CTRL_SLOTTED(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_SLOTTED_SHIFT)) & ZLL_PHY_CTRL_SLOTTED_MASK) 31894 #define ZLL_PHY_CTRL_TMRTRIGEN_MASK (0x80U) 31895 #define ZLL_PHY_CTRL_TMRTRIGEN_SHIFT (7U) 31896 /*! TMRTRIGEN - Timer2 Trigger Enable 31897 * 0b0..programmed sequence initiates immediately upon write to XCVSEQ. 31898 * 0b1..allow timer TC2 (or TC2') to initiate a preprogrammed sequence (see XCVSEQ register). 31899 */ 31900 #define ZLL_PHY_CTRL_TMRTRIGEN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TMRTRIGEN_SHIFT)) & ZLL_PHY_CTRL_TMRTRIGEN_MASK) 31901 #define ZLL_PHY_CTRL_SEQMSK_MASK (0x100U) 31902 #define ZLL_PHY_CTRL_SEQMSK_SHIFT (8U) 31903 /*! SEQMSK - Sequencer Interrupt Mask 31904 * 0b0..allows completion of an autosequence to generate a zigbee interrupt 31905 * 0b1..Completion of an autosequence will set the SEQIRQ status bit, but a zigbee interrupt is not generated 31906 */ 31907 #define ZLL_PHY_CTRL_SEQMSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_SEQMSK_SHIFT)) & ZLL_PHY_CTRL_SEQMSK_MASK) 31908 #define ZLL_PHY_CTRL_TXMSK_MASK (0x200U) 31909 #define ZLL_PHY_CTRL_TXMSK_SHIFT (9U) 31910 /*! TXMSK - TX Interrupt Mask 31911 * 0b0..allows completion of a TX operation to generate a zigbee interrupt 31912 * 0b1..Completion of a TX operation will set the TXIRQ status bit, but a zigbee interrupt is not generated 31913 */ 31914 #define ZLL_PHY_CTRL_TXMSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TXMSK_SHIFT)) & ZLL_PHY_CTRL_TXMSK_MASK) 31915 #define ZLL_PHY_CTRL_RXMSK_MASK (0x400U) 31916 #define ZLL_PHY_CTRL_RXMSK_SHIFT (10U) 31917 /*! RXMSK - RX Interrupt Mask 31918 * 0b0..allows completion of a RX operation to generate a zigbee interrupt 31919 * 0b1..Completion of a RX operation will set the RXIRQ status bit, but a zigbee interrupt is not generated 31920 */ 31921 #define ZLL_PHY_CTRL_RXMSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_RXMSK_SHIFT)) & ZLL_PHY_CTRL_RXMSK_MASK) 31922 #define ZLL_PHY_CTRL_CCAMSK_MASK (0x800U) 31923 #define ZLL_PHY_CTRL_CCAMSK_SHIFT (11U) 31924 /*! CCAMSK - CCA Interrupt Mask 31925 * 0b0..allows completion of a CCA operation to generate a zigbee interrupt 31926 * 0b1..Completion of a CCA operation will set the CCA status bit, but a zigbee interrupt is not generated 31927 */ 31928 #define ZLL_PHY_CTRL_CCAMSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_CCAMSK_SHIFT)) & ZLL_PHY_CTRL_CCAMSK_MASK) 31929 #define ZLL_PHY_CTRL_RX_WMRK_MSK_MASK (0x1000U) 31930 #define ZLL_PHY_CTRL_RX_WMRK_MSK_SHIFT (12U) 31931 /*! RX_WMRK_MSK - RX Watermark Interrupt Mask 31932 * 0b0..allows a Received Byte Count match to the RX_WTR_MARK threshold register to generate a zigbee interrupt 31933 * 0b1..A Received Byte Count match to the RX_WTR_MARK threshold register will set the RXWTRMRKIRQ status bit, but a zigbee interrupt is not generated 31934 */ 31935 #define ZLL_PHY_CTRL_RX_WMRK_MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_RX_WMRK_MSK_SHIFT)) & ZLL_PHY_CTRL_RX_WMRK_MSK_MASK) 31936 #define ZLL_PHY_CTRL_FILTERFAIL_MSK_MASK (0x2000U) 31937 #define ZLL_PHY_CTRL_FILTERFAIL_MSK_SHIFT (13U) 31938 /*! FILTERFAIL_MSK - FilterFail Interrupt Mask 31939 * 0b0..allows Packet Processor Filtering Failure to generate a zigbee interrupt 31940 * 0b1..A Packet Processor Filtering Failure will set the FILTERFAIL_IRQ status bit, but a zigbee interrupt is not generated 31941 */ 31942 #define ZLL_PHY_CTRL_FILTERFAIL_MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_FILTERFAIL_MSK_SHIFT)) & ZLL_PHY_CTRL_FILTERFAIL_MSK_MASK) 31943 #define ZLL_PHY_CTRL_PLL_UNLOCK_MSK_MASK (0x4000U) 31944 #define ZLL_PHY_CTRL_PLL_UNLOCK_MSK_SHIFT (14U) 31945 /*! PLL_UNLOCK_MSK - PLL Unlock Interrupt Mask 31946 * 0b0..allows PLL unlock event to generate a zigbee interrupt 31947 * 0b1..A PLL unlock event will set the PLL_UNLOCK_IRQ status bit, but a zigbee interrupt is not generated 31948 */ 31949 #define ZLL_PHY_CTRL_PLL_UNLOCK_MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_PLL_UNLOCK_MSK_SHIFT)) & ZLL_PHY_CTRL_PLL_UNLOCK_MSK_MASK) 31950 #define ZLL_PHY_CTRL_CRC_MSK_MASK (0x8000U) 31951 #define ZLL_PHY_CTRL_CRC_MSK_SHIFT (15U) 31952 /*! CRC_MSK - CRC Mask 31953 * 0b0..sequence manager ignores CRCVALID and considers the receive operation complete after the last octet of the frame has been received. 31954 * 0b1..sequence manager requires CRCVALID=1 at the end of the received frame in order for the receive operation to complete successfully; if CRCVALID=0, sequence manager will return to preamble-detect mode after the last octet of the frame has been received. 31955 */ 31956 #define ZLL_PHY_CTRL_CRC_MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_CRC_MSK_SHIFT)) & ZLL_PHY_CTRL_CRC_MSK_MASK) 31957 #define ZLL_PHY_CTRL_WAKE_MSK_MASK (0x10000U) 31958 #define ZLL_PHY_CTRL_WAKE_MSK_SHIFT (16U) 31959 /*! WAKE_MSK 31960 * 0b0..Allows a wakeup from DSM to generate a zigbee interrupt 31961 * 0b1..Wakeup from DSM will set the WAKE_IRQ status bit, but a zigbee interrupt is not generated 31962 */ 31963 #define ZLL_PHY_CTRL_WAKE_MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_WAKE_MSK_SHIFT)) & ZLL_PHY_CTRL_WAKE_MSK_MASK) 31964 #define ZLL_PHY_CTRL_TSM_MSK_MASK (0x40000U) 31965 #define ZLL_PHY_CTRL_TSM_MSK_SHIFT (18U) 31966 /*! TSM_MSK 31967 * 0b0..allows assertion of a TSM interrupt to generate a zigbee interrupt 31968 * 0b1..Assertion of a TSM interrupt will set the TSM_IRQ status bit, but a zigbee interrupt is not generated 31969 */ 31970 #define ZLL_PHY_CTRL_TSM_MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TSM_MSK_SHIFT)) & ZLL_PHY_CTRL_TSM_MSK_MASK) 31971 #define ZLL_PHY_CTRL_TMR1CMP_EN_MASK (0x100000U) 31972 #define ZLL_PHY_CTRL_TMR1CMP_EN_SHIFT (20U) 31973 /*! TMR1CMP_EN - Timer 1 Compare Enable 31974 * 0b0..Don't allow an Event Timer Match to T1CMP to set TMR1IRQ 31975 * 0b1..Allow an Event Timer Match to T1CMP to set TMR1IRQ 31976 */ 31977 #define ZLL_PHY_CTRL_TMR1CMP_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TMR1CMP_EN_SHIFT)) & ZLL_PHY_CTRL_TMR1CMP_EN_MASK) 31978 #define ZLL_PHY_CTRL_TMR2CMP_EN_MASK (0x200000U) 31979 #define ZLL_PHY_CTRL_TMR2CMP_EN_SHIFT (21U) 31980 /*! TMR2CMP_EN - Timer 2 Compare Enable 31981 * 0b0..Don't allow an Event Timer Match to T2CMP or T2PRIMECMP to set TMR2IRQ 31982 * 0b1..Allow an Event Timer Match to T2CMP or T2PRIMECMP to set TMR2IRQ 31983 */ 31984 #define ZLL_PHY_CTRL_TMR2CMP_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TMR2CMP_EN_SHIFT)) & ZLL_PHY_CTRL_TMR2CMP_EN_MASK) 31985 #define ZLL_PHY_CTRL_TMR3CMP_EN_MASK (0x400000U) 31986 #define ZLL_PHY_CTRL_TMR3CMP_EN_SHIFT (22U) 31987 /*! TMR3CMP_EN - Timer 3 Compare Enable 31988 * 0b0..Don't allow an Event Timer Match to T3CMP to set TMR3IRQ 31989 * 0b1..Allow an Event Timer Match to T3CMP to set TMR3IRQ 31990 */ 31991 #define ZLL_PHY_CTRL_TMR3CMP_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TMR3CMP_EN_SHIFT)) & ZLL_PHY_CTRL_TMR3CMP_EN_MASK) 31992 #define ZLL_PHY_CTRL_TMR4CMP_EN_MASK (0x800000U) 31993 #define ZLL_PHY_CTRL_TMR4CMP_EN_SHIFT (23U) 31994 /*! TMR4CMP_EN - Timer 4 Compare Enable 31995 * 0b0..Don't allow an Event Timer Match to T4CMP to set TMR4IRQ 31996 * 0b1..Allow an Event Timer Match to T4CMP to set TMR4IRQ 31997 */ 31998 #define ZLL_PHY_CTRL_TMR4CMP_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TMR4CMP_EN_SHIFT)) & ZLL_PHY_CTRL_TMR4CMP_EN_MASK) 31999 #define ZLL_PHY_CTRL_TC2PRIME_EN_MASK (0x1000000U) 32000 #define ZLL_PHY_CTRL_TC2PRIME_EN_SHIFT (24U) 32001 /*! TC2PRIME_EN - Timer 2 Prime Compare Enable 32002 * 0b0..Don't allow a match of the lower 16 bits of Event Timer to T2PRIMECMP to set TMR2IRQ 32003 * 0b1..Allow a match of the lower 16 bits of Event Timer to T2PRIMECMP to set TMR2IRQ 32004 */ 32005 #define ZLL_PHY_CTRL_TC2PRIME_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TC2PRIME_EN_SHIFT)) & ZLL_PHY_CTRL_TC2PRIME_EN_MASK) 32006 #define ZLL_PHY_CTRL_PROMISCUOUS_MASK (0x2000000U) 32007 #define ZLL_PHY_CTRL_PROMISCUOUS_SHIFT (25U) 32008 /*! PROMISCUOUS - Promiscuous Mode Enable 32009 * 0b0..normal mode 32010 * 0b1..all packet filtering except frame length checking (FrameLength>=5 and FrameLength<=127) is bypassed. 32011 */ 32012 #define ZLL_PHY_CTRL_PROMISCUOUS(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_PROMISCUOUS_SHIFT)) & ZLL_PHY_CTRL_PROMISCUOUS_MASK) 32013 #define ZLL_PHY_CTRL_TC3_POSTPONE_ON_SFD_MASK (0x4000000U) 32014 #define ZLL_PHY_CTRL_TC3_POSTPONE_ON_SFD_SHIFT (26U) 32015 /*! TC3_POSTPONE_ON_SFD - Postpone TC3 Timeout On SFD Enable 32016 * 0b0..TC3 Abort will occur on TMR3 timeout, regardless of rx_sfd_detect 32017 * 0b1..TC3 Abort will be deferred on TMR3 timeout if rx_sfd_detect is asserted; otherwise the TC3 Abort will occur immediately 32018 */ 32019 #define ZLL_PHY_CTRL_TC3_POSTPONE_ON_SFD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TC3_POSTPONE_ON_SFD_SHIFT)) & ZLL_PHY_CTRL_TC3_POSTPONE_ON_SFD_MASK) 32020 #define ZLL_PHY_CTRL_CCATYPE_MASK (0x18000000U) 32021 #define ZLL_PHY_CTRL_CCATYPE_SHIFT (27U) 32022 /*! CCATYPE - Clear Channel Assessment Type 32023 * 0b00..ENERGY DETECT 32024 * 0b01..CCA MODE 1 32025 * 0b10..CCA MODE 2 32026 * 0b11..CCA MODE 3 32027 */ 32028 #define ZLL_PHY_CTRL_CCATYPE(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_CCATYPE_SHIFT)) & ZLL_PHY_CTRL_CCATYPE_MASK) 32029 #define ZLL_PHY_CTRL_PANCORDNTR0_MASK (0x20000000U) 32030 #define ZLL_PHY_CTRL_PANCORDNTR0_SHIFT (29U) 32031 #define ZLL_PHY_CTRL_PANCORDNTR0(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_PANCORDNTR0_SHIFT)) & ZLL_PHY_CTRL_PANCORDNTR0_MASK) 32032 #define ZLL_PHY_CTRL_TC3TMOUT_MASK (0x40000000U) 32033 #define ZLL_PHY_CTRL_TC3TMOUT_SHIFT (30U) 32034 /*! TC3TMOUT - TMR3 Timeout Enable 32035 * 0b0..TMR3 is a software timer only 32036 * 0b1..Enable TMR3 to abort Rx or CCCA operations. 32037 */ 32038 #define ZLL_PHY_CTRL_TC3TMOUT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TC3TMOUT_SHIFT)) & ZLL_PHY_CTRL_TC3TMOUT_MASK) 32039 #define ZLL_PHY_CTRL_TRCV_MSK_MASK (0x80000000U) 32040 #define ZLL_PHY_CTRL_TRCV_MSK_SHIFT (31U) 32041 /*! TRCV_MSK - Transceiver Global Interrupt Mask 32042 * 0b0..Enable any unmasked interrupt source to assert zigbee interrupt 32043 * 0b1..Mask all interrupt sources from asserting zigbee interrupt 32044 */ 32045 #define ZLL_PHY_CTRL_TRCV_MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TRCV_MSK_SHIFT)) & ZLL_PHY_CTRL_TRCV_MSK_MASK) 32046 /*! @} */ 32047 32048 /*! @name EVENT_TMR - EVENT TIMER */ 32049 /*! @{ */ 32050 #define ZLL_EVENT_TMR_EVENT_TMR_LD_MASK (0x1U) 32051 #define ZLL_EVENT_TMR_EVENT_TMR_LD_SHIFT (0U) 32052 #define ZLL_EVENT_TMR_EVENT_TMR_LD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_EVENT_TMR_EVENT_TMR_LD_SHIFT)) & ZLL_EVENT_TMR_EVENT_TMR_LD_MASK) 32053 #define ZLL_EVENT_TMR_EVENT_TMR_ADD_MASK (0x2U) 32054 #define ZLL_EVENT_TMR_EVENT_TMR_ADD_SHIFT (1U) 32055 #define ZLL_EVENT_TMR_EVENT_TMR_ADD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_EVENT_TMR_EVENT_TMR_ADD_SHIFT)) & ZLL_EVENT_TMR_EVENT_TMR_ADD_MASK) 32056 #define ZLL_EVENT_TMR_EVENT_TMR_FRAC_MASK (0xF0U) 32057 #define ZLL_EVENT_TMR_EVENT_TMR_FRAC_SHIFT (4U) 32058 #define ZLL_EVENT_TMR_EVENT_TMR_FRAC(x) (((uint32_t)(((uint32_t)(x)) << ZLL_EVENT_TMR_EVENT_TMR_FRAC_SHIFT)) & ZLL_EVENT_TMR_EVENT_TMR_FRAC_MASK) 32059 #define ZLL_EVENT_TMR_EVENT_TMR_MASK (0xFFFFFF00U) 32060 #define ZLL_EVENT_TMR_EVENT_TMR_SHIFT (8U) 32061 #define ZLL_EVENT_TMR_EVENT_TMR(x) (((uint32_t)(((uint32_t)(x)) << ZLL_EVENT_TMR_EVENT_TMR_SHIFT)) & ZLL_EVENT_TMR_EVENT_TMR_MASK) 32062 /*! @} */ 32063 32064 /*! @name TIMESTAMP - TIMESTAMP */ 32065 /*! @{ */ 32066 #define ZLL_TIMESTAMP_TIMESTAMP_FRAC_MASK (0xF0U) 32067 #define ZLL_TIMESTAMP_TIMESTAMP_FRAC_SHIFT (4U) 32068 #define ZLL_TIMESTAMP_TIMESTAMP_FRAC(x) (((uint32_t)(((uint32_t)(x)) << ZLL_TIMESTAMP_TIMESTAMP_FRAC_SHIFT)) & ZLL_TIMESTAMP_TIMESTAMP_FRAC_MASK) 32069 #define ZLL_TIMESTAMP_TIMESTAMP_MASK (0xFFFFFF00U) 32070 #define ZLL_TIMESTAMP_TIMESTAMP_SHIFT (8U) 32071 #define ZLL_TIMESTAMP_TIMESTAMP(x) (((uint32_t)(((uint32_t)(x)) << ZLL_TIMESTAMP_TIMESTAMP_SHIFT)) & ZLL_TIMESTAMP_TIMESTAMP_MASK) 32072 /*! @} */ 32073 32074 /*! @name T1CMP - T1 COMPARE */ 32075 /*! @{ */ 32076 #define ZLL_T1CMP_T1CMP_MASK (0xFFFFFFU) 32077 #define ZLL_T1CMP_T1CMP_SHIFT (0U) 32078 #define ZLL_T1CMP_T1CMP(x) (((uint32_t)(((uint32_t)(x)) << ZLL_T1CMP_T1CMP_SHIFT)) & ZLL_T1CMP_T1CMP_MASK) 32079 /*! @} */ 32080 32081 /*! @name T2CMP - T2 COMPARE */ 32082 /*! @{ */ 32083 #define ZLL_T2CMP_T2CMP_MASK (0xFFFFFFU) 32084 #define ZLL_T2CMP_T2CMP_SHIFT (0U) 32085 #define ZLL_T2CMP_T2CMP(x) (((uint32_t)(((uint32_t)(x)) << ZLL_T2CMP_T2CMP_SHIFT)) & ZLL_T2CMP_T2CMP_MASK) 32086 /*! @} */ 32087 32088 /*! @name T2PRIMECMP - T2 PRIME COMPARE */ 32089 /*! @{ */ 32090 #define ZLL_T2PRIMECMP_T2PRIMECMP_MASK (0xFFFFU) 32091 #define ZLL_T2PRIMECMP_T2PRIMECMP_SHIFT (0U) 32092 #define ZLL_T2PRIMECMP_T2PRIMECMP(x) (((uint32_t)(((uint32_t)(x)) << ZLL_T2PRIMECMP_T2PRIMECMP_SHIFT)) & ZLL_T2PRIMECMP_T2PRIMECMP_MASK) 32093 /*! @} */ 32094 32095 /*! @name T3CMP - T3 COMPARE */ 32096 /*! @{ */ 32097 #define ZLL_T3CMP_T3CMP_MASK (0xFFFFFFU) 32098 #define ZLL_T3CMP_T3CMP_SHIFT (0U) 32099 #define ZLL_T3CMP_T3CMP(x) (((uint32_t)(((uint32_t)(x)) << ZLL_T3CMP_T3CMP_SHIFT)) & ZLL_T3CMP_T3CMP_MASK) 32100 /*! @} */ 32101 32102 /*! @name T4CMP - T4 COMPARE */ 32103 /*! @{ */ 32104 #define ZLL_T4CMP_T4CMP_MASK (0xFFFFFFU) 32105 #define ZLL_T4CMP_T4CMP_SHIFT (0U) 32106 #define ZLL_T4CMP_T4CMP(x) (((uint32_t)(((uint32_t)(x)) << ZLL_T4CMP_T4CMP_SHIFT)) & ZLL_T4CMP_T4CMP_MASK) 32107 /*! @} */ 32108 32109 /*! @name PA_PWR - PA POWER */ 32110 /*! @{ */ 32111 #define ZLL_PA_PWR_PA_PWR_MASK (0x3FU) 32112 #define ZLL_PA_PWR_PA_PWR_SHIFT (0U) 32113 #define ZLL_PA_PWR_PA_PWR(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PA_PWR_PA_PWR_SHIFT)) & ZLL_PA_PWR_PA_PWR_MASK) 32114 /*! @} */ 32115 32116 /*! @name CHANNEL_NUM0 - CHANNEL NUMBER 0 */ 32117 /*! @{ */ 32118 #define ZLL_CHANNEL_NUM0_CHANNEL_NUM0_MASK (0x7FU) 32119 #define ZLL_CHANNEL_NUM0_CHANNEL_NUM0_SHIFT (0U) 32120 #define ZLL_CHANNEL_NUM0_CHANNEL_NUM0(x) (((uint32_t)(((uint32_t)(x)) << ZLL_CHANNEL_NUM0_CHANNEL_NUM0_SHIFT)) & ZLL_CHANNEL_NUM0_CHANNEL_NUM0_MASK) 32121 /*! @} */ 32122 32123 /*! @name LQI_AND_RSSI - LQI AND RSSI */ 32124 /*! @{ */ 32125 #define ZLL_LQI_AND_RSSI_LQI_VALUE_MASK (0xFFU) 32126 #define ZLL_LQI_AND_RSSI_LQI_VALUE_SHIFT (0U) 32127 #define ZLL_LQI_AND_RSSI_LQI_VALUE(x) (((uint32_t)(((uint32_t)(x)) << ZLL_LQI_AND_RSSI_LQI_VALUE_SHIFT)) & ZLL_LQI_AND_RSSI_LQI_VALUE_MASK) 32128 #define ZLL_LQI_AND_RSSI_RSSI_MASK (0xFF00U) 32129 #define ZLL_LQI_AND_RSSI_RSSI_SHIFT (8U) 32130 #define ZLL_LQI_AND_RSSI_RSSI(x) (((uint32_t)(((uint32_t)(x)) << ZLL_LQI_AND_RSSI_RSSI_SHIFT)) & ZLL_LQI_AND_RSSI_RSSI_MASK) 32131 #define ZLL_LQI_AND_RSSI_CCA1_ED_FNL_MASK (0xFF0000U) 32132 #define ZLL_LQI_AND_RSSI_CCA1_ED_FNL_SHIFT (16U) 32133 #define ZLL_LQI_AND_RSSI_CCA1_ED_FNL(x) (((uint32_t)(((uint32_t)(x)) << ZLL_LQI_AND_RSSI_CCA1_ED_FNL_SHIFT)) & ZLL_LQI_AND_RSSI_CCA1_ED_FNL_MASK) 32134 /*! @} */ 32135 32136 /*! @name MACSHORTADDRS0 - MAC SHORT ADDRESS 0 */ 32137 /*! @{ */ 32138 #define ZLL_MACSHORTADDRS0_MACPANID0_MASK (0xFFFFU) 32139 #define ZLL_MACSHORTADDRS0_MACPANID0_SHIFT (0U) 32140 #define ZLL_MACSHORTADDRS0_MACPANID0(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACSHORTADDRS0_MACPANID0_SHIFT)) & ZLL_MACSHORTADDRS0_MACPANID0_MASK) 32141 #define ZLL_MACSHORTADDRS0_MACSHORTADDRS0_MASK (0xFFFF0000U) 32142 #define ZLL_MACSHORTADDRS0_MACSHORTADDRS0_SHIFT (16U) 32143 #define ZLL_MACSHORTADDRS0_MACSHORTADDRS0(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACSHORTADDRS0_MACSHORTADDRS0_SHIFT)) & ZLL_MACSHORTADDRS0_MACSHORTADDRS0_MASK) 32144 /*! @} */ 32145 32146 /*! @name MACLONGADDRS0_LSB - MAC LONG ADDRESS 0 LSB */ 32147 /*! @{ */ 32148 #define ZLL_MACLONGADDRS0_LSB_MACLONGADDRS0_LSB_MASK (0xFFFFFFFFU) 32149 #define ZLL_MACLONGADDRS0_LSB_MACLONGADDRS0_LSB_SHIFT (0U) 32150 #define ZLL_MACLONGADDRS0_LSB_MACLONGADDRS0_LSB(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACLONGADDRS0_LSB_MACLONGADDRS0_LSB_SHIFT)) & ZLL_MACLONGADDRS0_LSB_MACLONGADDRS0_LSB_MASK) 32151 /*! @} */ 32152 32153 /*! @name MACLONGADDRS0_MSB - MAC LONG ADDRESS 0 MSB */ 32154 /*! @{ */ 32155 #define ZLL_MACLONGADDRS0_MSB_MACLONGADDRS0_MSB_MASK (0xFFFFFFFFU) 32156 #define ZLL_MACLONGADDRS0_MSB_MACLONGADDRS0_MSB_SHIFT (0U) 32157 #define ZLL_MACLONGADDRS0_MSB_MACLONGADDRS0_MSB(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACLONGADDRS0_MSB_MACLONGADDRS0_MSB_SHIFT)) & ZLL_MACLONGADDRS0_MSB_MACLONGADDRS0_MSB_MASK) 32158 /*! @} */ 32159 32160 /*! @name RX_FRAME_FILTER - RECEIVE FRAME FILTER */ 32161 /*! @{ */ 32162 #define ZLL_RX_FRAME_FILTER_BEACON_FT_MASK (0x1U) 32163 #define ZLL_RX_FRAME_FILTER_BEACON_FT_SHIFT (0U) 32164 /*! BEACON_FT - Beacon Frame Type Enable 32165 * 0b0..reject all Beacon frames 32166 * 0b1..Beacon frame type enabled. 32167 */ 32168 #define ZLL_RX_FRAME_FILTER_BEACON_FT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_BEACON_FT_SHIFT)) & ZLL_RX_FRAME_FILTER_BEACON_FT_MASK) 32169 #define ZLL_RX_FRAME_FILTER_DATA_FT_MASK (0x2U) 32170 #define ZLL_RX_FRAME_FILTER_DATA_FT_SHIFT (1U) 32171 /*! DATA_FT - Data Frame Type Enable 32172 * 0b0..reject all Beacon frames 32173 * 0b1..Data frame type enabled. 32174 */ 32175 #define ZLL_RX_FRAME_FILTER_DATA_FT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_DATA_FT_SHIFT)) & ZLL_RX_FRAME_FILTER_DATA_FT_MASK) 32176 #define ZLL_RX_FRAME_FILTER_ACK_FT_MASK (0x4U) 32177 #define ZLL_RX_FRAME_FILTER_ACK_FT_SHIFT (2U) 32178 /*! ACK_FT - Ack Frame Type Enable 32179 * 0b0..reject all Acknowledge frames 32180 * 0b1..Acknowledge frame type enabled. 32181 */ 32182 #define ZLL_RX_FRAME_FILTER_ACK_FT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_ACK_FT_SHIFT)) & ZLL_RX_FRAME_FILTER_ACK_FT_MASK) 32183 #define ZLL_RX_FRAME_FILTER_CMD_FT_MASK (0x8U) 32184 #define ZLL_RX_FRAME_FILTER_CMD_FT_SHIFT (3U) 32185 /*! CMD_FT - MAC Command Frame Type Enable 32186 * 0b0..reject all MAC Command frames 32187 * 0b1..MAC Command frame type enabled. 32188 */ 32189 #define ZLL_RX_FRAME_FILTER_CMD_FT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_CMD_FT_SHIFT)) & ZLL_RX_FRAME_FILTER_CMD_FT_MASK) 32190 #define ZLL_RX_FRAME_FILTER_LLDN_FT_MASK (0x10U) 32191 #define ZLL_RX_FRAME_FILTER_LLDN_FT_SHIFT (4U) 32192 /*! LLDN_FT - LLDN Frame Type Enable 32193 * 0b0..reject all LLDN frames 32194 * 0b1..LLDN frame type enabled (Frame Type 4). 32195 */ 32196 #define ZLL_RX_FRAME_FILTER_LLDN_FT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_LLDN_FT_SHIFT)) & ZLL_RX_FRAME_FILTER_LLDN_FT_MASK) 32197 #define ZLL_RX_FRAME_FILTER_MULTIPURPOSE_FT_MASK (0x20U) 32198 #define ZLL_RX_FRAME_FILTER_MULTIPURPOSE_FT_SHIFT (5U) 32199 /*! MULTIPURPOSE_FT - Multipurpose Frame Type Enable 32200 * 0b0..reject all Multipurpose frames 32201 * 0b1..Multipurpose frame type enabled (Frame Type 5). 32202 */ 32203 #define ZLL_RX_FRAME_FILTER_MULTIPURPOSE_FT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_MULTIPURPOSE_FT_SHIFT)) & ZLL_RX_FRAME_FILTER_MULTIPURPOSE_FT_MASK) 32204 #define ZLL_RX_FRAME_FILTER_NS_FT_MASK (0x40U) 32205 #define ZLL_RX_FRAME_FILTER_NS_FT_SHIFT (6U) 32206 /*! NS_FT - "Not Specified" Frame Type Enable 32207 * 0b0..reject all "Not Specified" frames 32208 * 0b1..Not-specified (reserved) frame type enabled. Applies to Frame Type 6. No packet filtering is performed, except for frame length checking (FrameLength>=5 and FrameLength<=127). No AUTOACK is transmitted for this Frame Type 32209 */ 32210 #define ZLL_RX_FRAME_FILTER_NS_FT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_NS_FT_SHIFT)) & ZLL_RX_FRAME_FILTER_NS_FT_MASK) 32211 #define ZLL_RX_FRAME_FILTER_EXTENDED_FT_MASK (0x80U) 32212 #define ZLL_RX_FRAME_FILTER_EXTENDED_FT_SHIFT (7U) 32213 /*! EXTENDED_FT - Extended Frame Type Enable 32214 * 0b0..reject all Extended frames 32215 * 0b1..Extended frame type enabled (Frame Type 7). 32216 */ 32217 #define ZLL_RX_FRAME_FILTER_EXTENDED_FT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_EXTENDED_FT_SHIFT)) & ZLL_RX_FRAME_FILTER_EXTENDED_FT_MASK) 32218 #define ZLL_RX_FRAME_FILTER_FRM_VER_FILTER_MASK (0xF00U) 32219 #define ZLL_RX_FRAME_FILTER_FRM_VER_FILTER_SHIFT (8U) 32220 #define ZLL_RX_FRAME_FILTER_FRM_VER_FILTER(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_FRM_VER_FILTER_SHIFT)) & ZLL_RX_FRAME_FILTER_FRM_VER_FILTER_MASK) 32221 #define ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_MASK (0x4000U) 32222 #define ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_SHIFT (14U) 32223 /*! ACTIVE_PROMISCUOUS - Active Promiscuous 32224 * 0b0..normal operation 32225 * 0b1..Provide Data Indication on all received packets under the same rules which apply in PROMISCUOUS mode, however acknowledge those packets under rules which apply in non-PROMISCUOUS mode 32226 */ 32227 #define ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_SHIFT)) & ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_MASK) 32228 #define ZLL_RX_FRAME_FILTER_EXTENDED_FCS_CHK_MASK (0x8000U) 32229 #define ZLL_RX_FRAME_FILTER_EXTENDED_FCS_CHK_SHIFT (15U) 32230 /*! EXTENDED_FCS_CHK - Verify FCS on Frame Type Extended 32231 * 0b0..Packet Processor will not check FCS for Frame Type EXTENDED (default) 32232 * 0b1..Packet Processor will check FCS at end-of-packet based on packet length derived from PHR, for Frame Type EXTENDED 32233 */ 32234 #define ZLL_RX_FRAME_FILTER_EXTENDED_FCS_CHK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_EXTENDED_FCS_CHK_SHIFT)) & ZLL_RX_FRAME_FILTER_EXTENDED_FCS_CHK_MASK) 32235 #define ZLL_RX_FRAME_FILTER_FV2_BEACON_RECD_MASK (0x10000U) 32236 #define ZLL_RX_FRAME_FILTER_FV2_BEACON_RECD_SHIFT (16U) 32237 /*! FV2_BEACON_RECD - Frame Version 2 Beacon Packet Received 32238 * 0b0..The last packet received was not Frame Type Beacon with Frame Version 2 32239 * 0b1..The last packet received was Frame Type Beacon with Frame Version 2, and FRM_VER_FILTER[2]=1 to allow such packets 32240 */ 32241 #define ZLL_RX_FRAME_FILTER_FV2_BEACON_RECD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_FV2_BEACON_RECD_SHIFT)) & ZLL_RX_FRAME_FILTER_FV2_BEACON_RECD_MASK) 32242 #define ZLL_RX_FRAME_FILTER_FV2_DATA_RECD_MASK (0x20000U) 32243 #define ZLL_RX_FRAME_FILTER_FV2_DATA_RECD_SHIFT (17U) 32244 /*! FV2_DATA_RECD - Frame Version 2 Data Packet Received 32245 * 0b0..The last packet received was not Frame Type Data with Frame Version 2 32246 * 0b1..The last packet received was Frame Type Data with Frame Version 2, and FRM_VER_FILTER[2]=1 to allow such packets 32247 */ 32248 #define ZLL_RX_FRAME_FILTER_FV2_DATA_RECD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_FV2_DATA_RECD_SHIFT)) & ZLL_RX_FRAME_FILTER_FV2_DATA_RECD_MASK) 32249 #define ZLL_RX_FRAME_FILTER_FV2_ACK_RECD_MASK (0x40000U) 32250 #define ZLL_RX_FRAME_FILTER_FV2_ACK_RECD_SHIFT (18U) 32251 /*! FV2_ACK_RECD - Frame Version 2 Acknowledge Packet Received 32252 * 0b0..The last packet received was not Frame Type Ack with Frame Version 2 32253 * 0b1..The last packet received was Frame Type Ack with Frame Version 2, and FRM_VER_FILTER[2]=1 to allow such packets 32254 */ 32255 #define ZLL_RX_FRAME_FILTER_FV2_ACK_RECD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_FV2_ACK_RECD_SHIFT)) & ZLL_RX_FRAME_FILTER_FV2_ACK_RECD_MASK) 32256 #define ZLL_RX_FRAME_FILTER_FV2_CMD_RECD_MASK (0x80000U) 32257 #define ZLL_RX_FRAME_FILTER_FV2_CMD_RECD_SHIFT (19U) 32258 /*! FV2_CMD_RECD - Frame Version 2 MAC Command Packet Received 32259 * 0b0..The last packet received was not Frame Type MAC Command with Frame Version 2 32260 * 0b1..The last packet received was Frame Type MAC Command with Frame Version 2, and FRM_VER_FILTER[2]=1 to allow such packets 32261 */ 32262 #define ZLL_RX_FRAME_FILTER_FV2_CMD_RECD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_FV2_CMD_RECD_SHIFT)) & ZLL_RX_FRAME_FILTER_FV2_CMD_RECD_MASK) 32263 #define ZLL_RX_FRAME_FILTER_LLDN_RECD_MASK (0x100000U) 32264 #define ZLL_RX_FRAME_FILTER_LLDN_RECD_SHIFT (20U) 32265 /*! LLDN_RECD - LLDN Packet Received 32266 * 0b0..The last packet received was not Frame Type LLDN 32267 * 0b1..The last packet received was Frame Type LLDN, and LLDN_FT=1 to allow such packets. 32268 */ 32269 #define ZLL_RX_FRAME_FILTER_LLDN_RECD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_LLDN_RECD_SHIFT)) & ZLL_RX_FRAME_FILTER_LLDN_RECD_MASK) 32270 #define ZLL_RX_FRAME_FILTER_MULTIPURPOSE_RECD_MASK (0x200000U) 32271 #define ZLL_RX_FRAME_FILTER_MULTIPURPOSE_RECD_SHIFT (21U) 32272 /*! MULTIPURPOSE_RECD - Multipurpose Packet Received 32273 * 0b0..last packet received was not Frame Type MULTIPURPOSE 32274 * 0b1..The last packet received was Frame Type MULTIPURPOSE, and MULTIPURPOSE_FT=1 to allow such packets. 32275 */ 32276 #define ZLL_RX_FRAME_FILTER_MULTIPURPOSE_RECD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_MULTIPURPOSE_RECD_SHIFT)) & ZLL_RX_FRAME_FILTER_MULTIPURPOSE_RECD_MASK) 32277 #define ZLL_RX_FRAME_FILTER_EXTENDED_RECD_MASK (0x800000U) 32278 #define ZLL_RX_FRAME_FILTER_EXTENDED_RECD_SHIFT (23U) 32279 /*! EXTENDED_RECD - Extended Packet Received 32280 * 0b0..The last packet received was not Frame Type EXTENDED 32281 * 0b1..The last packet received was Frame Type EXTENDED, and EXTENDED_FT=1 to allow such packets. 32282 */ 32283 #define ZLL_RX_FRAME_FILTER_EXTENDED_RECD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_FRAME_FILTER_EXTENDED_RECD_SHIFT)) & ZLL_RX_FRAME_FILTER_EXTENDED_RECD_MASK) 32284 /*! @} */ 32285 32286 /*! @name CCA_LQI_CTRL - CCA AND LQI CONTROL */ 32287 /*! @{ */ 32288 #define ZLL_CCA_LQI_CTRL_CCA1_THRESH_MASK (0xFFU) 32289 #define ZLL_CCA_LQI_CTRL_CCA1_THRESH_SHIFT (0U) 32290 #define ZLL_CCA_LQI_CTRL_CCA1_THRESH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_CCA_LQI_CTRL_CCA1_THRESH_SHIFT)) & ZLL_CCA_LQI_CTRL_CCA1_THRESH_MASK) 32291 #define ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_MASK (0xFF0000U) 32292 #define ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_SHIFT (16U) 32293 #define ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP(x) (((uint32_t)(((uint32_t)(x)) << ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_SHIFT)) & ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_MASK) 32294 #define ZLL_CCA_LQI_CTRL_SIMUL_CCA_RX_MASK (0x1000000U) 32295 #define ZLL_CCA_LQI_CTRL_SIMUL_CCA_RX_SHIFT (24U) 32296 /*! SIMUL_CCA_RX - Simultaneous CCA and Receive Enable 32297 * 0b0..Packets can't be received during CCA measurement 32298 * 0b1..Packet reception is enabled during CCA measurement if preamble and SFD are detected 32299 */ 32300 #define ZLL_CCA_LQI_CTRL_SIMUL_CCA_RX(x) (((uint32_t)(((uint32_t)(x)) << ZLL_CCA_LQI_CTRL_SIMUL_CCA_RX_SHIFT)) & ZLL_CCA_LQI_CTRL_SIMUL_CCA_RX_MASK) 32301 #define ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_MASK (0x8000000U) 32302 #define ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_SHIFT (27U) 32303 /*! CCA3_AND_NOT_OR - CCA Mode 3 AND not OR 32304 * 0b0..CCA1 or CCA2 32305 * 0b1..CCA1 and CCA2 32306 */ 32307 #define ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR(x) (((uint32_t)(((uint32_t)(x)) << ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_SHIFT)) & ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_MASK) 32308 /*! @} */ 32309 32310 /*! @name CCA2_CTRL - CCA2 CONTROL */ 32311 /*! @{ */ 32312 #define ZLL_CCA2_CTRL_CCA2_NUM_CORR_PEAKS_MASK (0xFU) 32313 #define ZLL_CCA2_CTRL_CCA2_NUM_CORR_PEAKS_SHIFT (0U) 32314 #define ZLL_CCA2_CTRL_CCA2_NUM_CORR_PEAKS(x) (((uint32_t)(((uint32_t)(x)) << ZLL_CCA2_CTRL_CCA2_NUM_CORR_PEAKS_SHIFT)) & ZLL_CCA2_CTRL_CCA2_NUM_CORR_PEAKS_MASK) 32315 #define ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_MASK (0x70U) 32316 #define ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_SHIFT (4U) 32317 #define ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_SHIFT)) & ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_MASK) 32318 #define ZLL_CCA2_CTRL_CCA2_CORR_THRESH_MASK (0xFF00U) 32319 #define ZLL_CCA2_CTRL_CCA2_CORR_THRESH_SHIFT (8U) 32320 #define ZLL_CCA2_CTRL_CCA2_CORR_THRESH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_CCA2_CTRL_CCA2_CORR_THRESH_SHIFT)) & ZLL_CCA2_CTRL_CCA2_CORR_THRESH_MASK) 32321 /*! @} */ 32322 32323 /*! @name DSM_CTRL - DSM CONTROL */ 32324 /*! @{ */ 32325 #define ZLL_DSM_CTRL_ZIGBEE_SLEEP_REQUEST_MASK (0x1U) 32326 #define ZLL_DSM_CTRL_ZIGBEE_SLEEP_REQUEST_SHIFT (0U) 32327 #define ZLL_DSM_CTRL_ZIGBEE_SLEEP_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << ZLL_DSM_CTRL_ZIGBEE_SLEEP_REQUEST_SHIFT)) & ZLL_DSM_CTRL_ZIGBEE_SLEEP_REQUEST_MASK) 32328 /*! @} */ 32329 32330 /*! @name BSM_CTRL - BSM CONTROL */ 32331 /*! @{ */ 32332 #define ZLL_BSM_CTRL_BSM_EN_MASK (0x1U) 32333 #define ZLL_BSM_CTRL_BSM_EN_SHIFT (0U) 32334 /*! BSM_EN - BSM Enable 32335 * 0b0..802.15.4 Bit Streaming Mode Disabled 32336 * 0b1..802.15.4 Bit Streaming Mode Enabled 32337 */ 32338 #define ZLL_BSM_CTRL_BSM_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_BSM_CTRL_BSM_EN_SHIFT)) & ZLL_BSM_CTRL_BSM_EN_MASK) 32339 /*! @} */ 32340 32341 /*! @name MACSHORTADDRS1 - MAC SHORT ADDRESS FOR PAN1 */ 32342 /*! @{ */ 32343 #define ZLL_MACSHORTADDRS1_MACPANID1_MASK (0xFFFFU) 32344 #define ZLL_MACSHORTADDRS1_MACPANID1_SHIFT (0U) 32345 #define ZLL_MACSHORTADDRS1_MACPANID1(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACSHORTADDRS1_MACPANID1_SHIFT)) & ZLL_MACSHORTADDRS1_MACPANID1_MASK) 32346 #define ZLL_MACSHORTADDRS1_MACSHORTADDRS1_MASK (0xFFFF0000U) 32347 #define ZLL_MACSHORTADDRS1_MACSHORTADDRS1_SHIFT (16U) 32348 #define ZLL_MACSHORTADDRS1_MACSHORTADDRS1(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACSHORTADDRS1_MACSHORTADDRS1_SHIFT)) & ZLL_MACSHORTADDRS1_MACSHORTADDRS1_MASK) 32349 /*! @} */ 32350 32351 /*! @name MACLONGADDRS1_LSB - MAC LONG ADDRESS 1 LSB */ 32352 /*! @{ */ 32353 #define ZLL_MACLONGADDRS1_LSB_MACLONGADDRS1_LSB_MASK (0xFFFFFFFFU) 32354 #define ZLL_MACLONGADDRS1_LSB_MACLONGADDRS1_LSB_SHIFT (0U) 32355 #define ZLL_MACLONGADDRS1_LSB_MACLONGADDRS1_LSB(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACLONGADDRS1_LSB_MACLONGADDRS1_LSB_SHIFT)) & ZLL_MACLONGADDRS1_LSB_MACLONGADDRS1_LSB_MASK) 32356 /*! @} */ 32357 32358 /*! @name MACLONGADDRS1_MSB - MAC LONG ADDRESS 1 MSB */ 32359 /*! @{ */ 32360 #define ZLL_MACLONGADDRS1_MSB_MACLONGADDRS1_MSB_MASK (0xFFFFFFFFU) 32361 #define ZLL_MACLONGADDRS1_MSB_MACLONGADDRS1_MSB_SHIFT (0U) 32362 #define ZLL_MACLONGADDRS1_MSB_MACLONGADDRS1_MSB(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACLONGADDRS1_MSB_MACLONGADDRS1_MSB_SHIFT)) & ZLL_MACLONGADDRS1_MSB_MACLONGADDRS1_MSB_MASK) 32363 /*! @} */ 32364 32365 /*! @name DUAL_PAN_CTRL - DUAL PAN CONTROL */ 32366 /*! @{ */ 32367 #define ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_MASK (0x1U) 32368 #define ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_SHIFT (0U) 32369 /*! ACTIVE_NETWORK - Active Network Selector 32370 * 0b0..Select PAN0 32371 * 0b1..Select PAN1 32372 */ 32373 #define ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_SHIFT)) & ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_MASK) 32374 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_MASK (0x2U) 32375 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_SHIFT (1U) 32376 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO(x) (((uint32_t)(((uint32_t)(x)) << ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_SHIFT)) & ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_MASK) 32377 #define ZLL_DUAL_PAN_CTRL_PANCORDNTR1_MASK (0x4U) 32378 #define ZLL_DUAL_PAN_CTRL_PANCORDNTR1_SHIFT (2U) 32379 #define ZLL_DUAL_PAN_CTRL_PANCORDNTR1(x) (((uint32_t)(((uint32_t)(x)) << ZLL_DUAL_PAN_CTRL_PANCORDNTR1_SHIFT)) & ZLL_DUAL_PAN_CTRL_PANCORDNTR1_MASK) 32380 #define ZLL_DUAL_PAN_CTRL_CURRENT_NETWORK_MASK (0x8U) 32381 #define ZLL_DUAL_PAN_CTRL_CURRENT_NETWORK_SHIFT (3U) 32382 /*! CURRENT_NETWORK - Indicates which PAN is currently selected by hardware 32383 * 0b0..PAN0 is selected 32384 * 0b1..PAN1 is selected 32385 */ 32386 #define ZLL_DUAL_PAN_CTRL_CURRENT_NETWORK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_DUAL_PAN_CTRL_CURRENT_NETWORK_SHIFT)) & ZLL_DUAL_PAN_CTRL_CURRENT_NETWORK_MASK) 32387 #define ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_MASK (0x10U) 32388 #define ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_SHIFT (4U) 32389 #define ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_SHIFT)) & ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_MASK) 32390 #define ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_MASK (0x20U) 32391 #define ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_SHIFT (5U) 32392 #define ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL(x) (((uint32_t)(((uint32_t)(x)) << ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_SHIFT)) & ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_MASK) 32393 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_MASK (0xFF00U) 32394 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_SHIFT (8U) 32395 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL(x) (((uint32_t)(((uint32_t)(x)) << ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_SHIFT)) & ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_MASK) 32396 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_REMAIN_MASK (0x3F0000U) 32397 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_REMAIN_SHIFT (16U) 32398 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_REMAIN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_DUAL_PAN_CTRL_DUAL_PAN_REMAIN_SHIFT)) & ZLL_DUAL_PAN_CTRL_DUAL_PAN_REMAIN_MASK) 32399 #define ZLL_DUAL_PAN_CTRL_RECD_ON_PAN0_MASK (0x400000U) 32400 #define ZLL_DUAL_PAN_CTRL_RECD_ON_PAN0_SHIFT (22U) 32401 #define ZLL_DUAL_PAN_CTRL_RECD_ON_PAN0(x) (((uint32_t)(((uint32_t)(x)) << ZLL_DUAL_PAN_CTRL_RECD_ON_PAN0_SHIFT)) & ZLL_DUAL_PAN_CTRL_RECD_ON_PAN0_MASK) 32402 #define ZLL_DUAL_PAN_CTRL_RECD_ON_PAN1_MASK (0x800000U) 32403 #define ZLL_DUAL_PAN_CTRL_RECD_ON_PAN1_SHIFT (23U) 32404 #define ZLL_DUAL_PAN_CTRL_RECD_ON_PAN1(x) (((uint32_t)(((uint32_t)(x)) << ZLL_DUAL_PAN_CTRL_RECD_ON_PAN1_SHIFT)) & ZLL_DUAL_PAN_CTRL_RECD_ON_PAN1_MASK) 32405 /*! @} */ 32406 32407 /*! @name CHANNEL_NUM1 - CHANNEL NUMBER 1 */ 32408 /*! @{ */ 32409 #define ZLL_CHANNEL_NUM1_CHANNEL_NUM1_MASK (0x7FU) 32410 #define ZLL_CHANNEL_NUM1_CHANNEL_NUM1_SHIFT (0U) 32411 #define ZLL_CHANNEL_NUM1_CHANNEL_NUM1(x) (((uint32_t)(((uint32_t)(x)) << ZLL_CHANNEL_NUM1_CHANNEL_NUM1_SHIFT)) & ZLL_CHANNEL_NUM1_CHANNEL_NUM1_MASK) 32412 /*! @} */ 32413 32414 /*! @name SAM_CTRL - SAM CONTROL */ 32415 /*! @{ */ 32416 #define ZLL_SAM_CTRL_SAP0_EN_MASK (0x1U) 32417 #define ZLL_SAM_CTRL_SAP0_EN_SHIFT (0U) 32418 /*! SAP0_EN - Enables SAP0 Partition of the SAM Table 32419 * 0b0..Disables SAP0 Partition 32420 * 0b1..Enables SAP0 Partition 32421 */ 32422 #define ZLL_SAM_CTRL_SAP0_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAP0_EN_SHIFT)) & ZLL_SAM_CTRL_SAP0_EN_MASK) 32423 #define ZLL_SAM_CTRL_SAA0_EN_MASK (0x2U) 32424 #define ZLL_SAM_CTRL_SAA0_EN_SHIFT (1U) 32425 /*! SAA0_EN - Enables SAA0 Partition of the SAM Table 32426 * 0b0..Disables SAA0 Partition 32427 * 0b1..Enables SAA0 Partition 32428 */ 32429 #define ZLL_SAM_CTRL_SAA0_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAA0_EN_SHIFT)) & ZLL_SAM_CTRL_SAA0_EN_MASK) 32430 #define ZLL_SAM_CTRL_SAP1_EN_MASK (0x4U) 32431 #define ZLL_SAM_CTRL_SAP1_EN_SHIFT (2U) 32432 /*! SAP1_EN - Enables SAP1 Partition of the SAM Table 32433 * 0b0..Disables SAP1 Partition 32434 * 0b1..Enables SAP1 Partition 32435 */ 32436 #define ZLL_SAM_CTRL_SAP1_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAP1_EN_SHIFT)) & ZLL_SAM_CTRL_SAP1_EN_MASK) 32437 #define ZLL_SAM_CTRL_SAA1_EN_MASK (0x8U) 32438 #define ZLL_SAM_CTRL_SAA1_EN_SHIFT (3U) 32439 /*! SAA1_EN - Enables SAA1 Partition of the SAM Table 32440 * 0b0..Disables SAA1 Partition 32441 * 0b1..Enables SAA1 Partition 32442 */ 32443 #define ZLL_SAM_CTRL_SAA1_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAA1_EN_SHIFT)) & ZLL_SAM_CTRL_SAA1_EN_MASK) 32444 #define ZLL_SAM_CTRL_SAA0_START_MASK (0xFF00U) 32445 #define ZLL_SAM_CTRL_SAA0_START_SHIFT (8U) 32446 #define ZLL_SAM_CTRL_SAA0_START(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAA0_START_SHIFT)) & ZLL_SAM_CTRL_SAA0_START_MASK) 32447 #define ZLL_SAM_CTRL_SAP1_START_MASK (0xFF0000U) 32448 #define ZLL_SAM_CTRL_SAP1_START_SHIFT (16U) 32449 #define ZLL_SAM_CTRL_SAP1_START(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAP1_START_SHIFT)) & ZLL_SAM_CTRL_SAP1_START_MASK) 32450 #define ZLL_SAM_CTRL_SAA1_START_MASK (0xFF000000U) 32451 #define ZLL_SAM_CTRL_SAA1_START_SHIFT (24U) 32452 #define ZLL_SAM_CTRL_SAA1_START(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAA1_START_SHIFT)) & ZLL_SAM_CTRL_SAA1_START_MASK) 32453 /*! @} */ 32454 32455 /*! @name SAM_TABLE - SOURCE ADDRESS MANAGEMENT TABLE */ 32456 /*! @{ */ 32457 #define ZLL_SAM_TABLE_SAM_INDEX_MASK (0x7FU) 32458 #define ZLL_SAM_TABLE_SAM_INDEX_SHIFT (0U) 32459 #define ZLL_SAM_TABLE_SAM_INDEX(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_SAM_INDEX_SHIFT)) & ZLL_SAM_TABLE_SAM_INDEX_MASK) 32460 #define ZLL_SAM_TABLE_SAM_INDEX_WR_MASK (0x80U) 32461 #define ZLL_SAM_TABLE_SAM_INDEX_WR_SHIFT (7U) 32462 #define ZLL_SAM_TABLE_SAM_INDEX_WR(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_SAM_INDEX_WR_SHIFT)) & ZLL_SAM_TABLE_SAM_INDEX_WR_MASK) 32463 #define ZLL_SAM_TABLE_SAM_CHECKSUM_MASK (0xFFFF00U) 32464 #define ZLL_SAM_TABLE_SAM_CHECKSUM_SHIFT (8U) 32465 #define ZLL_SAM_TABLE_SAM_CHECKSUM(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_SAM_CHECKSUM_SHIFT)) & ZLL_SAM_TABLE_SAM_CHECKSUM_MASK) 32466 #define ZLL_SAM_TABLE_SAM_INDEX_INV_MASK (0x1000000U) 32467 #define ZLL_SAM_TABLE_SAM_INDEX_INV_SHIFT (24U) 32468 #define ZLL_SAM_TABLE_SAM_INDEX_INV(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_SAM_INDEX_INV_SHIFT)) & ZLL_SAM_TABLE_SAM_INDEX_INV_MASK) 32469 #define ZLL_SAM_TABLE_SAM_INDEX_EN_MASK (0x2000000U) 32470 #define ZLL_SAM_TABLE_SAM_INDEX_EN_SHIFT (25U) 32471 #define ZLL_SAM_TABLE_SAM_INDEX_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_SAM_INDEX_EN_SHIFT)) & ZLL_SAM_TABLE_SAM_INDEX_EN_MASK) 32472 #define ZLL_SAM_TABLE_ACK_FRM_PND_MASK (0x4000000U) 32473 #define ZLL_SAM_TABLE_ACK_FRM_PND_SHIFT (26U) 32474 #define ZLL_SAM_TABLE_ACK_FRM_PND(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_ACK_FRM_PND_SHIFT)) & ZLL_SAM_TABLE_ACK_FRM_PND_MASK) 32475 #define ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_MASK (0x8000000U) 32476 #define ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_SHIFT (27U) 32477 /*! ACK_FRM_PND_CTRL - Manual Control for AutoTxAck FramePending field 32478 * 0b0..the FramePending field of the Frame Control Field of the next automatic TX acknowledge packet is determined by hardware 32479 * 0b1..the FramePending field of the Frame Control Field of the next automatic TX acknowledge packet tracks ACK_FRM_PEND 32480 */ 32481 #define ZLL_SAM_TABLE_ACK_FRM_PND_CTRL(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_SHIFT)) & ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_MASK) 32482 #define ZLL_SAM_TABLE_FIND_FREE_IDX_MASK (0x10000000U) 32483 #define ZLL_SAM_TABLE_FIND_FREE_IDX_SHIFT (28U) 32484 #define ZLL_SAM_TABLE_FIND_FREE_IDX(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_FIND_FREE_IDX_SHIFT)) & ZLL_SAM_TABLE_FIND_FREE_IDX_MASK) 32485 #define ZLL_SAM_TABLE_INVALIDATE_ALL_MASK (0x20000000U) 32486 #define ZLL_SAM_TABLE_INVALIDATE_ALL_SHIFT (29U) 32487 #define ZLL_SAM_TABLE_INVALIDATE_ALL(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_INVALIDATE_ALL_SHIFT)) & ZLL_SAM_TABLE_INVALIDATE_ALL_MASK) 32488 #define ZLL_SAM_TABLE_SAM_BUSY_MASK (0x80000000U) 32489 #define ZLL_SAM_TABLE_SAM_BUSY_SHIFT (31U) 32490 #define ZLL_SAM_TABLE_SAM_BUSY(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_SAM_BUSY_SHIFT)) & ZLL_SAM_TABLE_SAM_BUSY_MASK) 32491 /*! @} */ 32492 32493 /*! @name SAM_MATCH - SOURCE ADDRESS MANAGEMENT MATCH */ 32494 /*! @{ */ 32495 #define ZLL_SAM_MATCH_SAP0_MATCH_MASK (0x7FU) 32496 #define ZLL_SAM_MATCH_SAP0_MATCH_SHIFT (0U) 32497 #define ZLL_SAM_MATCH_SAP0_MATCH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_MATCH_SAP0_MATCH_SHIFT)) & ZLL_SAM_MATCH_SAP0_MATCH_MASK) 32498 #define ZLL_SAM_MATCH_SAP0_ADDR_PRESENT_MASK (0x80U) 32499 #define ZLL_SAM_MATCH_SAP0_ADDR_PRESENT_SHIFT (7U) 32500 #define ZLL_SAM_MATCH_SAP0_ADDR_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_MATCH_SAP0_ADDR_PRESENT_SHIFT)) & ZLL_SAM_MATCH_SAP0_ADDR_PRESENT_MASK) 32501 #define ZLL_SAM_MATCH_SAA0_MATCH_MASK (0x7F00U) 32502 #define ZLL_SAM_MATCH_SAA0_MATCH_SHIFT (8U) 32503 #define ZLL_SAM_MATCH_SAA0_MATCH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_MATCH_SAA0_MATCH_SHIFT)) & ZLL_SAM_MATCH_SAA0_MATCH_MASK) 32504 #define ZLL_SAM_MATCH_SAA0_ADDR_ABSENT_MASK (0x8000U) 32505 #define ZLL_SAM_MATCH_SAA0_ADDR_ABSENT_SHIFT (15U) 32506 #define ZLL_SAM_MATCH_SAA0_ADDR_ABSENT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_MATCH_SAA0_ADDR_ABSENT_SHIFT)) & ZLL_SAM_MATCH_SAA0_ADDR_ABSENT_MASK) 32507 #define ZLL_SAM_MATCH_SAP1_MATCH_MASK (0x7F0000U) 32508 #define ZLL_SAM_MATCH_SAP1_MATCH_SHIFT (16U) 32509 #define ZLL_SAM_MATCH_SAP1_MATCH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_MATCH_SAP1_MATCH_SHIFT)) & ZLL_SAM_MATCH_SAP1_MATCH_MASK) 32510 #define ZLL_SAM_MATCH_SAP1_ADDR_PRESENT_MASK (0x800000U) 32511 #define ZLL_SAM_MATCH_SAP1_ADDR_PRESENT_SHIFT (23U) 32512 #define ZLL_SAM_MATCH_SAP1_ADDR_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_MATCH_SAP1_ADDR_PRESENT_SHIFT)) & ZLL_SAM_MATCH_SAP1_ADDR_PRESENT_MASK) 32513 #define ZLL_SAM_MATCH_SAA1_MATCH_MASK (0x7F000000U) 32514 #define ZLL_SAM_MATCH_SAA1_MATCH_SHIFT (24U) 32515 #define ZLL_SAM_MATCH_SAA1_MATCH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_MATCH_SAA1_MATCH_SHIFT)) & ZLL_SAM_MATCH_SAA1_MATCH_MASK) 32516 #define ZLL_SAM_MATCH_SAA1_ADDR_ABSENT_MASK (0x80000000U) 32517 #define ZLL_SAM_MATCH_SAA1_ADDR_ABSENT_SHIFT (31U) 32518 #define ZLL_SAM_MATCH_SAA1_ADDR_ABSENT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_MATCH_SAA1_ADDR_ABSENT_SHIFT)) & ZLL_SAM_MATCH_SAA1_ADDR_ABSENT_MASK) 32519 /*! @} */ 32520 32521 /*! @name SAM_FREE_IDX - SAM FREE INDEX */ 32522 /*! @{ */ 32523 #define ZLL_SAM_FREE_IDX_SAP0_1ST_FREE_IDX_MASK (0xFFU) 32524 #define ZLL_SAM_FREE_IDX_SAP0_1ST_FREE_IDX_SHIFT (0U) 32525 #define ZLL_SAM_FREE_IDX_SAP0_1ST_FREE_IDX(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_FREE_IDX_SAP0_1ST_FREE_IDX_SHIFT)) & ZLL_SAM_FREE_IDX_SAP0_1ST_FREE_IDX_MASK) 32526 #define ZLL_SAM_FREE_IDX_SAA0_1ST_FREE_IDX_MASK (0xFF00U) 32527 #define ZLL_SAM_FREE_IDX_SAA0_1ST_FREE_IDX_SHIFT (8U) 32528 #define ZLL_SAM_FREE_IDX_SAA0_1ST_FREE_IDX(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_FREE_IDX_SAA0_1ST_FREE_IDX_SHIFT)) & ZLL_SAM_FREE_IDX_SAA0_1ST_FREE_IDX_MASK) 32529 #define ZLL_SAM_FREE_IDX_SAP1_1ST_FREE_IDX_MASK (0xFF0000U) 32530 #define ZLL_SAM_FREE_IDX_SAP1_1ST_FREE_IDX_SHIFT (16U) 32531 #define ZLL_SAM_FREE_IDX_SAP1_1ST_FREE_IDX(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_FREE_IDX_SAP1_1ST_FREE_IDX_SHIFT)) & ZLL_SAM_FREE_IDX_SAP1_1ST_FREE_IDX_MASK) 32532 #define ZLL_SAM_FREE_IDX_SAA1_1ST_FREE_IDX_MASK (0xFF000000U) 32533 #define ZLL_SAM_FREE_IDX_SAA1_1ST_FREE_IDX_SHIFT (24U) 32534 #define ZLL_SAM_FREE_IDX_SAA1_1ST_FREE_IDX(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_FREE_IDX_SAA1_1ST_FREE_IDX_SHIFT)) & ZLL_SAM_FREE_IDX_SAA1_1ST_FREE_IDX_MASK) 32535 /*! @} */ 32536 32537 /*! @name SEQ_CTRL_STS - SEQUENCE CONTROL AND STATUS */ 32538 /*! @{ */ 32539 #define ZLL_SEQ_CTRL_STS_FORCE_CLK_ON_MASK (0x2U) 32540 #define ZLL_SEQ_CTRL_STS_FORCE_CLK_ON_SHIFT (1U) 32541 /*! FORCE_CLK_ON - Force On 802.15.4 phy_gck 32542 * 0b0..Allow TSM to control 802.15.4 phy_gck, for minimum power consumption (default) 32543 * 0b1..Force on 802.15.4 phy_gclk at all times, for debug purposes only 32544 */ 32545 #define ZLL_SEQ_CTRL_STS_FORCE_CLK_ON(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_FORCE_CLK_ON_SHIFT)) & ZLL_SEQ_CTRL_STS_FORCE_CLK_ON_MASK) 32546 #define ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_MASK (0x4U) 32547 #define ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_SHIFT (2U) 32548 #define ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_SHIFT)) & ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_MASK) 32549 #define ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_MASK (0x8U) 32550 #define ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_SHIFT (3U) 32551 #define ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_SHIFT)) & ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_MASK) 32552 #define ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_MASK (0x10U) 32553 #define ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_SHIFT (4U) 32554 /*! LATCH_PREAMBLE - Stickiness Control for Preamble Detection 32555 * 0b0..Don't make PREAMBLE_DET and SFD_DET bits of PHY_STS (SEQ_STATE) Register "sticky", i.e, these status bits reflect the realtime, dynamic state of preamble_detect and sfd_detect 32556 * 0b1..Make PREAMBLE_DET and SFD_DET bits of PHY_STS (SEQ_STATE) Register "sticky", i.e.,occurrences of preamble and SFD detection are latched and held until the start of the next autosequence 32557 */ 32558 #define ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_SHIFT)) & ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_MASK) 32559 #define ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_MASK (0x20U) 32560 #define ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_SHIFT (5U) 32561 #define ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_SHIFT)) & ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_MASK) 32562 #define ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_MASK (0x40U) 32563 #define ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_SHIFT (6U) 32564 /*! FORCE_CRC_ERROR - Induce a CRC Error in Transmitted Packets 32565 * 0b0..normal operation 32566 * 0b1..Force the next transmitted packet to have a CRC error 32567 */ 32568 #define ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_SHIFT)) & ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_MASK) 32569 #define ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_MASK (0x80U) 32570 #define ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_SHIFT (7U) 32571 /*! CONTINUOUS_EN - Enable Continuous TX or RX Mode 32572 * 0b0..normal operation 32573 * 0b1..Continuous TX or RX mode is enabled (depending on XCVSEQ setting). 32574 */ 32575 #define ZLL_SEQ_CTRL_STS_CONTINUOUS_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_SHIFT)) & ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_MASK) 32576 #define ZLL_SEQ_CTRL_STS_XCVSEQ_ACTUAL_MASK (0x700U) 32577 #define ZLL_SEQ_CTRL_STS_XCVSEQ_ACTUAL_SHIFT (8U) 32578 #define ZLL_SEQ_CTRL_STS_XCVSEQ_ACTUAL(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_XCVSEQ_ACTUAL_SHIFT)) & ZLL_SEQ_CTRL_STS_XCVSEQ_ACTUAL_MASK) 32579 #define ZLL_SEQ_CTRL_STS_SEQ_IDLE_MASK (0x800U) 32580 #define ZLL_SEQ_CTRL_STS_SEQ_IDLE_SHIFT (11U) 32581 #define ZLL_SEQ_CTRL_STS_SEQ_IDLE(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_SEQ_IDLE_SHIFT)) & ZLL_SEQ_CTRL_STS_SEQ_IDLE_MASK) 32582 #define ZLL_SEQ_CTRL_STS_NEW_SEQ_INHIBIT_MASK (0x1000U) 32583 #define ZLL_SEQ_CTRL_STS_NEW_SEQ_INHIBIT_SHIFT (12U) 32584 #define ZLL_SEQ_CTRL_STS_NEW_SEQ_INHIBIT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_NEW_SEQ_INHIBIT_SHIFT)) & ZLL_SEQ_CTRL_STS_NEW_SEQ_INHIBIT_MASK) 32585 #define ZLL_SEQ_CTRL_STS_RX_TIMEOUT_PENDING_MASK (0x2000U) 32586 #define ZLL_SEQ_CTRL_STS_RX_TIMEOUT_PENDING_SHIFT (13U) 32587 #define ZLL_SEQ_CTRL_STS_RX_TIMEOUT_PENDING(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_RX_TIMEOUT_PENDING_SHIFT)) & ZLL_SEQ_CTRL_STS_RX_TIMEOUT_PENDING_MASK) 32588 #define ZLL_SEQ_CTRL_STS_RX_MODE_MASK (0x4000U) 32589 #define ZLL_SEQ_CTRL_STS_RX_MODE_SHIFT (14U) 32590 #define ZLL_SEQ_CTRL_STS_RX_MODE(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_RX_MODE_SHIFT)) & ZLL_SEQ_CTRL_STS_RX_MODE_MASK) 32591 #define ZLL_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED_MASK (0x8000U) 32592 #define ZLL_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED_SHIFT (15U) 32593 #define ZLL_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED_SHIFT)) & ZLL_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED_MASK) 32594 #define ZLL_SEQ_CTRL_STS_SEQ_T_STATUS_MASK (0x3F0000U) 32595 #define ZLL_SEQ_CTRL_STS_SEQ_T_STATUS_SHIFT (16U) 32596 #define ZLL_SEQ_CTRL_STS_SEQ_T_STATUS(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_SEQ_T_STATUS_SHIFT)) & ZLL_SEQ_CTRL_STS_SEQ_T_STATUS_MASK) 32597 #define ZLL_SEQ_CTRL_STS_SW_ABORTED_MASK (0x1000000U) 32598 #define ZLL_SEQ_CTRL_STS_SW_ABORTED_SHIFT (24U) 32599 #define ZLL_SEQ_CTRL_STS_SW_ABORTED(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_SW_ABORTED_SHIFT)) & ZLL_SEQ_CTRL_STS_SW_ABORTED_MASK) 32600 #define ZLL_SEQ_CTRL_STS_TC3_ABORTED_MASK (0x2000000U) 32601 #define ZLL_SEQ_CTRL_STS_TC3_ABORTED_SHIFT (25U) 32602 #define ZLL_SEQ_CTRL_STS_TC3_ABORTED(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_TC3_ABORTED_SHIFT)) & ZLL_SEQ_CTRL_STS_TC3_ABORTED_MASK) 32603 #define ZLL_SEQ_CTRL_STS_PLL_ABORTED_MASK (0x4000000U) 32604 #define ZLL_SEQ_CTRL_STS_PLL_ABORTED_SHIFT (26U) 32605 #define ZLL_SEQ_CTRL_STS_PLL_ABORTED(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_PLL_ABORTED_SHIFT)) & ZLL_SEQ_CTRL_STS_PLL_ABORTED_MASK) 32606 #define ZLL_SEQ_CTRL_STS_EXT_ABORTED_MASK (0x8000000U) 32607 #define ZLL_SEQ_CTRL_STS_EXT_ABORTED_SHIFT (27U) 32608 #define ZLL_SEQ_CTRL_STS_EXT_ABORTED(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_CTRL_STS_EXT_ABORTED_SHIFT)) & ZLL_SEQ_CTRL_STS_EXT_ABORTED_MASK) 32609 /*! @} */ 32610 32611 /*! @name ACKDELAY - ACK DELAY */ 32612 /*! @{ */ 32613 #define ZLL_ACKDELAY_ACKDELAY_MASK (0x3FU) 32614 #define ZLL_ACKDELAY_ACKDELAY_SHIFT (0U) 32615 #define ZLL_ACKDELAY_ACKDELAY(x) (((uint32_t)(((uint32_t)(x)) << ZLL_ACKDELAY_ACKDELAY_SHIFT)) & ZLL_ACKDELAY_ACKDELAY_MASK) 32616 #define ZLL_ACKDELAY_TXDELAY_MASK (0x3F00U) 32617 #define ZLL_ACKDELAY_TXDELAY_SHIFT (8U) 32618 #define ZLL_ACKDELAY_TXDELAY(x) (((uint32_t)(((uint32_t)(x)) << ZLL_ACKDELAY_TXDELAY_SHIFT)) & ZLL_ACKDELAY_TXDELAY_MASK) 32619 /*! @} */ 32620 32621 /*! @name FILTERFAIL_CODE - FILTER FAIL CODE */ 32622 /*! @{ */ 32623 #define ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE_MASK (0x3FFU) 32624 #define ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE_SHIFT (0U) 32625 #define ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE(x) (((uint32_t)(((uint32_t)(x)) << ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE_SHIFT)) & ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE_MASK) 32626 #define ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_MASK (0x8000U) 32627 #define ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_SHIFT (15U) 32628 /*! FILTERFAIL_PAN_SEL - PAN Selector for Filter Fail Code 32629 * 0b0..FILTERFAIL_CODE[9:0] will report the FILTERFAIL status of PAN0 32630 * 0b1..FILTERFAIL_CODE[9:0] will report the FILTERFAIL status of PAN1 32631 */ 32632 #define ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL(x) (((uint32_t)(((uint32_t)(x)) << ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_SHIFT)) & ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_MASK) 32633 /*! @} */ 32634 32635 /*! @name RX_WTR_MARK - RECEIVE WATER MARK */ 32636 /*! @{ */ 32637 #define ZLL_RX_WTR_MARK_RX_WTR_MARK_MASK (0xFFU) 32638 #define ZLL_RX_WTR_MARK_RX_WTR_MARK_SHIFT (0U) 32639 #define ZLL_RX_WTR_MARK_RX_WTR_MARK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_RX_WTR_MARK_RX_WTR_MARK_SHIFT)) & ZLL_RX_WTR_MARK_RX_WTR_MARK_MASK) 32640 /*! @} */ 32641 32642 /*! @name SLOT_PRELOAD - SLOT PRELOAD */ 32643 /*! @{ */ 32644 #define ZLL_SLOT_PRELOAD_SLOT_PRELOAD_MASK (0xFFU) 32645 #define ZLL_SLOT_PRELOAD_SLOT_PRELOAD_SHIFT (0U) 32646 #define ZLL_SLOT_PRELOAD_SLOT_PRELOAD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SLOT_PRELOAD_SLOT_PRELOAD_SHIFT)) & ZLL_SLOT_PRELOAD_SLOT_PRELOAD_MASK) 32647 /*! @} */ 32648 32649 /*! @name SEQ_STATE - 802.15.4 SEQUENCE STATE */ 32650 /*! @{ */ 32651 #define ZLL_SEQ_STATE_SEQ_STATE_MASK (0x1FU) 32652 #define ZLL_SEQ_STATE_SEQ_STATE_SHIFT (0U) 32653 #define ZLL_SEQ_STATE_SEQ_STATE(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_SEQ_STATE_SHIFT)) & ZLL_SEQ_STATE_SEQ_STATE_MASK) 32654 #define ZLL_SEQ_STATE_PREAMBLE_DET_MASK (0x100U) 32655 #define ZLL_SEQ_STATE_PREAMBLE_DET_SHIFT (8U) 32656 #define ZLL_SEQ_STATE_PREAMBLE_DET(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_PREAMBLE_DET_SHIFT)) & ZLL_SEQ_STATE_PREAMBLE_DET_MASK) 32657 #define ZLL_SEQ_STATE_SFD_DET_MASK (0x200U) 32658 #define ZLL_SEQ_STATE_SFD_DET_SHIFT (9U) 32659 #define ZLL_SEQ_STATE_SFD_DET(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_SFD_DET_SHIFT)) & ZLL_SEQ_STATE_SFD_DET_MASK) 32660 #define ZLL_SEQ_STATE_FILTERFAIL_FLAG_SEL_MASK (0x400U) 32661 #define ZLL_SEQ_STATE_FILTERFAIL_FLAG_SEL_SHIFT (10U) 32662 #define ZLL_SEQ_STATE_FILTERFAIL_FLAG_SEL(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_FILTERFAIL_FLAG_SEL_SHIFT)) & ZLL_SEQ_STATE_FILTERFAIL_FLAG_SEL_MASK) 32663 #define ZLL_SEQ_STATE_CRCVALID_MASK (0x800U) 32664 #define ZLL_SEQ_STATE_CRCVALID_SHIFT (11U) 32665 /*! CRCVALID - CRC Valid Indicator 32666 * 0b0..Rx FCS != calculated CRC (incorrect) 32667 * 0b1..Rx FCS = calculated CRC (correct) 32668 */ 32669 #define ZLL_SEQ_STATE_CRCVALID(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_CRCVALID_SHIFT)) & ZLL_SEQ_STATE_CRCVALID_MASK) 32670 #define ZLL_SEQ_STATE_PLL_ABORT_MASK (0x1000U) 32671 #define ZLL_SEQ_STATE_PLL_ABORT_SHIFT (12U) 32672 #define ZLL_SEQ_STATE_PLL_ABORT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_PLL_ABORT_SHIFT)) & ZLL_SEQ_STATE_PLL_ABORT_MASK) 32673 #define ZLL_SEQ_STATE_PLL_ABORTED_MASK (0x2000U) 32674 #define ZLL_SEQ_STATE_PLL_ABORTED_SHIFT (13U) 32675 #define ZLL_SEQ_STATE_PLL_ABORTED(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_PLL_ABORTED_SHIFT)) & ZLL_SEQ_STATE_PLL_ABORTED_MASK) 32676 #define ZLL_SEQ_STATE_RX_BYTE_COUNT_MASK (0xFF0000U) 32677 #define ZLL_SEQ_STATE_RX_BYTE_COUNT_SHIFT (16U) 32678 #define ZLL_SEQ_STATE_RX_BYTE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_RX_BYTE_COUNT_SHIFT)) & ZLL_SEQ_STATE_RX_BYTE_COUNT_MASK) 32679 #define ZLL_SEQ_STATE_CCCA_BUSY_CNT_MASK (0x3F000000U) 32680 #define ZLL_SEQ_STATE_CCCA_BUSY_CNT_SHIFT (24U) 32681 #define ZLL_SEQ_STATE_CCCA_BUSY_CNT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_CCCA_BUSY_CNT_SHIFT)) & ZLL_SEQ_STATE_CCCA_BUSY_CNT_MASK) 32682 /*! @} */ 32683 32684 /*! @name TMR_PRESCALE - TIMER PRESCALER */ 32685 /*! @{ */ 32686 #define ZLL_TMR_PRESCALE_TMR_PRESCALE_MASK (0x7U) 32687 #define ZLL_TMR_PRESCALE_TMR_PRESCALE_SHIFT (0U) 32688 /*! TMR_PRESCALE - Timer Prescaler 32689 * 0b000..Reserved 32690 * 0b001..Reserved 32691 * 0b010..500kHz (33.55 S) 32692 * 0b011..250kHz (67.11 S) 32693 * 0b100..125kHz (134.22 S) 32694 * 0b101..62.5kHz (268.44 S) -- default 32695 * 0b110..31.25kHz (536.87 S) 32696 * 0b111..15.625kHz (1073.74 S) 32697 */ 32698 #define ZLL_TMR_PRESCALE_TMR_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << ZLL_TMR_PRESCALE_TMR_PRESCALE_SHIFT)) & ZLL_TMR_PRESCALE_TMR_PRESCALE_MASK) 32699 /*! @} */ 32700 32701 /*! @name LENIENCY_LSB - LENIENCY LSB */ 32702 /*! @{ */ 32703 #define ZLL_LENIENCY_LSB_LENIENCY_LSB_MASK (0xFFFFFFFFU) 32704 #define ZLL_LENIENCY_LSB_LENIENCY_LSB_SHIFT (0U) 32705 #define ZLL_LENIENCY_LSB_LENIENCY_LSB(x) (((uint32_t)(((uint32_t)(x)) << ZLL_LENIENCY_LSB_LENIENCY_LSB_SHIFT)) & ZLL_LENIENCY_LSB_LENIENCY_LSB_MASK) 32706 /*! @} */ 32707 32708 /*! @name LENIENCY_MSB - LENIENCY MSB */ 32709 /*! @{ */ 32710 #define ZLL_LENIENCY_MSB_LENIENCY_MSB_MASK (0xFFU) 32711 #define ZLL_LENIENCY_MSB_LENIENCY_MSB_SHIFT (0U) 32712 #define ZLL_LENIENCY_MSB_LENIENCY_MSB(x) (((uint32_t)(((uint32_t)(x)) << ZLL_LENIENCY_MSB_LENIENCY_MSB_SHIFT)) & ZLL_LENIENCY_MSB_LENIENCY_MSB_MASK) 32713 /*! @} */ 32714 32715 /*! @name PART_ID - PART ID */ 32716 /*! @{ */ 32717 #define ZLL_PART_ID_PART_ID_MASK (0xFFU) 32718 #define ZLL_PART_ID_PART_ID_SHIFT (0U) 32719 #define ZLL_PART_ID_PART_ID(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PART_ID_PART_ID_SHIFT)) & ZLL_PART_ID_PART_ID_MASK) 32720 /*! @} */ 32721 32722 /*! @name PKT_BUFFER_TX - Packet Buffer TX */ 32723 /*! @{ */ 32724 #define ZLL_PKT_BUFFER_TX_PKT_BUFFER_TX_MASK (0xFFFFU) 32725 #define ZLL_PKT_BUFFER_TX_PKT_BUFFER_TX_SHIFT (0U) 32726 #define ZLL_PKT_BUFFER_TX_PKT_BUFFER_TX(x) (((uint16_t)(((uint16_t)(x)) << ZLL_PKT_BUFFER_TX_PKT_BUFFER_TX_SHIFT)) & ZLL_PKT_BUFFER_TX_PKT_BUFFER_TX_MASK) 32727 /*! @} */ 32728 32729 /* The count of ZLL_PKT_BUFFER_TX */ 32730 #define ZLL_PKT_BUFFER_TX_COUNT (64U) 32731 32732 /*! @name PKT_BUFFER_RX - Packet Buffer RX */ 32733 /*! @{ */ 32734 #define ZLL_PKT_BUFFER_RX_PKT_BUFFER_RX_MASK (0xFFFFU) 32735 #define ZLL_PKT_BUFFER_RX_PKT_BUFFER_RX_SHIFT (0U) 32736 #define ZLL_PKT_BUFFER_RX_PKT_BUFFER_RX(x) (((uint16_t)(((uint16_t)(x)) << ZLL_PKT_BUFFER_RX_PKT_BUFFER_RX_SHIFT)) & ZLL_PKT_BUFFER_RX_PKT_BUFFER_RX_MASK) 32737 /*! @} */ 32738 32739 /* The count of ZLL_PKT_BUFFER_RX */ 32740 #define ZLL_PKT_BUFFER_RX_COUNT (64U) 32741 32742 32743 /*! 32744 * @} 32745 */ /* end of group ZLL_Register_Masks */ 32746 32747 32748 /* ZLL - Peripheral instance base addresses */ 32749 /** Peripheral ZLL base address */ 32750 #define ZLL_BASE (0x41034000u) 32751 /** Peripheral ZLL base pointer */ 32752 #define ZLL ((ZLL_Type *)ZLL_BASE) 32753 /** Array initializer of ZLL peripheral base addresses */ 32754 #define ZLL_BASE_ADDRS { ZLL_BASE } 32755 /** Array initializer of ZLL peripheral base pointers */ 32756 #define ZLL_BASE_PTRS { ZLL } 32757 32758 /*! 32759 * @} 32760 */ /* end of group ZLL_Peripheral_Access_Layer */ 32761 32762 #endif /* _RV32M1_RI5CY_H_ */ 32763 32764